Как это будет на папьяменто?

19 декабря 2016, 15:30

Когда в 2011 году мы запустили Яндекс.Переводчик, он знал три языка: русский, украинский и английский. Сейчас Переводчик — настоящий полиглот. Он владеет 90 языками и может переводить, например, с русского на язык папьяменто, на котором говорят жители островов в южной части Карибского моря. Освоить редкий язык — сложная задача для системы машинного перевода: в интернете мало текстов, которые можно использовать для обучения. Наш Переводчик научился компенсировать нехватку материала: изучая новый язык, он применяет знания о других языках, которые уже есть в его распоряжении.

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

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

Другая идея состояла в том, что надо упростить сам процесс перевода. Сперва это пытались сделать с помощью механических приспособлений, но настоящий потенциал машинных переводчиков стал очевиден только после изобретения ЭВМ. Да и то не сразу — сначала компьютеры умели переводить лишь отдельные слова и фразы в одной языковой паре. Предложения и целые тексты поддались им лишь ближе к 1990-м годам. Первый полнотекстовый перевод был весьма неуклюж — перлы вроде «гуртовщиков мыши» навсегда вошли в интернет-фольклор, но с годами он становится всё лучше. Конечно, машины по-прежнему не могут тягаться с людьми, но в целом онлайн-переводчики вполне можно считать тем самым универсальным средством коммуникации, о котором веками мечтали люди.

Статистика против правил

У машинного перевода есть две основные разновидности: перевод на основе правил и перевод на основе статистических моделей. В первом случае машина учится переводить примерно так же, как это делает человек, — с помощью двуязычных словарей и сводов грамматических норм. Во втором случае используется математическая модель с набором параметров — чтобы извлечь их, нужно проанализировать корпус текстов на двух языках. В отличие от перевода на основе правил, статистический перевод не требует кропотливой ручной работы лингвистов. Одна и та же модель может применяться для перевода на множество языков — достаточно лишь подобрать параметры. Кроме того, система быстрее подстраивается под изменения в языке. Наш Переводчик — статистический.

Первые статистические модели были достаточно простыми. Они не учитывали синтаксис и морфологию языка: например, не понимали, что «мама», «маме» и «мамой» — это разные формы одного и того же слова. Со временем на смену простым моделям пришли комплексные. Они состоят из нескольких вспомогательных моделей: одна отвечает за лексику, вторая — за морфологию, третья — за синтаксис. Параметры каждой модели подбираются путём анализа корпуса текстов. Сейчас в Яндекс.Переводчике используются комплексные модели.

Тексты и где их взять

Одна из главных задач в статистическом машинном переводе — подготовить корпус текстов, из которого извлекаются параметры модели. Корпус должен включать тексты на обоих языках, причём весомая часть из них должны быть параллельными — то есть иметь одинаковое содержание. Параллельными текстами можно считать, например, книгу на английском и её перевод на русский. Ещё один хороший источник данных для корпуса — сайты международных компаний, у которых есть версии на разных языках.

Чем больше текстов самых разных тематик удастся включить в корпус, тем выше будет качество перевода. Если язык достаточно распространён, подобрать материал не проблема. Большинство статистических машинных переводчиков на старте поддерживали только самые популярные языки — скажем, английский, русский или испанский, — не только потому, что они наиболее востребованы у пользователей, но и из-за того, что на этих языках много текстов. Редкие и экзотические языки системы автоматического перевода долгое время обходили вниманием.

Конструктор переводов

На наш взгляд, языки, которые нельзя назвать распространёнными — допустим, на них говорят не миллионы, а всего лишь десятки тысяч людей, — тоже заслуживают право на машинный перевод. Во-первых, если регион, где говорят на таком языке, является туристической зоной, иностранные гости с помощью автоматических переводчиков смогут объясняться с местными и читать вывески и объявления. Во-вторых, машинный перевод, как ни странно, способствует сохранению и развитию языка. Хороший пример — Википедия, в которой насчитывается более 270 языковых разделов. Носитель папьяменто может взять статью из крупного раздела — например, английского, — перевести её на свой язык в Яндекс.Переводчике и затем отредактировать результат. Так раздел будет пополняться гораздо быстрее.

