Архивы: по дате | по разделам | по авторам

Давид Ян: "я не считаю, что мы добились успеха"

Архив
автор : Алексей Кузьменков   26.01.1999

Идеи приходят в голову по-разному. Утверждают, что Менделеев увидел свою знаменитую периодическую таблицу во сне. Идея, с которой началась компания ABBYY, возникла у Давида Яна на экзамене по французскому языку в далеком 1989 году.

Идеи приходят в голову по-разному. Утверждают, что Менделеев увидел свою знаменитую периодическую таблицу во сне. Идея, с которой началась компания ABBYY, возникла у Давида Яна на экзамене по французскому языку в далеком 1989 году.


   "Я сидел на экзамене, - рассказывает Давид, - и вдруг подумал: почему до сих пор никто не написал программу, которая бы обучала французскому языку? Тем же вечером я пришел к выводу, что больший спрос будет иметь английская обучалка. А на следующий день я решил, что спросом будет пользоваться скорее не обучалка, а словарь".

   "Моим партнером (и первым программистом будущей компании), - продолжает Давид, - стал Александр Москалев - в то время сотрудник НИИ в Черноголовке. Его помог найти Булат Гайфуллин - ныне руководитель компании "Интерфейс". Булат привел меня в комнату, где были установлены роскошные по тем временам цветные XT'ишки. За одним из компьютеров, спиной к нам, сидел человек. Когда мы обратились к нему, он, выдержав паузу, не спеша обернулся. Я изложил ему идею, предложив работать за 50 процентов от будущих продаж. Программист взял неделю на раздумья".

   Сумма в 1500 рублей под идею нашлась у некоего Центра научно-технического творчества молодежи, который согласился заплатить авторам словаря и кооперативу, взявшемуся перевести словарь в электронную форму. "Как это ни печально, но наш заказ чуть было не стал причиной разорения кооператива. В договоре я прописал неустойку в размере 0,1 процента от суммы договора за каждую допущенную ошибку. После того как мы подсчитали ошибки, оказалось, что кооператив должен деньги нам".

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

   Развитие бизнеса требовало новых идей, которые не заставили себя долго ждать. Фирма "Бит" решила реализовать концепцию "От листа на одном языке, до листа на другом языке". Было решено продавать программы в комплекте, который позволял бы автоматизировать весь цикл перевода документа - от сканирования, распознавания и коррекции до перевода. "Как оказалось, это было удачным решением - потребность в таком комплексном продукте была, и люди охотно его покупали. Мы решили совершенствовать программы, входящие в комплект, - систему оптического распознавания текста (OCR - Optical Character Recognition), электронный переводчик, системы коррекции орфографии и электронный словарь (Lingvo). Но тут же наткнулись на препятствие - оказалось, что развивать продукт, который тебе не принадлежит, очень трудно. Разработчики не воспринимали наши идеи, а продавать исходные тексты своих программ они не хотели, - и тогда мы решили действовать сами". В результате компания "Бит" разработала свой корректор орфографии LingvoCorrector и программу оптического распознавания текста FineReader. С переводчиком получилось проще - удалось найти общий язык с питерской командой ProMT, которая стала поставлять свою систему машинного перевода. Выпущенный в 1993 году FineReader 1.0 стал первой российской OCR-программой под Windows. Он распознавал тексты на двух языках, русском и английском, и не требовал предварительной настройки шрифтов, как другие распознавалки. "Хотя, конечно, - улыбается Давид Ян, - самую первую версию трудно сравнивать с FineReader 4.0. Они отличаются друг от друга, как "Запорожец" от "Мерседеса"". Первыми покупателями FineReader стали организации, нуждавшиеся в том, чтобы переводить бумажные документы в электронный вид. В то время рынок был настолько пуст, что продавались любые OCR-программы. Правда, по словам Давида, тогда считалось удачей, если удавалось продать несколько копий в месяц.

 
   Почему вы остановились именно на лингвистических программах?
   - Выбор был не случайным. Мы понимали, что российские разработки вряд ли смогут конкурировать с русскими версиями раскрученных зарубежных программ. Нужно было искать свободные ниши, где западным производителям софта, не знающим российской специфики, было бы трудно соперничать с нами, - будь то язык, как в нашем случае, или бухгалтерия, как в случае "1С". Мы решили заниматься приложениями, учитывающими языковой фактор, - словарями, системами коррекции, программами распознавания. Но мы вовсе не замыкались на лингвистике - и даже вели переговоры с компанией "МикроИнформ" о создании Windows-версии популярного в то время текстового редактора "Лексикон". Мы даже получили возможность изучить разработки создателя "Лексикона" Евгения Веселова. Но чтобы довести их до законченного решения требовалось время, которого не было. В то время Microsoft Word уже занимал доминирующее положение как текстовый редактор под Windows. Пока пользователи не перешли полностью на Word, необходимо было создать Windows-версию "Лексикона". Мы предложили "МикроИнформу" новую концепцию редактора. В то время среднему пользователю требовались только простейшие возможности Word, часть пользователей вообще не умела работать в Windows, и новый "Лексикон" должен был стать промежуточным звеном между DOS'овской версией "Лексикона" и Microsoft Word. Помимо функций работы с текстами, он должен был включать в себя элементы обучения принципам работы в Windows, то есть быть обучающим редактором. Но "МикроИнформ" не была готова отказаться от старой концепции, от многолетних разработок, и этот проект не состоялся.
   Во всем мире ABBYY известна прежде всего своими системами оптического распознавания текста FineReader. Когда вы поняли, что ваша разработка не уступает зарубежным аналогам?
   - Сравнительное тестирование своих программ и программ конкурентов мы проводим регулярно. Тестовая выборка (всегда одна и та же) содержит десять тысяч документов разного качества на разных языках, к которым у нас есть выверенные тексты. Превосходство над аналогами продемонстрировал уже FineReader 2.0. Тем не менее, эта версия не была конкурентоспособна на международном рынке, поскольку работала только с русскими и английскими текстами и поддерживала только двуязычный интерфейс. Точность распознавания для OCR-системы, безусловно, важный момент, но недостаточный. FineReader 3.0 в этом отношении продвинулся гораздо дальше. Он стал распознавать два новых языка - немецкий и французский - и обладал уже четырехъязычным интерфейсом. Тем не менее, для западного рынка и этого мало. А вот FineReader 4.0, распознающий тексты, написанные на сорока языках, и имеющий семиязычный пользовательский интерфейс, является, без сомнения, конкурентоспособным на мировом рынке.
   Причем с версией 4.0 произошла забавная вещь. Прежние версии распознавали текст качественнее, чем конкуренты, но медленнее. FineReader 4.0 стал быстрее, а конкуренты в погоне за качеством снизили скорость распознавания, однако догнать нас по качеству не смогли. Фактически они сыграли нам на руку. Впрочем, победа нашей системы в тестах - еще не деньги в кармане.
   Что позволило ABBYY добиться успеха?
   - Я не считаю, что мы добились успеха. Вот если бы нам принадлежало 20, 30, а то и 70 процентов мирового рынка систем оптического распознавания, это был бы успех. Мы гордимся тем, что были признаны самым профессиональным разработчиком прикладного ПО в России [1], но на самом деле все еще впереди.
   Мы часто обсуждаем нашу замечательную "технологию конвейерного программирования", говорим о том, как важно для проведения ресурсоемких проектов (десятки человеко-лет, сотни тысяч строк кода) создать человеконезависимую систему. Систему, которая не принимает глупых и отторгает ленивых. Но все-таки тому положению, которое сейчас занимает ABBYY, мы в первую очередь обязаны людям. Девятилетний опыт работы в команде позволяет нам все больше и больше ценить известную формулу успеха бизнеса: "Бизнес имеет пять составляющих успеха - люди, люди, люди, маркетинг, технология". Когда мы только начинали, я не сомневался, что обратный порядок: технология, маркетинг, люди, - правильнее. Прошло время, и я понял, что акценты в формуле расставлены верно. Возможно, пройдет еще время, и я соглашусь с формулой целиком и полностью. Нам повезло: у нас работают талантливейшие люди. Все остальное приложилось.
