Реализация AI-автоматизации классификации заявок
Автоматическая классификация заявок — первый шаг к умному helpdesk. Система определяет тип, тему и приоритет входящей заявки быстрее и точнее, чем ручная сортировка.
Многомерная классификация
Каждая заявка классифицируется одновременно по нескольким измерениям:
class TicketClassification(BaseModel):
# Тематика
category: str # billing / technical / account / general
subcategory: str | None # детализация первого уровня
# Приоритет
priority: Literal["P1","P2","P3","P4"]
urgency_indicators: list[str] # признаки срочности из текста
# Характеристики
sentiment: float # -1 to 1
customer_type: str # new / existing / churn_risk
language: str
# Действие
recommended_team: str
auto_resolve_possible: bool # можно ли закрыть автоматически
similar_tickets: list[str] # ID похожих тикетов с решениями
Обучающая выборка из истории
Лучший источник данных — исторические тикеты с метками, проставленными операторами. Важно: качество разметки в истории часто низкое (операторы торопятся). Перед обучением — чистка данных: удалить неоднозначные примеры, выровнять классы.
Объём для хорошего классификатора: 500+ примеров на класс для BERT, 200+ для GPT few-shot.
Zero-shot классификация новых категорий
При появлении новой категории (новый продукт, новый тип обращений) не нужно переобучать модель. GPT-4o с описанием категории:
def classify_new_category(ticket: str, categories: list[CategoryDef]) -> Classification:
categories_text = "\n".join(
f"- {cat.name}: {cat.description}" for cat in categories
)
return llm.parse(f"Классифицируй заявку по категориям:\n{categories_text}\n\nЗаявка: {ticket}")
Автозакрытие простых заявок
Заявки типа «Спасибо!» после решения, «Отзыв жалобы», уведомления систем — закрываются автоматически. Правило: auto_resolve_possible = True AND priority = P4 AND sentiment > 0 → закрыть с автоответом.
Precision на автозакрытии должна быть > 99%: ошибочное закрытие реальной проблемы — недопустимо.







