Шаг кискусственному интеллекту: разум

Шаг кискусственному интеллекту: разум

    В рамках разработки ICR употребляется способ Intelligent Field Recognition (IFR). К примеру, разбирая платежный документ, программа в соответствии с созданным шаблоном находит печатную надпись «Сумма», после этого — вертикальную линии справа от нее. По логике процесса рукописные знаки на той же строке справа от черты прежде всего распознаются как цифры

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

Робот обязан осознать, что это текст, опознать графические контуры букв независимо от использованного шрифта, перевести их в понятный для него цифровой вид и потом уже искать ассоциации. А вдруг текст на экране — рукописный? Мы более либо менее легко читаем различные почерки, а как это сделать ИИ?

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

Распознавание текстовых образов — и печатных, и рукописных — это целая наука.

В начале

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

Приблизительно одновременно с этим ирландский химик Эдмунд Фурнье д Альбе создал и запатентовал «оптофон" — прибор, могущий переводить написанное в совокупность низких и высоких звуков. Оптофон предназначался чтобы слепые имели возможность «просматривать».

Чуть позднее, во второй половине 20-ых годов XX века, австрийский электротехник Густав Таушек запатентовал способ оптического распознавания текста посредством набора и фотодетектора шрифтовых шаблонов — как раз его официально вычисляют пионером OCR (optical character recognition, оптическое распознавание знаков). Коммерческое производство подобных систем начал второй изобретатель — американец Дэвид Шепард, армейский эксперт по криптоанализу.

Его машина, запатентованная в первой половине 50-ых годов XX века, осознавала буквы латинского алфавита, азбуку Морзе и музыкальную нотацию. Проанализировав текст, она имела возможность выполнить то либо иное требуемое воздействие. Первая машина Шепарда, выстроенная компанией IMR, была реализована изданию Reader s Digest в 1955 году — с ее помощью машинописные статьи обозревателей переводились в неспециализированную базу для последующей обработки и вёрстки.

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

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

Рынок OCR

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

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

Исходя из этого в первую очередь OCR-программа структурирует документ, разделяя его на блоки в соответствии с иерархией, верхним элементом которой есть страница, после этого направляться блок текста, таблица либо картина, после этого абзац (либо ячейка), после этого строка, символ и слово. Здесь-то и начинается отличие в подходах.

Грубо говоря, OCR совокупности делятся на два типа. Первые начинают разбирать «сверху вниз». Другими словами сперва выделяют блоки, после этого абзацы и, доходя до знаков, выявят их. Вторые — «снизу вверх», другими словами сперва дробят документ на множество отдельных знаков, выявят их, складывают в абзацы и слова, а после этого разбирают итог. FineReader трудится по принципу MDA (multilevel document analysis), другими словами исходник считывается «сверху вниз», а электронная копия воссоздается «снизу вверх».

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

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

Постараемся углубиться в процесс распознавания образов.

Работа с знаком

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

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

— это абзац текста (возможность 0,65);

— это таблица (возможность 0,35).

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

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

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

Ими могут служить, к примеру, угол наклона «ножки» буквы A либо расстояние между вертикальными элементами буквы Ш Для каждого отдельного показателя выдвигается последовательность догадок, после этого подтвержденные догадки по определенным показателям суммируются, и получается итог. Действительно, имеется и минусы: признаковые классификаторы «дробят» элементы, и информация о целом теряется. Помимо этого, при недостатков печати признаковые классификаторы если не бессильны, то функционируют очень не хорошо.

Но в любом случае их точность по первым трем догадкам — 99,81%, другими словами выше, чем у растровых.

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

Работа с текстом

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

Правильность слов ABBYY FineReader контролирует по словарям — и не только. Дело в том, что в случае если опираться только на словари (подобные распознаватели существуют), быстро снижается количество поддерживаемых языков, потому, что словарей, включающих все словоформы, для множества языков не существует, не говоря уже о жаргонных либо местных словечках, авторских неологизмах и т. д. К примеру, как распознавать при необходимости текст из хорошего романа Джеймса Джойса «Поминки по Финнегану», где одних лишь придуманных автором слов порядка 50000?

Тут имеется два пути: во-первых, применение модели «несловарное слово», а во-вторых — составленные лингвистами компании словари, талантливые генерировать словоформы по аналогии. Это существенно повышает точность распознавания.

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

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

Так или иначе, распознавание текстов — это серьёзный элемент ПО будущего ИИ. Казалось бы, прикладная разработка, применяемая нами каждый день, а в действительности — один из мелких шажков в будущее.

Распознавание знака

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

Распознавание слова

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

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

Совокупности OCR

Кроме совокупности OCR, в программе-распознавателе действует разработка ICR (Intelligent Character Recognition). Она предназначена для работы с документами, заполненными от руки, другими словами, в случае если пользоваться особой терминологией, рукопечатными. В рамках ICR программа в первую очередь разбирает форму документа и формирует шаблон, в соответствии с которым ищет в форме информационные поля, заполненные от руки.

Распознавание видео

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

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

Статья размещена в издании «Популярная механика» (№118, август 2012).

<

h4>

ИИ, разум — был практически создан 50 лет назад! Что нас ожидает?

Статьи, которые будут Вам интересны: