В реальных приложениях отсутствие помеченных данных часто является самой неприятной проблемой, с которой сталкивается НЛПер. На следующем рисунке обобщены соответствующие технические классификации увеличения данных:
Идея этой статьи состоит в том, чтобы представить принципы различных методов в соответствии с приведенным выше рисунком. Затем будут подробно представлены конкретные детали реализации увеличения данных в некоторых моделях.
1. Безусловное улучшение
1.1 Словарный запас и замена фраз
- замена синонимов
На основе словаря тезаурус используется для замены синонимов, таких как WordNet на английском языке и Харбинский технологический институт на китайском языке.SynonymsЭто хороший проект с открытым исходным кодом, который можно использовать для получения китайских синонимов.
- вектор слова на основе
Его можно заменить напрямую, вычислив расстояние вектора слова (перчатка и т. д.).
- Masked LM
Используйте предварительно обученные языковые модели Masked, такие как BERT, эвристический словарь Mask, и делайте предиктивные замены.
- TF-IDF
По сути, это своего рода замена неосновных слов, которая заменяет слова с низкими показателями TF_IDF. Это было первымUDAпредложено в.
1.2 Введение случайного шума
- случайная вставка
Произвольно вставьте слово, опечатку, заполнитель и т. д.UDAОбразцы отбираются в соответствии с частотным распределением слов Unigram. Для справки есть таблица замены английских орфографических ошибок:spelling_en, китайский пока не найден.
- случайная замена
Произвольно меняйте местами слова или перетасовывайте предложения.
- Удалить случайным образом
Случайно удалить слова или предложения.
UDAВышеупомянутые три метода введения случайного шума также используются в .
1.3 Смешивание и кроссовер
- Гибридное улучшение
Сначала на изображении появляется Mixup, он пытается сделать любую пару обучающих выборок по значению пикселя и цели.Линейная интерполяция, построить больше обучающих данных. Подробно, например, пара образцов:и, где x — входная матрица, а y — массив задач, представленный one-hot. Сформируйте данные следующими способами:вразмер взят израспределенный.
В модели НЛП автор предлагает следующие два режима:wordMixupиsenMixup. Основная идея та же, что и при линейном расчете, ноМатрица пикселей становится векторной матрицей слов или окончательным встраиванием предложения..
- перекрестное усиление
По аналогии с «скрещиванием хромосом» полный твит делится на две части, а затем скрещиваются одни и те же образцы:Этот метод не влияет на точность, но помогает с баллами F1 для очень небольшого числа классов в статье, например, для нейтральных классов с небольшим количеством твитов. бумага здесь
1.4 Обратный перевод
Вы можете передать один абзац, например: китайский->английский->китайский, или два абзаца, например: китайский->английский->японский->китайский. Эффект, как правило, лучше, и лучше всего использовать модель перевода с самообучением, связанную с предметной областью.
1.5 Преобразование синтаксиса
Идея состоит в том, чтобы проанализировать и сгенерировать дерево зависимостей исходного предложения, преобразовать его с помощью правил и сгенерировать переписанное предложение. Например, переходом, не меняющим смысла предложения, является переход предложения из действительного залога в страдательный залог и наоборот.
1.6 Состязательное усиление
В области CV GAN используется для улучшения данных, а в NLP возмущение обычно добавляется к слову-вектору для состязательного обучения.
Резюме для метода без увеличения: Нерасширенный метод находится вне меняй этикеткуПредпосылка состоит в том, что для изменения токена или шаблона предложения в предложении используются различные методы, но это изменение может повлиять на метку, например: в задаче классификации настроений, если хорошее становится плохим, метка обязательно изменится. Таким образом, информация о метках может быть введена для улучшения качества данных.
2. Улучшение состояния
Так называемое условное улучшение означает, что в модель необходимо добавить информацию о метках, чтобы управлять генерацией данных.
2.1 Глубокие генеративные модели
Поскольку вы хотите использовать глубокие модели, вам нужно много данных, но это противоречит реальности. Следовательно, при использовании глубоких генеративных моделей, таких как GAN или CVAE, для решения проблемы небольшого количества образцов требуются дополнительные исследования.
2.2 Условные предварительно обученные языковые модели
Вводятся три основных статьи:
- Contextual Augment
В приведенных выше методах контекст замены токена не рассматривается, в данной работе используется языковая модель для прогнозирования в зависимости от контекстаТокен местоположения используется для увеличения данных. Но если просто использования языковой модели недостаточно, например, «фантастические актеры» для «фантастического», языковая модель может давать положительные «хорошо» и «интересно» и, возможно, отрицательные «плохо» и «ужасно». Поэтому необходимо учитывать классификационную информацию этого предложения. Конкретный подход модели состоит в том, чтобы объединить метку y (label_embedding) со скрытым вектором в слое прямой связи, а затем выполнить точную настройку задачи классификации. Автор провел эксперименты на LSTM и CNN: code
- CBERT
Эта статья продолжает идею предыдущего Contextual Augment и использует BERT в качестве кодировщика.Базовая модель такая же, как BERT. Просто что-то изменилось в построении ввода. То есть замените segment_embedding на label_embedding. Затем выполняется тонкая настройка задачи MLM для получения эффективной модели. Результаты экспериментов: CBERT-paper
- LAMBADA
Используйте предварительно обученную модель оракула GPT2 для предсказания токенов. По сравнению с pre-CBERT помимо разницы в базовой модели есть два отличия:
- Входная матрица строится иначе.
В CBERT segment_embedding заменен на label_embedding. В LAMBADA метка и предложение передаются черезСращивание непосредственно в качестве входных данных. 2. После того, как LAMBADA сгенерирует расширенную выборку, она также использует классификатор для дальнейшей фильтрации и шумоподавления, и этот классификатор обучается в GPT2 с обучающими данными. Общий алгоритм такой: LAMBADA
бумагаpaperВышеприведенные три метода DA на основе предварительно обученных языковых моделей суммируются и сравниваются. Я чувствую, что эта идея все еще имеет большой потенциал.
3. Полуконтролируемое обучение
Используйте большой объем неразмеченных данных для увеличения данных, которые можно назватьполуконтролируемое обучение, также является исследовательской точкой. Впервые он был использован в области CV, а также может излучать свет и тепло в НЛП.
Подводя итог, используя стратегии полуконтролируемого обучения:Как добавить обычный член, связанный с неразмеченными данными, в функцию потерь, чтобы модель могла в полной мере использовать большой объем неразмеченных данных для непрерывной итерации модели и повышения производительности обобщения модели..
Добавить корреляцию к неразмеченным даннымсрок регуляризации, обычно используются следующие два метода:
- Минимизация энтропии
Согласно кластерной гипотезе полууправляемого обучения, граница решения должна как можно больше проходить через места с разреженными данными (области с низкой плотностью), чтобы избежать разделения точек плотных выборочных данных по обе стороны от границы решения. То есть модель делает прогноз с низкой энтропией после прогнозирования неразмеченных данных, то есть энтропия минимизируется:Значение границы решения о распределении видно из следующего рисунка:2. Регуляризация согласованности. Ожидайте, что для неразмеченных данных модельПроизводит такое же выходное распределение при возмущении. который:
3.2 УДА (2019.4.29)
УДА заключается в использованииКанон согласованности, На рисунке ниже представлена модельная структура UDA.Обратите внимание, что модель M слева и справа выполняет только BP слева во время обучения, а параметры модели справа копируются только непосредственно из модели слева. ввод в текстовые заданияИспользуются два способа добавления возмущения:
- обратный перевод
- Лексическая замена младшего TF_IDF
Затем используйте расхождение KL, чтобы вычислить потерю согласованности между ними, и добавьте его к своей собственной категориальной кросс-энтропийной потере, чтобы сформировать общую потерю модели.
Кроме того, UDA также использует некоторые вспомогательные технологии:
- Сочетание закономерности минимизации энтропии: обострить неконтролируемый сигнал, чтобы построить искусственную метку, чтобы сделать его близким к распределению One-Hot, выходная вероятность определенной категории стремится к 1, а другие категории стремятся к 0. В это время энтропия самая низкая. Кроме того, непосредственно рассчитывается потеря энтропии.
- Искусственная метка и метка сильного расширенного прогноза используются для построения закономерности согласованности, а маскирование на основе достоверности выполняется при расчете потерь, а расчет потерь не участвует в расчете потерь ниже доверительного порога.
- Метод отжига обучающего сигнала (TSA) используется для предотвращения переобучения помеченных данных, а маскирование выполняется, когда достоверность помеченных данных выше порогового значения, которое прямо противоположно неразмеченным данным.
- Немаркированные данные за пределами домена были отфильтрованы с использованием исходной модели.
4. План реализации
4.1 TinyBert
В этой статье автор разрабатывает метод увеличения данных с помощью модели BERT. Подробно, для входного предложения, Сначала случайным образом замаскируйте некоторые токены, а затем используйте модель BERT, чтобы предсказать топ-M слов соответствующей позиции какcandidates,ПотомСлучайно выбранныхТокен, который окончательно объединяется в расширенный корпус. Есть две детали со специальной обработкой:
- в отcandidatesПри выборе токена в , автор задает параметр, заставить его подчинятьсяраспределения, а затем пройти порог(0.4) решить, следует лиcandidatesВозьмите жетон из него.
- Для токенов с подсловами вместо использования предсказания BERT для вычисления ближайшего токена расстояния используется перчатка.
4.2 Learning Robust Models for e-Commerce Product Search
Эта бумага используется для увеличения боковых образцов.
5. Связанная работа
- Открытый исходный код nlpaug:nlpaug
- Улучшение текстовых данных на китайском языке на основе лазертаггера,LaserTagger
[использованная литература:]A Visual Survey of Data Augmentation in NLP Пусть машина автоматически генерирует текстовые данные — краткое описание методов улучшения текстовых данных НЛП. Исследование дилеммы нескольких выстрелов в НЛП