Итоги конкурса AutoNLP2019

машинное обучение

Введение в конкурс

Основной целью конкурса AutoNLP2019 является разработка набора общих решений для задачи классификации проблем естественного языка.В общей сложности 10 наборов данных предоставляются онлайн и офлайн, включая различные задачи НЛП.Этот конкурс предоставляет в общей сложности 3 базовые методы:

  • SVM: традиционный метод машинного обучения, использующий в качестве входных данных функции tf-idf.
  • TextCNN: из статьи 2014 года он использует векторы слов для преобразования предложений в матрицы, использует одномерные сверточные ядра разных размеров для извлечения текстовых признаков (которые можно рассматривать как семантическую информацию n-грамм) и использует полностью связанные слои после MaxPool. (сигмоид для 2 и softmax для мульти)
  • FastText: добавьте предварительно обученное встраивание слов FastText в качестве слоя встраивания на основе TextCNN.

Возьмите **ALC (площадь под кривой обучения)** в качестве индекса оценки:

  • s(t)auc, представляющий самый последний прогноз
  • использовать\hat{t}(t) = \frac{\log (1 + t / t_0)}{\log(1+T / t_0)} \text{, where } T \text{ is the time budget and } t_0 \text{ is a reference time amount (of default value 60 seconds)}
  • \text{ALC} = \frac{1}{\log(1+T/t_0)} \int_0^T \frac{s(t)}{t+t_0} \, dt
  • по весу\frac{1}{t + t_0}, первоначальный вес является наиболее важным

Обзор данных

Поскольку это соревнование серии AutoML, участники должны предоставить общее решение, поэтому они часто предоставляют различные наборы данных для проверки способности решения к обобщению.Это соревнование предоставляет в общей сложности 5 (офлайн) + 5 (онлайн) + 5(stage2) +5 (частный), 20 наборов данных:

  • Многоязычный: с участием английского, китайского
  • Мультиклассификация: разные наборы данных могут иметь 2, 8, 10, 30+ классов.
  • Несколько категорий: набор данных включает в себя анализ настроений, идентификацию спама, классификацию новостей, классификацию бумаги, классификацию информации Weibo и другие вопросы.
  • Крупномасштабный: несмотря на то, что автономный набор данных невелик, онлайн-набор данных большой, максимум около 50 Вт+.
  • Несбалансированность: большинство наборов данных очень несбалансированы, а положительные и отрицательные примеры определенного набора данных могут достигать 1000:1.

Отсюда можно выделить следующие моменты:

  • Дисбаланс классов серьезный, и необходимо обратить внимание на метод выборки
  • Поскольку индекс оценки ALC взвешивается по времени и используетсяlogФункция взвешенная, и результат нужно получить как можно быстрее
  • AUC не дифференцируем и не может быть оптимизирован напрямую как функция потерь, в качестве альтернативы можно использовать кроссэнтропию.

Solution

Общие шаги НЛП следующие:

  1. предварительная обработка текста
    • Очистить данные, выполнить сегментацию слов и т. д.
  2. разработка функций
    • Традиционные функции машинного обучения (например, функции tf-idf, которые в основном сосредоточены на извлечении ключевых слов)
    • Синтаксическая и семантическая информация (встраивание слов, вектор предложений и т. д.)
  3. Моделирование
    • Использование результатов классификации с помощью полуконтролируемого обучения

предварительная обработка данных

  1. Выборка: проблемы дисбаланса классов
    • в соответствии срешение дисбаланса категорий соревнований kaggle,Result( blending(pred过采样,pred降采样,pred不处理,pred权重) ) > pred不处理
    • Резюме: Недостаточная выборка для нескольких классов, избыточная выборка для нескольких классов и слияние общих и необработанных результатов часто улучшаются.
    • Среди них метод недостаточной выборки ссылок Tomek слишком сложен. Если не проводить оптимизацию, это будет O (n ^ 2). Рекомендуется, чтобы набор данных был очень большим, а категории были несбалансированными перед недостаточной выборкой.
  2. Очистка данных
    • Английский: удаление знаков препинания и специальных символов, унификация нижнего регистра.
    • Китайский язык: удалите специальные символы и искаженные символы.
      • Фактически, для китайского языка сегментация слов не требуется, потому что в некоторых случаях разрыв между словами/символами может быть не очень большим, но разрыв в эффективности очень велик.
    • Что впечатляет, так это то, что DeepBlueAI выполнил очень тонкую предварительную обработку.
      • Для обработки чисел 1024 и 1025 легко иметь очень разную семантику после очистки и преобразования в векторы слов, поэтому их можно обрабатывать, разделив числа на сегменты.
      • Для обработки номера почтового ящика в письме,xx.mail.comЕго легко разделить, поэтому требуется особая обработка структуры данных почтового ящика.
  3. остановить обработку текста
    • Выбирайте разные словари стоп-слов для разных языков
    • Контролируйте длину текста, сохраняйте стоп-слова для слишком короткого текста, напрямую усекайте слишком длинный текст (например, статьи в наборе данных и т. д.) и сохраняйте предыдущую часть в соответствии с максимальной длиной

Может использоваться для требований эффективностиCythonПовысить эффективность

разработка функций

  • традиционные методы машинного обучения
    • Особенности tf-idf
      • N gram
      • Word or character n gram
      • Обязательно попробуйте еще здесь, разница в AUC между эффектами разных параметров может быть на 3 процентных пункта хуже
    • характеристика частоты слов
  • методы глубокого обучения
    • Внедрение, если есть требования к эффективности, вы можете сначала заморозить слой внедрения, а затем выполнить точную настройку в следующем раунде.
    • Bi-lstm извлекает информацию о семантическом синтаксисе

Модели и интеграции

По какой-то причине мы перепробовали много моделей, но оказалось, что разрыв между простыми/сложными моделями невелик, может быть, максимум около 1 процентного пункта, всегда использовала команда benf, занявшая четвертое место в конкурсе AutoNLP.LinearSVMНа этот раз они использовалиLRМодель стала четвертой

  • выбор модели
    • LienarSVM
    • TextCNN
    • TextRNN, Внимание и т.д.
  • интегрированное обучение
    • Интеграция с использованием смешивания
    • Из-за большого масштаба самого набора данных и требования оперативности в конкурентной борьбе часто требуется выборка, поэтому можно нажать8:2разделить проверочный набор в соответствии с пропорцией
  • полуконтролируемое обучение
    • Используя информацию прогнозирования предыдущего раунда, тестовый набор, логит которого больше доверительного уровня (уменьшается в соответствии с количеством раундов), добавляется к обучающему набору следующего раунда.
    • Выбор уверенности очень важен, иначе с тренировкой может стать хуже