Применение алгоритмов искусственного интеллекта к небольшим данным всегда было одним из наших основных интересов в Opla, и Data Augmentation - одно из ключевых решений этой проблемы. Эта статья расширяет работу, представленную в нашей предыдущей статье об увеличении данных.

1. Предыдущая исследовательская работа

Увеличение данных показало заметные результаты в таких сквозных областях, как обработка изображений [11, 13] или распознавание речи [6, 9]. Недавно были проведены исследования по применению этого метода к текстовым данным, что затруднительно из-за сложной структуры текстовых данных. В то время как геометрические преобразования, такие как поворот и масштабирование, применяются при обработке изображений, в NLU преобразования нацелены на создание новых форм текстовых единиц посредством генерации перефразирования, морфологических преобразований и т. Д. Один из наиболее часто используемых методов для текста увеличение данных зависит от перевода текста. Исходный текст переводится на различные промежуточные языки, а затем переводится обратно на исходный язык [1]. Это преобразование позволяет создавать новые выражения одного и того же предложения. Сахин и Стидман [16] использовали деревья зависимостей для увеличения данных, изменяя их структуру (перемещая или обрезая фрагменты дерева). Ду и Блэк [5] выполнили перестановку и переворачивание для задачи выбора ответа нейронного диалога. Kurata et al. [12] обучил кодировщик-декодер восстанавливать разговоры по обучающим данным. Чтобы выполнить расширение, выходные скрытые состояния кодировщика случайным образом изменяются, чтобы генерировать новые высказывания.

2. Как мы можем увеличить наши тренировочные данные

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

2.1. Перемешивание слов

Этот метод заключается в простом изменении порядка слов в предложении для создания нового. В этом случае алгоритмы классификации должны учитывать порядок слов.

2.2. Замена синонима

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

Что использовать для быстрого вырезания аудио / видео ➜ Что использовать для быстрого обрезания аудио и видео

Завершение работы без дополнительных вопросов ➜ Завершение работы без дополнительных проблем

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

2.3. Аналогичная замена слова

В этом варианте мы решили использовать распределенные представления слов, известные как вложения слов, чтобы обогатить наши обучающие данные. Для каждого слова в предложении, если слово представлено во вложенных словах, мы заменяем его наиболее похожим словом с таким же тегом части речи (POS).

3. Настройки экспериментов.

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

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

В основном мы использовали три общедоступных набора данных [3]:

  • Ask Ubuntu Corpus: содержит 162 вопроса и пять намерений, извлеченных из форума AskUbuntu.
  • Корпус веб-приложений: состоит из 89 вопросов и восьми намерений, извлеченных из StackExchange.
  • Корпус чат-ботов: собирает 206 вопросов и два намерения, извлеченных из чат-бота Telegram для общественного транспорта в Мюнхене.

Мы использовали 10-кратную перекрестную проверку, чтобы разделить данные на обучающие и тестовые наборы.

3.2. Алгоритмы классификации

Мы решили использовать три современных алгоритма классификации:

  • Машины опорных векторов (SVM) [4] с линейным ядром
  • K-Ближайшие соседи (KNN) [10] с k, установленным на 5
  • Классификатор Extra Tress (ETREE) [8] с 200 оценками.

3.3. Предварительная обработка

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

3.4. Векторизация

Мы использовали TF.IDF (Term Frequency x Inverse Document Frequency) для представления наших функций обучающих данных, поскольку наши исходные наборы обучающих данных относительно малы.

3.5. Внешние ресурсы

a- Словарь синонимов: мы использовали базу данных ParaPhrase (PPDB) [7]

b- Вложения слов: мы использовали разные предварительно обученные векторы слов:

  • GV6B: предварительно обученные векторы слов с использованием GloVe [15] в Wikipedia 2014 + Gigaword 5 с размером словаря 400 КБ.
  • FTXT: предварительно обучены с FastText [2] в Common Crawl и в Википедии.
  • W2V: предварительно обучены работе с Word2Vec [14] в корпусе новостей Google с объемом словарного запаса 3 миллиона.

4. Оценка и результаты

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

Результаты нескольких экспериментов представлены в таблицах 1, 2 и 3 с использованием алгоритмов SVM, KNN и ETREE соответственно. Мы оценили различные варианты:

  • W / O DG: классификация без дополнения данных
  • WS - это вариант перетасовки слов. Мы решили генерировать для каждого предложения n случайных перемешиваний, где n - длина исходного предложения.
  • GV6B и FTXT применяют наиболее похожую замену слов соответственно из векторов слов GV6B и FastText.
  • GV6B + WS - это GV6B с применением перетасовки слов в расширенных данных.
  • PPDB применяет замену синонимов, используя базу данных перефразирования PPDB, которая включает перефразирование слов и фраз. В данной работе мы используем только словесные (униграммы) пересказы.
  • PPDB-W2V применяет наиболее похожую замену слов из векторов слов W2V над расширенными выборками с использованием PPDB

Прежде всего, мы замечаем, что без увеличения данных SVM и ETREE работают немного лучше, чем KNN. Мы также отмечаем, что производительность набора данных веб-приложений значительно ниже, чем у AskUbuntu и корпуса чат-ботов. Теперь, если мы посмотрим на влияние увеличения объема данных, мы увидим, что перетасовка слов настолько проста, насколько она есть, позволяет получить некоторые очки в производительности. Этот прирост более важен для набора данных WebApplication и составляет около + 15%.

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

