ELIZA chatbot beszélgetés
ARCHITEKTÚRA

Dialogue management

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.