Чтобы Переводчик мог освоить языки, для которых нет крупного корпуса текстов, мы научили его учитывать родственные связи между языками. Родство может быть разным — так, в идише большая часть лексики пересекается с немецкой, а в папьяменто много заимствований из испанского и португальского. В татарском и башкирском языках схожие синтаксис и морфология. Комплексная статистическая модель, где за лексику, синтаксис и морфологию отвечают отдельные вспомогательные модели, позволяет компенсировать нехватку текстов в корпусе с помощью данных из родственного языка, уже известного Переводчику.

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

Таким способом — мы назвали его «конструктор» — Переводчик за последние полтора года выучил восемь новых языков: башкирский, горномарийский, идиш, маратхи, непальский, папьяменто, узбекский и синдарин. Последний язык — вымышленный: на нём разговаривают эльфы в романах Дж. Р. Р. Толкина. Текстов на синдарине очень мало, зато известно, что Толкин создал его во многом на основе древнекельтских языков. Поэтому, чтобы восполнить пробелы в примерах, мы применили вспомогательные лексические модели из современных кельтских языков: ирландского, гэльского и валлийского языков.

Ссылки

Как Яндекс научил машину самостоятельно создавать переводы для редких языков — дополнительные подробности на «Хабрахабре».

Яндекс.Переводчик — переведёт слово, словосочетание, предложение, текст или целый сайт с русского на папьяменто и ещё на 89 языков. И обратно тоже.

Машинный перевод — как устроен статистический машинный переводчик Яндекса в целом.

14 комментариев
Подписаться на комментарии к посту
Увы, но статистический перевод имеет неприятные ограничения =(
и ситуация не станет лучше, пока машина не осилит семантику =(

http://storage5.static.itmages.com/i/16/1219/h_1482157011_9237632_393ce6cb4c.png
okoneko,
здравствуйте!
Конечно, машинный перевод пока уступает человеческому. Однако нам больше нравится думать не про ограничения, а про возможности :) И их с каждым годом становится всё больше. 
Обновлено 19 декабря 2016, 17:30
Сделайте переводчик с языка кечуа, на нем много народу говорят.
Николай Анатольевич
28 мая, 10:00
galka-galkina1,
Wot the fack

Лучше бы Словари вернули.
Интересный подход. Надеюсь, это будет только развиваться. В дополнение могу сказать: если мы пытаемся научить машину (или научить учиться) чему-то "человеческому", то возможно стоило бы привлекать к этому каким-то образом и людей. Вот один из возможных вариантов. Предыстория. Учился в школе английскому языку, уроки были прямо с первого класса и до последнего. Увы, но школа не дала мне навыка, применимого в какой-либо сфере жизни, зато дала кругозор. Через несколько лет после школы я попытался самостоятельно подтянуть навык чтения. В процессе познакомился с целой тучей методик, но остановился на одной, остальные использовал как вспомогательные. После получения необходимого навыка, решил для развития, так сказать, попробовать изучить по этой методике другой язык, но уже с нуля. Столкнулся почти с той же проблемой, что и Яндекс: мало материалов по сравнению с английским, добыть труднее. Вывод и в чем идея. У Яндекса есть возможность сформировать сообщество, целью которого как раз будет взаимопомощь в изучении иностранных языков, т.к. это действительно развивает мозг как, к примеру, игра в шахматы или разгадывание кроссвордов, принося не меньшее удовольствие. Яндексу это практически ничего не будет стоить, при этом будет сформирована хорошая база для обучения машины разным языкам.
Петр Шубравый
31 декабря 2016, 09:50
сначало было слово (библия). Это первое упоминие  об интилекте.
какая интересная статья! ))
ребята, какие ж убогий у вас стиль картиночек, ну правда, кто вас надоумил делать именно так?
ytcolor,
Поддерживаю. Этот новый плоский дизайн очень стремный. Лебедев рисовал лучше.
Thank you for adding Luxembourgish! It doesn't work that well, but at least it is available :) 👍🏼
Svetlana Irogevna
2 февраля, 06:21
что

Евгений Г
23 апреля, 19:53
Татарский язык вообще не знает Яндекс. Получается какая-то белиберда...
Добавьте фарерский, пожалуйста