Вопрос или проблема
Я работаю с системой классификации текста. Здесь мой набор данных содержит около 30 намерений. Но проблема в том, что у меня нет системы, разработанной для обработки входных данных, которые не попадают ни под одно из намерений. Поэтому в этом случае я собираюсь обучить модель One class classification
. Чтобы научить ее, как выглядит нормальный data, я собираюсь объединить все мои обучающие данные (по всем намерениям) и обучаться на них. Какая комбинация извлечения признаков и алгоритмов будет лучше всего подходить для этих задач? Есть ли какие-либо компромиссы, лучшие практики или другая информация, которую нужно знать?
Просто имейте n_classes + 1
намерений. Назовите последнее ‘Прочее’. Соберите некоторые данные, которые не подходят ни под одно из ваших 30 намерений, в этот класс. Относитесь к этому как к новому намерению и обучите свою модель для этих 31 намерения/класса. Лучшая модель SOTA для классификации текста будет microsoft/deberta-v3-base. У вас все будет хорошо. И оцените соответствующим образом.
Ответ или решение
Какой лучший метод извлечения признаков использовать для обнаружения новизны/аномалий в текстовой области?
Вопрос о выборе наилучшей техники извлечения признаков для задач обнаружения новизны или аномалий в текстовой классификации является актуальным для специалистов в области информационных технологий. Ваша ситуация подразумевает обучение модели одноклассовой классификации, где необходимо выявить тексты, не принадлежащие к заранее определенным 30 категориям.
1. Особенности задачи
Вы используете обучение модели с одним классом, что подразумевает необходимость в распознавании "нормальных" данных. Ваша идея объединить все имеющиеся данные и использовать их для обучения модели — это правильный подход. Однако для достижения оптимальных результатов важно правильно выбрать метод извлечения признаков и алгоритм.
2. Метод извлечения признаков
Для работы с текстами и их классификации одним из самых эффективных методов извлечения признаков на сегодняшний день является использование трансформеров.
Рекомендуемые методы:
- TfidfVectorizer: Простой, но эффективный способ извлечения признаков из текстов, который учитывает частоту слов в документах.
- Word Embeddings (например, Word2Vec, GloVe): Эти методы позволяют представлять слова в виде векторов, захватывающих семантические отношения.
- Использование моделей трансформеров: Наиболее актуальной и мощной техникой является использование моделей трансформеров, таких как
microsoft/deberta-v3-base
. Данные модели демонстрируют лучшие результаты по сравнению с традиционными методами благодаря способности учитывать контекст слов в предложениях.
3. Алгоритмы и их комбинирование
После извлечения признаков необходимо выбрать алгоритм для построения модели:
- Autoencoder: Поскольку ваша задача связана с аномалиями, специальные коды (autoencoders) могут помочь выявить отклонения от нормы.
- 孤立森林 (Isolation Forest): Этот метод подходит для обнаружения аномалий и может быть эффективен в вашем случае.
- SVM с ядром одноклассовой классификации: Оптимально подходит для обучения на одноклассовых данных.
4. Торговые офферы и лучшие практики
Работая над вашей системой, обратите внимание на следующие аспекты:
- Предварительная обработка данных: Удаление стоп-слов, лемматизация и нормализация текста значительно повлияют на качество извлечения признаков.
- Совершенствование модели: Регулярно обновляйте модель, включая новые данные из категории "Другие".
- Метрики оценки: Убедитесь, что используете правильные метрики, такие как ROC-AUC, для оценки эффективности модели в условиях одноклассовой классификации.
Заключение
Общая комбинация использования трансформеров для извлечения признаков и алгоритмов, ориентированных на аномалии, позволит вам построить эффективную систему для классификации текстов. Не забывайте о том, что постоянная оценка и улучшение модели — ключ к успеху в решении задач аномального детектирования.