x

Распознавание текста - шаг к искусственному интеллекту

Страниц: 1
Печать

Автор темы
Sirius Team
*****





Технология АСПАТ-Текст выделяет кадры из видеопотока и запускает процесс распознования для извлечения любой текстовой информации из телепередач, интернета, или сигнала охранных видеокамер.

Шаг к искусственному интеллекту. Распознавание текста - Форум сириус - Торез
Одна из задач, стоящих перед потенциальными создателями искусственного интеллекта, заключается в обучении электронного мозга распознаванию образов. Это умение не просто видеть множество объектов окружающего мира, но классифицировать их и адекватно реагировать. Чтение - это тоже подраздел распознавания образов. Какие технологии позволят ИИ (искусственный интеллект) понимать написанное?

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

РАСПОЗНАВАНИЕ СИМВОЛА

Шаг к искусственному интеллекту. Распознавание текстаПризнаковый классификатор работает следующим образом (на примере буквы К). При анализе он обнаружит отрезок, идущий направо вниз («ножку») и направо вверх, после чего выдвинет гипотезу, что перед нами буква К. Для проверки он предпримет поиск точки их соприкосновения и наличие вертикального отреза слева. Если все совпадет, классификатор признает, что данный символ - буква К. Признаки могут быть весьма разнообразны - например, «среднее количество черного в нижней трети картинки» или «возможность пройти по черным пикселям картинки шагом ладьи от верхнего до нижнего края».
Но для искусственного интеллекта проблемы начинаются с момента появления словосочетания на экране. Робот должен понять, что это текст, опознать графические контуры букв независимо от использованного шрифта, перевести их в понятный для него цифровой вид и далее уже искать ассоциации. А если текст на экране - рукописный? Мы более или менее легко читаем разные почерки, а как это сделать ИИ?

Конечно, видеопример - одна из наиболее сложных для решения задач. Даже обычный текст на бумаге для робота становится серьезным испытанием. Но технологии, решающие эту проблему, уже существуют и используются в программах распознавания текста. Многие полагают, что все достигается простым сравнением значков на листе с заложенными в память программы контурами. Но это справедливо от силы на 10%. Распознавание текстовых образов - и печатных, и рукописных - это целая наука.

            В САМОМ НАЧАЛЕ

Трудно поверить, но первые машины для оптического распознавания знаков появились задолго до компьютерной эры. В 1914 году химик Эммануэль Голдберг (к слову, русский эмигрант, бежавший в Германию из-за антисемитских настроений в царской России), специалист по фотохимии и изобретатель ряда фотокамер, сконструировал прообраз оптической машины, способной переводить напечатанные буквы в телеграфный код. Примерно в то же время ирландский химик Эдмунд Фурнье д'Альбе создал и запатентовал «оптофон» - прибор, умеющий переводить написанное в систему низких и высоких звуков. Оптофон предназначался для того, чтобы слепые могли «читать».

РАСПОЗНАВАНИЕ СЛОВА

Структурирование гипотез проще всего продемонстрировать на примере. Возьмем английское слово rum («ром»). Возникает две гипотезы его распознавания - то ли это rum, то ли это rum. Для каждой из них вырастает целая «гроздь» моделей распознавания (словарное слово, несловарное слово, арабские цифры, римские цифры, URL).

Но программа в первую очередь распознает, что текст англоязычный, и проверит наличие обоих слов в словаре (rum - есть, rurn - нет). Соответственно, гипотеза о rum приобретет больший вес, и количество моделей сократится (например, отсекутся модели, связанные с кириллицей).
Шаг к искусственному интеллекту. Распознавание текста

РАСПОЗНАВАНИЕ ВИДЕО

