Машинный перевод Google Neural Machine Translation
Начало Google Translate: момент 2016 года — как всё устроено
Google Translate начал использовать нейросеть для перевода между восемью европейскими языками и китайским. Ее подход отличается от классического машинного перевода. Вместо того, чтобы разбивать предложение на слова и переводить их по-отдельности, нейросеть фокусируется на всей фразе. Сегодня система поднаторела в переводе настолько, что справляется с переводом между языковыми парами, которым ее не «учили».
Для этого она создала нечто вроде собственного кода, который, хоть и непонятен ни одному человеку и не пригоден ни для какой работы, кроме перевода, все-таки похож на язык. С его помощью система, запрограммированная на перевод с японского на английский и с корейского на английский и обратно, может переводить тексты с корейского на японский и наоборот, минуя промежуточный этап перевода на английский.
Специалисты Google поясняют, что система делает это, выискивая общие свойства у предложений, несущих один смысл, на разных языках. В этом смысле Google Translate действительно пользуется языком-посредником. В переводах, сделанных с помощью языка-посредника, до сих пор больше неточностей, чем в переводе через, например, английский, но разработчики утверждают, что это исправимо. «Уверен, в будущем мы сможем научить нейросеть переводить с сотни языков, не прибегая к промежуточному переводу между знакомыми системе парами языков», рассказывает изданию New Scientist Кён Хун Чо (Kyunghyun Cho), специалист по машинному обучению в Нью-Йоркском университете.
На момент 2016 года онлайн-сервис Google Translate поддерживал перевод со 103 языков. Каждый день пользователи загружали в систему более 140 миллиардов слов. Около 35% всех запросов обрабатываются с использованием искусственного интеллекта.
Новый подход к переводу: что такое GNMT
Примерно в сентябре прошлого года Google опубликовала статью об инструменте искусственного интеллекта, который она будет использовать для перевода языков. По сути, это была его собственная версия системы нейронного машинного перевода. Система нейронного машинного перевода Google (GNMT) значительно повысила эффективность таких приложений, как Google Translate. Они начали свою службу с немецкого, французского, испанского, португальского, китайского, японского, турецкого и корейского языков в 2016 году. В этом году они запустили инструмент для русского, вьетнамского и девяти индийских языков. Давайте посмотрим, что влечет за собой этот новый подход к переводу.
Системы нейронного машинного перевода (NMT) существовали до версии Google. Это модели машинного обучения, которые используют нейронные сети для прогнозирования исхода конкретной проблемы.
Ранее Google использовал статистический машинный перевод для перевода языков. Но у него были свои ограничения, поскольку он использовал «перевод на основе фраз». Поэтому перевод не будет работать для языковых пар со значительно различным порядком слов. Кроме того, лингвистическая разница между исходным и целевым языками делала перевод сложной задачей. Все языки обладают достаточными отличительными характеристиками в порядке слов и морфологии — в этом и заключается сложность.
Но с новым современным нейронным машинным переводом перевод стал проще, точнее и всеобъемлющим, поскольку он переводит сразу целые предложения, а не по фразам.
GNMT позволяет напрямую переводить один язык на другой. Например, с японского на корейский. А ранее Google Translate сначала переводил исходный язык на английский, а затем переводил английский на целевой язык — довольно сложная схема и не настолько точная.
Google Neural Machine Translation — как работает
GNMT использует инструментарий машинного обучения Google TensorFlow и блоки обработки тензоров (TPU). TPU обеспечивают достаточную вычислительную мощность для обработки моделей GNMT в приложении Google Translate. Для чего это компании? Всё довольно просто. Google сделал API TensorFlow общедоступным бесплатно, с целью дальнейшего развития искусственного интеллекта и создания сообщества вокруг него.
TensorFlow работает, создавая график всех выполняемых операций. И он выполняет эти операции, когда это необходимо. Эта парадигма программирования известна как «ленивая оценка», которая позволяет избежать ненужных вычислений, что значительно повышает производительность системы. В свою очередь это экономит много рабочей памяти, так как она используется только при выполнении кода.
Самое большое преимущество TensorFlow заключается в том, что разработчики могут визуализировать каждую часть графика, обучать модели машинного обучения на CPU/GPU с гибкостью платформы. Эта гибкость гарантирует, что модели могут работать на любой платформе, даже на мобильных телефонах. И, следовательно, это делает TensorFlow одним из наиболее важных признаков прогресса Google в области языка и машинного перевода, предоставляя своим пользователям лучшую возможность эффективно переводить языки. Поэтому считайте Google Neural Machine Translation нечто уникальным и действительно полезным, ведь все мы пользуемся переводчиками.