Является ли это хорошим подходом для классификации тикетов, которые содержат описание и логи?

Вопрос или проблема

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

Поле логов не всегда присутствует, но когда оно есть, это хороший индикатор целевого класса обращения.

Я создал классификатор на основе CNN, который может классифицировать обращения на основе поля логов, и SVM классификатор с функциями на основе TFIDF для поля описания.

Я подумываю о добавлении вероятностей вывода классификатора CNN в классификатор SVM на основе TFIDF, чтобы объединить модели в виде столбца признаков.

Есть ли лучший способ объединить эти модели?

Есть ли лучший способ подойти к этой задаче, не имея две отдельные модели?

Во-первых, вам следует прояснить свои нефункциональные требования (скорость, потребление памяти). Убедитесь, что у вас есть четкое представление о том, кто будет поддерживать программное обеспечение и каковы будут затраты, если вы внесете какие-то изменения. Более высокая точность может не стоить усилий.

Самый простой способ объединить n моделей — это усреднение их предсказаний. Эта техника часто используется на Kaggle. См. главу 2.6 по ссылке https://arxiv.org/pdf/1707.09725

Вы пробовали простой MLP с признаками tf-idf? Каковы результаты? Обычно он работает намного быстрее SVM, если у вас много классов.

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

Ответ или решение

Подход, который вы описали, для классификации тикетов с использованием двух отдельных моделей — CNN для логов и SVM с TF-IDF для описаний — имеет свои преимущества и недостатки. Однако стоит рассмотреть возможные улучшения, чтобы повысить эффективность системы классификации.

1. Объединение моделей

Ваше предложение о добавлении вероятностей, полученных от CNN, в качестве признаков для SVM, является разумным шагом. Этот подход можно рассматривать как метод ансамблирования, который может улучшить общую производительность модели. Однако есть и другие способы объединить модели, которые могут дать более качественный результат:

  • Метод стекинга (Stacking): Как упомянуто, стеккинг учитывает предсказания нескольких базовых моделей (в вашем случае CNN и SVM) в качестве входных данных для мета-модели. Это может быть реализация простой логистической регрессии, которая использует выходы предыдущих моделей для окончательной классификации. Это решение может быть более качественным, так как мета-модель научится оптимально сочетать характеристики предсказаний обеих моделей.

  • Гибридная модель: Вместо того чтобы использовать две отдельные модели, вы можете создать единую гибридную архитектуру, комбинирующую CNN для обработки текстов и логов. Например, вы можете использовать многоканальную CNN, где один канал будет обучаться на текстовых данных, а другой — на логах. Это позволит модели увидеть полное представление о каждом тикете и применить более комплексные взаимосвязи между текстом и логами.

2. Альтернативные алгоритмы

Вы упомянули использование SVM с TF-IDF. Имейте в виду, что MLP (многослойные перцептроны) могут работать быстрее и совершенно подходить для задач с несколькими классами. Попробуйте протестировать производительность MLP на ваших данных, возможно, вы получите очень конкурентоспособные результаты при меньших вычислительных затратах.

3. Параметры и не функциональные требования

Прежде чем окончательно выбрать архитектуру, убедитесь, что вы оптимально определили не функциональные требования вашего проекта — такие как скорость обработки, потребление памяти и масштабируемость. Эти аспекты могут значительно повлиять на выбор решения. Если модели сложные и медленные, это может привести к задержкам в обработке тикетов и ухудшению оценки правильности работы системы.

4. Обработка пропусков

Обратите внимание, что поле логов может отсутствовать в некоторых тикетах. Используйте подходы к обработке отсутствующих данных, например, заполнение нулевыми значениями или добавление дополнительного признака, который указывает на наличие логов. Это поможет модели стандартизировать входные данные и повысить её устойчивость.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...