Цель этой истории - понять BLEU, поскольку это широко используемое измерение моделей MT, и исследовать его связь с BERT.
Это первая история моего проекта, в котором я пытаюсь использовать контекстуализированные векторы внедрения BERT в задаче нейронного машинного перевода (NMT). Я относительно новичок в MT, поэтому любые предложения приветствуются.
Сходство предложения
Когда дело доходит до машинного перевода или других задач обработки естественного языка (НЛП), когда результатом процесса является текст, измерить правильность результата непросто.
При оценке алгоритмов машинного перевода мы должны задать вопрос: «Насколько хорош этот перевод?» или «Насколько близко предложение на целевом языке к предложению на исходном языке?»
Чтобы понять эту проблему, мы рассмотрим ее более простую версию: «Насколько похожи два предложения на одном языке?»
В этой истории давайте используем следующие карманные предложения: s0: James Cook was a very good man and a loving husband.
s1: James Cook was a very nice man and a loving husband.
s2: James Cook was a bad man and a terrible husband.
s3: James Cook was a nice person and a good husband.
s4: The sky is blue today and learning history is important.
Я предлагаю уделить минутку и подумать о схожести между предложениями, насколько они близки к первому!
BLEU
BLEU: Bilingual Evaluation Дублер дает оценку для сравнения предложений [1]. Первоначально он был разработан для перевода, чтобы оценить предсказанный перевод с использованием справочных переводов, однако его также можно использовать для определения схожести предложений. Вот хорошее введение в BLEU (или прочтите оригинальную статью).
Идея BLEU заключается в подсчете совпадающих n-граммов в предложениях. Юниграмма - это слово (токен), биграмма - это пара двух слов и так далее. Порядок слов в этом случае не имеет значения.
Чтобы исключить ложные оценки (например, «the the the the the» дает относительно хорошую оценку «Кошке ест птицу»), введена модифицированная версия этого подсчета. Эта измененная точность униграммы снижает многократное использование одного и того же слова в справочном тексте.
BLEU не может обрабатывать синонимы слов, однако это быстрый и недорогой алгоритм, который не зависит от языка и коррелирует с оценкой человека.
БЕРТ
BERT: двунаправленные представления кодировщика от Transformers - это контекстуализированное встраивание слов (и многое другое) [2]. Вот отличное резюме BERT (или прочтите оригинальную статью).
Вложения слов - это векторы, сопоставленные со словами, чтобы помочь компьютеру понимать слова. Хотя с «кошкой» или «собакой» сложно работать с компьютером, их векторное представление подходит лучше. Одно ожидание от отображения встраивания состоит в том, что похожие слова должны располагаться близко друг к другу.
Контекстуализированные векторы встраивания слов имеют разные вложения для одного и того же слова в зависимости от его контекста. Один из приемов внедрения BERT состоит в том, что он обучается с использованием разделителей CLS
и SEP
, и эти разделители также имеют контекстно-зависимые векторы внедрения. В исходной статье предполагается, что эти вложения можно использовать как вложения на уровне предложений. Здесь мы будем использовать вектор внедрения разделителя CLS
каждого предложения в качестве вложения предложения. [CLS] This is a sentence with separators . [SEP]
Векторное расстояние
Здесь мы вычислим сходство между предложениями, используя евклидово расстояние и косинусное сходство соответствующих CLS
встраиваний на уровне предложений.
Евклидово расстояние имеет диапазон [0, ∞), поэтому, чтобы соответствовать другим оценкам, давайте воспользуемся функцией f (x) = (1 / 1.2) ^ x, чтобы получить оценку (0,1]. Результат этой функции в оценках, относительно близких к BLEU. Косинусное сходство имеет правильный диапазон, однако оно не сопоставимо с оценками BLEU. Чтобы оценить результаты, мы должны исследовать оценки предложений относительно друг друга, а не других оценок .
Оценки сходства
Вот таблица результатов с использованием BLEU. Как мы видим, BLEU идентифицирует второе предложение как близкое к первому (изменено только 1 слово), но не может обрабатывать синонимы четвертого предложения. Кроме того, оценка совершенно другого предложения относительно высока.
BLEU с функцией сглаживания [3] решает эту более позднюю проблему.
BERT с евклидовым расстоянием достигает относительно тех же результатов, что и BLEU, но также обрабатывает синонимы. Косинусное сходство векторов BERT имеет такие же оценки, как и оценки сходства Spacy.
Spacy - это инструмент для обработки естественного языка промышленного уровня. Spacy использует векторы встраивания слов, а вектор предложения - это среднее значение векторов его лексем. Подробнее о подобии Пространства здесь.
BERTScore
(Обновлено 06.11.2019)
Это обновление, поскольку я недавно нашел статью с идеей использовать BERT для оценки систем машинного перевода [4]. Авторы показывают, что BERTScore лучше коррелирует с человеческим суждением, чем предыдущие оценки, такие как СИНИЙ.
BERTScore аналогичен представленному здесь, однако BERTScore использует подобие векторов внедрения BERT на уровне токенов, в то время как мы использовали вложения на уровне предложений.
Резюме
Эта история знакомит с оценками BLEU для оценки схожести предложений и сравнивает их с векторными расстояниями BERT. Примеры пытались проиллюстрировать, насколько сложно определить, что означает похожее предложение, и два метода показали возможные ответы для количественной оценки некоторого сходства. Коды, приложенные к этой истории, обеспечивают базовое использование BLEU и BERT, а также Spacy. Для подробных представлений предоставляются дополнительные ссылки.
Соответствующие коды доступны в Google Colab.
использованная литература
[1] Папинени К., Рукос С., Уорд Т. и Чжу В. Дж. (2002, июль). BLEU: метод автоматической оценки машинного перевода. В Протоколах 40-го ежегодного собрания ассоциации компьютерной лингвистики (стр. 311–318). Ассоциация компьютерной лингвистики.
[2] Девлин, Дж., Чанг, М. В., Ли, К., и Тутанова, К. (2018). Берт: Предварительная подготовка глубоких двунаправленных трансформеров для понимания языка. Препринт arXiv arXiv: 1810.04805.
[3] Лин, К. Ю., & Оч, Ф. Дж. (2004, июль). Автоматическая оценка качества машинного перевода с использованием самой длинной общей подпоследовательности и статистики пропуска биграмм. В Протоколах 42-го ежегодного собрания Ассоциации компьютерной лингвистики (стр. 605). Ассоциация компьютерной лингвистики.
[4] Чжан Т., Кишор В., Ву Ф., Вайнбергер К. К. и Арци Ю. (2019). BERTScore: оценка генерации текста с помощью BERT. Препринт arXiv arXiv: 1904.09675.