Из интервью с Давидом Яном


1 (обратно к тексту) - Имеются в виду ежегодные корпоративные опросы агентства "Дейтор" и Роскомсоюза - Top 100. По итогам 1997 года компания ABBYY заняла первое место в номинации "Фирмы-разработчики прикладного и системного ПО в России".
Сейчас, по оценкам ABBYY, ее доля на мировом рынке OCR (не включая рукописное распознавание) составляет около 3 процентов, на российском - около 80 процентов.



   Блюдце, чашка и ложка, или Как FineReader распознает тексты
   Вопрос "Как работает FineReader?" вызвал у моего собеседника секундное замешательство: детально описывать технологию неспециалисту - дело безнадежное. Однако, взглянув на чашку с чаем, Давид встрепенулся и прочитал мне целую лекцию на тему: "Технология распознавания на примере ограниченного множества предметов". Итак, слово Давиду Яну.

   - Говоря упрощенно, в OCR используется три вида классификации объектов: шаблонная, признаковая и структурная. Возьмем три предмета: чашку, блюдце и ложку. Каждая технология описывает их по-своему. Шаблонная - содержит копии каждого предмета и сравнивает распознаваемый объект с его копией. Если они совпадут - предмет распознан. В признаковой классификации у объекта выделяются признаки, и его принадлежность к тому или иному классу определяется наличием соответственных признаков. Например, круглое при виде сверху, полукруглое при виде спереди и обладающее круглым элементом сбоку - это чашка; круглое сверху, но плоское сбоку - это блюдце; длинное, плоское при виде сбоку с полукруглым элементом в конце - ложка. Структурная система отличается от признаковой тем, что объект делится на элементы и принадлежность к классам определяется по взаимному расположению элементов: например, чашка - это объект, состоящий из полусферы с плоским дном и полукруглым элементом сбоку.

   Мы пошли несколько дальше. FineReader для распознавания символов использует специальную технологию, которую назвали целостным целенаправленным адаптивным восприятием. Принцип целостности гласит, что любой целый объект состоит из частей, или элементов, которые находятся друг с другом в определенных отношениях. Чтобы классифицировать объект, необходимо выделить все его части и проверить, выполняются ли заданные для них отношения.

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

   Принцип адаптивности означает способность системы к самообучению.

   Как будет работать традиционная OCR-система с нашими объектами? Итак, объект - круглый при виде сверху, полукруглый при виде спереди, сбоку имеется полукруглый элемент. Существует объект такого класса? Да, существует: это чашка. Таким образом, объект распознан.

   Теперь представьте, что часть объекта от нас скрыта. Допустим, нам не видна ручка (что соответствует плохому качеству распознаваемого текста). Мы видим, что объект - круглый сверху, полукруглый - спереди, а сбоку - ничего нет. Классов с такими признаками не существует - следовательно, объект не распознан. Как действует наша система: сначала она очень грубо пытается понять, что это за объект. Итак: объект тяжелый - значит, это чашка или блюдце. Сверху объект круглый, спереди полукруглый, круглый элемент сбоку отсутствует. Система делает вывод, что с вероятностью, скажем, 80 процентов объект является чашкой. Затем рассматривается другая гипотеза, о том, что объект - блюдце. Сверху объект круглый, но вид спереди показывает, что он не плоский - значит, это не блюдце. Следовательно, вторая гипотеза является ложной, и объект распознается как чашка. Далее в действие вступает принцип адаптивности. Система изменяет признаки класса "чашка" и в следующий раз, столкнувшись с "неправильной" чашкой, распознает ее с первого раза. Таким образом, при работе с документом FineReader способен на ходу обучаться, запоминая характерные дефекты текста, и по мере обучения скорость работы увеличивается. Дойдя до конца текста, программа возвращается к началу и проходит текст заново, уже учитывая новые признаки классов объектов.

   В общих же чертах FineReader работает следующим образом. На отсканированном изображении листа программа выделяет области распознавания: картинки, колонки текста, таблицы. Выделяются строки, которые затем разделяются на символы. После этого начинается распознавание отдельных символов, попутно определяется язык, на котором написан документ. После того как распознавание завершено, начинается обратный процесс - синтез документа: распознанные знаки собираются в слова, слова в строки, строки в колонки, колонки вместе с таблицами и картинками восстанавливаются в документ формата RTF или Microsoft Word, более или менее похожий на оригинал. Почему "более или менее"? Дело в том, что шрифт оригинала может отличаться от шрифтов, которые знает Word. Кроме того, физически невозможно соблюсти в электронной копии то же межстрочное и межбуквенное расстояние, что и в оригинале. Скажем, текст, написанный в оригинале узким шрифтом, физически невозможно вместить в те же рамки шрифтом Arial. Тем не менее мы используем хитрые алгоритмы синтеза, чтобы получить выходной документ как можно более близким к оригиналу.

   Секретный проект
   Проект NLC (Natural Language Compiler) зреет в недрах ABBYY уже четыре года, и, по словам Давида, пройдет еще года два с половиной, прежде чем на его основе появится полноценный коммерческий продукт. NLC станет самым дорогим проектом ABBYY - он обойдется компании в два раза дороже, чем FineReader, исходный код которого насчитывает 1,5 млн. строк и на который было потрачено более ста человеко-лет. Давид неохотно говорит об этом проекте, видимо, опасаясь, что идея может ускользнуть к конкурентам: "Технология NLC должна стать очередным скачком в развитии ABBYY и по значимости, пожалуй, превзойдет даже FineReader. Пока я могу сказать только одно: она связана с обработкой данных на естественном языке. Аналогов этой технологии еще не существует, и думаю, что к моменту выхода их не будет существовать. NLC предполагается использовать для создания нескольких самостоятельных продуктов. В частности, с его помощью можно будет распознавать речь - без настроек на голос диктора и с гораздо меньшим числом ошибок по сравнению с существующими версиями программ звукового распознавания.

   Однако распознавание речи не является основной функцией NLC. Другой проект на базе этой технологии - распознавание слитного рукописного текста. Сейчас точность распознавания рукописей не очень высока, поскольку существуют объективные причины потери информации при распознавании текстов, написанных от руки. Интеграция NLC в эти системы позволит повысить точность обработки рукописного текста настолько, что если обычный человек сможет разобрать написанное, это сможет сделать и программа".



© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.