Рецензия на диссертацию Максима Тарнавского [1], успешно защищенную в июне 2021 года в качестве требования степени магистра наук в магистратуре по науке о данных в УКУ.

Исправление грамматических ошибок (GEC) - широко известная задача в обработке естественного языка (NLP) для исправления ошибок в тексте. Система GEC получает предложение с различными типами ошибок (грамматическими, лексическими, орфографическими, пунктуационными и т. Д.) И выводит его исправленную версию. Такие системы помогают изучающим язык улучшить свои навыки письма и предупреждать носителей языка об опечатках, как в следующем примере:

Фон

В сообществе НЛП большинство исследований GEC основано на нейронном машинном переводе от последовательности к последовательности (NMT), в котором новое грамматически правильное предложение генерируется на основе ошибочного. Несмотря на достижение высочайшей производительности (SOTA) в стандартных тестах GEC, системы NMT не подходят для реальных приложений. Одна из причин заключается в том, что эти системы используют архитектуру кодировщика-декодера, которая авторегрессивно фиксирует полную зависимость между выходными токенами, но работает медленно из-за последовательного декодирования. Кроме того, они не могут эффективно определять типы ошибок в исходном предложении, поскольку сквозная формулировка задачи затрудняет интерпретируемость модели (см., Например, Kaneko et al., 2020 [2]).

Другой подход GEC, называемый тегированием последовательностей, пытается предсказать теги редактирования, которые необходимо применить, чтобы превратить ошибочные предложения в правильные. Awasthi et al., 2019 [3] успешно использовали этот подход для построения новой модели параллельного итеративного редактирования (PIE), выполняющей параллельное декодирование и достигающей точности, сопоставимой с моделями кодировщика-декодера. Высокая эффективность модели PIE обусловлена ​​несколькими особенностями; в частности, это

  • предсказывает правки вместо токенов;
  • маркирует последовательности вместо генерации последовательностей;
  • итеративно уточняет прогнозы для фиксации зависимостей;
  • факторизует логи по правкам и их аргумент-токен, чтобы использовать предварительно обученные языковые модели, такие как BERT.

Похожий подход, который в настоящее время позволяет достичь самых современных результатов, предлагается в статье Омельянчук и др., 2020 [4]. Их простой и эффективный теггер последовательности GEC использует предварительно обученный BERT-подобный преобразователь в качестве кодировщика и два линейных слоя вместо декодера, а именно

  • первый уровень определяет, нужно ли вносить изменения в конкретное слово;
  • второй уровень отвечает за выбор тега, который будет выполняться на токене (в NLP - на текстовом блоке).

На этапе постобработки модель решает, какие операции с тегами выполнять в зависимости от прогнозируемых тегов. Основные операции с тегами:

  • СОХРАНИТЬ - оставить слово без изменений;
  • УДАЛИТЬ - удалить слово;
  • ДОБАВИТЬ слово - добавить новое слово после текущего термина;
  • ЗАМЕНИТЬ слово - заменить текущее слово новым словом.

В дополнение к этим тегам, реализация GECToR включает настраиваемые теги преобразования, такие как переход в верхний или нижний регистр, переход к третьим формам неправильных глаголов, добавление окончаний s и т. Д. Более подробная информация об их подходе к маркировке последовательностей доступна в Блоге Grammarly.

На тесте BEA-2019 лучшая одномодельная модель GECToR (XLNet) заархивировала SOTA F_0.5 на уровне 72,4, а лучший ансамбль GECToR (BERT + RoBERTa + XLNet) - что у 73.6.

Улучшение модели GECToR

Основная цель исследования Максима Тарнавского - улучшить модель GECToR несколькими способами; особенно,

  • изучить и усовершенствовать подход к маркировке последовательностей для GEC и улучшить результаты по новейшей закрытой совместной задаче BEA-19;
  • исследовать влияние конфигурации кодировщика на базе трансформатора (базовый / большой);
  • проверить влияние размера словаря тегов на качество исправлений;
  • сравнить стекинг по методам ансамблирования уровней модели и данных.

Наборы данных

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

Наборы данных, используемые для контролируемого обучения моделей GEC, состоят из параллельных пар ошибочных (исходных) и грамматически правильных (целевых) предложений. В своей работе Тарнавский использовал следующие последовательно соединенные общедоступные наборы данных для обучения моделей:

  • Корпус изучающих английский язык Lang-8 (Lang-8);
  • Корпус изучающих английский язык Национального университета Сингапура (NUCLE);
  • Первый сертификат в корпусе английского языка (FCE);
  • Пишите и улучшайте (WI).

Чтобы отфильтровать зашумленные образцы данных, нужно начать с основной очистки данных. Автор решил убрать повторы идентичных предложений и отфильтровать те предложения, которые

  • иметь менее пяти символов / только один токен;
  • начать нижний регистр / все верхний регистр;
  • имеют косинусное сходство между исходной и целевой парой предложений менее 0,5.

Как видно из таблицы, набор данных WI имеет наименьший процент отфильтрованных данных и, следовательно, самого высокого качества. Поэтому для окончательной настройки использовался набор данных WI. Оптимизируемыми метриками были «Точность» (количество правильных исправлений из прогнозируемых), Напоминание (количество правильных исправлений из всех возможных исправлений) и оценка F_0,5.

