Что такое распознавание намерений
Пользователь пишет «хочу что-то синее и дышащее для пробежки» — система должна понять: это запрос на товарную рекомендацию, категория «спортивная обувь», параметры «синий, дышащий материал». Это и есть задача intent recognition + entity extraction в связке.
Намерение — это ответ на вопрос «что пользователь хочет сделать?», а не «что именно он ищет?»:
find_product— хочет найти товарcompare_products— хочет сравнить вариантыcheck_availability— хочет узнать наличиеtrack_order— хочет статус заказаinitiate_return— хочет вернуть товарget_help— нужна помощь общего характера
Как работает классификация намерений
Современные системы используют несколько подходов:
Fine-tuned модели: небольшая модель (BERT, DistilBERT) дообучается на размеченных диалогах конкретного магазина. Работает быстро, дёшево в инференсе, но требует разметки обучающих данных.
LLM с prompting: запрос и список возможных намерений передаются языковой модели. Не требует разметки, гибко добавлять новые намерения, но дороже в инференсе.
Гибридный подход: LLM для редких и сложных случаев, маленькая модель для типовых — оптимум по стоимости/качеству.
Запрос: "когда придёт мой заказ"
→ Intent: track_order (confidence: 0.94)
→ Entity: [implicit: order_id нужен]
→ Action: запросить order_id у пользователя
Почему intent recognition критичен в e-commerce
В диалоговых ассистентах для покупок один неверный intent ломает весь сценарий. Пользователь, получивший нерелевантный ответ, не уточняет запрос — он закрывает диалог.
| Неверный intent | Последствие |
|---|---|
| Transactional → Informational | Покупатель готов купить, но получает статью — пауза конверсии |
| Return → Product discovery | Пришедший с возвратом видит рекламу новых товаров — раздражение |
| Out-of-scope не определён | Система пытается ответить на вопрос вне своих компетенций — hallucination |
Совет: всегда проектируйте отдельный интент
out_of_scopeи чёткий сценарий для него: «Я не могу помочь с этим, переключаю на оператора». Отсутствие этого интента — причина большинства провальных диалогов.
Intent confidence и fallback
Большинство классификаторов возвращают вероятность принадлежности к каждому классу, а не просто победителя. Низкая уверенность (confidence < порога) — сигнал к действию:
- Задать уточняющий вопрос: «Вы хотите найти товар или узнать статус заказа?»
- Переключить на оператора: если пользователь в затруднении и stakes высоки (возврат, претензия)
- Запросить переформулировку: «Я не уверен, что правильно понял — уточните, пожалуйста»
Оптимальный порог зависит от задачи: для транзакционных намерений порог должен быть выше — цена ошибки больше.