Category: технологии

Category was added automatically. Read all entries about "технологии".

Pacific

Локализация. Часть 3.3. Машинный перевод возвращается

Статистический машинный перевод (SMT) основывается на модели, в которой вычисляется вероятность появления в переводе каждого слова из имеющегося набора переведенных предложений, и выбирается вариант с наибольшими вероятностями. Для того, чтобы метод заработал, требуется наличие большой базы существующих правильных переводов, выполненных людьми: моя оценка минимального объема существующих переводов для получения условно-приемлемого качества SMT – три миллиона слов. Я встречал обоснование достаточности меньших объемов (700 тысяч слов), но я ему не очень верю… На текущий момент SMT является наиболее успешной реализацией идеи машинного перевода: она действительно работает. Ее не всякий может себе позволить (крупные базы переводов есть очень не у всех), но…

Приведу пример того, как это работает. Предположим, что нужно перевести “Bush is an idiot” на русский язык. Для начала алгоритмом оптимизации поиска отсекаются переводы, в которых не встречаются слова из исходной фразы, чтобы не перебирать слишком большой объем данных. Дальше определяется набор статистических вероятностей; например, выясняется, что для слова “Bush” есть два всплеска: на слове “куст” и на слове “Буш” (оба этих русских слова встречаются в переводах английских фраз, содержащих слово Bush). Аналогично для “idiot” найдется “идиот” и пара нецензурных вариаций. Для “is” и “an” тоже что-нибудь определится, но, с большой степенью вероятности, результат не будет иметь явно выраженных пиков и будет “прибит” шумодавами SMT (может, и зря). Но на втором проходе выясняется, что вероятность встретить сочетание слов “куст” и “идиот” в одном предложении практически равна нулю, а “Буш” и “идиот” – наоборот, встречается повсеместно. Аналогичные действия производятся для последовательности слов в переводе и синтаксиса. Конечный перевод будет выглядеть как “Буш идиот” (что, безусловно, правильно).

На уровне перевода отдельных фраз это работает более-менее сносно. Следующий шаг в развитии SMT – перенести этот прием на уровень текста: должен анализироваться весь текст, потом система спустится на уровень абзацев, а потом – на уровень предложений. Посик и анализ при этом существенно усложняются, но зато MT может начать “улавливать” контекст и выдавать правильный набор слов. Что-то такое в природе есть, но реально работающие системы ограничиваются статистическим анализом уровня предложений, что снижает качество.

Интересно тут следующее: для системы совершенно неважно, как устроен язык, какие у него правила и исключения, как переводится то или иное слово, с какого на какой переводим... На предпоследнем Localization World на семинаре по SMT раздел “вопросы и ответы” с ведущим Kirti Vashee проходил в однообразном режиме “Да какая разница?”:

Вопрос из зала: “А как система статистического машинного перевода обрабатывает ситуацию с переводом концептуальных структур типа (пример из японского)?”
Kirti: “Да это, в общем-то неважно. Какая вероятность выпадет, так и отработает…”
Другой вопрос из зала: “А вот есть еще такой лингвистический парадокс (описывается парадокс). Что с ним делать?”
Kirti: “А нам, в общем, пофиг ваши парадоксы: что нам формула Байеса выдаст, то и будет.”
итп.

Я млел. Просто млел :)

Понятно, что и тут есть куча деталей, которые нужно учитывать.

  1. Наличие необходимого объема исходных переводов (что мало у кого есть). В мире IT каждый выкручивается сам: у Майкрософта есть миллиарды переведенных слов документации, Гугл импортировал 200 миллиардов переведенных слов из базы данных ООН, остальные экспериментируют с меньшими объемами.
  2. Структура. SMT умирает на длинных фразах: если предложение состоит более чем из 10-12 слов, вероятность выдачи полной пурги становится стопроцентной. Для борьбы с этим явлением необходимо, чтобы авторы документации сочиняли свои тексты короткими лаконичными блоками с минимальным количеством экивоков (знакомо? ;) ). Это называется Controlled English – такой эрзац интерлингвы…
  3. Скорость. Перебор – штука крайне медленная даже на уровне слов в предложении. Алгоритмы оптимизации запросов позволяют получать приемлемые выборки, а предварительная обработка “сырых” данных в разы увеличивает скорость их обработки (Google для этого использует MapReduce на своих кластерах нечеловеческого размера). Но как-то мне кажется, что полноценный статистический анализ на уровне текста целиком или хотя бы абзацев до сих пор не реализован: количество “измерений” (и время работы системы) должны увеличиваться на несколько порядков. Поправьте меня, если я ошибаюсь.
  4. Правила. Лингвисты, проверяющие машинный перевод, довольно быстро просекают, что машины допускает одни и те же регулярные ошибки, и создают макры, которые исправляют их по всему тексту – глобально. По научному это называется “Automated post-editing” и на эту тему можно почитать статью Hugh Lowson-Tancred в последнем выпуске Multilingual. Ничего особенного, впрочем… В свою очередь разработчики систем машинного перевода для улучшения качества SMT вводят правила, избавляющие перевод от этих ошибок: никуда от этого не деться. На каждый язык приходится где-то по 12-16 правил. На русский – больше :)
  5. Словари и Translation Memory. Ясно, что, если можно не переводить, а использовать готовое, то это нужно делать: прежде чем использовать SMT, на текст натравливается Translaton Memory в поисках полных совпадений, а словари встраивают в SMT engine.
  6. Качество все равно будет погановатое: теория – теорией, а обольщаться не надо…

