Рубрика «ABBYY»

Издевательски точный, быстрый и легковесный поиск баркодов через семантическую сегментацию - 1Поиск объектов на изображениях? Имея обучающую выборку и минимальный набор знаний о нейросетях, любой студент сегодня может получить решение определенной точности. Однако большинство нейросетей, использующихся для решения этой задачи, достаточно глубокие, а соответственно, требуют много данных для обучения, сравнительно медленно работают на этапе inference (особенно если на устройстве отсутствует GPU), много весят и достаточно энергозатратны. Все вышеперечисленное может быть весьма критично в определенных случаях, в первую очередь, для мобильных приложений.

Баркоды — объекты с достаточно простой структурой. В ходе исследований у нас получилось с помощью сравнительно оригинального подхода искать такие простые объекты весьма точно (мы побили state-of-the-art) и достаточно быстро (real-time на среднем CPU). Плюс наш детектор очень легкий, имеющий всего 30к весов. О результатах нашего исследования мы и расскажем в этой статье.Читать полностью »

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

image Пост про распознавания японских и китайских иероглифов
image Пост про распознавание корейских символов

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

Мотивация

А в чём вообще проблема? Зачем нужно работать на изображениях, которые не являются отдельными символами? Казалось бы, можно разделить фрагмент строки на символы, классифицировать их все и собрать из этого результат, как, например, на картинке ниже.

Отличаем символы от мусора: как построить устойчивые нейросетевые модели в задачах OCR - 3

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

Каждый год в Москве проходит конференция "Диалог", в которой участвуют лингвисты и специалисты по анализу данных. Они обсуждают, что такое естественный язык, как научить машину его понимать и обрабатывать. В рамках конференции традиционно проводятся соревнования (дорожки) Dialogue Evaluation. В них могут участвовать как представители крупных компаний, создающих решения в области обработки естественного языка (Natural Language Processing, NLP), так и отдельные исследователи. Может показаться, что если ты простой студент, то тебе ли тягаться с системами, которые крупные специалисты больших компаний создают годами. Dialogue Evaluation — это как раз тот случай, когда в итоговой турнирной таблице простой студент может оказаться выше именитой компании.

Этот год станет уже 9-ым по счету, когда на «Диалоге» проводится Dialogue Evaluation. Каждый год количество соревнований разное. Темами для дорожек уже становились такие задачи NLP, как анализ тональности (Sentiment Analysis), разрешение лексической многозначности (Word Sense Induction), нахождение опечаток (Automatic Spelling Correction), выделение сущностей (Named Entity Recognition) и другие.

Соревнование ML-систем на лингвистическом материале. Как мы учились заполнять пропуски - 1В этом году четыре группы организаторов подготовили такие дорожки:

  • Генерация заголовков для новостных статей.
  • Разрешение анафоры и кореференции.
  • Морфологический анализ на материале малоресурсных языков.
  • Автоматический анализ одного из видов эллипсиса (гэппинга).

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

Первую часть статьи об основах NLP можно прочитать здесь. А сегодня мы поговорим об одной из самых популярных задач NLP – извлечении именованных сущностей (Named-entity recognition, NER) – и разберем подробно архитектуры решений этой задачи.

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

Девушка в IT, или 5 советов для амбициозных - 1В этом посте я специально не буду говорить отдельно о «рецепте для женщин», т.к. считаю, что схема успеха одна и та же, независимо от пола. Об отличиях и специфике «женского пути» будет в конце. Если кто-то интересуется только этой частью, смело скрольте до последнего раздела.

В конце прошлого года меня пригласили выступить на мероприятии Worldwide Conversation on Women’s Higher Education and Equality in the Workplace на факультете компьютерных наук ВШЭ. Это беседа о том, как в современном мире женщина может построить успешную карьеру в области науки, образования или информационных технологий, с какими сложностями она при этом сталкивается и как может их преодолеть.

Я была спикером «со стороны IT» и рассказывала, как мне кажется, вполне очевидные и сами собой разумеющиеся вещи. Но, делясь впечатлениями о мероприятии с друзьями и коллегами, обнаружила, что тема очень многим интересна и относятся к ней очень по-разному. Именно после этого и родилась статья. В ней я расскажу о моем опыте развития карьеры в IT-компании и том, что считаю важным делать, а чего, наоборот, избегать, чтобы стать успешным в своем деле.
Читать полностью »

