Компания Google разработала алгоритм, способный напрямую переводить речь на другой язык, не используя текстовое представление сказанных слов. Кроме того, алгоритм может сохранять характеристики голоса человека на переведенной записи. Описание разработки опубликовано в блоге Google AI, а также в статье на arXiv.org.
Современные смартфоны и умные колонки умеют переводить на другие языки не только текст, но и речь. К примеру, недавно Google добавила такую функцию в голосовой помощник Assistant. Подобные системы имеют технические различия, но в целом устроены похоже и перевод в них проходит в три этапа. Сначала алгоритм распознает слова на аудиозаписи и создает текстовое представление речи. Затем происходит перевод текста на исходном языке в текст на требуемом языке. На последнем этапе используется система синтеза речи, превращающая переведенный текст в аудиозапись. Такой подход работает достаточно хорошо, но он имеет и недостатки. К примеру, из-за отсутствия прямой связи между исходной и синтезированной записью речи алгоритм может некорректно передавать интонации и паузы.
Разработчики из Google под руководством Юнхуэя У (Yonghui Wu) создали алгоритм, переводящий речь с одного языка на другой без использования промежуточного перевода речи в текстовое представление. Созданный разработчиками алгоритм представляет собой набор из нескольких отдельных алгоритмов, часть из которых использует архитектуру нейросети с долгой краткосрочной памятью(LSTM). В целом алгоритм можно представить в виде трех модулей, центральный из которых принимает спектрограмму исходной аудиозаписи с голосом и синтезирует спектрограмму для записи речи на другом языке. После получения новой спектрограммы она отдается алгоритму для синтеза аудиофайлов. Третий модуль представляет собой кодировщик, данные с которого используются, если необходимо сохранить голос с оригинальной речи:
Для обучения исследователи использовали два больших датасета, содержащих записи разговоров на английском и испанском, а также их текстовое представление. Во время обучения алгоритм выполнял еще одну задачу, которую разработчики называют критически важной для того, чтобы научить его переводить не только отдельные простые слова, но и целые предложения. Алгоритм предсказывал текстовые последовательности фонем на обоих языках. Во время работы эта часть алгоритма не используется и лишь помогает обучить нейросеть корректному созданию спектрограмм.
Авторы работы продемонстрировали пример работы алгоритма при переводе с испанского на английский язык. Остальные примеры доступны на сайте исследовательской группы.
Оригинальная речь на испанском
Перевод на английский с сохранением характеристик голоса
Разработчики проверили качество работы алгоритма с помощью BLEU-метода, при котором машинный перевод сравнивается с переводом, выполненным человеком. Оказалось, что классический подход с промежуточным преобразованием речи в текст дает лучший результат. Вместе с этим они отмечают, что это первый пример алгоритма для прямого перевода устной речи, обученного на полноценном корпусе языка. Ранее другие исследователи показывали принципиальную возможность такого подхода, но использовали датасет из 100 слов.
В прошлом году разработчики из Facebook научили алгоритм машинного перевода при обучении обходиться без массивных параллельных корпусов языка. Вместо этого алгоритм учится понимать векторное представление слов на обоих языках, а также учит грамматически верным формам и сочетаниям на небольших примерах.