Секреты управления

Как мы сделали ABBYY FineReader, или История, произошедшая 20 лет назад

7456r_history_FineReader_4-04-04

ABBYY FineReader – программа для распознавания текстов, которая в России известна многим ещё со студенческих времён. В этом году FineReader исполняется 22 года, он немного моложе нашего словаря Lingvo. Как так вышло, что вместе со словарём молодые программисты из тогда ещё BIT Software занялись распознаванием текстов? И что помогло Файну стать одной из самых узнаваемых на рынке программ?

На самом деле, всё очень логично. Если бы не Lingvo, FineReader’а могло бы и не быть. Началось всё с масштабного и амбициозного комплекса под названием Lingvo Systems. С его помощью человек мог отсканировать текст на одном языке, пропустить его через программу и получить перевод, правда, черновой, но для понимания смысла его было достаточно.

В Lingvo Systems были объединены четыре программы: от сторонних компаний —распознавалка символов, корректор, переводчик, а также наш словарь Lingvo. И самым слабым звеном было как раз распознавание: программу нужно было долго обучать каждому шрифту, но даже после этого качество оставляло желать лучшего. Программа должна была встретить по крайней мере несколько экземпляров одной буквы и каждый раз нуждалась в подсказке. Понемногу она «прозревала» и начинала понимать все больше символов. Так проходил процесс обучения. Но как только менялся шрифт или хотя бы его размер, все приходилось повторять сначала.

Стоит сказать, что тогда, в начале 90-х, в организациях, отпочковавшихся от различных НИИ, уже начали разрабатывать свои OCR-системы (оптическое распознавание символов). Это была довольно востребованная технология – качественное распознавание было нужно не только нам для нашей Lingvo Systems, но и рынку. И у нас был выбор – ждать, пока кто-то другой сделает крутую программу, или разработать свою собственную.

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

Начали создавать программу мы в ноябре 1992 года, а закончить планировали к маю 1993. Отсутствие качественной программы распознавания существенно мешало продажам, конкуренты не дремали, поэтому нам надо было спешить. Понимая, что разработать всю технологию с нуля в такой срок невозможно, приобрели некоторые наработки у молодого учёного, который в свободное время дома работал над похожей программой – без особой цели, просто из личного интереса к предмету.

Его технология была далека от коммерческого применения, и мы приложили массу усилий, чтобы программа научилась выдавать полезный результат. Одно дело – экспериментальная разработка, другое – работающий продукт. Исходно код программы был разработан под MS DOS, а нам нужно было перенести все под Windows. Кроме того, технология поддерживала лишь один простейший формат изображений, а от коммерческого продукта требовалась поддержка всех основных на тот момент форматов. Ну и самое главное: в системе практически не было готовых описаний символов, а инструменты для создания этих описаний отсутствовали вовсе. В качестве такого инструмента использовался набор больших текстовых файлов, в которых в псевдографическом виде были прочерчены обобщенные контуры символов. Их полагалось править и улучшать прямо в этом файле через обычный текстовый редактор. В какой-то момент Давид лично сел за подготовку данных для системы – до этого несколько девушек, нанятых на эту работу, отказались от неё, очень тяжело было. И Давид два месяца, без выходных, каждый день по 12-14 часов доводил до ума базу распознавания.

Параллельно с этим мы начали вникать в предметную область. Общались со специалистами, познакомились с Александром Львовичем Шамисом – выдающимся учёным, который занимался практическими и теоретическими проблемами искусственного интеллекта, разрабатывал прикладные технологии в области машинного восприятия. И к моменту выпуска FineReader 1.0 мы уже знали, какой должна быть следующая версия.

Конечно, мы подошли к разработке с умом, представили себе, как должна выглядеть идеальная программа. И у нас сразу сложилось два преимущества – омнифонтовость и мультиязычность.

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

Омнифонтовость означает, что программу не нужно настраивать для распознавания каждого нового шрифта, то есть она распознаёт символы практически любых размеров и начертаний. Наш FineReader был первой омнифонтовой программой, поддерживающей кириллицу. Сейчас-то мы уже привыкли, что, если программа не распознала шрифт, значит, он какой-то очень сложный или причудливый, а тогда даже для обычных книжных шрифтов приходилось проводить обучение. Шаг влево, шаг вправо – и программа не может воспринять даже тот шрифт, который вообще-то знает. Например, если он другого размера или качество изображения хуже.

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

