Яндекс.Переводчик начал использовать нейронную сеть
Нейронная сеть, заработавшая в Яндекс.Переводчике с 14 сентября, делает машинные переводы более естественными.
Нелепые машинные переводы уходят в прошлое. С 14 сентября Яндекс.Переводчик начал использовать в своей работе нейронную сеть. Как известно, нейронные сети отлично справляются с обработкой разнообразной естественной информации, в частности, и текста.
Обучить машину переводу можно разными способами. Например, можно предложить ей словари и грамматики конкретного языка, и тогда мы получим машинный перевод на основе языковых правил. Другой вариант – дать машине сравнить большое количество оригиналов текстов с их переводами, чтобы она самостоятельно установила соответствия между словами разных языков. Тогда она научится статистическому машинному переводу.
При таком подходе слова или словосочетания в предложении переводятся независимо друг от друга, а затем наиболее вероятные варианты перевода собираются в одно целое. Несомненное достоинство статистического машинного перевода в том, что так у машины хорошо получается переводить редкие и сложные слова. Но есть и серьезный недостаток: часто переводы неестественны, их фрагменты чужеродны друг другу.
Яндекс.Переводчик заработал в 2011 году и до сих пор работал только по статистической схеме. Нейронная сеть, которая появилась сейчас, тоже учится на основе статистики, то есть анализирует массив параллельных текстов, ища в них закономерности. Однако подход к самому переводу у нее другой: предложения не дробятся, а обрабатываются целиком. Это позволяет нейронной сети «понимать» контекст. Она улавливает смыслы даже в том случае, когда слова, которые их передают, находятся в разных частях предложения. В результате перевод получается складным и естественным. Слабое место нейронной сети как раз в том, в чем сила статистической модели – это мало распространённые имёна, топонимы и другие редкие слова. Поэтому два подхода идеально дополняют друг друга.
После того, как пользователь сделал запрос на перевод, система генерирует два варианта: один – прежним методом, а другой – с помощью нейронной сети. Предложение, переведённое нейросетью, проходит затем через модель языка (так называется информация, накопленная системой о существующих в языке словосочетаниях и частоте их употребления), чтобы избежать грамматических ошибок наподобие «папа пошла» или «сильный боль». Далее алгоритм на основе метода машинного обучения CatBoost сравнивает вариант перевода, предлагаемый нейросетью, с вариантом, полученным статистической моделью, и показывает пользователю лучший. (Сравнение производится по множеству критериев, начиная от длины предложения – короткие лучше переводит статистическая модель – и заканчивая синтаксисом.)
Пока что такая гибридная система работает только для перевода с английского языка на русский, но в ближайшие месяцы, как обещают в Яндексе, ее запустят и для других языков. Для интереса в веб-версию Переводчика разработчики добавили переключатель, с помощью которого можно сравнить гибридный перевод со статистическим.