Выбрать главу

Подробности Compreno я донесу читателям со слов Сергея Андреева и Татьяны Даниэлян - не потому, что не доверяю собственным суждениям, а потому что рассказ у обоих получился гладким и содержательным, зачем же плодить сущности?

Начало разработки Compreno пришлось на 90е годы, когда в арсенале ABBYY (в те годы - еще BIT Software) уже числилось два ледокола: словари Lingvo и программа для распознавания текста FineReader. Продукты продавались по всему миру, были хитами и приносили стабильную прибыль - манна небесная для романтических проектов вроде Compreno, стресс которых не пережил бы ни один сторонний инвестор (вкладывать миллионы долларов в нечто совершенно революционное да к тому же и с неизвестными перспективами? а вдруг ничего не получится? нет уж увольте!).

ABBYY обошлась без чужих денег и это спасло Compreno, позволив довести до победного конца проект со столь колоссальными материальными и людскими затратами.

Успех обеспечил и правильный изначальный выбор направления для разработки системы автоматического перевода. В 90-е в мире правила одна королева - Rule-Based Translation Model, классическая модель перевода, основанная на ограниченном наборе готовых правил для некоторой пары языков. Одна из проблем RBTM - в накоплении все новых и новых правил, которые в какой-то момент просто начинают конфликтовать между собой. Анализируя предложение, мы можем применить разные комплекты правил, при этом машине неведомы приоритеты. Перевод, основанный на RBTM, как правило, не озабочен полным синтаксическим анализом: вместо него предложение делится на фреймы, на которые затем интерполируют существующие в системе правила для получения перевода. RBMT системы не учитывают семантику.

В начале XXI века усилиями Google мир подсел на иглу нового алгоритма перевода - так называемой статистической модели. Основа СМ - наличие обширной базы разнонаправленных переводов. Мы задаем статистическому движку предложение для перевода, он ищет в базе данных как в словаре варианты уже существующих переводов аналогичного текста и после незначительных изменений выдает вполне приличный результат.

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

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

Все замечательно, однако, лишь до тех пор, пока дело не касается переводов в направлениях с так называемым низким покрытием (скажем, каким-нибудь, румынско-русским или тайско-венгерским).

Где брать аналоги? По словам Сергея Андреева опасность подстерегает также при уходе в предметные области на массовых направлениях, потому что параллельных текстов становится сильно меньше, чем в бытовой и разговорной тематике. Сочетание ухода в предметную область и не самого массового направления перевода приводит к слабым результатам. Скажем, IT. Казалось бы, какие сложности могут возникнуть у машинного перевода с текстом на тему информационных технологий? В самом деле - никаких, если мы занимаемся русско-английским переводом. Зато они тут же возникнут на русско-французской ниве! Статистическая база в этом направлении чрезвычайно скудная и лакуны возникают на каждом шагу.

Выход в рамках СМ для подобных ситуаций найден лишь паллиативный: работая с языками / темами низкого покрытия в качестве посредника используется английский язык. То есть сперва делается перевод с русского на английский, а затем уже с английского на, скажем, румынский, или тайский. В результате получается очень заметное снижение качества перевода.

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

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