Процесс классификации текста в машинном обучении

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

«Это 24-й день моего участия в ноябрьском испытании обновлений. Подробную информацию об этом событии см.:Вызов последнего обновления 2021 г."

Общий конвейер классификации текста машинного обучения

Для общей версии машинного обучения Pipline классификации текста в основном следуйте следующей формуле:

Обзор каждого шага:

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

  • Данные могут быть грязными, например, с html-тегами, недопустимыми данными, и их необходимо удалить;
  • Текстовые данные могут потребовать сегментации слов, а затем удалить стоп-слова (de, le и т. д.) и знаки препинания;

2. Структура признаков

  • В общем, мы будем использовать признаки слов в качестве признаков для классификации текста.
  • Вы также можете добавить другие определяемые пользователем функции, такие как: длина текста, функции n-грамм (последовательные n слов как слово) и т. д.

3. Выбор функций

  • Использование слов в качестве признаков без выбора признаков может легко привести к десяткам тысяч или даже сотням тысяч измерений, что может стать катастрофой для вычислений. Даже если вычислительных ресурсов достаточно, это пустая трата ресурсов, потому что может быть только небольшое количество слов, которые действительно подходят для классификации;
  • Часто используют критерий хи-квадрат, взаимную информацию и другие индикаторы для фильтрации 1000-5000-мерных признаков;

4. Расчет веса

  • При использовании словесных признаков еще одним важным моментом является то, как присваивать значения каждому признаку.Общие веса: TF (частота слов), TFIDF (частота слов ° инвертированная частота документа).
  • На данный момент мы получили образец матрицы признаков;

5. Нормализация

  • На практике нам часто нужно нормализовать и нормализовать непрерывные признаки. То есть диапазон значений разных признаков не может быть слишком разным;

  • Стандартизация и нормализация могут: ускорить сходимость обучения модели, повысить точность модели;

  • Для дискретных функций нам нужно использовать OneHot для кодирования;

6. Разделение набора данных

  • Нам часто приходится использовать метод пропуска или метод перекрестной проверки, чтобы разделить данные на обучающую выборку, проверочную выборку и проверочную выборку;
  • Учебный набор используется для обучения модели, проверочный набор используется для настройки параметров, а тестовый набор используется для оценки эффекта обобщения модели;

7. Обучите модель классификации

Матрица признаков готова, следующим шагом является выбор модели классификации, такой как SVM или LR или ансамблевая модель RF, а затем обучение модели;

8. Оценка модели

●Как измерить качество модели?Мы, естественно, думаем о точности (acc): правильное правильное, неправильное неправильное, количество правильных выборок/количество целых выборок;

●Для случая, когда распределение категорий не очень однородно, точность не очень надежна.Идеальными показателями являются: уровень точности (точный или нет), уровень отзыва (неполный) и F1 (компромисс между ними);

9. Параметрический поиск

  • С индикаторами классификационная модель может иметь десятки параметров.Как мы должны выбрать конкретную комбинацию параметров, чтобы модель работала лучше всего в данный момент?
    • Вы можете использовать поиск по сетке для настройки параметров в ограниченном пространстве параметров, вы также можете использовать случайный поиск, чтобы каждый раз случайным образом выбирать конкретную комбинацию параметров, а затем выбирать наилучшую комбинацию параметров n раз;

10. Сохраните модель

Выбрана модель с оптимальными параметрами, нам нужно сохранить ее для последующей загрузки;

Доступно на ПитонеpickleБиблиотека сохраняет объекты модели;

11. Прогноз

  • Вы можете загрузить модель, сохраненную на предыдущем шаге, и выполнить автономный прогноз меток для новых данных;
  • Вы также можете инкапсулировать загруженную функцию прогнозирования модели в службу HTTP, чтобы обеспечить функцию мгновенного прогнозирования;