Увеличение данных для классификации текста - PullRequest
0 голосов
/ 21 февраля 2019

Каково текущее состояние техники дополнения данных о классификации текста?

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

  • Замена синонима: Произвольно выбирайте n слов из предложения, которое не останавливает слова.Замените каждое из этих слов одним из выбранных случайным образом синонимов.

  • Случайная вставка: найдите случайный синоним случайного слова в предложении, которое не является стоп-словом.Вставьте этот синоним в случайное место в предложении.Сделайте это n раз.

  • Случайный обмен: Случайно выберите два слова в предложении и поменяйте местами.Сделайте это n раз.

  • Случайное удаление: Произвольное удаление каждого слова в предложении с вероятностью p.

Но ничего об использовании предварительно обученногомодель представления вектора слова, такая как word2vec.Есть ли причина?

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

Это хороший метод или я упускаю некоторые важные недостатки этоготехника?

1 Ответ

0 голосов
/ 21 февраля 2019

Ваша идея использования встраивания в word2vec обычно помогает.Однако это вложение без контекста.Чтобы сделать еще один шаг вперед, современный уровень техники (SOTA) на сегодняшний день (2019-02) - это использование языковой модели, обученной на большом корпусе текста, и точная настройка вашего собственного классификатора с вашими собственными данными обучения.

Две модели SOTA:

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

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