Нейронный машинный перевод (NMT) — это современный современный метод машинного перевода, обеспечивающий плавный перевод. Однако на модели NMT влияют проблемы с отсутствием словарного запаса (OOV) и редкими словами, что снижает качество перевода. Слова OOV — это слова, которые не встречаются в корпусе, а редкие слова — это слова, которые встречаются в корпусе очень мало раз. При переводе таких неизвестных слов эти слова заменяются токенами UNK. Следовательно, переводы становятся хуже, поскольку эти бессмысленные токены увеличивают двусмысленность, нарушая структуру предложения.

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

Чтобы решить эти проблемы, Sennrich et al. (2016) представили концепцию сегментации слов на последовательности единиц подслов, обеспечив более осмысленное представление. В качестве примера сегментации подслов рассмотрим слово «посмотрел». Это слово можно разделить на «смотреть» и «ред». Другими словами, для представления «посмотрел» используются два вектора. Следовательно, даже если это слово неизвестное, модель все же может точно перевести слово, рассматривая его как последовательность единиц подслов.

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

  1. Кодирование пар байтов (BPE)
  2. Языковая модель униграммы
  3. Выборка подслов
  4. BPE-отсев

Кодирование пар байтов (BPE)

Сеннрих и др. (2016) предложили этот метод сегментации слов, основанный на алгоритме сжатия Byte Pair Encoding. Это эффективный способ сделать модель NMT способной переводить редкие и неизвестные слова. Он разбивает слова на последовательности символов и итеративно объединяет наиболее часто встречающиеся пары символов в одну.

Ниже приведены шаги алгоритма BPE для получения подслов.

Шаг 1. Инициализировать словарь

Шаг 2. Для каждого слова в словаре добавьте токен конца слова ‹/w›

Шаг 3. Разделите слова на символы

Шаг 4. В каждой итерации выберите наиболее часто встречающуюся пару символов, объедините их в один токен и добавьте этот новый токен в словарь

Шаг 5. Повторяйте шаг 4, пока не будет выполнено нужное количество операций слияния или не будет достигнут желаемый размер словаря

Языковая модель униграммы

Кудо (2018) предложил алгоритм сегментации подслов на основе языковой модели Unigram, который выводит сегментацию нескольких подслов вместе с их вероятностями. Модель предполагает, что каждое подслово встречается независимо. Вероятность последовательности подслов x=(x1,…,xM) получается путем умножения вероятностей появления подслов p(xi).

Здесь V — заданный словарь. Наиболее вероятная сегментация x * для предложения X определяется выражением

S(X) — это множество кандидатов на сегментацию, полученных с использованием предложения X. x* получается с помощью алгоритма Витерби.

Вероятности появления подслов p(xi) оцениваются с использованием алгоритма максимизации ожидания (EM) путем максимизации следующей вероятности L.

Следующие шаги описывают процедуру получения словаря V желаемого размера.

Шаг 1. Инициализируйте достаточно большой исходный словарь.

Шаг 2. Определите желаемый размер словарного запаса.

Шаг 3. Оптимизируйте вероятности появления подслов с помощью алгоритма EM, исправив словарь.

Шаг 4. Вычислите потери для каждого подслова. Потеря подслова отражает уменьшение вышеупомянутой вероятности L, когда это подслово удаляется из словаря.

Шаг 5. Отсортируйте подслова по потерям и оставьте первые n% подслов. Сохраняйте подслова одним символом, чтобы избежать проблем со словарным запасом.

Шаг 6. Повторяйте шаги с 3 по 5, пока не будет достигнут желаемый размер словарного запаса, определенный на шаге 2.

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

Выборка подслов

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

Регуляризация подслов имеет два гиперпараметра: размер кандидатов выборки (l) и константа сглаживания (α). Теоретически установка l→∞ означает рассмотрение всех возможных сегментаций. Но это невозможно, поскольку количество символов экспоненциально увеличивается с длиной предложения. Поэтому для выборки используется алгоритм прямой фильтрации и обратной выборки. Далее, при малом α распределение более равномерное, а при большом α оно стремится к сегментации Витерби.

BPE-отсев

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

Если вероятность равна нулю, сегментация подслова равна исходному BPE. Если вероятность равна единице, сегментация подслова равна сегментации символов. Если вероятность изменяется от 0 до 1, это дает несколько сегментаций с различной степенью детализации. Поскольку этот метод подвергает модели различной сегментации подслов, он дает возможность лучше понимать слова и подслова. Отсев BPE — это простая процедура, поскольку обучение может быть выполнено без обучения какой-либо сегментации, кроме BPE, а для логического вывода используется стандартный BPE.

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

использованная литература

[1] Р. Сеннрих, Б. Хэддоу и А. Берч, Нейронно-машинный перевод редких слов с подсловными единицами (2016), 54-е ежегодное собрание Ассоциации вычислительной лингвистики.

[2] Т. Кудо, Регуляризация подслов: улучшение моделей перевода нейронной сети с несколькими кандидатами подслов (2018), 56-е ежегодное собрание Ассоциации вычислительной лингвистики.

[3] И. Провилков, Д. Емельяненко и Э. Войта, BPE-Dropout: простая и эффективная регуляризация подслов (2020), 58-е ежегодное собрание Ассоциации компьютерной лингвистики.

[4] Т. Кудо и Дж. Ричардсон, SentencePiece: простой и независимый от языка токенизатор и детокенизатор подслов для обработки нейронного текста (2018), Конференция по эмпирическим методам обработки естественного языка (системные демонстрации)