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

Начнём с двух фотографий на одной странице альбома. Слева — птица у воды, справа — стройка по соседству. Под первой стоит The crane spread its wings. Под второй — The crane lifted the beam. Вы берёте из словаря знакомое значение crane, ставите «журавль» под обоими снимками и откладываете работу. Через минуту взгляд возвращается к стройке: птице поручили поднять балку. Подрядчик с ногами по колено в воде смотрит на многотонный груз. Крылья у него прекрасные. Грузоподъёмность придётся обсуждать отдельно.

Сначала хочется поправить только crane и закрыть альбом. Но отчего переводчик вообще должен выбрать птицу в одной строке и машину в другой? Пройдём от знакомых подписей к устройству модели. Потом усложним вторую фразу: сохраним подъём балки и посмотрим, куда может пропасть важное ограничение. У красивой русской строки появится проверяемая опора — английский оригинал.

Нейросетевой машинный перевод: журавль и кран в соседних строках

The crane spread its wings можно перевести как «Журавль расправил крылья». У слов spread its wings есть понятная связь с птицей. The crane lifted the beam — «Кран поднял балку»: здесь выбор задают действие и предмет, который поднимают. Русское слово «кран» при необходимости уточним до «подъёмный кран», чтобы читатель сразу увидел строительную машину.

Две английские фразы с crane: крылья ведут к журавлю, поднятая балка — к подъёмному крану.

Одинаковое слово получает разные переводы в окружении разных действий. Это авторские примеры для объяснения.

У нас уже есть маленький результат: две фразы и две разные сцены. Чтобы получить его, мало заменить crane первым словом из списка. Нужно связать его с остальным предложением и построить русскую фразу. У английского артикля The отдельного слова в нашем переводе нет; у spread its wings получилось «расправил крылья». Длины строк и число слов совпадать не обязаны.

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

Сравните, как меняется просьба: «Переведи crane» и «Переведи подпись The crane spread its wings для семейного альбома». Вторая сообщает сам текст и назначение результата. Если в исходнике всё ещё возможны два смысла, помощнику есть о чём спросить. Он может попросить соседнюю строку вместо того, чтобы молча назначить герою крылья.

Сначала исходная фраза, затем новое предложение

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

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

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

Исходная фраза проходит через кодировщик; декодер получает её представления и уже построенное начало, затем добавляет следующую часть перевода.

Упрощённая схема по описанию GNMT. Шаги изображены словами; реальные выходные единицы могут быть частями слов.

Прикройте конец русской подписи листком. Сначала виден «Журавль». Сдвиньте листок — получилось «Журавль расправил». Ещё раз — «Журавль расправил крылья». На схеме каждому продолжению доступны исходная фраза и уже показанное начало. Мы выбрали один удобный вариант перевода, чтобы увидеть связь шагов; модель может оценивать несколько возможных продолжений.

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

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

Что означает «внимание» внутри переводчика

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

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

В паре подписей крылья служат понятной человеку подсказкой. Рядом со схемой можно подчеркнуть wings и beam: видно, что именно различает две сцены. Эти подчёркивания сделаны нами для чтения; измеренные веса внимания конкретной модели выглядели бы иначе и потребовали бы отдельного запуска.

Из этого следует полезный способ обсуждать перевод: попросить помощника назвать слова исходника, которые поддерживают выбранное значение. В результате рядом окажутся перевод и его текстовое основание. Такое объяснение проверяем по оригиналу; внутренние вычисления сети оно не показывает.

Например, ответ «здесь журавль, потому что у него крылья» можно проверить по spread its wings. Если помощник ссылается на гнездо, которого в строке нет, попросите вернуться к данным словам. Теперь обсуждение касается видимого основания, и вам не нужно разгадывать устройство сети, чтобы заметить лишнюю подробность.

Одна историческая схема и дальнейшее развитие

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

Позднее авторы Attention Is All You Need предложили трансформер — архитектуру на механизмах внимания без рекуррентных и свёрточных слоёв в описанной ими модели. Это другой способ устроить обработку последовательностей. Поэтому рисунок GNMT стоит читать как объяснение конкретной исторической архитектуры.

В учебнике Яндекса о последовательностях можно отдельно проследить переход от рекуррентных сетей к схеме кодировщика и декодера, а затем к вниманию и self-attention. Для нашей пары подписей хватит общей картины: вход представляют числами, а перевод строят с учётом связей и уже полученного начала.