В апреле 2012 года была представлена технология ABBYY, позволяющая извлекать текст из видеофрагментов в системе АСПАТ (аппаратно-программный комплекс приема и обработки телевизионных видеосигналов, телетекста и интернета], пред-назначеной для мониторинга и анализа телевизионных программ в ситуационных центрах, пресс-службах, отделах аналитики. Отсматривать чудовищные объемы записанных программ просто невозможно, и этот процесс потребовалось частично автоматизировать. В рамках проекта был создан функциональный модуль АСПАТ-Титр, который выделяет кадры из видеопотока, производит их предварительную обработку, запускает процесс распознавания для извлечения любой текстовой информации с кадра и осуществляет склейку извлеченных текстовых данных бегущей строки в единый текст. В дальнейшем информация индексируется, автоматически привязывается к временной шкале, разбирается по рубрикам и становится доступной для поиска в системе АСПАТ.
Шаг к искусственному интеллекту. Распознавание текста
Чуть позже, в 1929 году, австрийский электротехник Густав Таушек запатентовал метод оптического распознавания текста с помощью фотодетектора и набора шрифтовых шаблонов - именно его официально считают пионером OCR (optical character recognition, оптическое распознавание символов). Коммерческое производство подобных систем начал другой изобретатель - американец Дэвид Шепард, военный специалист по криптоанализу. Его машина, запатентованная в 1953 году, понимала буквы латинского алфавита, азбуку Морзе и музыкальную нотацию. Проанализировав текст, она могла выполнить то или иное требуемое действие. Первая машина Шепарда, построенная компанией IMR, была продана журналу Reader's Digest в 1 955 году - с ее помощью машинописные статьи корреспондентов переводились в общую базу для верстки и последующей обработки.

Вторую купила компания Standard Oil для чтения с печатных чеков информации о кредитных картах. С 1960-х машины для распознавания использовались повсеместно - в почтовой системе США и Канады, в правительственных структурах Великобритании. А в 1974 году известный изобретатель и футуролог Рэймонд Курцвейл запатентовал систему, состоящую из OCR-машины и синтезатора человеческой речи, таким образом создав первый читающий вслух механизм. Надо сказать, что в те годы распознаватель чаще всего представлял собой именно отдельное устройство, а не программу-приложение для компьютера. Но компьютерная эра наступала неотвратимо.

            РЫНОК OCR

Сегодня на рынке систем оптического распознавания работает множество компаний разного технологического и финансового уровня. Программ для работы с текстом - еще больше, поскольку практически все компании предлагают не одно решение, а несколько - для разного типа задач. Наиболее известны универсальная ABBYY FineReader, разрабатываемый Tesseract от Google, браузерные LiveOCR и OnlineOCR, а также узкоспециализированные разновидности: SmartScore для нотной записи, HOCR для иврита, Persian Reader для фарси и т. д. Мы обратимся к ABBYY FineReader именно по причине универсальности этой программы: на ее примере можно показать целый спектр технологий, применяемых при распознавании текстовых образов.

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

Грубо говоря, OCR-системы делятся на два типа. Первые начинают анализировать «сверху вниз». То есть сначала выделяют блоки, затем абзацы и, доходя до символов, распознают их. Вторые - «снизу вверх», то есть сначала делят документ на множество отдельных символов, распознают их, складывают в слова и абзацы, а затем анализируют результат. FineReader работает по принципу MDA (multilevel document analysis), то есть исходник считывается «сверху вниз», а электронная копия воссоздается «снизу вверх». Это позволяет обнаружить ошибку на нижнем уровне - и исправить за счет нее верхний. Поясняем на примере: программа определила некий блок как текст, разделила на слова - и тут обнаружила, что промежутки между этими словами подозрительно одинаковы. Программа определяет тот же блок как таблицу без разделителей - и бинго!
ПОМИМО СИСТЕМЫ OCR, в программе-распознавателе действует технология ICR (Intelligent Character Recognition). Она предназначена для работы с документами, заполненными от руки, то есть, если пользоваться специальной терминологией, рукопечатными. В рамках ICR программа первым делом анализирует форму документа и создает шаблон, в соответствии с которым ищет в форме информационные поля, заполненные от руки.

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

            РАБОТА С СИМВОЛОМ

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

После разбиения страницы на логические элементы в дело вступают
классификаторы. Классификатор - это элемент программы, который анализирует некий блок (абзац, строку, символ), а затем выдает ряд гипотез относительно того, что данный блок собой представляет. Например, классификатор может выдать для какого-то объекта две гипотезы:

-   это абзац текста (вероятность 0,65);
-   это таблица (вероятность 0,35).


