mlТехническое задание Проект: Классификатор приоритета входящих IT-тикетов 1. Введение и цель проекта Разработать учебную систему автоматической классификации текстовых обращений в службу технической поддержки по четырём уровням приоритета: Low, Medium, High, Urgent. Система анализирует текст тикета и присваивает ему категорию срочности без участия оператора. Проект выполняется в рамках учебной дисциплины «Машинное обучение» с фокусом на воспроизводимость, интерпретируемость и соответствие поставленной задаче. Сложность архитектуры ограничена требованиями учебного задания — допускается использование только классических методов машинного обучения без применения предобученных трансформеров или облачных сервисов. 2. Источник данных и структура признаков Используется датасет с платформы Hugging Face: Console-AI/IT-helpdesk-synthetic-tickets Структура одной записи датасета включает следующие поля: Поле subject — строка, заголовок тикета (например: «Fwd: URGENT — Server down») Поле description — строка, развёрнутое описание проблемы пользователя Поле category — строка, тематическая категория тикета (например: «Network», «Hardware») Поле priority — строка, целевая метка класса со значениями: «Low», «Medium», «High», «Urgent» Поле createdAt — строка, временная метка создания тикета в формате ISO 8601 Общий объём данных: 500 записей в сплите train. Язык текста: английский. Распределение классов ожидается несбалансированным с преобладанием классов Low и Medium. Для построения модели используются только следующие поля: Признаки для обучения: объединённый текст из полей subject и description Целевая переменная: поле priority Поля category и createdAt сохраняются в рабочем датафрейме для возможного анализа распределения приоритетов по категориям или временным периодам, но не участвуют в формировании признакового пространства модели. Это требование обусловлено учебной задачей — демонстрация способности модели выделять признаки срочности исключительно из текстового контента без опоры на структурированные метаданные. 3. Подготовка текстовых данных Текстовые поля subject и description объединяются в единый признак text по правилу: text = subject + " " + description Пример преобразования: Исходные поля: subject = «URGENT: Database failure» description = «Production database is down since 10 AM» Результат: text = «URGENT: Database failure Production database is down since 10 AM» Предобработка текста включает следующие операции: Приведение всех символов к нижнему регистру Сохранение пунктуации и цифр без дополнительной очистки (пунктуация может нести смысловую нагрузку, например восклицательные знаки в срочных тикетах) Удаление стоп-слов выполняется на этапе векторизации встроенным механизмом TF-IDF, а не предварительной обработкой Пропуски в полях subject или description отсутствуют согласно спецификации датасета. При их обнаружении применяется заполнение пустой строкой.