Dialógusállapot
A dialogue management (DM) modul felelős a beszélgetés folyamatának irányításáért. Minden felhasználói sessionhez tartozik egy állapot (state), amely tárolja az eddigi interakciók eredményeit: felismert intentek, kinyert entitások, hiányzó információk listája.
Az ELIZA (1966) volt az első ismert chatbot, amely egyszerű mintaillesztéssel vezette a dialógust — a modern rendszerek összetettebb állapotkezelést alkalmaznak, de az alapelv hasonló: a bot tudja, hol tart a beszélgetés.
Slot-filling
A slot-filling technika akkor aktiválódik, amikor egy intent teljesítéséhez több információ szükséges. Például egy „repülőjegy foglalás” intenthez kell: indulási város, érkezési város, dátum, utasszám.
A DM modul nyilvántartja, mely slot-ok töltöttek ki, és melyek hiányoznak. A hiányzó slot-okért célzott kérdéseket tesz fel: „Melyik városból indulna?” — anélkül, hogy újra az egész folyamatot elkezdené.
State machine
A leggyakoribb implementációs minta a véges állapotgép (finite state machine). Minden állapot reprezentál egy beszélgetési fázist, az átmenetek pedig intent + entitás kombinációkhoz kötöttek.
states = {
"greeting": {"next": "await_intent"},
"collect_date": {"required_slots": ["date"], "next": "confirm"},
"confirm": {"action": "execute", "next": "done"}
}
Komplex rendszereknél a Rasa Core vagy a Microsoft Bot Framework dialog rendszere használható, amelyek deklaratív formában definiálják a dialógusfolyamatokat.
Kontextus kezelés
Többfordulós beszélgetéseknél a botnak emlékeznie kell az előző üzenetekre. A kontextus ablak tipikusan az utolsó 3–5 fordulót tartalmazza. LLM-alapú chatbotoknál a teljes beszélgetési history kerül a promptba; klasszikus NLP rendszereknél strukturált state objektum tárolja a releváns információkat.
A kontextus reset kritikus pont: ha a felhasználó témát vált, a DM modulnak fel kell ismernie és új session-t kell indítania — különben a régi slot-ok zavarják az új kérést.