Придержать язык: как технологии перевода сохраняют культурные коды малых народов

Машинный перевод и вызовы для технологий
Модель машинного перевода — это программа, которая автоматически меняет текст с одного языка на другой. Обучение программы-переводчика редкому языку — серьезный вызов в мире технологий. Во многом это связано с тем, как устроен сам процесс. В обучении моделей машинного перевода в основном задействованы нейросетевые архитектуры. В отличие от более ранних систем, которые просто запоминали часто встречающиеся сочетания слов, нейросети анализируют предложения целиком, учитывают контекст и смысл, а не просто сопоставляют словосочетания с данными в памяти. Благодаря этому пользователи получают более естественный и точный перевод.
Чтобы модель машинного перевода смогла выучить новый язык, ее обучают на больших объемах текстов — корпусах. Фундамент составляют корпуса параллельных данных: машине дают выравненные предложения, например, на русском языке и на целевом. Для обучения модели перевода новому языку требуются сотни тысяч таких пар.
В набор данных, используемых для обучения модели, помимо параллельных корпусов, добавляются и монокорпуса — тексты, написанные на одном языке, без перевода. Несмотря на отсутствие прямых соответствий, они помогают обучать модели структуре языка лучше, чем учебники и грамматические правила. Если у нас есть и 100 000 выравненных предложений, и 200 000 грамотных текстов на целевом языке, модель значительно лучше освоит его грамматику, синтаксис и сопутствующие особенности.
Для создания качественной модели перевода важно не только количество данных, но и тематическое разнообразие корпуса. Если он будет состоять исключительно из кулинарных книг, модель будет уверенно переводить рецепты, но не справится с новостями или бытовыми фразами. Поэтому мы стараемся обучать модель на текстах, охватывающих разные сферы жизни.
Как развивать модели при недостатке данных
Основная трудность при работе с новыми языками — отсутствие готовых корпусов текстов для обучения алгоритма. Несмотря на то, что у нас работает команда лингвистов и специалистов по машинному обучению, мы не можем быть экспертами сразу по всем языкам народов России. Поэтому без совместной работы собрать объемы данных, достаточные для обучения, было бы невозможно, особенно для языков, которые слабо представлены в цифровом пространстве.
С 2024 года мы развиваем наш проект совместно с Домом народов России при поддержке Федерального агентства по делам национальностей (ФАДН). Через наших партнеров выстраивается сотрудничество с научными, образовательными, общественными центрами и университетами, которые подготавливают необходимые для обучения модели материалы: параллельные корпуса и тексты на национальных языках.
Отдельную большую роль играют энтузиасты — носители языков. Благодаря их инициативности языки сохраняют присутствие как локально, так и в сети. Такие люди ведут сайты, выпускают газеты, пишут статьи для «Википедии» на родных языках. Многие самостоятельно собирают и оцифровывают тексты — словари, стихи, сказки, архивные публикации — независимо от того, есть ли на это официальный запрос или поддержка. Эти материалы становятся важной частью обучающей базы и помогают нам работать с актуальным, живым языком.
Технические лайфхаки при работе с ограниченным объемом данных
Сто тысяч параллельных предложений в корпусах — это необходимый минимум для того, чтобы модель хотя бы заработала. Но иногда из-за особенностей языка этих данных недостаточно, чтобы она переводила текст качественно. А порой даже такого объема текстов может просто не быть, и в таких случаях нам помогают различные технологические подходы.
Один из инструментов — обучение моделей на родственных языках, то есть работа с мультилингвальными архитектурами. Если язык, который мы хотим добавить, принадлежит к языковой семье, уже представленной в системе, обучение протекает легче. Пример — работа с тюркской группой. У нас есть множество наработок для моделей перевода с турецкого, татарского, казахского, башкирского. Когда мы начинаем обучать алгоритм, например, ногайскому (язык ногайцев, живущих преимущественно в Дагестане), система «узнает» знакомые грамматические конструкции, лексику и структуру. При этом эффект от обучения ощутим для всей группы: новый язык помогает улучшить качество перевода на уже известные.
Другой инструмент — обратный перевод (back-translation). С его помощью мы компенсируем нехватку параллельных данных. Работает это так: мы берем текст на русском, автоматически переводим его на целевой язык и (даже если перевод далек от идеала) используем результат для обратного перевода на русский, как если бы это был подготовленный корпус текстов. Так модель получает дополнительные примеры, учится выстраивать связи между словами более точно и видеть закономерности. В итоге даже несовершенные и малочисленные данные оказываются полезны для общего результата.
Как понять, что алгоритм обучился
После того как модель обучена, мы проверяем, насколько хорошо она справляется с задачей. Для этого используются два типа оценки — автоматическая и ручная.
Для автоматической оценки используется метрика BLEU (Bilingual Evaluation Understudy). Это простой алгоритм, который сравнивает машинный перевод с эталонным человеческим и рассчитывает степень совпадения по словам и коротким фразам. Полученное значение отражает, насколько близок результат модели к переводу, который подготовил человек. BLEU не идеальна: если модель перевела «Мальчик бросил камень» вместо «Мальчик кинул камень», то метрика может дать меньше очков, несмотря на сохранение смысла. Поэтому мы смотрим не на абсолютное значение BLEU, а на его динамику — насколько оценка работы модели улучшается от версии к версии. Это подходит для анализа прогресса обучения.
Чтобы увидеть более точную картину, мы просим людей, хорошо владеющих языком, оценить качество перевода. Наиболее надежный формат — side-by-side: эксперт сравнивает два варианта перевода одного и того же текста и выбирает более удачный. Это позволяет не только оценить текущую модель, но и понять, насколько она лучше или хуже предыдущей версии или внешнего аналога. Такой подход особенно важен при работе с малоресурсными языками, где даже небольшие улучшения могут существенно повлиять на практическое применение перевода.
Неочевидные барьеры в обучении моделей
Даже при наличии достаточного объема данных и работающей модели мы иногда сталкиваемся с менее очевидными вызовами.
Первый — нестандартизированная письменность при переводе на электронные носители. В некоторых языках нет устоявшихся норм написания или же они различаются в регионах. Для других по разным причинам вместо правильных символов алфавита используются какие-то другие. Например, в чеченском символ вертикальной черты может записываться как латинская буква I, цифра 1 или специальный символ юникода. Модель должна уметь распознавать все эти формы как одну и ту же букву. Это усложняет предварительную обработку данных и может заметно повлиять на качество результата.
Второй — эволюция самого языка. Языки не стоят на месте: например, в коми языке снижается доля русских заимствований, в чеченском — буква «я» с 2020 года пишется как «йа», что отличается от старых источников. Модель может выучить устаревшую версию языка, если корпус собран из архивных текстов, и не справиться с более актуальной речью.
Наконец, иногда возникает вопрос: что именно мы берем в работу — язык или диалект? Не всегда бывает понятно, где проходит эта граница. Даже в соседних регионах в языке могут быть разные названия, орфография, нормы. Но нам важно принять решение — обучать одну систему или две, а также как организовать взаимодействие внутри языковой семьи. Подобные вопросы мы разрешаем совместно с экспертами и локальными сообществами — универсальных подходов здесь нет.
Перевод на языки коренных народов — это не только про технологии
Основной вызов в обучении модели переводу на языки малочисленных народов — это ограниченность данных. В работе с языками, где есть большое количество цифровых текстов (к примеру, английский, французский или немецкий), модель быстрее достигает высокого качества перевода без дополнительных ухищрений. А вот для языков вроде тувинского приходится подключать дополнительные источники, искать нестандартные решения и тесно работать с локальными сообществами, чтобы добиться сопоставимого результата. Тем не менее наши технологии работают уже с 10 языками народов России, среди них, например, татарский, башкирский, марийский, удмуртский, чувашский и якутский. И этот список продолжает расти: например, там появились два мордовских языка — эрзянский и мокшанский.
Мы по-прежнему решаем разнообразные задачи, которые возникают на каждом этапе, — от сбора и стандартизации данных до архитектурных решений внутри модели. Однако зачастую именно энтузиасты оказываются главной движущей силой. Так, например, корпус текстов по марийскому языку во многом сложился благодаря активности локального сообщества. У нас был случай, когда частный исследователь в одиночку собрал огромный корпус данных просто потому, что он не хотел, чтобы его родной язык исчез. При этом по более распространенным языкам таких ресурсов может быть меньше — отчасти из-за того, что никто не занимается этим системно. Мы видим, что там, где появляется мотивированное сообщество, результат приходит быстрее и в итоге наиболее полно отражает текущее состояние языка.
Мы уверены, что технологии могут и должны помогать сохранять языковое многообразие. Но по-настоящему устойчивым и прогрессивным результат становится именно тогда, когда технологии направляются людьми.
Мнение редакции может не совпадать с точкой зрения автора