NLP intents are the brain of your chat bot. Customers type freeform; the bot maps to intents and responds. Bad intent design produces a bot that misroutes 40 percent of conversations and trains users to type “agent” first.
Intent definition
An intent represents one user goal. “Reset password” is an intent. “Help with login” is too vague (login can mean reset, account locked, MFA, SSO failure).
Each intent needs:
- Clear name (verb + noun).
- 15 to 30 training utterances.
- A primary response or workflow.
- A clear scope (what is in, what is out).
Below 15 utterances, the model overfits. Above 50 per intent, you are wasting effort that could go into more intents.
Training utterances
Diverse phrasings beat repetition. For “Reset password”:
- “I forgot my password”
- “Can’t login, need to reset”
- “How do I reset my password”
- “Password is wrong, what do I do”
- “Locked out of account”
Avoid duplicates with single-word changes. The model learns from variation, not repetition.
Pull real examples from your transcript history. Synthetic utterances drift from how customers actually write.
Confidence threshold
The bot returns the top-matching intent with a confidence score 0-1. Configure threshold:
- Above 0.85: high confidence, respond directly.
- 0.6 to 0.85: medium, confirm with user (“Did you mean X?”).
- Below 0.6: low, escalate to agent or fallback.
Below 0.6 is the danger zone. Responding to low-confidence intents creates bad experiences.
Fallback behavior
When no intent matches, the bot needs a graceful fallback:
- Offer to connect with an agent.
- Surface top 3 KB articles via search.
- Ask a clarifying question.
The wrong fallback (“I don’t understand, please rephrase”) frustrates users. Always offer escape to human.
Intent collisions
Two intents with overlapping utterances confuse the model. “Reset password” and “Change password” both trigger on “I want to update my password.”
Two fixes:
- Merge into one intent if the response is the same.
- Add disambiguating utterances: “Reset password” includes “forgot” examples; “Change password” includes “want to update” examples.
Run intent collision reports monthly to find drift.
Multi-language
Each language is a separate intent set. Translation is not enough; cultural phrasing differs. “Login problem” in English maps to different patterns in Spanish (“problemas para iniciar sesión,” “no me deja entrar”).
If you support 3+ languages, dedicate localized resources to intent training. Auto-translation produces brittle bots.
Entity extraction
Beyond intent, extract entities (specific values from the message). “I want to upgrade to the Pro plan” has intent “Upgrade plan” and entity “Pro plan.”
Configure entities for: plan names, product names, dates, amounts, account identifiers. The bot uses entities to personalize responses or pre-fill forms.
Continuous improvement
Bot conversations should be reviewed weekly:
- Conversations escalated to agent: was the intent recognizable?
- Conversations with low confidence: which intents were close?
- Conversations marked unhelpful: where did the bot fail?
Add training utterances based on misses. Quality compounds.
Reporting
Track per intent:
- Trigger volume (how often it fires).
- Confidence distribution (average confidence at trigger).
- Resolution rate (did the user get what they needed).
Low-volume intents may be redundant. Low-confidence intents need more training data. Low-resolution intents need response improvement.
What to do this week
Pull last week’s bot conversations marked as unhelpful. Identify the top 3 missed intents. Add 10 training utterances each and retest.