next up previous
Next: References Up: Information states and dialogue Previous: Associating accommodation with tacit

Accommodation in a dialogue system

In this section we show an example of how the dialogue system described above can handle accommodation of questions and plans. The example is actual (typed) dialogues with the system, supplemented with information about dialogue moves, tacit moves, and (partial) illustrations of the systems dynamic information state at different stages of the dialogue.

$S: Welcome to the travel agency

$U: flights to paris.


# accommodatePlan
		# setRec(private.plan,[raise(A11#11(how=A)),
				raise(B11#11(to=B)),
				raise(C11#11(return=C)),
				raise(D11#11(month=D)),
				raise(E11#11(priceclass=E)),
				respond(F11#11(price=F))])

# accommodateQuestion
		# delRec(private.plan,raise(A11#11(how=A)))
		# pushRec(shared.qud,A11#11(how=A))

# integrateLatestMove(answer(usr))
		# popRec(shared.qud)
		# addRec(shared.bel,how=plane)

# accommodateQuestion
		# delRec(private.plan,raise(A11#11(to=A))) 
		# pushRec(shared.qud,A11#11(to=A)) 

# integrateLatestMove(answer(usr))
		  # popRec(shared.qud)
		# addRec(shared.bel,to=paris)

# refillAgenda
		  # popRec(private.plan)
		  # pushRec(private.agenda,raise(A11#11(return=A)))  

private =
		    agenda = [raise(A11#11(return=A))]
		    plan = [raise(A11#11(month=A)),
				            raise(B11#11(priceclass=B)),
				            respond(C11#11(price=C))]
shared =
		     bel= [(to = paris)
				           (how = plane)]
		     lm = answer(usr,[how=plane,to=paris]) 

$S: From where do you want to go?

After interpreting the users utterance as an answer move with the content [how=plane,to=paris], the system starts checking if there are any u-rules which apply. Following the ordering of the rules given in the list of rule definitions, it first checks if it can perform integrateLatestMove(answer(usr)). However, this rule requires that the content of the answer must be relevant to the topmost question on QUD. Since the QUD is empty, the rule does not apply. It then tries to apply the accommodateQuestion rule, but since the plan is empty this rule does not apply either. However, accommodatePlan (below)* does apply, since there is (in the SIS) a plan such that the latest move is relevant to that plan. More precisely, the latest move provides an answer to a question Q such that raising Q is part of the plan.


Once this rule has been executed, the update algorithm starts from the beginning of the rule list. This time, it turns out the preconditions of accommodateQuestion hold, so the rule is applied. As a consequence of this, the preconditions of integrateLatestMove(answer(usr)) now hold, so that rule is applied. Actually, it turns out that the latest move is also relevant to a second question (concerning the destination) in the plan, so that question is also accommodated and its answer integrated. Since no additional u-rules apply, the system proceeds to perform the next action on the plan: asking where the user wants to travel from. At the end of the dialogue fragment, the dynamic information state after the system has uttered this question is shown.


next up previous
Next: References Up: Information states and dialogue Previous: Associating accommodation with tacit
Staffan Larsson
10/11/1999