Специалисты по искусственному интеллекту из Google представили новую систему машинного перевода, которая основана на принципах глубинного обучения. По формальным оценкам и по мнению опрошенных добровольцев, точность перевода системой существенно выше, чем у существующих аналогов, хотя и не достигает пока точности живых переводчиков. Описание системы выложено в виде препринта в базе arXive.org.

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

Популярные системы машинного перевода можно грубо разделить на традиционные, основанные на переводе отдельных фраз, и на более новые, основанные на нейронных сетях, учитывающих не только типичное значение фразы, но и ее контекст. Нейронные сети, которые используются в этом последнем случае, чаще всего относятся к классу рекуррентных, их основным отличием является то, что их ответ зависит не только от поступающих на вход данных, но и от предыдущего состояния сети. Это позволяет системам «помнить» о том, что они «видели» раньше, и учитывать это при выборе того или иного ответа. Грубо говоря, именно это позволяет системе понимать, что при переводе фразы «тугой лук» второе слово не следует трактовать как onion — на это намекает первое слово исходной фразы, которое должно изменить состояние нейросети. При этом программисты не обязаны заранее указывать или даже знать правила сочетаемости слов друг с другом, этому нейросеть учится самостоятельно на базе готовых текстов.

Упрощая, новую систему машинного перевода GMNT (Google’s Neural Machine Translation) можно описать следующим образом. Она состоит из двух восьмислойных нейросетей, анализирующей и синтезирующей. Первая «прочитывает» предложение (одновременно справа налево и обратно) и передает свое состояние второй нейросети, которая должна на основе этого состояния составить предложение на другом языке. Между нейросетями установлен дополнительный модуль внимания, который должен корректировать работу таким образом, чтобы система не пропускала редкие, но важные для смысла предложения слова.

Следует отметить, что элементарными единицами данных в нейросети GMNT, в отличие от аналогов, являются не слова, а их фрагменты (wordpieces), которых в данной работе используется 32 тысячи штук. По словам создателей, это позволяет добиться компромисса между универсальностью и точностью с одной стороны, и скоростью вычислений и обучения — с другой. Дело в том, что рекуррентные нейросети могут работать не только на уровне слов, но и на уровне букв. Так работают, например, нейросети в развлекательных проектах, где идет генерация текстов или музыки «в стиле» некоторого образца. В области машинного обучения это, теоретически, может позволить добиться перевода даже таких понятий, которых нет в обычных словарях (позволит делать транслитерацию, «кальку» с одного языка на другой и т.д.). Однако работа на уровне букв в случае машинного перевода технически существенно сложнее из-за вычислительных проблем и необходимости длительного обучения. В свою очередь, работа на уровне целых слов приводит к проблемам с суффиксами, окончаниями и прочими флексиями, что для перевода очень нежелательно.

Новая система пока натренирована всего на нескольких языковых парах: английском и китайском, английском и французском, английском и испанском. Наилучшие результаты по сравнению с предыдущими системами самого Google показал последняя пара. Качество перевода в субъективных опросниках (когда результат оценивают люди) выросло на 60-87 процентов относительно разницы с человеком. Так, по шкале от 0 до 6 «нейросетевой» перевод с английского на испанский получил среднюю оценку в 5,428 балла, традиционный пофразовый перевод Google Translate люди оценили в 4,885 балла, а перевод носителем языка заработал 5,550 балла. При тестировании использовались фрагменты текстов «Википедии» и новостных заметок.

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

N+1, Александр Ершов



загрузка...

Читайте також

Коментарі