intent recognition
**Intent recognition** (also called **intent classification** or **intent detection**) is the NLP task of identifying the **purpose or goal** behind a user's message in a conversational system. It answers the fundamental question: "What does the user want to do?"
**How Intent Recognition Works**
- **Input**: A user utterance (e.g., "What's the status of my order?")
- **Output**: A classified intent label (e.g., `order_status_inquiry`)
- **Confidence Score**: A probability indicating how confident the model is in its classification.
**Common Intent Categories**
In a customer service context:
- **Informational**: "What are your hours?" → `get_hours`
- **Transactional**: "I want to cancel my subscription" → `cancel_subscription`
- **Navigation**: "Transfer me to billing" → `route_to_billing`
- **Feedback**: "Your service is terrible" → `complaint`
- **Chit-Chat**: "How are you?" → `small_talk`
**Approaches**
- **Traditional ML**: Train a classifier (**SVM, Random Forest**) on TF-IDF features from labeled utterances. Fast and interpretable.
- **Deep Learning**: Fine-tune **BERT** or similar transformer on labeled intent data. Higher accuracy, handles paraphrases well.
- **LLM-Based**: Use a large language model with few-shot examples in the prompt to classify intents. No training data needed for new intents.
- **Hybrid**: Combine intent recognition with **named entity extraction** in a joint model (e.g., using **DIET classifier** in Rasa).
**Challenges**
- **Ambiguity**: "I need to change my flight" — is it `modify_booking` or `cancel_and_rebook`?
- **Multi-Intent**: "Cancel my order and subscribe to the newsletter" contains two intents.
- **Out-of-Scope Detection**: Recognizing when a user's intent doesn't match any defined category.
- **Domain Evolution**: New intents emerge as products and services change, requiring continuous updating.
Intent recognition is the **first processing step** in most dialogue systems — accurate intent classification is critical because all downstream processing depends on understanding what the user wants.