Тестирование
Непосредственным поводом к написанию этой статьи послужила публикация в "Мире ПК" (12/95) "Ой, гляди, она читает". В лучшем стиле тестовых лабораторий компьютерных журналов были проведены испытания трех российских программ распознавания печатного текста (OCR) и оценено качество этого распознавания.
Главная мысль, которую я хочу донести до читателя этой статьи, - качество распознавания (в определенных пределах) никакого значения не имеет. Это утверждение может показаться крамольным, но давайте задумаемся: что такое 99% распознавания? Это одна неправильная буква из ста, одно неправильное слово из ста или один неправильный документ из ста? Разница таких оценок существенна, а многие ли знают, какая именно применяется?
Мне упомянутое тестирование напомнило детские игры во дворе, когда правила меняются по ходу игры, но никого это особенно и не волнует, поскольку победа в игре не является главной целью. Но давайте по порядку.
Хочется еще раз процитировать и прокомментировать замечательную фразу Владимира Арлазарова: "Сегодня задача распознавания гладких текстов решена!" Обсуждению этого высказывания в "Мире ПК" посвящена целая врезка, где его смысл окончательно смазан не относящимися к делу комментариями. А смысл этот, как я понимаю, таков. Как научная задача распознавание текстов еще стоит на повестке дня, но как практическая она решена. Иными словами, дополнительное улучшение качества распознавания не будет иметь никакого практического значения, пока не достигнет надежных 100%.
По моему мнению, качество распознавания, чем бы оно ни мерилось, практического значения не имеет при условии, что оно выше некоторого критического порога - около 90%. До этого порога о распознавании говорить вообще не приходится (как в случае с рукописным текстом), а после него следует уже говорить не о распознавании, а о конкретной технологической задаче, в решение которой оно включено.
Сама по себе задача распознавания печатных текстов не нужна. Она нужна как часть какой-то практической задачи и находится обычно в середине технологической цепочки. Следовательно, и качество ее надо оценивать в рамках разных цепочек и совершенно по-разному, причем нетрадиционные оценки практически могут быть более полезными. Рассмотрим несколько типичных задач. Например, ввод большого объема текста. Что лучше в этом случае - одна ошибка на страницу или пять? По-моему, пять. Ведь любой корректор знает, что, если ошибок немного, но они более или менее регулярны, исправлять текст легче, чем если ошибки в нем случайны и редки, потому что теряется внимание. Так или иначе, вычитывание текста корректором является необходимым и самым трудоемким звеном технологической цепочки и на него и надо ориентировать всю технологию.
Теперь предположим, что мы хотим использовать OCR на почте для автоматической обработки денежных переводов. Какое качество распознавания нас устроит? Никакое. Мне бы, например, на месте начальника почтового ведомства хотелось, чтобы программа распознавания делила переводы на две группы, в одну из которых попадали бы переводы на небольшую сумму, распознанные достоверно, а в другую - все остальные для отправки их потом на ручную обработку.
Насколько мне известно, ни одна программа распознавания не может гарантировать корректность распознавания документа целиком, каким бы высококачественным и гладким он ни был. Поэтому руководитель почтового ведомства обязан включать в технологический цикл ручную проверку всех переводов. Следовательно, экономическая эффективность внедрения такой автоматизированной системы в лучшем случае будет минимальной.
Еще одним разумным критерием распознавания может служить общее время подготовки одного документа, в которое, кроме времени распознавания, должно включаться время верификации и исправления ошибок.
Колумнист PC Magazine/ Am. Ed. Билл Ховард (1995, спецвыпуск 2, с. 87) призывает вообще отказаться от распознавания визитных карточек на том основании, что ручной их ввод и быстрее, и удобнее. Основным критерием качества распознавания Ховард видит время получения конечного результата (попадания корректно оформленной карточки в базу данных) и считает этот критерий очевидным.
Рассмотрим еще одну типичную для распознавания задачу - ввод и индексацию документов большого объема. Тот упор, который сейчас делается на системы "полнотекстового" поиска (поиска заданных слов по всему документу), на мой взгляд, отражает несколько недостатков, типичных для всех распознающих программ.
Первый состоит в том, что накладные расходы на распознавание приемлемы при распознавании целой страницы, но слишком велики для распознавания отдельного слова или небольшой группы слов.
Второй заключается в отсутствии плодотворных интерфейсных идей (по крайней мере реализованных) для выделения пользователем ключевых слов в документе и ограничения количества символов в них. Например, если я хочу распознать в полученном письме только адрес и телефон отправителя, то мне хотелось бы "помочь" программе распознавания, указав, где именно находятся в письме адрес и телефон и что телефон содержит только цифры.
(Кстати, ошибка распознавания номера телефона на визитной карточке намного дороже ошибки распознавания адреса - ее исправит почтальон, - но никакие оценки этого не учитывают и учесть не могут.)
Для многих областей применения баз данных документов полно-текстовый поиск и распознавание документа целиком являются излишней роскошью, а для некоторых типов запросов - и помехой. Любители Internet уже хорошо знакомы с этой проблемой.
Качество распознавания (чем бы оно ни мерилось) существенно зависит также от типа и марки сканера. На сканере, который стоит у разработчиков, программа работает лучше - это соображение тривиально. А есть еще много нетривиальных зависимостей качества распознавания от различных типов искажений, связанных с конструктивными особенностями каждого сканера и их учетом в алгоритмах распознавания.
Все это в совокупности с тем, что большинство "мелких" пользователей приобретают программу распознавания в комплекте со сканером, делает правомерной постановку задачи оценки качества не только и не столько самой программы OCR, сколько пары OCR - сканер. В сущности, именно это и должно быть самым интересным для проектировщиков информационных технологий на базе OCR. Денежные вложения в аппаратуру, с их точки зрения, не отличаются от вложений в программное обеспечение, а результат должно дать их совместное использование.
При такой оценке важнее самого распознавания (повторяю, при условии, что оно выше критического порога) становится пользовательский интерфейс встроенных в системы распознавания редакторов. Он, кстати, вообще не учитывался в оценках, приведенных в статье в "Мире ПК".
Главная идея интерфейсов российских систем OCR - показать два окна, в одном из которых находится отсканированное изображение, а в другом - распознанный текст. Это очень удачная идея для демонстрации качества распознавания, но для работы корректора (при вводе большого текста) это плохо, так как больше половины экрана занимает изображение исходного материала, которое (если верить оценкам качества распознавания) ему может понадобиться очень редко.
Узкое же поле основного зрения плохо не только тем, что листать приходится гораздо чаще, но и тем, что видимый контекст существенно сужается. Соответственно сомнительные случаи на границе контекста вызовут многократное перелистывание текста вперед и назад. Все это увеличивает время работы корректора и создает дополнительный психологический дискомфорт.
Поэтому если уж оценивать качество распознавания печатных текстов, то нужно учитывать технологические требования, аппаратуру и интерфейс. А сравнение по случайно выбранному типу сканера и всем возможным видам печатных текстов в непонятных процентах имеет такое же отношение к реальной работе, как фехтование к войне. Впрочем, у спортсменов больше славы.
Михаил Донской
Для многих областей применения баз данных документов полно-текстовый поиск и распознавание документа целиком являются излишней роскошью, а для некоторых типов запросов - и помехой