Вы просто не там искали: как находить сотрудников для проекта в техподдержке - 1 Привет! Меня зовут Егор Шатов, я старший инженер группы поддержки ABBYY и спикер курса Project Management in IT в Digital October. Сегодня я расскажу о том, каковы шансы пополнить команду продукта специалистом из техподдержки и как правильно организовать перевод на новую должность.

Вакансии в техподдержке охотно занимают молодые специалисты, которым нужно набраться опыта, и профессионалы из других сфер, которые стремятся глубже погрузиться в сферу IT. Многие хотят делать карьеру в компании и готовы учиться, много и хорошо работать — возможно, в продуктовой команде.
Читать полностью »

MWC: инструкция по применению - 1

2019 год и новый Mobile World Congress. Все стремятся показать свои новинки, благодаря которым формируются главные IT-тренды на год. Мы тоже участвовали в MWC 2019 и в этом посте поделимся нашими впечатлениями от выставки, расскажем о наших новых разработках, сделаем обзор основных трендов MWC и дадим несколько советов, как подготовиться к участию в таком крупном событии.
Читать полностью »

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

Представьте себя на месте обычного бухгалтера. Понимаем, это непросто, но все-таки попробуйте. Каждый день вам приходит огромное количество бумажных счетов, накладных, справок и так далее. А особенно много – в дни перед сдачей отчетности. Все реквизиты и суммы нужно быстро и внимательно проверить, перепечатать и внести в учетную систему, вручную провести транзакции и отправить документы в архив, чтобы потом вовремя предоставить для проверки внутренним аудиторам, налоговой службе, органам тарифного регулирования и другим. Сложно? Но это многолетняя деловая практика, которая существует во многих компаниях. Вместе с МОЭК мы упростили эту кропотливую работу и сделали ее удобнее. Если вам интересно, как это было, добро пожаловать под кат.

Как мы помогали трансформировать работу бухгалтерии в МОЭК - 1

На фото – московская ТЭЦ-21, крупнейший в Европе производитель тепловой энергии. Тепло, выработанное на этой станции, МОЭК поставляет 3 миллионам жителей севера Москвы. Источник фото.
Читать полностью »

Формула для корейского, или распознаем хангыль быстро, легко и без ошибок - 1На сегодняшний день сделать распознавание корейских символов может любой студент, прослушавший курс по нейросетям. Дайте ему выборку и компьютер с видеокартой, и через некоторое время он принесёт вам сеть, которая будет распознавать корейские символы почти без ошибок.

Но такое решение будет обладать рядом недостатков:

Во-первых, большое количество необходимых вычислений, что влияет на время работы или требуемую энергию (что очень актуально для мобильных устройств). Действительно, если мы хотим распознавать хотя бы 3000 символов, то это будет размер последнего слоя сети. А если вход этого слоя равен хотя бы 512-ти, то получаем 512 * 3000 умножений. Многовато.

Во-вторых, размер. Тот же самый последний слой из предыдущего примера будет весить 512 * 3001 * 4 байт, то есть около 6-ти мегабайт. Это только один слой, вся сеть будет весить десятки мегабайт. Понятно, для настольного компьютера это проблема небольшая, но на смартфоне не все будут готовы хранить столько данных для распознавания одного языка.

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

И в-четвёртых, проблема в количестве символов: 3000, скорее всего, хватит чтобы, например, отличить в меню ресторана стейк от жареного морского огурца, но порой встречаются и более сложные тексты. Обучить сеть на большее количество символов будет сложно: она будет не только более медленной, но и возникнет проблема со сбором обучающей выборки, так как частота символов падает приблизительно экспоненциально. Конечно, можно доставать изображения из шрифтов и аугментировать их, но для обучения хорошей сети этого недостаточно.

И сегодня я расскажу, как нам удалось решить эти проблемы.
Читать полностью »

Как научить машину понимать инвойсы и извлекать из них данные - 1Привет! Меня зовут Станислав Семенов, я работаю над технологиями извлечения данных из документов в R&D ABBYY. В этой статье я расскажу об основных подходах к обработке полуструктурированных документов (инвойсы, кассовые чеки и т.д.), которые мы использовали совсем недавно и которые используем прямо сейчас. А еще мы поговорим о том, насколько для решения этой задачи применимы методы машинного обучения.
Читать полностью »