All guides
Practice now
Extra · Additional content

Conversational AI — CLU, Question Answering, and Bot Service

Conversational AI allows machines to hold useful dialogues with humans. Azure offers three complementary pieces: CLU understands intents, answers questions from a knowledge base, and Bot Service connects both with users.

What is Conversational AI?

Conversational AI lets systems understand and respond coherently in a multi-turn dialogue. It's not just answering questions — it's maintaining context, understanding intents, and executing actions based on what the user says.

🎯

Task bots

Help the user complete a specific action: booking a flight, checking a balance, placing an order.

📚

FAQ bots

Answer frequently asked questions from a knowledge base: policies, procedures, product documentation.

🤝

Hybrid assistants

Combine task + FAQ: they understand intents AND answer arbitrary questions, escalating to humans when needed.

The three Azure pieces for Conversational AI

CLU

Understands WHAT the user wants to do (intent) and extracts the necessary data (entities).

Question Answering

Answers open-ended questions by searching a predefined knowledge base.

Azure Bot Service

Infrastructure that connects everything with the user through channels (Teams, web, WhatsApp).

CLU — Conversational Language Understanding

CLU (successor of LUIS) is the Azure AI Language service that trains models capable of identifying intent (what the user wants to do) and extracting entities (the specific data within the message).

Intents

Classification of what the user wants to do. Each user message is mapped to a predefined intent.

"Book a flight to Madrid"

→ BookFlight

"Cancel my order number 123"

→ CancelOrder

"How much does express shipping cost?"

→ CheckPrice

"I want to talk to an agent"

→ EscalateToHuman

Entities

Specific data extracted from the message that the system needs to act. Types: learned, list, prebuilt.

"Book a flight to Madrid on Friday"

→ Destination: Madrid Date: Friday

"Cancel my order number 123"

→ OrderNumber: 123

"Two coffees and one tea with milk"

→ Product: coffee (x2), tea Modifier: with milk

Utterances

Example phrases that express each intent. More utterances = a more robust model against variations.

// Intent: BookFlight

"I want to go to Barcelona"

"I need a ticket to Rome"

"Flight to Paris please"

"How can I get to Lisbon by plane"

"Book a flight to Berlin tomorrow"

Recommended minimum: 15 utterances per intent.

The "None" intent — critical for the exam

Every CLU project must have a None intent that captures messages that don't correspond to any defined intent. Without it, the model tries to force every message into an intent — producing incorrect predictions with high confidence. The None intent is the bot's "I don't understand."

Training a CLU model — full process

1

Create a CLU project

In Azure AI Language Studio or via API. Choose the project's language(s) — CLU supports multiple languages in a single model.

2

Define intents

Create the intents the model should recognize. Always include the "None" intent. Clear, mutually exclusive names.

3

Define entity types

Learned (extracted from context), List (fixed values like "Madrid", "Barcelona"), Prebuilt (dates, numbers, emails — already pretrained).

4

Add and label utterances

Write 15+ examples per intent. For each utterance: assign an intent and mark the entities within the text (span labeling).

5

Train the model

Click "Train." The service uses transfer learning on pretrained . Process takes minutes/hours depending on volume.

6

Evaluate and debug

Review the confusion matrix per intent. Check misclassified utterances. Add more examples for intents with low precision/recall.

7

Deploy and call the API

Publish the model to a deployment name. The Prediction API returns: top intent, confidence score, extracted entities, all intents with scores.

Entity types in CLU

Learned

The model learns to extract them from context. "Book at [Hotel Ritz]" → HotelName. Flexible but needs labeled examples.

List

List of exact values and synonyms. "Red" = ["red", "crimson", "scarlet"]. Deterministic, no ML needed.

Prebuilt

Already-trained models: DateTime, Number, Email, URL, PersonName, etc. No labeling of your own.

Regex

Regular expression pattern. "Order number [A-Z]{2}\d{6}" → exact match for fixed-format codes.

Prediction API response

// POST /analyze

