Modulul de control al dialogului este partea centrala a unui sistem de dialog, de el depinzând modul în care sistemul poate sustine un dialog cât mai natural. Chiar daca si asupra proiectarii partii de control a sistemelor de dialog exista pareri împartite, în general se pleaca de la ideea ca dialogul poate fi vazut ca un automat finit determinist, care se afla în orice moment într-o stare bine definita, având ca intrari actiunile utilizatorului [14].
Controlul dialogului se afla în strânsa legatura cu modelul de interactiune. O implementare a partii de control independenta de domeniul de aplicatie, si care foloseste modelul de interactiune ca suport, ofera o flexibilitate si portabilitate sporita sistemului de dialog, precum si independenta fata de domeniul de aplicatie.
Principala functie a modulului de control al dialogului este determinarea la un moment dat, pe baza caracteristicilor domeniului de aplicatie, a contextului conversatiei cu un utilizator si a ultimei lui formulari, a urmatoarei actiuni a sistemului, si anticiparea, eventual chiar determinarea, continutului urmatoarei formulari utilizator. Pe aceasta baza, modulul de control al dialogului efectueaza urmatoarele actiuni principale: [3]
Controlul dialogului este îngreunat de o comportare "naturala" a utilizatorului, sistemul trebuind sa decida ce actiuni sa întreprinda când formularile utilizatorului sunt ambigue sau nu contin suficiente informatii.
Proiectarea modulului de control al dialogului este dependenta, pe lânga modelul de interactiune, si de analizorul semantic (vezi figura 3.1) (pentru prezentarea analizei semantice a se vedea [10]). Chiar daca analizorul semantic ofera o interfata convenabila, ramân doua sarcini importante care trebuie rezolvate la nivelul controlului dialogului: identificarea actiunilor utilizatorului si generarea formularilor catre utilizator (gestionarea iesirii) [6].