О машинном переводе

В Яндекс Переводчике используется гибридная модель машинного перевода, включающая в себя нейросетевой и статистический подходы.

Статистический подход

Статистический подход основан на моделях языка и перевода:

  • Для создания модели перевода система сравнивает сотни тысяч параллельных текстов, одинаковых по смыслу, но написанных на разных языках. Сравнивая их, система учится находить соответствия — например, запоминает, что слова «dog» и «собака» являются вероятными переводами друг друга. Результат сравнения записывает в матрицу выравнивания слов. Матрица помогает определить, какие пары фраз в паре предложений могут служить переводами друг для друга.
  • Для создания модели языка система изучает тексты на одном языке и составляет списки всех употребляемых слов и фраз. Каждому слову и фразе соответствует свой числовой идентификатор, определяющий их статистическую популярность в языке (частоту использования).

Во время перевода каждое исходное предложение разбивается на слова и фразы, которые переводятся независимо друг от друга. Для каждой части разбитого предложения подбирается потенциальный перевод из матрицы. Затем система заново «собирает» несколько вариантов предложения и выбирает статистически лучший вариант с точки зрения оптимальной сочетаемости слов в натуральном языке.

Достоинством статистического подхода является способность запоминать и переводить короткие фразы и редкие слова. Однако есть и недостаток — в результате может отсутствовать взаимосвязь между фразами, так как при переводе не учитывается контекст.

Нейросетевой подход

Как и в статистическом подходе, нейронная сеть также анализирует массив параллельных текстов, учится находить в них закономерности и составляет списки всех употребляемых слов и фраз.

Однако вместо простых идентификаторов из статистического подхода в нейросетевом подходе используется векторное представление слов (word embedding). Вектор состоит из чисел, характеризующих слово по лексическим и семантическим признакам.

Во время перевода каждое исходное предложение не разбивается на слова и фразы, а переводится полностью. Каждому слову в предложении сопоставляется вектор длиной в несколько сотен чисел. В итоге предложение представляет из себя некое векторное пространство. В этом векторном пространстве нейронная сеть определяет семантику слов и взаимосвязь между ними, даже если слова находятся в разных частях исходного предложения.

Например:

  1. Система может распознать, что слова «чай» и «кофе» часто появляются в сходных контекстах.
  2. Оба этих слова могут находиться в контексте нового слова «разлив».
  3. В обучающих данных со словом «разлив» встречается лишь одно из них (например, «чай»). В итоге система выберет слово «чай».

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

Выбор варианта перевода и оценка качества

Как только пользователь вводит текст для перевода, Яндекс Переводчик передает этот текст сразу двум системам: и нейронной сети, и статистическому переводчику.

Результат, полученный от обеих систем, оценивается алгоритмом, основанном на методе обучения CatBoost (english version). При оценке учитываются десятки факторов — от длины предложения (короткие фразы и редкие слова лучше переводит статистическая модель) до синтаксиса. Алгоритм оценивает оба перевода по всем факторам, выбирает лучший и показывает этот перевод пользователю.

Узнайте больше

Предыдущая
Следующая