Peter Bohlin, Robin Cooper, Elisabet Engdahl and Staffan LarssonInformation States and Dialogue Move Engines |
[Full Text] [send contribution] [debate procedure] [copyright] |
No | Comment(s) | Answer(s) | Continued discussion |
---|---|---|---|
1 |
16.12.99 Johan Boye |
27.1.00 Larsson et al. |
|
2 |
1.2.00 Joris Hulstijn |
3.2.00 Larsson et al. |
|
2 |
22.2.00 Ingrid Zukerman |
29.5.00 Larsson et al. |
|
C1. Johan Boye (16.12.99):
One thing that bothers me about your paper is that you do not clearly state what kinds of dialogue applications your architecture is intented to manage (is it just info-seeking applications as in the example, or do you expect to handle a broader class?). The reader might easily get the impression that your approach is more general (or less general) than it really is.
Another matter I find obscure is the relation between your general architecture and the concrete system GoDiS. By the example in Section 6, one gets the impression that GoDiS has something to do with travel information, but that is not clearly stated anywhere. Or are you saying that GoDiS is an instance of the general framework where the update and selection rules are specified, but the domain is not fixed? Please clarify this issue.
You should also motivate the choice of data structures in your architecture. As it is presented now, you have fixed the "QUD" and "AGENDA" fields to be "stacks", the "PLAN" field to be a "list", and the "BEL" field to be a "set". Though this is not spelled out in your paper, it seems likely to me that this will have operational consequences for every dialogue application which is built on top of this architecture; e.g. the actions on the agenda will always be executed in the opposite order they were put on the agenda; the questions under discussion will be addressed in an order opposite to that they were put on the QUD stack. It is also not clear to me what you mean is the difference between a "list" and a "set"; is it that a list can contain repetitions while a set cannot, or is it that the order of the elements is of importance in a list but not in a set? Or is it both (or neither)?
Considering that you claim your architecture to be "general", it is somewhat surprising that you have already taken a lot of low-level design decisions, especially as they are not very well motivated in the text.
Another somewhat surprising property of your architecture is that there doesn't seem to be any explicit representation of the objects under discussion (a "flight" would be a typical object in your example). I first thought this was the role of the "QUD" field, but after looking at the example in Section 6, I understand that this is not so. In that example, it seems to be implicit that all questions, actions and beliefs concern the same object/flight; your formal language doesn't seem to be able to represent a situation where several flights are under discussion. But this would be a very common situation in your flight-booking scenario; consider the case where the system has suggested two flight alternatives and the user wants to discuss their relative merits.
Some detailed comments:
In two places in the article you refer to "our dialogue" (beginning
of Section 5.1 and beginning of Section 5.2). I assume that this
is the dialogue mentioned in one of the footnotes. As this example
dialogue seems to have been quite influential when you designed your
architecture, it would be useful for the reader to have a proper
reference to where that dialogue can be found.
In Section 4.2, you say "The semantics (if it deserves the name)...". What do you mean by this? Either the semantics is appropriate for your needs or it isn't. If it isn't, then you should tell the reader what is wrong with the semantics, and how you intend to modify it for a future version.
In the selection algorithm in Section 4.1, one gets the impression that also selection rules can perform updates to internal data structures, although this is not mentioned when selection rules are introduced (in Section 2).
Best regards,
Johan Boye,
CTT and Telia Research
A1. Staffan Larsson et al. (27.1.00):
Johan Boye comments:
I have some questions and comments to the authors of the paper"Information States and Dialogue Move Engines".
One thing that bothers me about your paper is that you do not clearly state what kinds of dialogue applications your architecture is intented to manage (is it just info-seeking applications as in the example, or do you expect to handle a broader class?). The reader might easily get the impression that your approach is more general (or less general) than it really is.The authors reply:
When we talk of "general architecture" at the beginning of the paper we are referring to something that is now embodied in a toolkit called TRINDIKIT (http://www.ling.gu.se/research/projects/trindi/trindikit.html). This is intended to provide a general architecture in which it is possible to experiment with various kinds of information state and update rules. For this there is in principle no limit to the kind of dialogue systems that could be implemented using the toolkit. The GoDiS system (available from the TRINDIKIT webpage) is a small sample implementation which was created using the toolkit. It handles a very specific type of information seeking dialogue (flight booking) and at this stage is meant to illustrate ideas that we have about possible information state transitions and is not large enough yet to be something that is practically useful.
Johan Boye comments:
Another matter I find obscure is the relation between your general architecture and the concrete system GoDiS. By the example in Section 6, one gets the impression that GoDiS has something to do with travel information, but that is not clearly stated anywhere. Or are you saying that GoDiS is an instance of the general framework where the update and selection rules are specified, but the domain is not fixed? Please clarify this issue.
The authors reply:
There are various levels of specificity involved here. The
toolkit TRINDIKIT specifies a general architecture and a format for
update rules, selection rules, information states and modules that can
be interfaced with the dialogue move engine (control, interpreter,
generator, input and output modules). This allows the implementer to
specify a number of modules to make a generic dialogue system that can
be combined with different modules to make particular specific
instances of dialogue systems. For example, the implementer may
decide to use TRINDIKIT to specify, information state type, update
rules, selection rules and other modules external to the dialogue move
engine (control module, interpreter, generator, input and output
modules). The collection of these modules that we have specified for
GoDiS form such a generic dialogue system. In order to make a fully
instantiated system you in addition need a lexicon, a database and
domain knowledge. The idea of that you should be able to substitute
different instances of these modules with the same update rules etc
and thus obtain different instances of generic GoDiS. We should
emphasize, however, that what we have implemented at the moment are
very small and in some cases quite trivial intances of such modules to
illustrate the design we intend.
Johan Boye comments:
You should also motivate the choice of data structures in your architecture. As it is presented now, you have fixed the "QUD" and "AGENDA" fields to be "stacks", the "PLAN" field to be a "list", and the "BEL" field to be a "set". Though this is not spelled out in your paper, it seems likely to me that this will have operational consequences for every dialogue application which is built on top of this architecture; e.g. the actions on the agenda will always be executed in the opposite order they were put on the agenda; the questions under discussion will be addressed in an order opposite to that they were put on the QUD stack. It is also not clear to me what you mean is the difference between a "list" and a "set"; is it that a list can contain repetitions while a set cannot, or is it that the order of the elements is of importance in a list but not in a set? Or is it both (or neither)?The authors reply:
We answer the easy question first: A list differs from a set in that the list is ordered. A set cannot contain repetitions, whereas a list can. The datatypes are fully specified in the TRINDIKIT manual (http://www.ling.gu.se/research/projects/trindi/manual10/index.html). We believe this to be standard use of the terminology in computer science.
Concerning the choices of datastructures, we hope that it is clear from the answers we have given above that the general TRINDIKIT architecture does not require the specific choices of datastructures which we are using by way of illustration in GoDiS. Our general strategy has been to use as simple datastructures as possible and make them successively more complicated as the need arises. This is something that is possible given the kind of notational power and modularity provided by TRINDIKIT. A change of datastructures in successive versions of the system does not involve a wholesale reimplementation of the system. What we are presenting in this paper is not quite as simple as what we started with, but still it is absurdly simple in many respects and we have been surprised that it allows us to deal with some fairly sophisticated dialogue phenomena. There are, however, many basic phenomena that it will not deal with yet, e.g. anaphora.
Nevertheless we have some motivation for the specific choices we have made:
- - QUD is a stack. This is meant to reflect the fact that dialogues can be nested; a question q1 can be met by a counterquestion q2, and only (the story goes) when q2 has been answered can q1 be answered. Actually, this is a simplification of Ginzburg's theory where the QUD is a partially ordered set. In the current implementation we do not rely on the fact that the QUD is a stack rather than, say, a set, since there is never more than one question on the QUD. However, we anticipate that the stack structure will be useful when we introduce e.g. clarification subdialogues. We make rather more restricted use of the QUD than Ginzburg suggests. For us it represents questions that are currently being addressed rather than a collection of questions that could be relevant and taken up. It is thus something very local for us and the number of elements is small at most two or three. It does not seem to be the case that dialogues can be deeply nested in the sense that short answers can be given to questions which were introduced several turns ago. Such unresolved questions can, of course, be addressed later in the dialogue but they have to be explicitly taken up again, e.g. with locutions like "So, the answer to your first question is, 'no'" or "Regarding the issue of whether,..." or even "So, no, John didn't finish the report". We would want to take this as an indication that the question is no longer on QUD and has to be reintroduced. We do not currently have a treatment of such cases, but it is possible that in order to deal with this one would, in addition to our local QUD, need a collection of questions introduced in the dialogue that have not yet been resolved. This we assume would be a set rather than a stack since the questions need not be reintroduced in reverse order as required by a stack. The nesting structure associated with the QUD stack is, we think, very shallow.
- - AGENDA is a stack. For the agenda, order matters since recent issues are assumed to be more salient and important than older issues. For example, if on participant has an action on the agenda to ask a question but the other participant asks another question, the action to answer the latter question will be pushed on the agenda. Thus, the latter question will be asked first. The agenda, like QUD, is for us a very local affair representing the one or two things that are to be done next. This is in contrast to the PLAN which contains more long term goals the agent has for the dialogue.
- - PLAN is a list. The plan must be ordered, since some actions need to be performed before others. However, a stack is not sufficient since it does not allow checking membership of non-topmost elements. In GoDiS, answers which do not match a question on QUD are matched against questions in the plan, which requires the membership check not available for stacks. Actually, a partially ordered set might be more useful than a list for the plan, since order does not always matter. However, we have not yet implemented this datastructure or explored its usefulness. In the current version of GoDiS, we actually use what we call a "stackset", which is like a stack but with the additional possibility of membership checking and deletion of non-topmost elements. This is a simpler structure than a list (in terms of the number of available conditions and operations), and is thus to be preferred over lists.
- - BEL is a set. No order is imposed on the beliefs, but membership checking is needed. Sets are also very simple datastructures. And you want a set rather than a multiset (or bag) because there is no point in representing the same belief twice.
It must be stressed that the particular GoDIS information state described in the paper is not in any way implied by the general TRINDIKIT architecture. What the architecture does is to give methods for defining and processing information states; it is up to the system designer to do the rest.
Also, the choice of datatypes should itself be seen as a research issue where the appropriateness of different datastructures for modelling attitudes and discourse units is investigated and explored. This means that the current choice of datastructures for GoDiS may be altered in future versions of the system if there are good reason for it.
Johan Boye comments:
Considering that you claim your architecture to be "general", it is somewhat surprising that you have already taken a lot of low-level design decisions, especially as they are not very well motivated in the text.
The authors reply:
Johan Boye comments:
Another somewhat surprising property of your architecture is that there doesn't seem to be any explicit representation of the objects under discussion (a "flight" would be a typical object in your example). I first thought this was the role of the "QUD" field, but after looking at the example in Section 6, I understand that this is not so. In that example, it seems to be implicit that all questions, actions and beliefs concern the same object/flight; your formal language doesn't seem to be able to represent a situation where several flights are under discussion. But this would be a very common situation in your flight-booking scenario; consider the case where the system has suggested two flight alternatives and the user wants to discuss their relative merits.
The authors reply:
Johan Boye comments:
Some detailed comments:
In two places in the article you refer to "our dialogue" (beginning of Section 5.1 and beginning of Section 5.2). I assume that this is the dialogue mentioned in one of the footnotes. As this example dialogue seems to have been quite influential when you designed your architecture, it would be useful for the reader to have a proper reference to where that dialogue can be found.
The authors reply: The dialogue is available at http://www.ling.gu.se/SLSA/dialog.html.
Johan Boye comments:
In Section 4.2, you say "The semantics (if it deserves the name)...".
What do you mean by this? Either the semantics is appropriate for
your needs or it isn't. If it isn't, then you should tell the reader
what is wrong with the semantics, and how you intend to modify it for
a future version.
The authors reply:
Johan Boye comments:
In the selection algorithm in Section 4.1, one gets the impression
that also selection rules can perform updates to internal data
structures, although this is not mentioned when selection rules are
introduced (in Section 2).
The authors reply: The idea was that selection rules specify a move to be performed,
but they are also allowed to update the information state if
necessary. In later versions of the TRINDIKIT, all rules are update
rules (i.e. they can only update the information state). In this new
approach, selections rules are update rules which modify the
data structure specifying the next move(s).
C2. Joris Hulstijn (1.2.00):
I have a comment for the discussion of Boylin et al, and especially on their reply to comments by Boye. It concerns the notion of QUD from Ginzburg's work and the way it has been applied in the Trindi architecture.
1. With regard to the definition of QUD as a stack:
There are two ways to think of QUD: (1) as a datastructure that can be
used in a dialogue manager, (2) as a structure in a semantics of
dialogue. Both are valid and useful points of view. Ideally (1) should
mimic (2) as best as practically possible.
From the reply I take it that Bolin et al follow the datastructure view. Then it makes sense to make QUD a stack, because it can handle the initiative-response structure of typical exchanges like question-answer, or proposal-acceptance, etc. Such exchanges of the take the shape of a 'dialogue grammar'. However, in that case QUD partly overlaps in function with the Agenda data-structure.
If you treat it as a semantics that can handle some (technical) kind of relevance, Ginzburg's partial order makes more sense. In that case QUD should be closed under all kinds of aspects that influence relevance (questions related to current goal, questions related to topic, ...).
2. With regard to `objects under discussion':
An object under discussion is generally called a topic (or focus of
attention or backward looking centre). Various people, most notably Jan
van Kuppevelt (1995) have tried to combine question-based notions of
topic with more general notions (e.g. Reichman 1985). Often one assumes
for each topic a 'topic space' of possible attributes and possible
sub-topics. These can be used in anaphora resolution for example.
If an object is introduced as a new topic, usually questions as to its attributes and questions about its sub-topics will become relevant too. So a semantic QUD ought to be 'closed under' such topic-related questions. To get rid of some redundancy, in simple task domains you can do away with the topic structure and only model the questions structure, or vice versa. For an information-seeking system, it makes sense to have questions at the heart of the dialogue manager.
Van Kuppevelt (1995) "Discourse Structure, Topicality and Questioning", L&P(31), 109-149
Reichman (1985), "Getting Computers to Talk like You and Me" MIT Press, Cambridge Mass.
Best Regards,
Joris Hulstijn,
University of Twente
C3. Staffan Larsson et al. (3.2.00):
We would like to thank Joris for some useful and interesting discussion.
Joris Hulstijn comments:
1. with regard to the definition of QUD as a stack
There are two ways to think of QUD: (1) as a datastructure that can be
used in a dialogue manager, (2) as a structure in a semantics of
dialogue. Both are valid and useful points of view. Ideally (1) should
mimic (2) as best as practically possible.
The authors reply:
You are right that there are two rather different notions of QUD at
issue. However, we would not have drawn the distinction the way you
are. We are indeed taking a simplified view of Ginzburg's idea so
that it can be applied to simple implemented systems, so in that sense
we are interested in defining QUD as a datastructure which will be
used in dialogue management. However, we think it would be a mistake
to separate semantics on the one hand from dialogue management on the
other. A lot of what Ginzburg is talking about in his semantic
approach is a theoretical approach to aspects of dialogue management
and that is a large part of the interest in it.
What we see as the main distinction between the QUD that we have used
and Ginzburg's original notion is that ours is a local QUD. It
represents the precise questions that are currently under discussion,
i.e. that are so to speak up front and have been explicitly introduced
into the dialogue. Ginzburg's original notion, as you say, was much
more of a "global" QUD representing questions that arise from what has
been said. We suspect that both notions of QUD will ultimately be
necessary, though perhaps our plan does some of the work of a global
QUD.
Joris Hulstijn comments:
From the reply I take it that Boylin et al follow the datastructure view. Then it makes sense to make QUD a stack, because it can handle the initiative-response structure of typical exchanges like question-answer, or proposal-acceptance, etc. Such exchanges of the take the shape of a 'dialogue grammar'. However, in that case QUD partly overlaps in function with the Agenda data-structure.
The authors reply:
Having opted for a local QUD the issue then arises as to what kind of
data structure to use. Our original choice of a stack as opposed to a
partial order was, well, simply because you have to work harder to
implement a partial order and it's not something you would want to do
if you can get away with a stack. But given what we have seen so far
(and remember we don't have a large coverage dialogue system here) it
seems that you are absolutely right -- a local QUD can be regarded as
a stack.
It is also the case that there is a tight coupling between the Agenda
and the QUD. Popping agenda items often (particularly in the kind of
information seeking dialogues we have been looking at) gives rise to
new questions on the QUD. (e.g. if you raise a question, you may
assume that that question is under discussion). New questions on the
QUD give rise to new agenda items. (e.g. if your dialogue partner
raises a question then that creates an obligation (agenda item) for
you to respond.) We think that you need both Agenda and QUD in order
to be able to handle grounding phenomena. e.g. the fact that you have
raised a question (and popped the Agenda), does not necessarily mean
that you are licensed to put the question on QUD (which represents
your view of shared information). On a cautious view of grounding the
question only gets pushed onto QUD once confirmation has been received
from the other dialogue participant.
Joris Hulstijn comments:
If you treat it as a semantics that can handle some (technical) kind of
relevance, Ginzburg's partial order makes more sense. In that case QUD
should be closed under all kinds of aspects that influence relevance
(questions related to current goal, questions related to topic, ...).
The authors reply:
Yes, it seems clear that a stack structure would be inappropriate for
a global QUD.
Joris Hulstijn comments:
2. With regard to `objects under discussion'
An object under discussion is generally called a topic (or focus of
attention or backward looking centre). Various people, most notably Jan
van Kuppevelt (1995) have tried to combine question-based notions of
topic with more general notions (e.g. Reichman 1985). Often one assumes
for each topic a 'topic space' of possible attributes and possible
sub-topics. These can be used in anaphora resolution for example.
The authors reply:
Right, nothing we have said in the paper has any bearing on this. We
hope, of course, that what we have done is not inconsistent with
adding a treatment along these lines. We will see.
Joris Hulstijn comments:
If an object is introduced as a new topic, usually questions as to its attributes and questions about its sub-topics will become relevant too. So a semantic QUD ought to be 'closed under' such topic-related questions. To get rid of some redundancy, in simple task domains you can do away with the topic structure and only model the questions structure, or vice versa. For an information-seeking system, it makes sense to have questions at the heart of the dialogue manager.
The authors reply:
Yes, and here would probably be the motivation for having a global QUD
in addition to a local QUD. However, it seems that some of the work
of this is done by our notion of plan and plan accommodation. That
is, the agent has dialogue plans, largely a list of relevant questions
that need to be raised, in what we have at the moment, and such plans
get pulled into the agent's dialogue information state when certain
issues are raised. See the discussion of the example "Flights to
Paris" in the paper. We need to think carefully about the
relationship between this and the more general notions you are
raising.
C1. Ingrid Zukerman (22.2.00):
Having read the paper and the discussion, I have some further comments. As I indicated in my comments to Aretoulaki and Ludwig, I come from a slightly different background, so I hope my comments make sense.
In general, I have trouble with some of what I have read, in the sense that new approaches for dialogue are being presented, but then the examples being handled can be handled by existing/simpler techniques (see my comments to Aretoulaki and Ludwig). The need for a new approach should be motivated by showing that existing approaches cannot handle a particular phenomenon, but this is not done here. Clearly, existing approaches haven't solved the dialogue problem. However, in this case, it should be easy to come up with examples that are not being handled by existing approaches and should be handled by the new approach. For instance, a case in point is the idea of AGENDAS and PLANS to handle short-term and long-term dialogue goals respectively. This is a nice idea, but I believe that some of the problems handled by this approach are addressed by the PRS architecture. A summary of this architecture appears in PRS Summary. I am not an expert on this architecture, but I think the issue deserves to be looked at.
In your reply to the first comment (by Johan Boye) you say that the general architecture is in TRINDIKIT and that the GoDiS system was designed to illustrate possible information state transitions. This should be clarified in the paper. Specifically, what are the dialogue features GoDiS is testing. Further, it would be good to separate the general TRINDIKIT features from the specific design decisions made for GoDiS to study specific phenomena. In this context, I didn't find your answer ``[GoDiS] is meant to illustrate ideas that we have about possible information state transitions'' illuminating. Could you please be more specific?
Another comment that ties together the last two comments is as follows. The idea of accommodation is neat. However, in light of the examples covered, it is not clear that it is required. The example covered in the paper, ``flight to Paris'', could be easily handled with a semantic parser, and with slots that should be filled with subsequent information provided by the user (and queried about). [Raskutti and Zukerman 1997] describes one inference-based approach for handling this problem. So, like before, it is not clear what problems are being addressed by the general TRINDIKIT architecture, the specific GoDiS implementation, and why are new approaches necessary.
Additional (more detailed) comments
References
Raskutti, B. and Zukerman, I. (1997), Generating Queries and Replies
during Information-seeking Interactions. International Journal of
Human Computer Studies 47(6), 689-734.
<-- Answer -->
C1. Bohlin et al (29.5.00):
First we would like to thank Ingrid for her comments, and we hope our (belated) answers are useful.
Ingrid Zukermans comments:
Having read the paper and the discussion, I have some further comments. As I indicated in my comments to Aretoulaki and Ludwig, I come from a slightly different background, so I hope my comments make sense.
In general, I have trouble with some of what I have read, in the sense
that new approaches for dialogue are being presented, but then the
examples being handled can be handled by existing/simpler techniques
(see my comments to Aretoulaki and Ludwig). The need for a new
approach should be motivated by showing that existing approaches
cannot handle a particular phenomenon, but this is not done
here. Clearly, existing approaches haven't solved the dialogue
problem. However, in this case, it should be easy to come up with
examples that are not being handled by existing approaches and should
be handled by the new approach. For instance, a case in point is the
idea of AGENDAS and PLANS to handle short-term and long-term dialogue
goals respectively. This is a nice idea, but I believe that some of
the problems handled by this approach are addressed by the PRS
architecture. A summary of this architecture appears in PRS Summary. I
am not an expert on this architecture, but I think the issue deserves
to be looked at.
The authors reply:
Judging from a quick look, PRS (Procedural Reasoning System) seems to
be a fairly classical planning system. General planning and inference
systems represent one end of the complexity spectrum for dialogue
system design; at the other end we have simple slot-filling or
finite-state systems used in most practical dialogue system
applications today. One of the ideas with the TRINDI architecture is to
make it possible to explore the rest of the spectrum. The idea is to
avoid the complexity problems that come with general reasoning and
planning, but still be able to diaplay complex and natural behaviour.
When the paper was written, our research had not focussed on agendas
and plans, but rather on grounding and accommodation. Lately, however,
we have been experimenting with translating menu-driven interfaces to
dialogue systems by converting menu structures into dialogue
plans. This requires a more complex plan representation, with
conditionals and embedded subplans. While the dialogue plan in the
paper was very simple and very much like a slot-and-filler frame, the
menu-derived plans go beyond what can be done with frames as
standardly conceived. This shows, in our view, that the dialogue plan
approach is more general than the frame-filling approach, while still
not being too computationally complex.
Ingrid Zukermans comments:
In your reply to the first comment (by Johan Boye) you say that the general architecture is in TRINDIKIT and that the GoDiS system was designed to illustrate possible information state transitions. This should be clarified in the paper. Specifically, what are the dialogue features GoDiS is testing. Further, it would be good to separate the general TRINDIKIT features from the specific design decisions made for GoDiS to study specific phenomena. In this context, I didn't find your answer ``[GoDiS] is meant to illustrate ideas that we have about possible information state transitions'' illuminating. Could you please be more specific?The authors reply:
In the paper, chapter 2 is about the general architecture. Chapter 3 describes the particular type of information state used in GoDiS, and chapter 4 describes the rest of the GoDiS system. Chapter 5 describes a certain type of dialogue behaviour/feature (question and task accommodation) that we have implemented in GoDiS in the form of information state transition rules (u-rules). In this way, GoDiS illustrates possible information state transitions.
It would perhaps have been a good idea to make chapter 2 into a subsection of chapter 3, to make the difference between TRINDIKIT and GoDiS clearer.
Ingrid Zukermans comments:
Another comment that ties together the last two comments is as follows. The idea of accommodation is neat. However, in light of the examples covered, it is not clear that it is required. The example covered in the paper, ``flight to Paris'', could be easily handled with a semantic parser, and with slots that should be filled with subsequent information provided by the user (and queried about). [Raskutti and Zukerman 1997] describes one inference-based approach for handling this problem. So, like before, it is not clear what problems are being addressed by the general TRINDIKIT architecture, the specific GoDiS implementation, and why are new approaches necessary.The authors reply:
To answer the last question first, the accommodation problem is adressed by GoDiS, and not by the TRINDIKIT architecture.
The solution you suggest seems to be functionally equivalent, provided that it also handles the case where no frame has yet been found (task accommodation). The "slots" correspond to questions, and a set of slots (a frame) corresponds to a plan. Finding the appropriate frame and loading it would amount to task accommodation. Finding the appropriate slot and inserting the user's answer would amount to question accommodation and integration of the answer; however, there would be no separate act of accommodation. One of the main arguments for question accommodation is that it makes it possible to give a single general rule for integrating answers. This rule would require a matching Question Under Discussion; if no such question exists it will be provided by the question accommodation rule, and integration of the answer can proceed as usual.
The point is not that the mechanisms we describe cannot be implemented in any other architecture. Rather, we argue that the TRINDI approach provides natural and intuitive means for implementing dialogue behaviours. Specifically, the mechanism of question accommodation (in its current simple form) only required adding one or two simple update rules. Also, these update rules are domain-independent.
Without having studied your solution in detail it's hard for us to say anything about the relative merits of our theories, but as above we could argue that general inference may not be the ultimate solution because of complexity problems. Also, simple slot-filling strategies are too simple, and we argue that dialogue plans coupled with mechanisms for question and task accommodation operate on a level of complexity which is just right for information-seeking dialogue.
It is, of course, possible to control inference to make it more effective, but only at the cost of generality. Functionally, however, constrained inference (as used by e.g. Sadek) and information state update strategies have much in common - the main difference lies in the way they are conceived. Constrained inference starts from being able to do anything, and then imposing limits; infomation state update rules start from not being able to do anything, and then adding capabilities. We feel that the latter strategy is more natural and theoretically sound, though this can of course be disputed.
Additional (more detailed) questions
In page 2 (.ps version), you distinguish between the roles
performed by update and selection rules, but in the following
paragraph you state that selection rules also update the DIS, like
update rules (+ selecting a dialogue move). In the discussion, you
then say that selection rules update the data structure specifying the
next move. What happened to the DIS updating they used to do? Who is
doing it now? And if they still do DIS updating, why can't this be
done by update rules?
The authors reply:
At the time when we wrote thew paper, we made a distinction between
update rules (which update the DIS) and selection rules (which specify
next moves and (optionally) updates the DIS). In the discussion we
refer to the later version, where selection rules are a subset of
update rules. Selection rules modify the DIS (or rather, the TIS as it
is now called) by adding moves to the next_moves set. The next_moves
variable is a part of the TIS, so to update next_moves is to update
the TIS.
Comments:
How are the rules activated? Are their effects order-independent i.e., is it possible that RuleA can be applied before RuleB but not after it If so, how is this problem addressedThe authors reply:
The order in which rules are activated is determined by the update algorithm. Originally, we used the simple algorithm descirbed in the paper (basically, pick the first rule whose preconditions are true and apply it; repeat this until no more rules apply). In the current version, the update algorithm is more complex; rules are divided into classes and the algorithm specifies which class(es) can be activated at any given stage of execution. The algorithms are specified using traditional imperative constructs (repeat, if-then, etc).
Comments:
I am not entirely clear about the entries in the rules in (2) and (3), in particular about the differences between them. I think a walk-through of these rules would be appropriate.The authors reply:
OK, here goes:
U-RULE: integrateLatestMove(answer(usr)) PRE: valRec( SHARED.LM, answer(usr, A) ) P1 fstRec( SHARED.QUD, Q ) P2 relevant_answer( Q, A ) P3 EFF: popRec( SHARED.QUD ) E1 reduce( Q, A, P ) E2 addRec( SHARED.BEL, P ) E3Here's a paraphrase: If the latest move was a user answer with content A (P1), and the first question on QUD is Q (P2), and A is a relevant answer to Q, THEN pop Q off the QUD (E1), preform beta-reduction on Q and A to yield the resulting proposition P (E2), and add P to the shared beliefs (E3). For a more concrete paraphrase, A could be "paris", Q "X^(to=X)" and P = Q(A) = "to(paris)".
A shorter paraphrase: if the user just answered a question on QUD, pop the question off QUD and add the new fact to shared beliefs.
The second rule is the same, except for two things: since the system knows which question it was answering, it is not necessary to check for question-answer relevance; the system only answeres questions which are topmost on QUD. A second complicating factor is that the rule in (3) also assumes that the system's move has not yet been grounded - it is stored in PRIVATE.TMP.LM rather than SHARED.LM. In later versions, optimistic grounding of system moves is handled by a separate rule, thus simplifying the integration of system moves.
Comments:
You advocate an optimistic approach to grounding whereby anything said by the system is assumed accepted by the user. Is this a GoDiS shortcut, or is it part of the general architecture? If the latter, then it precludes the modeling of misunderstandings.The authors reply:
The optimistic approach to grounding is a part of GoDiS; the TRINDI architecture itself says nothing about grounding. We believe that dialogue participants are able to switch between optimistic and cautios grounding strategies; however, we have chosen to use only the optimistic approach in the current GoDiS version. It is true that we cannot model misinderstandings with this simple strategy; however, we are able to handle basic grounding behaviour. We hope to explore this issue further in future research.
Comments:
In page 4 (.ps version), second column, you talk about ``the accommodation rules described above''. Which rules? I thought (2) and (3) are update rules. Further, you talk about ``improving the conversational behaviour of the system by adding some new rules''. Could you please give some examplesThe authors reply:
You're right, this is an error. It should say ``the accommodation rules described *below*''.
The idea is that we have start out from a basic system for information-seeking dialogue. By adding a couple of additional rules (the two accommodation rules, which are a type/class of update rules) we improve the conversational behaviour so that the user can give information in any desired order, and does not have to explicitly explain her errand.
Comments:
One of your answers to Boye's questions confused me a bit. You wrote ``[QUD] represents questions that are currently being addressed, rather than a collection of questions that could be relevant and taken up.'' Actually, I understood that they were the second thing, since during accommodation you are trying to match the input to answers to possible questions.The authors reply:
The set of "questions that are currently being addressed" is subsumed by the set of questions that could be relevant. During accommodation we first try to match against the QUD, but if this fails we match against against all possible questions in all possible plans - these are "the set of questions that could be relevant".
Comments:
In the example, how is the next action determined? (asking the user where s/he wants to travel from) i.e., how does the system decide which parameter to query next? (one approach to solve this problem is described in [Raskutti and Zukerman 1997]).The authors reply:
Currently, the system simply picks the next action of the plan
stackset and puts it on the agenda, provided nothing unexpected
happens (such as the user asking a question, in which case the action
to respond to that question is put on the agenda). So the plan
provides a default ordering of questions. This is another area of
possible future research, so thanks for the reference, we will check
it out.
<-- footer -->