Название NMT объединяет подходы, в которых перевод строит нейронная сеть. У определённого сервиса будет собственное устройство; его стоит искать в документации именно этого сервиса. Для чтения нашей схемы достаточно различать общую задачу перевода и показанный пример её устройства.

Гладкая фраза тоже просит оригинал рядом

В работе GNMT обсуждаются трудности с редкими словами и с полнотой передачи исходника. Авторы описывают приёмы, которые помогают справляться с этими задачами: в частности, разбиение слов на части и способы поощрить охват входной последовательности. Нам полезен сам вопрос: все ли нужные детали добрались до русской строки?

Расширим вторую подпись: The crane lifted the beam, but did not move it over the house. Теперь кран поднял балку, но не перемещал её над домом. На фотографии виден подъём, а продолжение уточняет то, чего по одному кадру не узнать. Сокращённая подпись «Кран поднял балку» сохранит видимое действие и потеряет это уточнение. Ещё хуже, если исчезнет только did not: тогда над домом поедет груз, который в исходной истории туда не двигался.

Что сравнить На что посмотреть в оригинале Что должно остаться в переводе
Значение crane Крылья или поднятая балка Птица или строительная машина
Полноту Обе части предложения Подъём балки и ограничение дальнейшего движения
Отрицание did not move Действие не произошло
Имя или редкий термин Точное написание Узнаваемое имя или подходящий термин

Сопоставляем значение слова, действие и отрицательное условие; в исходнике балку не перемещали над домом.

Три разных вопроса к одной подписи. Ограничение движения сохраняется отдельной частью смысла.

Верное значение crane закрывает лишь первый вопрос. Проведите пальцем дальше по английской строке: поднял — есть; вторая часть — есть; отрицание — осталось. Теперь вы проверили разные детали, которые легко слипались в общее впечатление «вроде хорошо переведено». Для спорного места сформулируйте отдельную просьбу: «Покажи, как в переводе передано did not move it over the house». Её можно проверить по одному конкретному отрывку.

Редкое имя удобно оставить рядом в двух написаниях: так его можно узнать на соседней фотографии или найти в подписи автора. С термином поступите предметнее: поясните, о какой детали, птице или машине идёт речь. А если из материала возможны два смысла, попросите помощника показать оба и назвать, какой строки ему не хватает. У неопределённости появится адрес.

Попросите помощника показать ход на двух фразах

Откройте DeepSeek или привычный текстовый чат и вставьте две исходные подписи. Не нужно загружать весь альбом: сейчас мы хотим понять одну связь. Можно начать так:

Помоги понять, как контекст влияет на перевод.
1. The crane spread its wings.
2. The crane lifted the beam.

Переведи обе подписи на русский. Для каждой покажи:
какое значение crane ты выбрал и какие слова исходника помогают его выбрать.
Затем объясни обычными словами, как перевод строится по частям:
исходная фраза, её числовые представления, уже полученное начало, продолжение.
Не выдавай объяснение за измеренные веса внимания.
Если для выбора значения не хватает контекста, задай мне один вопрос.

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

Если схема всё ещё кажется сложной, попросите разобрать только один переход и дождаться вашего ответа: «Покажи, что дано до первого русского слова и что добавляется после него». Когда сможете назвать вход, начало перевода и очередное продолжение, возьмите расширенную подпись с did not. Попросите отдельно сохранить отрицание и показать русские слова, которые его передают. Вы пройдёте от объяснения механизма к одному видимому условию своей задачи.

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

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

Частые вопросы

Что означает NMT?

Это сокращение от Neural Machine Translation — английского названия рассмотренного подхода. Внутри него бывают разные архитектуры; GNMT служит одним историческим примером.

Переводчик заменяет слова по одному?

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

Почему он ошибается, если учитывает контекст?

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

Можно обойтись без технических названий?

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

Положите фотографии рядом ещё раз. На одной журавль расправляет крылья, на другой кран держит балку. Вы выбрали два значения по двум действиям и можете показать слова, которые помогли. Строки теперь подходят к снимкам. В истории Нитобэ всё решил вовремя подхваченный стих. В нашем альбоме хватило дочитанной строки: журавль свободен от подъёмных работ, балка осталась у крана.