Среди семантически связанных методов замены слов (GV6B, GV6B + WS и FTXT) трудно решить, какой из них работает лучше, поскольку их оценки очень близки. Вдобавок ко всему, каждый классификатор достиг максимальной производительности, используя различную комбинацию методов дополнения.

Однако, если мы исследуем оценки варианта PPDB в трех таблицах, мы можем сделать вывод, что использование встраивания слов для увеличения данных работает лучше, чем использование перефразирования или синонимов. Мы полагаем, что встраивание слов, предоставляя семантически связанные слова, а не точные синонимы, позволяет генерировать более разнообразные и обобщенные данные. Другая возможная причина - увеличенный размер данных. Используя вложения слов, мы можем умножить размер данных в среднем на 45. Используя метод замены синонимов мы умножили исходный размер данных только на 2.

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

5. Заключение

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

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

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

[1] Сегун Таофик Ароехун и Александр Гельбух. 2018. Обнаружение агрессии в социальных сетях: использование глубоких нейронных сетей, увеличение данных и псевдометки. В материалах Первого семинара по троллингу, агрессии и киберзапугиванию (TRAC-2018). 90–97.

[2] Петр Бояновски, Эдуард Граве, Арман Жулен и Томаш Миколов. 2017. Пополнение векторов слов подсловной информацией. Труды Ассоциации компьютерной лингвистики 5 (2017), 135–146.

[3] Даниэль Браун, Адриан Эрнандес-Мендес, Флориан Маттес и Манфред Ланген. 2017. Оценка сервисов понимания естественного языка для систем ответов на вопросы. В материалах 18-й ежегодной конференции SIGdial по дискурсу и диалогу. Ассоциация компьютерной лингвистики, Саарбрюккен, Германия, 174–185. Http://www.aclweb.org/anthology/W17-3622

[4] Коринна Кортес и Владимир Вапник. 1995. Опорно-векторные сети. Машинное обучение 20, 3 (1995), 273–297.

[5] Венчао Ду и Алан В. Блэк. 2018. Расширение данных для выбора ответа нейронного онлайн-чата. Препринт arXiv arXiv: 1809.00428 (2018).

[6] Такаши Фукуда, Рауль Фернандес, Эндрю Розенберг, Сэмюэл Томас, Бхувана Рамабхадран, Александр Сорин и Гакуто Курата. 2018. Увеличение данных улучшает распознавание речи с иностранным акцентом. Proc. Interspeech 2018 (2018), 2409–2413.

[7] Юрий Ганиткевич, Бенджамин Ван Дурм и Крис Каллисон-Берч. 2013. PPDB: База данных парафраз. В материалах NAACL-HLT. Ассоциация компьютерной лингвистики, Атланта, Джорджия, 758–764. Http://cs.jhu.edu/~ccb/ публикации / ppdb.pdf

[8] Пьер Гертс, Дэмиен Эрнст и Луи Вехенкель. 2006. Чрезвычайно рандомизированные деревья. Машинное обучение 63, 1 (2006), 3–42.

[9] Том Ко, Виджаядитья Педдинти, Дэниел Пови и Санджив Худанпур. 2015. Аудио дополнения для распознавания речи. На шестнадцатой ежегодной конференции Международной ассоциации речевой коммуникации.

[10] Флип Корн, Николаос Сидиропулос, Христос Фалаутсос, Элиот Сигель и Зенон Протопапас. 1998. Быстрый поиск ближайшего соседа в базах медицинских изображений. Технический отчет.

[11] Алекс Крижевский, Илья Суцкевер и Джеффри Э. Хинтон. 2012. Классификация Imagenet с глубокими сверточными нейронными сетями. В достижениях нейронных систем обработки информации. 1097–1105.

[12] Гакуто Курата, Бинг Сян и Боуэн Чжоу. 2016. Генерация помеченных данных с помощью кодировщика-декодера LSTM для заполнения семантических слотов… В INTERSPEECH. 725–729.

[13] Найл Маклафлин, Хесус Мартинес Дель Ринкон и Пол Миллер. 2015. Расширение данных для уменьшения систематической ошибки набора данных при повторной идентификации личности. В 2015 году состоялась 12-я Международная конференция IEEE по расширенному видеонаблюдению и видеонаблюдению (AVSS). IEEE, 1–6.

[14] Томас Миколов, Илья Суцкевер, Кай Чен, Грег С. Коррадо и Джефф Дин. 2013. Распределенные представления слов и словосочетаний и их композиционность. В достижениях нейронных систем обработки информации. 3111–3119.

[15] Джеффри Пеннингтон, Ричард Сохер и Кристофер Мэннинг. 2014. Перчатка: Глобальные векторы для представления слов. В материалах конференции 2014 г. по эмпирическим методам обработки естественного языка (EMNLP). 1532–1543.

[16] Гозде Гуль Сахин и Марк Стидман. 2018. Увеличение данных с помощью морфинга дерева зависимостей для языков с низким уровнем ресурсов. В материалах конференции 2018 г. по эмпирическим методам обработки естественного языка. 5004–5009.