В следующий раз напишу на кой все это нужно :)

Pacific

Локализация. Часть 3.1: Машинный перевод и ALPAC

 Хочу сразу оговориться, что у меня в машинному переводу (MT) в целом отношение хорошее: технология как технология. Но то, что MT движется не нуждами переводчиков, а давлением со стороны клиентов и "китов" индустрии, убивает как MT так и индустрию (IMHO). Желание повторить успех Translation Memory, быстро огрести деньги, а там - трава не расти... Это неправильно.
MT используется как наживка для клиентов, MT используется для ценового дэмпинга, MT используется в качестве инструмента челночной дипломатии. По прямому назначению MT используется совсем не теми и не там...

  То, что в каких-то идеальных терминах MT не работает, все понимают, но в цифрах это выразить никто не берется, поэтому любые результаты можно интерпретировать и как грандиозный провал и как обнадеживающий успех. Какого-то одного универсального критерия качества работы машинного перевода нет: его крутят кто как хочет. Когда в начале 50-х оптимистично прогнозировали, что году к 60-му удастся полностью формализовать языковые правила, заложить в компьютеры все исключения, а дальше - оно само, подразумевалось, что можно довести идею до создания универсальных компьютерных переводчиков текстов с любого языка на любой. Время шло, планку приемлемости понижали, но в целом машинный перевод, основанный на переборе правил и исключений, не заработал ни к 60-му, ни к 2000-му.

Исторически призрак надежды на успех машинного перевода начал бродить в 1954 году благодаря Полу Гарвину и Питеру Шеридану. Во время т.н. "Джорджтаунского эксперимента" мэйнфрейм IBM 701 успешно перевел с русского на английский около пятидесяти предложений. Фразы типа "Тол приготовляется из угля" и "Военный суд приговорил сержанта к лишению гражданских прав" были расщелканы за пару минут. Реально система мало что из себя представляла: хорошо структурированные короткие русские предложения были тщательно подобраны, словарь состоял из 250 слов, система работала на основе шести функций, но цель была достигнута - направление получило колоссальное госфинансирование и популярность. Питер Шеридан пообещал, что через 3-5 лет перевод станет уделом компьютеров. Шло время, к 1961 году в Штатах было несколько десятков лабораторий (многие возглавлялись переманеными участниками Джорджтаунского эксперимента), занимавшихся MT, а реального прогресса не было.

В 1966 году отчет созданной американской Академией Наук комиссии ALPAC признал, что десять лет исследований не привели к ожидаемому результату: прогресса не было, задача осталась нерешенной. Финансирование кибер-лингвистических исследований существенно сократилось и исследования в области MT с США были пректически прекращены. (Так и хочется сказать "к сожалению, не насовсем" :) )

Интересно, что в СССР все хронологически произошло с точностью до наоборот. Джорджтаунский эксперимент привел в движение темные массы, не особо жаловавшие кибернетику. Энтузиасты двигали группы, обещая догнать и перегнать. Юрий Панов и Алексей Ляпунов в условиях фактического отсутствия собственно компьютеров начали заниматься темой. Копали по двум направлениям: с английского на русский (чтобы догнать) и с французского на русский (чтобы перегнать: французский был международным языком). Хотя утверждается, что результатов удалось добиться в первые месяцы (а в 1958 году в СССР состоялась первая Всесоюзная конференция по машинному переводу), реально работающая система появилась где-то в 1962 году. К середине 60-х, когда в Штатах ALPAC прихлопнул MT, в СССР все только начиналось: франко-русская MT была многопроходной и многообещающей. Матлингвистика стала модным способом для технарей получить должность и финансирование. Декан моего факультета именно это и сделал; два десятка лет он занимался этой и смежными темами и, насколько я могу судить, никаких реальных результатов на выходе у него не было. Хотя, человек он, в общем-то, хороший...

Продолжение следует. Буду писать короткими перебежками, под кат ничего убирать не буду. Не хочу :)