Введение в конкурс
Основной целью конкурса AutoNLP2019 является разработка набора общих решений для задачи классификации проблем естественного языка.В общей сложности 10 наборов данных предоставляются онлайн и офлайн, включая различные задачи НЛП.Этот конкурс предоставляет в общей сложности 3 базовые методы:
- SVM: традиционный метод машинного обучения, использующий в качестве входных данных функции tf-idf.
- TextCNN: из статьи 2014 года он использует векторы слов для преобразования предложений в матрицы, использует одномерные сверточные ядра разных размеров для извлечения текстовых признаков (которые можно рассматривать как семантическую информацию n-грамм) и использует полностью связанные слои после MaxPool. (сигмоид для 2 и softmax для мульти)
- FastText: добавьте предварительно обученное встраивание слов FastText в качестве слоя встраивания на основе TextCNN.
Возьмите **ALC (площадь под кривой обучения)** в качестве индекса оценки:
- auc, представляющий самый последний прогноз
- использовать
- по весу, первоначальный вес является наиболее важным
Обзор данных
Поскольку это соревнование серии AutoML, участники должны предоставить общее решение, поэтому они часто предоставляют различные наборы данных для проверки способности решения к обобщению.Это соревнование предоставляет в общей сложности 5 (офлайн) + 5 (онлайн) + 5(stage2) +5 (частный), 20 наборов данных:
- Многоязычный: с участием английского, китайского
- Мультиклассификация: разные наборы данных могут иметь 2, 8, 10, 30+ классов.
- Несколько категорий: набор данных включает в себя анализ настроений, идентификацию спама, классификацию новостей, классификацию бумаги, классификацию информации Weibo и другие вопросы.
- Крупномасштабный: несмотря на то, что автономный набор данных невелик, онлайн-набор данных большой, максимум около 50 Вт+.
- Несбалансированность: большинство наборов данных очень несбалансированы, а положительные и отрицательные примеры определенного набора данных могут достигать 1000:1.
Отсюда можно выделить следующие моменты:
- Дисбаланс классов серьезный, и необходимо обратить внимание на метод выборки
- Поскольку индекс оценки ALC взвешивается по времени и используется
log
Функция взвешенная, и результат нужно получить как можно быстрее - AUC не дифференцируем и не может быть оптимизирован напрямую как функция потерь, в качестве альтернативы можно использовать кроссэнтропию.
Solution
Общие шаги НЛП следующие:
- предварительная обработка текста
- Очистить данные, выполнить сегментацию слов и т. д.
- разработка функций
- Традиционные функции машинного обучения (например, функции tf-idf, которые в основном сосредоточены на извлечении ключевых слов)
- Синтаксическая и семантическая информация (встраивание слов, вектор предложений и т. д.)
- Моделирование
- Использование результатов классификации с помощью полуконтролируемого обучения
предварительная обработка данных
- Выборка: проблемы дисбаланса классов
- в соответствии срешение дисбаланса категорий соревнований kaggle,
Result( blending(pred过采样,pred降采样,pred不处理,pred权重) ) > pred不处理
- Резюме: Недостаточная выборка для нескольких классов, избыточная выборка для нескольких классов и слияние общих и необработанных результатов часто улучшаются.
- Среди них метод недостаточной выборки ссылок Tomek слишком сложен. Если не проводить оптимизацию, это будет O (n ^ 2). Рекомендуется, чтобы набор данных был очень большим, а категории были несбалансированными перед недостаточной выборкой.
- в соответствии срешение дисбаланса категорий соревнований kaggle,
- Очистка данных
- Английский: удаление знаков препинания и специальных символов, унификация нижнего регистра.
- Китайский язык: удалите специальные символы и искаженные символы.
- Фактически, для китайского языка сегментация слов не требуется, потому что в некоторых случаях разрыв между словами/символами может быть не очень большим, но разрыв в эффективности очень велик.
- Что впечатляет, так это то, что DeepBlueAI выполнил очень тонкую предварительную обработку.
- Для обработки чисел 1024 и 1025 легко иметь очень разную семантику после очистки и преобразования в векторы слов, поэтому их можно обрабатывать, разделив числа на сегменты.
- Для обработки номера почтового ящика в письме,
xx.mail.com
Его легко разделить, поэтому требуется особая обработка структуры данных почтового ящика.
- остановить обработку текста
- Выбирайте разные словари стоп-слов для разных языков
- Контролируйте длину текста, сохраняйте стоп-слова для слишком короткого текста, напрямую усекайте слишком длинный текст (например, статьи в наборе данных и т. д.) и сохраняйте предыдущую часть в соответствии с максимальной длиной
Может использоваться для требований эффективности
Cython
Повысить эффективность
разработка функций
- традиционные методы машинного обучения
- Особенности tf-idf
- N gram
- Word or character n gram
- Обязательно попробуйте еще здесь, разница в AUC между эффектами разных параметров может быть на 3 процентных пункта хуже
- характеристика частоты слов
- Особенности tf-idf
- методы глубокого обучения
- Внедрение, если есть требования к эффективности, вы можете сначала заморозить слой внедрения, а затем выполнить точную настройку в следующем раунде.
- Bi-lstm извлекает информацию о семантическом синтаксисе
Модели и интеграции
По какой-то причине мы перепробовали много моделей, но оказалось, что разрыв между простыми/сложными моделями невелик, может быть, максимум около 1 процентного пункта, всегда использовала команда benf, занявшая четвертое место в конкурсе AutoNLP.LinearSVM
На этот раз они использовалиLR
Модель стала четвертой
- выбор модели
- LienarSVM
- TextCNN
- TextRNN, Внимание и т.д.
- интегрированное обучение
- Интеграция с использованием смешивания
- Из-за большого масштаба самого набора данных и требования оперативности в конкурентной борьбе часто требуется выборка, поэтому можно нажать
8:2
разделить проверочный набор в соответствии с пропорцией
- полуконтролируемое обучение
- Используя информацию прогнозирования предыдущего раунда, тестовый набор, логит которого больше доверительного уровня (уменьшается в соответствии с количеством раундов), добавляется к обучающему набору следующего раунда.
- Выбор уверенности очень важен, иначе с тренировкой может стать хуже