Первый тираж FineReader’а был 500 экземпляров. В первый месяц мы продали больше сотни копий – для тех времён это было эпохальное число! Даже Lingvo, уже очень популярный в то время и стоивший в несколько раз дешевле, в редкие месяцы доходил до продаж в 100 копий.

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

FineReader стал знаковой программой для нас. Именно с ним мы вышли на международный рынок. Сегодня эту программу используют более 20 миллионов людей в мире. А технологию распознавания текстов, лежащую в основе FineReader, лицензируют крупнейшие мировые компании – Microsoft, Samsung, Fujitsu, Panasonic и многие другие.

Тогда, 22 года назад, мы и предположить не могли куда все зайдет. А сегодня понимаем, что добиться крутого результата смогли благодаря:

  • Большой и упорной работе. Да-да, из последних сил, но с колоссальным драйвом (помните про 12-14 часов в день без выходных :)).
  • Умению найти и создать конкурентные преимущества – те самые омнифонтовость и мультиязычность.
  • И смелости. Теперь то мы понимаем, как важно не бояться преград на пути.

Арам Пахчанян, вице-президент ABBYY. Арам, одноклассник Давида, пришел в ABBYY в 1993 году на позицию технического писателя, а в 2004 стал вице-президентом компании. Долгое время был директором департамента продуктов для ввода данных. Под руководством Арама многие решения были успешно внедрены не только в России, но и в других странах и получили признание во всем мире. Сегодня Арам является директором школы «Айб» в Ереване, которая стала центром коренной модернизации образования в Армении.
  • Навруз

    Вы крутые!!

  • https://www.facebook.com/app_scoped_user_id/478752908974036/ Alexander Molchanov

    Я давно использую FineReader, с самых первых версий. Молодцы! Гордимся, что такая программа сделана в России

  • https://www.facebook.com/app_scoped_user_id/1077279495637859/ Sergey Nikolaev

    Поздравляю! Вы молодцы!

  • https://plus.google.com/112210858702337859381 Max Beresnev

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

  • https://www.facebook.com/app_scoped_user_id/1110332782325372/ Alexey Klimov

    Поздравляю! В 2002 году FineReader произвел на меня значительное. И я провел многие дни экспериментов с распознаванием надписей на упаковках. Супермаркетам это не помогло. Получилась глянцевая статья в Домашнем компьютере: http://new.homepc.ru/offline/2002/75/20581/ Может, кому пригодится, материалы исследования остались.

  • https://plus.google.com/112773456458835162056 Clover Man (S2lsbHk)

    Лучшая в своем роде программа.

  • http://vk.com/id59437996 Вадим Бебко

    Знаком с программой FineReader с 1999 года с момента появления первого сканера дома. Помню, тогда была версия 4.0. Качество распознавания было не всегда идеальным и обычно требовало большей или меньшей ручной правки, нередко требовалась ручная разметка блоков. Также распознавание сильно осложнялось используемой для книг и распечаток низкокачественной бумагой и использованием матричных и струйных принтеров. Но ведь она работала!!! И сокращала время набора текста во много раз!!! Особенно для текстов на иностранных языках, которые набирать вручную можно разве что побуквенно. Помогала и в учёбе, и в работе, помогала сохранить в компьютере интересные заметки из газет и журналов не картинкой, а текстом. И с каждой следующей версией распознавание становилось точнее и качественнее. Благодарен разработчикам за действительно полезную и качественную программу! И отдельная благодарность за дружественную ценовую политику даже для домашних пользователей!

  • Рубин Алмазный

    с каждой новой версии программа становиться лучше!
    другие компании слабо улучшают своё ПО

    • Мария Горюшкина

      Спасибо за Вашу оценку, будем стараться радовать и дальше!

  • https://www.facebook.com/app_scoped_user_id/722993837837479/ Ilya Ivanov

    Первая программа для сканирования, с которой я знаком (познакомился с ней примерно в 2008 году). Лучшая программа, работающая по технологии OCR со всеми ее преимуществами и недостатками.

  • ввв

    мп