К Дню космонавтики питерская фирма “ПРОМТ” приурочила выпуск (хочется сказать “запуск”) новой версии системы машинного перевода PROMT 8.0. Как напомнила президент компании Светлана Соколова, в начале 1950-х гг., когда появились первые ЭВМ, они назывались “computing machines” — вычислительные машины. Отсюда и появились термины “машинный язык”, “машинный код” и “машинный перевод”. Датой рождения машинного перевода, наверное, следует считать август 1954 г., когда корпорация IBM объявила, что впервые в истории компьютер перевёл предложение с русского языка на английский. Это была очень простая программа, она учитывала всего шесть правил перевода и имела словарь на 20 слов. Тем не менее тогда все считали, что вскорости компьютер сможет осилить проблему перевода с одного языка на другой. Но всё оказалось намного сложнее, чем представлялось, поскольку размерность задачи, как выяснилось, была неподъёмной — количество правил для описания языка измеряется десятками тысяч, а мощности тогдашних компьютеров было совершенно недостаточно для хранения словарей. Поэтому к середине 1970-х задача машинного перевода почти умерла и воскресла только с появлением нового поколения компьютеров.
Светлана Соколова: “Разработка PROMT никогда не останавливается” |
В конце 1980-х гг. IBM декларировала, что раз нельзя полностью описать правилами синтаксис и семантику языка, то надо действовать статистическими методами. (Типичный пример американского подхода к решению задачи методом “грубой силы”. — Прим. авт.) Система должна работать на базе параллельных текстов (т. е. пар — оригинальный текст и его перевод), и по этой базе должна вычисляться вероятность перевода. Общеизвестна единственная подобная система машинного перевода, используемая в Google.
Следует отметить, что с появлением персональных компьютеров произошла революция в документообороте: тексты в подавляющей своей массе стали электронными, и отсюда задача перевода документации, которая уже хранится в компьютере, настолько актуализировалась, что в результате как грибы после дождя начали появляться простые системы машинного перевода, которые выполняли почти пословный перевод с учётом минимального количества правил. Однако даже такие системы хорошо продавались; в качестве примера можно привести продукт компании GlobaLink.
Чем же отличаются системы, основанные на правилах, от основанных на статистическом анализе? Различия между ними принципиальные. Первые строятся как последовательные системы, выполняющие сначала анализ, затем преобразование структуры текста и, наконец, синтез текста на выходном языке. Чтобы это сделать, необходимо применить громадное количество правил. Можно сказать, что множество эффективно организованных правил и создаёт систему машинного перевода.
Система статистического перевода работает на основе N-грамм. Это лингвистические конструкции, которые выделяются из массива текстов. Обычно берутся последовательности из трёх слов. По полученным из базы входных и выходных текстов N-граммам затем используя частотные характеристики различных фрагментов текстов документов вычисляются вероятности насколько входной N-грамме соответствуют N-граммы выходного языка. Для получения качественного перевода имеет смысл не противопоставлять, а объединять эти методы, поскольку решения, основанные на правилах, требуют работы высококвалифицированных лингвистов и других специалистов, а системы статистического анализа текстов нуждаются в громадных вычислительных мощностях и больших объёмах памяти.
Пристальное внимание к системам машинного перевода, по мнению г-жи Соколовой, объясняется тем, что Интернет порождает огромный спрос на переводы, который в принципе невозможно удовлетворить за счёт переводчиков-людей. Объём текстов в вебе растёт экспоненциально.
За последние годы значительно продвинулась вперёд корпусная лингвистика. Она подразумевает исследование массива текстов по определённой тематике. Таких исследований было проведено очень много, и они дают разработчикам систем машинного перевода ещё один инструмент для улучшения качества выходных текстов.
Недавно “ПРОМТ” купила корпус, распространяемый за небольшую цену компанией Google, чтобы разработчики лингвистических программ могли воспользоваться статистическими методами. Объём этой базы в сжатом виде — 24 Тб.
PROMT 8.0 — система машинного перевода, основанная на правилах. В неё включены новые модули для перевода с русского и на русский язык. Разработка не останавливается, и в следующих версиях этой системы будут применены упомянутые выше статистические методы, что должно привести к дополнительному улучшению качества перевода.
С момента выхода предыдущей версии (7.0) прошло два года. В версии 8.0 за счёт ввода в движок множества новых правил существенно повышено качество перевода. Однако для такого сложного объекта, как язык, правилами нужно описывать очень многие вещи, чтобы получить качество схожее с “лингвистической машиной” человека, поэтому работа по выработке новых правил ещё очень далека от завершения.
Пакет PROMT 8.0 выпущен в четырёх вариантах: от простого — для массового пользователя (рекомендованная цена 520 руб.) до “навороченного” — для корпоративных отделов переводов (24 000 руб.). В системе всего девять направлений перевода текста для основных языков: английский, русский, немецкий, французский, итальянский и испанский. Разработчик рассматривает в будущем возможность создания системы перевода с китайского языка.
Безусловно, очень многие заинтересованы в том, чтобы в Интернете можно было читать китайские, японские и корейские тексты. В идеале хорошо бы иметь инструментарий, позволяющий пользователям самим наполнять такую систему правилами и словарями. Возможность расширения пользовательских словарей в версии 8.0 усилена, теперь дело за тем, чтобы дать доступ к базе правил.
Российский рынок систем машинного перевода растёт, хотя в Интернете, как обычно, масса желающих получать услуги перевода бесплатно. Число посетителей сайта достигает 100 тыс. в день. Однако увеличивается и количество тех, кто хотел бы купить программу машинного перевода — компания надеется в этом году повысить обороты в России на 50%.
Рассказ Светланы Соколовой навёл на ряд мыслей. Можно заметить, что для системы, основанной на правилах, уместна аналогия с человеком. У человека постоянно работает механизм генерализации (обобщения) разных правил, поэтому их в итоге остаётся не так уж много, но эффективность каждого из них высока. Наш мозг в фоновом режиме всё время занят несколькими задачами — планированием (текущим, кратко-, средне- и долгосрочным), систематизацией полученной информации (обобщением), а также диагностикой организма (основная диагностика происходит во сне, но во время бодрствования у человека постоянно идут пятимикросекундные неощущаемые состояния сна, во время которых мозг тоже занят диагностикой). Так и с базой правил — наличие эффективных алгоритмов генерализации правил перевода могло бы многократно сократить их количество.
С машинным переводом всё бы сильно упростилось, если бы удалось выработать стандартизованный промежуточный язык, на который можно было бы транслировать все языки. Тогда для получения всевозможных направлений перевода потребовалось бы на порядок меньше усилий — достаточно для конкретного языка было бы сделать одну пару (язык — промежуточный язык и обратно), остальные можно было бы тасовать как угодно. (Легко посчитать, что число возможных направлений перевода для пяти языков составляет уже 20, а для десяти — 90 направлений.)
К сожалению, разработка лингвистического софта в России (равно как и создание словарей) на государственном уровне никак не поддерживается, хотя можно назвать множество аргументов в пользу того, чтобы это направление целенаправленно развивать, добиваясь мирового лидерства в данной весьма наукоёмкой области.