Рубрика «текст» - 2

Недавно мне пришлось столкнуться с необходимостью достать текст из офисных документов (docx, xlsx, rtf, doc, xls, odt и ods). Задача осложнялась требованием представить текст в формате xml без мусора с максимально удобной для дальнейшего парсинга структурой.

Решение использовать Interop сразу отпало по причине его громоздкости, во многом избыточности, а также необходимости устанавливать на сервер MS Office. В результате, решение было найдено и воплощено на внутреннем проекте. Однако, поиск оказался настолько сложен и не тривиален в силу отсутствия каких-либо общедоступных мануалов, что мной было принято решение написать в свободное от работы время библиотеку, которая решала бы указанную задачу, а также создать написать что-то вроде инструкции, чтобы разработчики прочитав ее смогли, хотя бы поверхностно, разобраться в вопросе.

Прежде, чем перейти к описанию найденного решения, предлагаю ознакомиться с некоторыми выводами, которые были сделаны в результате моих изысканий:

  1. Для платформы .Net не существует какого-либо готового решения для работы со всеми перечисленными форматами, что заставит нас местами кастылизовывать наш солюшн.
  2. Не пытайтесь в сети найти хороший мануал по работе с Microsoft OpenXML: чтобы разобраться с этой библиотекой придется изрядно покрасноглазить, покурить StackOverflow и поиграться с отладчиком.
  3. Да, мне все таки, удалось приручить дракона.

Сразу оговорюсь, что в настоящий момент библиотека еще не готова, но она активно пишется (на столько, на сколько это позволяет свободное время). Предполагается, что будут написаны отдельные посты для каждого формата и параллельно, вместе с их публикацией, будет обновляться репозиторий на гитхабе, откуда можно будет получить исходники.

Работа с xlsx и docx

Читать полностью »

Невозможно объективно измерить, какие девушки красивее: блондинки или брюнетки, смуглые или белокожие, высокие или миниатюрные. Но можно посчитать, какие черты внешности упоминают чаще, когда говорят о красоте.

У меня была неделя на эксперименты, наши движки анализа данных,16 тысяч русских романов и повестей XIX века и 15 тысяч современных длинных произведений. И, конечно, не было никаких размеченных данных.

Основная идея была в том, чтобы выделить из этой горы текстов фрагменты с описаниями красивых женщин, а потом из этих фрагментов извлечь частотные черты внешности.

Вот визуализация того, что получилось. Точнее, одного из распространённых вариантов.

Как я искала эталон красоты с помощью Natural Language Processing (и не нашла) - 1
Цвет глаз, волос, платье, рост, воспитание — всё это можно выделить из корпуса текстов.

Конечно, не всё так просто и однозначно как на рисунках, но примерное представление вы уже получили. Теперь давайте расскажу про детали и последовательность действий. Читать полностью »

Введение

В рамках своего проекта я столкнулся с задачей сделать текущий сайт компании мультиязычным. Более точно: создать возможность быстро и просто перевести сайт на английский, польский, итальянский и т.д.

Поиск в интернете показал, что существующие варианты создания мультиязычного сайта крайне громоздки и неэффективны. Подключать сторонние библиотеки зачастую проблемно, а советы по написанию своего решения связаны с большим объёмом однотипной работы.

Написание альтернативного метода смены локали заняло у меня всего несколько часов, а поддержание семантического единства и вовсе сводит к минимуму изменения при последующем добавлении новых страниц.

Исходные файлы примера сайта с автоматическим переводом можно скачать на github
Читать полностью »

На предыдущем уроке мы рассмотрели, как выводить многострочный текст с помощью параграфа. Описанный способ требует ручного обхода массива выводимых строк. На данном уроке мы рассмотрим альтернативный способ, лишенный этого недостатка. В его основе лежит интерфейс ksTextParam и метод ksTextEx.

Работа с API КОМПАС-3D → Урок 14 → Многострочный текст - 1
Читать полностью »

Прежде чем перейти к рассмотрению документированных способов создания составных строк, нам нужно познакомиться с таким объектом, как параграф. Он представляет собой автоматически форматируемый блок текста, состоящий из нескольких строк. На данном уроке мы рассмотрим вопросы построения простых параграфов.

Работа с API КОМПАС-3D → Урок 13 → Параграфы - 1
Читать полностью »

Давным-давно, когда я занималась веб-разработкой больше, чем текстами, раз в полгода обязательно смотрела вакансии: кого ищут и что хотят. Даже если совсем не собиралась менять работу — просто чтобы быть в курсе требований и технологий. А иногда даже делала тестовые — чтобы проверить, что могу, что не могу, а что стоит подтянуть. И однажды почти случайно наткнулась на чудесное тестовое задание: «Представьте, что Яндекс.Деньги стали принимать оплату носками. Напишите текст для баннера на главную и письмо для партнёров».

Первая реакция: «Ха-ха, кто же придумывает такие тестовые, а главное — кто их делает». Через три часа я перечитала все рассылки, баннеры и статьи Яндекс.Денег, которые нашла в открытом доступе, и знала всё про носки: из чего их делают, сколько человек на Земле носит, чем отличаются мужские от женских. А главное, передо мной лежало готовое тестовое — пришлось отправлять. Так началось моё путешествие во вселенную интерфейсных текстов. А заодно — работа в Яндекс.Деньгах.

Телепатические платежи, запись на слономойку и другие тестовые задания для UX-редакторов - 1

В этой статье я расскажу о том, как мы придумываем тестовые и приведу парочку примеров. А ещё немножко о нашем тяжёлом редакторском труде, иначе будет непонятно.

Читать полностью »

Исследованию взаимосвязи текста и музыки посвящены многие научные работы не только нейробиологов и музыковедов, но и филологов, когнитивистов и искусствоведов.

В этой статье мы собрали разные примеры того, как музыка может использоваться вместе с текстом, и что по этому поводу говорит наука.

Музыка и текст: как они могут быть связаны - 1Читать полностью »

image

Вы когда-нибудь собирали театральные программки? Если да, то, наверное, в вашей коллекции их десятки, а может, наберется и сотня. А теперь представьте, что в вашем распоряжении 120 тысяч программок, 48 тысяч афиш и 100 тысяч исторических фотографий. Столько бумажных документов сохранил с середины XIX века Большой театр. Самые древние и ценные из них уже пожелтели и стали ветхими, а на поиск информации в театральном архиве уходили часы. Чтобы сохранить эти сокровища, сотрудники театрального музея начали вручную переводить документы в электронный вид, но оказалось, что на это могут уйти годы.

Поэтому в сентябре 2016 года вместе с Большим театром и при активной поддержке Феклы Толстой, праправнучки Льва Николаевича Толстого, мы запустили краудсорсинговый проект по оцифровке истории главного театра страны. В этом посте мы расскажем о подробностях первого этапа проекта и о его технических деталях: как мы оцифровывали уникальные документы с помощью ABBYY FineReader и как волонтеры помогали проверять результаты распознавания. Читать полностью »

Заголовок в рекламных объявлениях на поиске Яндекса и Google – если не основная, то однозначно самая заметная часть объявления. В идеале заголовок должен включать слова, которые пользователи используют при поиске необходимой информации. Объявления в контекстной рекламе всё больше напоминают конструктор. И заголовки – тоже не исключение, они складываются, как пазлы, в разные картинки.Читать полностью »

Мы работаем на рынке A2P SMS более десяти лет. Через нашу платформу прошли миллионы рассылок и тысячи sms-кампаний. За эти годы накопили опыт, которым поделимся в этой статье.

20 правил самых коротких маркетинговых текстов - 1
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js