Slot Filling
Definition
Slot filling is a structured approach to information gathering in task-oriented dialogue systems. Each task (e.g., book a flight, process a return) requires a set of parameters β slots β to be completed before the action can be performed. The dialogue manager tracks which slots are filled (provided by the user) and which are empty, generating targeted questions to collect missing values. Slots can be filled proactively (user provides all info upfront) or reactively (bot asks for each missing piece). Validation rules ensure filled slots contain valid values before proceeding.
Why It Matters
Slot filling enables chatbots to complete complex, multi-step tasks reliably. Without it, bots can only handle queries where the user provides all necessary information in a single message. With slot filling, the bot can guide users through booking, registration, troubleshooting, or any workflow that requires gathering structured data β significantly expanding the range of tasks the chatbot can automate.
How It Works
Each task is defined with a set of required slots and optional slots, each with an associated entity type. At each dialogue turn, the system checks which required slots remain empty. It then selects the highest-priority empty slot and generates a prompt to ask for it. When the user responds, entity extraction populates the slot. This continues until all required slots are filled, at which point the system executes the action (API call, database write, etc.).
Real-World Example
A user says 'I want to book a demo'. The bot identifies the book_demo intent. Required slots: name, email, company, preferred_date. The user provided none upfront, so the bot asks for each in sequence until the booking is complete.
Common Mistakes
- βAsking for slots in a rigid, robotic order rather than adapting when the user provides multiple values at once.
- βNot handling slot corrections β when a user says 'actually, make it Tuesday instead', the system should update the filled slot.
- βRequiring too many slots, creating a tedious questionnaire-like experience instead of a natural conversation.
Related Terms
Entity Extraction
Entity extraction is the process of identifying and pulling specific pieces of information from a user's message β such as names, dates, order numbers, or locations. These extracted values (entities) fill in the details the chatbot needs to complete a task, working alongside intent recognition to fully understand the user's request.
Dialogue Management
Dialogue management is the component of a conversational AI system that tracks conversation state and decides what the bot should do next β ask a follow-up question, retrieve information, take an action, or hand off to a human. It is the 'brain' that orchestrates a coherent, goal-directed conversation across multiple turns.
Multi-Turn Conversation
A multi-turn conversation is a chatbot interaction that spans multiple back-and-forth exchanges, where each message builds on what came before. The bot maintains context across turns β remembering earlier questions, collected data, and conversation threads β enabling complex, goal-directed interactions that can't be resolved in a single exchange.
Intent Recognition
Intent recognition is the process by which a chatbot identifies the goal or purpose behind a user's message. It classifies free-form user input into predefined categories (intents) β such as 'check order status', 'request refund', or 'get pricing' β enabling the bot to route the conversation appropriately.
Conversation Flow
A conversation flow is the structured path a chatbot conversation takes from the user's opening message to a resolution. It defines the sequence of bot messages, questions, branches, and actions β mapping out how the bot guides users through different scenarios and what happens at each decision point.
Ready to build your AI chatbot?
Put these concepts into practice with 99helpers β no code required.
Start free trial β