Новое поколение данных GEC

Еще одно направление исследований GEC в настоящее время - создание новых обучающих данных. Идея подхода [1] заключалась в том, чтобы сначала обучить модели на существующих данных GEC, а затем объединить их в ансамбль моделей, который обеспечит лучшее качество исправления грамматики. Следующим шагом было взять тексты, содержащие грамматические ошибки, и аннотировать их ансамблем моделей.

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

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

Предлагаемый подход и эксперименты

Обучение модели, предложенное в [1], проводится в несколько этапов. Начальное обучение происходит на следующих объединенных наборах данных: Lang8, FCE, NUCLE, WI. После этого автор продолжает обучение модели только на наборе данных WI. Это позволяет обучить модель на большом количестве данных разного качества, а затем точно настроить ее на данных самого высокого качества.

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

Поскольку точность более важна, чем отзыв в задаче GEC, мы можем найти оптимальную пороговую достоверность для корректировки с помощью гиперпараметров. Например, можно искусственно увеличить вероятность для тега KEEP или установить минимальную достоверность исправления. Автор выбрал эти гиперпараметры на этапе разработки (проверки).

Архитектура моделей

В рассматриваемом исследовании сравнивалось влияние базовых и больших конфигураций трансформаторных кодеров для BERT, RoBERTa, XLNet и недавних кодеры DeBERTa. Разница между базовой и большой конфигурациями заключается в количестве слоев кодера. Например, базовая модель имеет 12 слоев кодировщиков, наложенных друг на друга, и 768 скрытых слоев, тогда как большая модель имеет 24 уровня кодировщиков, наложенных друг на друга, и 1024 скрытых. Также в большом случае увеличивается количество параметров.

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

Также было обнаружено, что модели, основанные на кодировщиках RoBERTa, DeBERTa и XLNet, работают лучше, чем модели на основе кодировщика BERT для обеих конфигураций.

Словарь тегов

Кроме того, важным компонентом подхода к маркировке последовательностей является словарь тегов, поскольку он определяет, какие исправления модель научится вносить. Автор сформировал словарь на основе наиболее распространенных операций коррекции, встречающихся в корпусах Lang-8 + NUCLE + FCE + WI, объединенных в набор данных GEC. Было обнаружено, что увеличение размера словаря (1k, 5k и 10k) для моделей с большими кодировщиками RoBERTa и DeBERTa улучшает качество исправлений. Напротив, для модели с большим энкодером XLNet качество ухудшилось.

Ансамбли

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

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

Полученные результаты

Качество модели

В этой работе лучший ансамбль, основанный на модели с большим кодировщиком RoBERTa + размер словаря 10k, модель с большим кодировщиком XLNet + размер словаря 5k, и модель с DeBERTa + размером словаря 10k без предварительного обучения на синтетических данных, достигает нового Результат SOTA 76,05 для метрики F_0,5 на BEA-2019 (тест). Этот результат является значительным улучшением по сравнению с 73,7, которое ранее было достигнуто с помощью предварительного обучения на синтетических данных.

Выводы

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

  • автор сравнил влияние кодеров на основе трансформаторов BERT, RoBERTa, DeBERTa, XLNet базовой и большой конфигураций на исправление грамматических ошибок и обнаружил, что модели, основанные на кодерах RoBERTa и DeBERTa, достигли лучших результатов как в базовой, так и в большой конфигурациях;
  • увеличение размера словаря для моделей с большими кодировщиками RoBERTa и DeBERTa улучшает качество исправлений. Напротив, для модели с большим энкодером XLNet качество ухудшилось;
  • Объединение моделей на уровне модели и уровне данных дает почти одинаковый результат при объединении моделей с одинаковым размером словаря. Однако ансамбль на уровне данных может объединять выходные данные любой модели, независимо от ее структуры;
  • без предварительного обучения на синтетических данных лучший ансамбль достигает нового результата SOTA F_0,5 76,05 на BEA-2019 (тест);
  • были созданы новые общедоступные данные GEC, которые могут улучшить существующие модели.

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

[1] Тарнавский, Максим (2021). «Улучшение маркировки последовательностей для исправления грамматических ошибок». Украинский католический университет, факультет компьютерных наук, 52 страницы.

[2] Канеко, Масахиро и др. (2020). «Модели кодировщика-декодера могут извлечь выгоду из предварительно обученных моделей замаскированного языка при исправлении грамматических ошибок». В Протоколах 58-го ежегодного собрания Ассоциации компьютерной лингвистики, страницы 4248–4254. Ассоциация компьютерной лингвистики.

[3] Авасти, Абхиджит и др. (2019). «Модели параллельного итеративного редактирования для преобразования локальной последовательности». В материалах конференции по эмпирическим методам обработки естественного языка 2019 г. и 9-й совместной конференции по обработке естественного языка (EMNLP-IJCNLP), страницы 4260–4270. Ассоциация компьютерной лингвистики.

[4] Омельянчук, Константин и др. (2020). «GECToR - Исправление грамматических ошибок: теги, а не перезапись». В Труды пятнадцатого семинара по инновационному использованию НЛП для создания образовательных приложений, страницы 163–170. Ассоциация компьютерной лингвистики.