{

"topIntent": "BookFlight"

"confidence": 0.94

"intents": {

"BookFlight": {"score": 0.94}

"CheckPrice": {"score": 0.04}

"None": {"score": 0.02}

}

"entities": [

{"category": "Destination", "text": "Madrid"}

{"category": "Date", "text": "Friday"}

]

}

Question Answering — knowledge base

Question Answering (successor of QnA Maker) creates a knowledge base of question-answer pairs. When the user asks a question, the service searches for the most suitable answer by semantic similarity — not by exact keywords.

Knowledge sources

FAQ URLs

The service automatically extracts Q&A pairs from frequently asked questions web pages.

Files (PDF, Word, Excel)

Extracts content from documents. Section titles become questions, content becomes answers.

Manual (Chitchat)

Manually written Q&A pairs. Also includes prebuilt responses to casual conversation (hi, thanks, bye).

Editorial

Azure can suggest alternative questions for each pair based on linguistic variations.

Key features

Alternative questions

Each pair can have multiple phrasings of the same question. "How do I return a product?" = "How do I make a return?" = "I want to return something."

Rich answers

Answers can include markdown, images, suggested action buttons (Adaptive Cards).

Confidence score

Each answer comes with a score (0-1). If it's very low, the bot can say "I don't have information about that."

Active learning

The service analyzes questions without a good answer and suggests improvements to the knowledge base.

Multi-turn

Support for multi-turn conversations: a question can lead to follow-up questions.

Example Question Answering response

// Query: "How long does standard shipping take?"

{

"answers": [

{

"answer": "Standard shipping takes between 3 and 5 business days."

"confidenceScore": 0.92

"source": "shipping-FAQ.pdf"

"questions": ['

"How long does standard shipping take?"

"Normal delivery time"

]

}

]

}

Related labD4 · NLP and Language Processing

Build an FAQ bot with Custom Question Answering

Build a knowledge base with question/answer pairs and test it with a question phrased differently.

Create a question-and-answer knowledge base
Understand how the engine recognizes variations of the same question

+1 more...

7 min6 steps

CLU vs Question Answering — the key distinction

This is the most frequent exam question in Conversational AI. The fundamental difference: CLU understands what the user wants to do so the bot can act; Question Answering looks up information the user wants to know.

DimensionCLUQuestion Answering
Question it answersWhat does the user want to DO?What does the user want to KNOW?
OutputIntent + Entities (for the bot to act)Answer text (to show the user)
TrainingUtterances labeled with intents/entitiesQuestion-answer pairs
Typical example"Book a flight to Madrid on Friday""How much luggage can I bring?"
The bot afterwardExecutes an action (calls an API, books)Shows the answer text to the user
Result if no matchIntent: NoneLow score → "I couldn't find any information"

Use CLU when...

The bot must take actions (book, cancel, modify)
You need to extract specific parameters from the message
There are multiple distinct intents to recognize
The conversation flow depends on what the user wants to do

Use Question Answering when...

Users ask questions with predefined answers
You have an existing FAQ document or knowledge base
You don't need to extract entities or execute actions
The bot responds but doesn't act
Related labD4 · NLP and Language Processing

Challenge: pick the right AI service

No guided steps: read a scenario with several stacked requirements and pick, out of 4 AI services, the only one that meets them all.

Compare Azure OpenAI, CLU, Custom Question Answering, and Bot Service
Rule out options by elimination based on stacked requirements

+1 more...

4 min2 steps
Icon-machinelearning-165

Azure Bot Service — channels and architecture

Azure Bot Service is the infrastructure platform that hosts, connects, and manages the bot. It doesn't provide conversational intelligence — that comes from CLU or Question Answering. Bot Service manages channels, authentication, conversation state, and messaging.

Available channels

💼Microsoft Teams
🌐Web Chat
📱WhatsApp
💬Facebook Messenger
🟣Slack
✈️Telegram
📧Email
📞Twilio (SMS)

A single bot → multiple channels simultaneously without changing the code.

