Реалізація 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 класифікація нових категорій
При появі нової категорії (новий продукт, новий тип звернень) не потрібно переlearn модель. 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%: помилкове закриття реальної проблеми — недопустимо.