Сначала проверяется гипотеза с большей долей вероятности. Гипотез может быть не две, а двадцать и даже сто. Классификаторы бывают самые разные, каждая разновидность характеризуется рядом параметров и применима к определенной ситуации. Самый простой и распространенный - это растровый классификатор, то есть программа, сравнивающая символ на изображении с неким эталоном. Собственно, первые системы распознавания работали исключительно на растровом принципе: вычленил символ, сравнил с образцом. Точность этого классификатора согласно лабораторным исследованиям весьма высока: в 99,29% случаев верной для объекта оказывается одна из первых трех выдвинутых гипотез, в 97,57% - первая же. Точность как характеристика таким образом и измеряется: процентом попадания в первую тройку и процентом попадания «в яблочко».

Но растр работает не всегда. Рукописный текст, например, с эталоном не сравнишь, а распознавать его тоже необходимо. В таком случае вступает в действие признаковый классификатор. В отличие от растрового, он не анализирует элемент целиком, а разбивает его на ряд характеристик. Ими могут служить, например, угол наклона «ножки» буквы А или расстояние между вертикальными элементами буквы Ш... Для каждого отдельного признака выдвигается ряд гипотез, затем подтвержденные гипотезы по определенным признакам суммируются, и получается результат. Правда, есть и минусы: признаковые классификаторы «дробят» элементы, и информация о целом утрачивается. Кроме того, в случае дефектов печати признаковые классификаторы если не бессильны, то функционируют крайне плохо. Но в любом случае их точность по первым трем гипотезам - 99,81 %, то есть выше, чем у растровых.

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

            РАБОТА С ТЕКСТОМ

В РАМКАХ ТЕХНОЛОГИИ ICR используется метод Intelligent Field Recognition (IFR). Например, анализируя платежный документ, программа в соответствии с созданным шаблоном находит печатную надпись «Сумма», затем - вертикальную черту справа от нее. По логике процесса рукописные символы на той же строке справа от черты в первую очередь распознаются как цифры.
Шаг к искусственному интеллекту. Распознавание текста

Но даже если все символы программе понятны, это не значит, что на выходе получится связный текст. На каждом уровне анализа документа (абзац, строка, слово, символ) выдвигается большое количество гипотез. В целях быстродействия их выгодно структурировать, то есть объединять по группам-моделям, и отсекать неподходящие целыми «штабелями». Модели могут быть самые разные: словарное или несловарное слово, имя собственное или устоявшееся выражение. Правильность слов ABBYY FineReader проверяет по словарям - и не только.

Дело в том, что если опираться исключительно на словари (подобные распознаватели существуют), резко снижается количество поддерживаемых языков, поскольку словарей, включающих все словоформы, для множества языков просто не существует, не говоря уже о жаргонных или местных словечках, авторских неологизмах и т.д. Например, как распознавать при необходимости текст из классического романа Джеймса Джойса «Поминки по Финнегану», где одних только выдуманных автором слов порядка 50 000? Тут есть два пути: во-первых, использование модели «несловарное слово», а во-вторых - составленные лингвистами компании словари, способные генерировать словоформы по аналогии. Это значительно повышает точность распознавания.

Важнейшая задача программы-распознавателя - возможность получить на выходе электронный документ, в точности соответствующий бумажному оригиналу, вплоть до взаиморасположения таблиц и абзацев. Этому способствует целый ряд заложенных методик и шаблонов. Например, существуют технологии, позволяющие по характерным формам и оборотам определять назначение документа (заявления, контракта, отчета) и структурировать его в соответствии с принятыми на этот счет правилами. В частности, технология адаптивного распознавания документов (ADRT) строит структуру документа: распознает типы форматирования и воспроизводит логические отношения между ними. Благодаря этому программа может рассматривать многостраничный документ как единое целое со всей его структурой и версткой и анализировать содержимое, исходя из этой целостности. А мы в свою очередь можем получать на выходе полноценную цифровую копию документа.

Так или иначе, распознавание текстов - это важный элемент программного обеспечения будущего искусственного интеллекта. Казалось бы, прикладная технология, используемая нами ежедневно, а на самом деле - один из маленьких шажков в будущее.
Страниц: 1
Печать
 
  • Почему нужно менять работу?
  • Самые необычные свадебные фотографии
  • Сода — лекарство, которое всегда под рукой
  • Как избавить девушку от зануды?
  • 12 жестких истин, о любви и сексе
  • Минералы, полезные для кожи


Карта форума | iMode | WAP | WAP 2 | RSS
© TRK Sirius LTD, 2017
...