Рубрика «ABBYY»

Как NLP-технологии ABBYY научились мониторить новости и управлять рисками - 1Круг задач, которые можно решить с помощью технологий ABBYY, пополнился еще одной интересной возможностью. Мы обучили свой движок работе банковского андеррайтера – человека, который из гигантского потока новостей вылавливает события о контрагентах и оценивает риски.

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

Как сделать из нейросети журналиста, или «Секреты сокращения текста на Хабре без лишних слов» - 1Только не удивляйтесь, но второй заголовок к этому посту сгенерировала нейросеть, а точнее алгоритм саммаризации. А что такое саммаризация?

Это одна из ключевых и классических задач Natural Language Processing (NLP). Она заключается в создании алгоритма, который принимает на вход текст и на выходе выдаёт его сокращённую версию. Причем в ней сохраняется корректная структура (соответствующая нормам языка) и правильно передается основная мысль текста.

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

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

Здравствуй! Меня зовут Никита, я работаю над мобильными SDK в компании ABBYY и в том числе занимаюсь UI-компонентом для сканирования и удобного просмотра многостраничных документов на смартфоне. Этот компонент сокращает время на разработку приложений на базе технологии ABBYY Mobile Capture и состоит из нескольких частей. Во-первых, камера для сканирования документов; во-вторых, экран редактора с результатами захвата (то есть автоматически сделанными фотографиями) и экран исправления границ документа.

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

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

Понимаем UICollectionViewLayout на примере Photos App - 1

В качестве референсов я часто обращаю внимание на системные приложения Apple. Когда внимательно смотришь на анимации и другие интерфейсные решения их приложений, то начинаешь восхищаться их внимательным отношением к разного рода мелочам. Сейчас мы в качестве референса будем смотреть на приложение Photos (iOS 12). Я обращу ваше внимание на конкретные фичи этого приложения, а дальше мы попробуем их реализовать.
Читать полностью »

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

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

Находим текст на вывесках и упаковках с помощью смартфона - 1
Реальный пример работы нашей нейросети. Картинка кликабельна.

Основные требования и ограничения

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

Всем привет! В этом посте я хочу рассказать вам о моей летней стажировке в ABBYY. Постараюсь осветить все моменты, которые обычно интересны студентам и начинающим разработчикам при выборе компании. Надеюсь, что кому-то данный пост поможет определиться с планами на следующее лето. В общем, поехали!

image

Для начала расскажу немного о себе. Меня зовут Женя, на момент подачи заявки на стажировку я заканчивал 3 курс МФТИ, Факультет инноваций и высоких технологий (сейчас может быть известен как Физтех-школа прикладной математики и информатики). Мне хотелось выбрать компанию, в которой можно получить опыт работы в области компьютерного зрения: картинки, нейронные сети и вот это вот все. Собственно, с выбором я не прогадал – ABBYY действительно для этого отлично подходит, но об этом позже.
Читать полностью »

image

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

Сейчас существует немало приложений на iOS и Android для «мобильного сканирования» документов. Но сколько у вас на телефоне мобильных приложений? Зачем тратить время и устанавливать еще новые, если этого можно и не делать?

Гораздо проще сфотографировать документ прямо в мобильном браузере, который уже есть на любом смартфоне. Поэтому мы и создали ABBYY Mobile Web Capture. Это JavaScript API, то есть SDK, который мы предлагаем нашим клиентам встраивать в свои web-странички и web-based приложения. Он позволяет захватить хорошую картинку прямо в web-браузере на самых популярных мобильных ОС и отправить ее для дальнейшей обработки на сервер или в облако. О том, как эта технология работает, мы сегодня и расскажем.
Читать полностью »

Издевательски точный, быстрый и легковесный поиск баркодов через семантическую сегментацию - 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
Читать полностью »


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