Tag Archives: machine translation

Лингвистика и статистический машинный перевод

Данный пост — кросспост с нового блога проекта MTEngine: http://semanticanalyzer.info/mtengine/mtblog/

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

Для иллюстрации, я использовал переводчик Google Translate (кратко GT). Этот переводчик вполне сносно справляется с переводом между достаточно близкими языками. Под «достаточно близкими» я подразумеваю такие языковые пары, которые обладают большим пересечением словарных единиц (с точностью до их перевода на оба языка из данной пары), имеют схожий порядок слов, уровень морфологического разнообразия и другие грамматические особенности.

Давайте рассмотрим пример языковой пары, на которой GT особенно хорош. Метод round-trip — один из методов проверки близости двух языков, по крайней мере «статистической близости». Им и воспользуемся:

(все примеры перевода ниже получены только при помощи переводчика)

Английский: I am in a shop.
Голландский: Ik ben in een winkel.
Обратно на английский: I’m in a store. (достаточно хорошо)

Английский: I danced into the room.
Голландский: Ik danste in de kamer.
Обратно на английский: I danced in the room. (проблема с предлогом)

Теперь рассмотрим пару языков, удалённых друг от друга в смысле перечисленных выше критериев: морфология и порядок слов (заметим в скобках: когда мы утверждаем, что языки грамматически удалены, они могут быть удалены и семантически и даже прагматически: различные языки создавались людьми для конкретных целей в те или иные исторические моменты). Одна из таких пар — английский и финский:

Финский: Hän on kaupassa.
Английский: He is in the shop.
Обратно на финский: Hän on myymälä. (практически оригинальное предложение на финском по-смыслу)

В этом примере присутствует местоимение hän, не имеющее пола. Данная (анафорическая либо катафорическая) ссылка должна разрешаться с вовлечением большего, чем одно предложение, контекста: где-то в тексте перед или после этого предложения есть упоминание её объекта. Перевод на уровне предложений в данном случае есть ограничение само по себе. Местоимения могут быть полезны, если мы хотим разобраться, как взаимодействуют объекты в тексте на иностранном языке.

Давайте возьмём ещё одну пару дистантных языков: английский и русский.

Русский: Маска бывает правдивее и выразительнее лица.
Английский: The mask is truthful and expressive face. (должно было быть: The mask can be more truthful and expressive than face)
Обратно на русский: Маска правдивым и выразительным лицом.

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

Напоследок рассмотрим ещё одну пару довольно дистантных языков: английский и японский.

Английский: Reporters said that IBM has bought Lotus. (Репортёры сообщили, что IBM купила Lotus)
Японский: 記者は、IBMがロータスを買っていると述べた。
обратно на английский: The reporter said that IBM Lotus are buying.

Японский имеет «рекурсивный синтаксис», который исходное английское предложение представляет таким образом:

Reporters (IBM Lotus has bought) that said. = Репортёры (IBM Lotus купила) что сообщили.

Т.е. имеется связка S-O-V (Субъект-Объект-Глагол) на уровне всего предложения и его отдельных компонент (например, придаточных предложений).

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

SemanticAnalyzer Group Projects

Over the past year in free time our team has been working on MTEngine. We have decided to highlight it on a separate page: https://semanticanalyzer.info/blog/projects/

The essence of the MTEngine is that users, translating sentences, can in fact improve the translation themselves by suggesting the system better translation  alternatives. The project benefits from the volunteer work, while the development of the translation engine and the user interface is done by Dmitry Kan (@DmitryKan in twitter).

If you want to get more detail about the system or you have questions otherwise, get in touch with the us at info(at)semanticanalyzer.info.