What Bot Service manages

Hosting the bot code: or as the bot's backend.
Conversation management: Maintains conversation state across turns (history, session data).
OAuth authentication: Lets the bot authenticate users with Azure AD, GitHub, Google, etc.
Bot Framework SDK: SDK in C# and Python to build the bot logic with dialogs and flows.
Analytics and monitoring: Usage metrics: messages per day, active users, most-used channels.

Orchestration — combining CLU + Question Answering

A real bot generally needs both services: CLU to handle user tasks and Question Answering to answer questions. Azure AI Language includes an Orchestration Workflow that automatically decides which of the two to route each message to.

Orchestration flow

1

User sends a message

"How long does shipping take?" or "I want to cancel my order"

2

Orchestration Workflow analyzes

Decides whether the message is a question (→ Question Answering) or a task (→ CLU). Based on the most probable intent.

3a

Route: Question Answering

If it's an informational question → searches the knowledge base → returns the answer to the user.

3b

Route: CLU

If it's a task → extracts intent + entities → the bot code executes the corresponding action.

4

Response to the user

The bot responds with the QnA information or with the result of the executed action.

Real example: airline bot

Goes to CLU (tasks)

"Book a flight to Madrid for January 15th"

"Cancel my reservation number RES-123"

"Change my seat to 14A"

"I need a wheelchair at the airport"

Goes to Question Answering (info)

"How much carry-on luggage can I bring?"

"What documents do I need to fly?"

"What is the cancellation policy?"

"Can I bring pets in the cabin?"

Decision table — what to use in each scenario?

ScenarioServiceReason
A bot that takes orders in a restaurantCLUNeeds to extract dishes, quantity, customization — these are entities of an intent
HR department FAQ botQuestion AnsweringOnly answers questions about policies, doesn't execute actions
An assistant that books meeting roomsCLUExtracts date, time, room, attendees — a task with multiple entities
Support bot using the product manual as its sourceQuestion AnsweringThe knowledge base is the manual — no actions involved
Bank bot: inquiries AND transfersCLU + QnA (orchestrated)Transfers require CLU; questions about rates require QnA
Deploying the same bot on Teams and WhatsAppAzure Bot ServiceMulti-channel management — not a CLU or QnA capability
A bot that authenticates the user with their Microsoft accountAzure Bot Service (OAuth)OAuth authentication is Bot Service's responsibility

Frequent exam traps

❓ Are CLU and Question Answering the same thing?

No. CLU classifies the user's intent and extracts entities so the bot can execute an action. Question Answering looks up a predefined text answer in a knowledge base. CLU → "the user wants to DO something"; QnA → "the user wants to KNOW something".

❓ Does Azure Bot Service include built-in NLP?

No. Bot Service is infrastructure (channels, hosting, authentication, conversation state). NLP comes from CLU, Question Answering, or other services connected to the bot. Without CLU or QnA, the bot doesn't understand natural language.

❓ Does LUIS still exist as a separate service?

LUIS was replaced by CLU (Conversational Language Understanding) within Azure AI Language Service. QnA Maker was replaced by Question Answering, also within Azure AI Language. The exam may use the old or new names — they are the same concept.

❓ Can the bot execute actions like making reservations with Question Answering?

No. Question Answering only returns text answers. For the bot to execute an action (book, cancel, modify), you need CLU to extract the intent and entities, plus custom code that calls the corresponding back-end systems.

Did you get this topic?

Test what you just learned

A pizza chain wants a chatbot on their website that: (1) lets customers place orders by saying 'I want a large margherita pizza and two colas', (2) answers questions like 'do you have gluten free?' or 'what's your delivery schedule?', and (3) also works on WhatsApp. Which combination of Azure services do they need?

Ready to test "Conversational AI — CLU, QnA, and Bot Service"?

Put what you learned to the test with original AI-901 exam questions.

Start AI-901 mock exam

Unlimited mock exams with the Pro plan

Log in to track your progress.