![FineReader в человеческом обличии по мнению нейросети FineReader в человеческом обличии по мнению нейросети](https://habrastorage.org/getpro/habr/upload_files/592/74c/71c/59274c71c894c83e4fa850061e06cac8.png)
Не секрет, что многофункциональный редактор ContentReader PDF является технологическим наследником популярного решения компании ABBYY – FineReader PDF. После модификации исходного продукта его новую историю на российском рынке пишет Content AI. Между тем, легендарному редактору PDF в этом году исполнилось 30 лет. И это достойный повод, чтобы вспомнить, как все начиналось и как развивался продукт, ставший незаменимым инструментом для всех, кто работает с документами.
Для полного погружения мы смогли найти ноутбук IBM ThinkPad T61 c Windows XP, установили на него все версии FineReader с 1 по 12 (14 и 15 версии грузили на Windows 10) и сделали аутентичные скриншоты.
Пристегнитесь, запускаем машину времени через три…два…один.
![](https://habrastorage.org/getpro/habr/upload_files/9ec/881/b23/9ec881b23d4aeacd1cbec195707746c1.jpeg)
В былые времена на Хабре уже выходил материал, посвященный истории создания FineReader. В статье речь шла про зарождение идеи продукта и первые шаги в его становлении. В этом же тексте мы сосредоточимся на том, какие новые фичи появлялись в продукте по мере его 30-летнего развития, и как ему удалось удерживать многолетнее лидерство в распознавании и обработке документов.
1993: FineReader 1.0
Невероятно, но факт. FineReader появился на свет благодаря другому продукту BIT Software (первое название ABBYY), внутри которого уже работали электронные словари Lingvo (подробнее об этом читайте в уже упомянутом выше материале). Как говорится, сначала было слово… Вернее продукт Lingvo Systems.
![Иконка FineReader 1.0 Иконка FineReader 1.0](https://habrastorage.org/getpro/habr/upload_files/48f/476/7a0/48f4767a0a5b58f1af998e0f7c4e5055.jpg)
Эта разработка российских инженеров была предназначена для работы с текстами на иностранных языках. Софт осуществлял базовый перевод текста с отсканированного документа. Фактически в Lingvo Systems были объединены функции четырех разных продуктов: распознавателя символов AutoR компании Ocrus, корректора Litera компании INT, переводчика Transaid (впоследствии Stylus-Promt) и словаря Lingvo.
Больше всего претензий было к качеству распознавания. К тому же диапазон возможностей программы был сужен из-за того, что система могла работать только со знакомыми шрифтами, а изучение нового занимало много времени.
![Splash Screen FineReader 1.0 Splash Screen FineReader 1.0](https://habrastorage.org/getpro/habr/upload_files/217/42e/dfa/21742edfae03c9693a35820de653a517.jpg)
Постепенно пришло осознание – нужен свой собственный OCR. Давило не только техническое несовершенство продукта, но и рынок: эти технологии не были чем-то диковинным в России — ряд научных организаций уже вел разработку систем распознавания символов. И все же команда BIT Software, несмотря на отсутствие опыта и экспертизы в этой области, решила не ждать, а инициировать свой проект. Причем дедлайны поставили самые жесткие: 4-5 месяцев от старта до релиза.
Основой технологического решения стали приобретенные наработки внештатного ученого. Однако чтобы довести продукт до пригодного к использованию состояния, пришлось серьезно потрудиться.
Проблема №1: портирование кода с MS DOS на Windows.
Проблема №2: ограниченное число поддерживаемых форматов (в изначальном варианте технология поддерживала только несжатый BMP, один из простейших форматов изображений).
Проблема №3: отсутствие готовых описаний символов и инструментов для их создания. Вот тут-то и было сломано больше всего копий. Для обучения системы необходимо было работать с большим количеством объемных текстовых файлов, в которых в псевдографическом виде были прочерчены обобщенные контуры символов. Их полагалось править и улучшать прямо в этом файле в обычном текстовом редакторе. В эту ручную кропотливую работу максимально был погружен сам Давид Ян, основатель ABBYY.
В итоге в середине 1993 года команда смогла выпустить продукт в намеченный срок.
![Интерфейс FineReader 1.0 Интерфейс FineReader 1.0](https://habrastorage.org/getpro/habr/upload_files/24f/435/760/24f43576081527f5560ff0e49542c6c3.jpg)
Еще раз подчеркнем функциональность первой версии – распознавание символов в сканах документов, текст которых предполагалось перевести на русский язык.
1995: FineReader 2.0
Если для первого запуска важна была скорость вывода продукта на рынок, то теперь необходимо было подумать про качество. Работа над второй версией шла более осознанно, с четким пониманием, в какую сторону необходимо двигаться дальше.
![Иконка FineReader 2.0 Иконка FineReader 2.0](https://habrastorage.org/getpro/habr/upload_files/672/aff/201/672aff201cf0e46f569117eed3f45c6b.jpg)
Были обозначены три приоритета: сокращение количества ошибок при распознавании, независимость от шрифта (омнифонтовость) и многоязычность. Чтобы перейти на качественно новый уровень в работе над продуктом, стали привлекать ученых-теоретиков и профессиональных лингвистов.
В новом релизе, выпущенном в 1995 году, появилась поддержка русского и английского языков, призванных, в первую очередь, качественно обрабатывать научно-технические тексты, многие из которых содержат терминологию на латинице. Именно с этого момента словарная поддержка стала одним из главных преимуществ технологии распознавания ABBYY.
![Splash Screen FineReader 2.0 Splash Screen FineReader 2.0](https://habrastorage.org/getpro/habr/upload_files/721/a05/e27/721a05e279e1a0e90aa8b1ba5ac1e880.jpg)
Удалось победить и проблему «неприятия» незнакомых шрифтов. Теперь для этого не требовалось отдельной настройки. Программа научилась самостоятельно распознавать символы любых размеров и очертаний. Кроме того, FineReader 2.0 стал первой омнифонтовой программой, поддерживающей кириллицу. Справились и с большим количеством ошибок. Программа гораздо лучше сохраняла форматирование и по тем временам имела просто рекордную точность работы.
С выпуском второй версии связана удивительная история из разряда везет тому, кто везет. Впервые она была рассказана в уже упомянутом материале. Советуем прочитать.
![Интерфейс FineReader 2.0 Интерфейс FineReader 2.0](https://habrastorage.org/getpro/habr/upload_files/02d/284/cc4/02d284cc492eec6fb77ff4620cb2558b.jpg)
![Интерфейс FineReader 2.0 Интерфейс FineReader 2.0](https://habrastorage.org/getpro/habr/upload_files/08b/cdd/bfb/08bcddbfb4b1fc442480a7f561b7773d.jpg)
1996: FineReader 3.0
![Иконка FineReader 3.0 Иконка FineReader 3.0](https://habrastorage.org/getpro/habr/upload_files/95e/8c9/e61/95e8c9e61c6b19d02b4cb3aaff93ce1e.jpg)
Едем дальше. Если вторая версия ожидаемо получилась успешнее первой, то требования к следующему релизу были еще выше. К этому времени удалось разработать принципиально новые технологии, благодаря которым команда смогла догнать конкурентов по основным функциональным возможностям. Программа поддерживала почти 30 моделей различных печатных устройств, в том числе ведущие продукты Hewlett-Packard, для работы с которыми требовались собственные разработки HP.
![Splash Screen FineReader 3.0 Splash Screen FineReader 3.0](https://habrastorage.org/getpro/habr/upload_files/87a/321/680/87a321680f8110ead7ca73b3c646b1e0.jpg)
FineReader 3.0 еще на порядок увеличил скорость распознавания на современных версиях ПО за счет использования MMX-инструкций. А главным прорывом стала точность распознавания одноязычного текста. Причем, сравнение нескольких продуктов показало, что уровень точности даже выше, чем у некоторых игроков международного рынка.
![Интерфейс FineReader 3.0 Интерфейс FineReader 3.0](https://habrastorage.org/getpro/habr/upload_files/91e/ec0/6ad/91eec06ad3d4303ad3f4cf70173f42e8.jpg)
1998: FineReader 4.0
Следующий, четвертый выпуск, состоялся в 1998 году, через 2 года после предыдущего релиза, и включал целую серию обновлений.
![Иконка FineReader 4.0 Иконка FineReader 4.0](https://habrastorage.org/getpro/habr/upload_files/7f2/fd1/632/7f2fd1632340960fdaf56b5e5ac3f919.jpg)
Все это время усилия разработки были сосредоточены на повышении качества распознавания. Несмотря на то, что по этому показателю FineReader и так был одним из лидеров рынка, продукту было куда расти. В новом релизе было заявлено о сокращении количества ошибок при распознавании печатных текстов в 1,5-2 раза, а при распознавании рукопечатных текстов – в 2-3 раза.
Еще один шаг вперед в функциональности продукта – увеличение количества распознаваемых языков. Программа стала настоящим полиглотом. FineReader 4.0 был способен обрабатывать тексты на 40 языках, а для 11 из них имелись полнофункциональные модули проверки орфографии Lingvo Corrector. По оценке экспертов того времени, по этому показателю продукт стал вторым в мире после OCR Recognita компании Caere, признанного лидера в разработке OCR-решений.
Точность распознавания возросла в 1,5 – 2 раза по сравнению с FineReader 3.0. Улучшенное распознавание документов плохой печати (распечатки с матричных принтеров, пишущих машинок, ксерокопии, факсы) достигалась благодаря применению принципов целостного целенаправленного адаптивного (самообучающегося) восприятия.
![Splash Screen FineReader 4.0 Splash Screen FineReader 4.0](https://habrastorage.org/getpro/habr/upload_files/ac3/7da/a9e/ac37daa9e40a579e2f13f164244366c1.jpg)
Другие новшества релиза – возможность работы программы в фоновом режиме и поддержка нескольких процессоров, что дало хороший буст в производительности. Кроме того, это позволило создать серверное решение и осуществлять обработку документов в потоке. Также заявлялось о том, что скорость распознавания может достигать 140 тыс. стандартных страниц в сутки. Интересно, что в этот период формируется линейка продуктов семейства FineReader. Некоторые доживут до наших дней примерно в том же виде (в контексте решаемых пользовательских задач), другие со временем трансформируются в независимые решения.
В середине-конце 90-х обобщенно FineReader можно назвать многофункциональной системой оптического распознавания символов, в которую входили продукты, ориентированные для решения разных задач в разных сегментах. Например, FineReader Light была предназначена для производителей оборудования (OEM-партнеров), FineReader Рукопись – для ввода форм, заполненных от руки печатными буквами, FineReader Банк – для ввода финансовых документов, FineReader Toolkit – ранние версии современного FineReader SDK.
![Интерфейс FineReader 4.0 Интерфейс FineReader 4.0](https://habrastorage.org/getpro/habr/upload_files/6f2/4b1/cb1/6f24b1cb1a4b7cf1c64fcf8ee476893a.jpg)
Ближе всего к современному ABBYY FineReader PDF можно считать FineReader Standard, предназначенный для домашнего использования и FineReader Professional для организаций. Их основная функциональность – распознавание печатных текстов. Но версия для бизнеса дополнительно позволяет автоматизировать ввод шаблонных документов. И ровно отсюда начинается история другого знакового продукта ABBYY – FlexiCapture. Собственную версию этого продукта, ориентированного на задачи российского рынка, – ContentCapture – мы также выпустили в 2022 году.
2000: FineReader 5.0
На исходе XX века вышел FineReader 5.0. Этот релиз принципиальным образом отличался от предшествующей четверки, прежде всего за счет модернизированного движка на основе нового протокола обмена данными.
![Иконка FineReader 5.0 Иконка FineReader 5.0](https://habrastorage.org/getpro/habr/upload_files/655/654/a4c/655654a4cfed9332cbabfb605df21681.jpg)
Это позволило пойти еще дальше в повышении точности и качества распознавания данных. Почти 100% результата удавалось достичь еще в версии 4.0, но это касалось только материалов хорошего качества. В этом же релизе программа существенно выросла при распознавании документов низкого качества и документов с достаточно сложной структурой и большим количеством элементов – изображений, таблиц, графических объектов.
![Splash Screen FineReader 5.0 Splash Screen FineReader 5.0](https://habrastorage.org/getpro/habr/upload_files/ad1/24c/02f/ad124c02f0c58d82d328702958a09e02.jpg)
Секрет успеха – во внедрении структурно-дифференциального и контурного классификатора. Первый позволил разъединять слитые пары символов (например, rn вместо m) и идентифицировать близкие по начертанию символы. Второй определял общие очертания символа в декоративных шрифтах. Все это позволило программе успешно распознавать подстрочные индексы, простые химические формулы, вертикальный текст и картинки в ячейках таблиц. Важная фича пятого релиза – доступное в офисной версии приложение Formulator, служащее для автоматического заполнения сканированных форм.
Росло и количество распознаваемых языков. В этой версии оно достигло 176. В добавление к лингвистическим системам появились и компьютерные. FineReader 5.0 научился распознавать исходный код на Basic, C/C++, COBOL, Fortran, Java и Pascal.
![Интерфейс FineReader 5.0 Интерфейс FineReader 5.0](https://habrastorage.org/getpro/habr/upload_files/3db/9a6/9ec/3db9a69ec2d7b13eb8b994599bb932e1.jpg)
В ABBYY тогда признавали, что на выпуск версии ушли колоссальные усилия: в общей сложности 80 человеко-лет.
2002: ABBYY FineReader 6.0
Начиная с шестой версии в название продукта официально включено наименование компании – ABBYY FineReader 6.0.
![Иконка ABBYY FineReader 6.0 Иконка ABBYY FineReader 6.0](https://habrastorage.org/getpro/habr/upload_files/6b1/354/6c7/6b13546c762e2cd5e21c4e1661f0c4c3.jpg)
Презентуя релиз, генеральный директор Сергей Андреев отметил, что именно в этой итерации продукт «вплотную приблизился к цели, которую мы ставили перед собой, когда еще только начинали заниматься разработкой OCR-систем: создать программу, которая способна не только точно распознать текст, но и сохранить макет документа при экспорте — шрифты, картинки, таблицы».
Основные изменения коснулись внутреннего устройства программы. Стоит ли говорить, что в очередной раз повысилась точность распознавания? Внедрение новых алгоритмов адаптивной бинаризации и фильтрации текстуры обеспечило повышение точности распознавания документов сложного дизайна. Теперь продукт «считывал» тексты на цветном фоне, а также материалы, разбитые на колонки, написанные цветными шрифтами.
За счет анализа структуры документа удалось добиться ее полного сохранения и точного воспроизведения сложных элементов верстки при распознавании.
![Splash Screen ABBYY FineReader 6.0 Splash Screen ABBYY FineReader 6.0](https://habrastorage.org/getpro/habr/upload_files/a55/57c/391/a5557c391ca56d447653da5c94e9fd02.jpg)
В шестом релизе появился широкий пакет инструментов для работы с файлами PDF. Пользователи получили возможность открывать их, распознавать текст, редактировать его и сохранять в нужных форматах с учетом разных шрифтов, уже встроенных в программу. Здесь же стало возможным корректно сохранять оформление в формате HTML. Благодаря поддержке расширения CSS FineReader точно воссоздавал оформление исходного документа при сохранении в HTML: колонки, картинки, шрифты, таблицы.
Перспективная для дальнейшего развития новинка – морфологический поиск. В FineReader 6.0 появилась возможность искать среди всех распознанных страниц пакета те, которые содержат заданное слово или фразу.
![Интерфейс ABBYY FineReader 6.0 Интерфейс ABBYY FineReader 6.0](https://habrastorage.org/getpro/habr/upload_files/fae/d39/e3c/faed39e3cec29e427588e4b52fc94aed.jpg)
Среди других новшеств – поддержка многопроцессорной работы, распознавание штрих-кодов, заполнение форм.
![Интерфейс ABBYY FineReader 6.0 Интерфейс ABBYY FineReader 6.0](https://habrastorage.org/getpro/habr/upload_files/ab4/ad7/7e2/ab4ad77e28d18ea089e617dea57d24db.jpg)
2004: ABBYY FineReader 7.0
При разработке следующей – седьмой – версии, вышедшей в 2004 году, основные усилия компании были направлены на усовершенствование технологии распознавания.
![Иконка ABBYY FineReader 7.0 Иконка ABBYY FineReader 7.0](https://habrastorage.org/getpro/habr/upload_files/e7e/7ea/604/e7e7ea60432e213f8d3fb3fa45976156.jpg)
В этот период многие разработчики OCR бились над повышением точности «прочтения» документов со сложной структурой и версткой. Например, где цветной текст напечатан на цветном фоне, под текстом размещены изображения, или же документ отсканирован в режиме низкой контрастности.
В ABBYY FineReader 7.0 точность распознавания, по результатам внутреннего тестирования, увеличилась примерно на 30-35% по сравнению с предыдущей версией.
В рамках этих же испытаний установлено, что точность при сохранении исходного оформления документов выросла на 25%. Этого удалось добиться за счет внедрения нового структурного классификатора и усовершенствованных алгоритмов адаптивной бинаризации и фильтрации структуры. На 45% улучшилась точность распознавания PDF-файлов. В текущей версии FineReader использует для проверки результата распознавания текстовый слой PDF-файла.
![Splash Screen ABBYY FineReader 7.0 Splash Screen ABBYY FineReader 7.0](https://habrastorage.org/getpro/habr/upload_files/fde/02c/1d9/fde02c1d9dc755954528037275f769c7.jpg)
С каждым следующим выпуском развивается интеграция продукта с решениями Microsoft Office. Так, «семерка» встраивалась в Microsoft Office Word 2003 и позволяла работать с результатами распознавания непосредственно внутри текстового редактора с помощью привычных инструментов. При этом пользователь мог сравнивать текст с увеличенным изображением оригинала, отображаемым в соседнем окне. Это стало возможным благодаря поддержке формата XML.
Также стал доступен и новый сценарий использования PowerPoint. FineReader 7.0 позволял быстро преобразовать распечатку слайдов презентаций в редактируемый вид и сохранить ее в формате ppt для создания новой презентации.
![Интерфейс ABBYY FineReader 7.0 Интерфейс ABBYY FineReader 7.0](https://habrastorage.org/getpro/habr/upload_files/550/769/947/5507699479f0669be3a902bda02d7ad7.jpg)
to be continued...
Комментарии (7)
gruzoveek
11.09.2023 10:53+4Первый раз столкнулся с файнридером версии 4 в 2003, а спустя небольшое время уже довелось поработать с 7. Небо и земля просто. Огромную работу проделали создатели.
datacompboy
Засунули бы в каждую версию одну и ту же среднейпоганости картинку -- показать наглядно рост на реальных данных, а не на демо-картинках из комплекта :)
mikelavr
Если текст с такой картинки хоть как то распознается первой версией - более поздним будет совсем легко, и дальнейшего улучшения качества не будет.
Наверное несложно найти кейс, который вообще не распознается ранними версиями, но в этом тоже смысла мало.
datacompboy
Я пользовался ФР (не помню версий, впрочем, давно было дело). И чистка и вычитка текста после него требовалась хорошая такая. Формат и структуру тоже, но вот тут разница между версиями была огромной.
salnicoff
Тут надо еще весь процесс снимать на видео. Ранние, например, умели только отсканировать картинку и сразу же ее распознать. Потом сделали так, что можно было отсканировать всю книгу, запустить распознавание и пойти спать. Еще в ранних надо было руками выделять отдельные части и ставить их тип — сплошной текст, картинка, таблица. В таблицах надо было строки и столбцы выделять. Если текст многоколоночный — каждую колонку тоже надо было отметить.