Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Towards Negotiative Dialogue for the Talkamatic Dialogue Manager

Staffan Larsson
CLASP
Dept. of Philosophy, Linguistics
and Theory of Science
Gothenburg University
sl@ling.gu.se
\AndAlexander Berman
Talkamatic AB
Gothenburg, Sweden
alex@talkamatic.se
\And
David Hjelm
Talkamatic AB
Gothenburg, Sweden
david@talkamatic.se
Abstract

The paper describes a number of dialogue phenomena associated with negotiative dialogue, as implemented in a development version of the Talkamatic Dialogue Manager (TDM). This implementation is an initial step towards full coverage of general features of negotiative dialogue in TDM.

1 Introduction

The work described in this paper is part of the 3-month phase 1 of the project Tala111Tala (Easy-to-use Development Environment for Advanced Dialogue Systems) is funded by The Swedish Post and Telecom Authority (PTS).. During phase 1, we have started development of the Tala SDK, a tool for 3rd party creation, validation and deployment of Dialogue Domain Descriptions (DDDs), allowing developers to adapt the Talkamatic Dialogue Manager (TDM) to new domains. We have also developed TDM further, by adding a number of dialogue features related to negotiative dialogue.

Adding support for these features is an example of how TDM can be extended to offer support for dialogue features going beyond simple form-based dialogue, thus extending the space of applications of conversational AI while eliminating the need for developers to provide domain-specific solutions for general dialogue phenomena.

2 The Talkamatic Dialogue Manager

The Talkamatic Dialogue Manager Larsson and Berman (2016) is a commercial platform for conversational AI. TDM is the result of an effort to build a dialogue manager on sound engineering principles, exploiting knowledge from research about human dialogue. The principles that have guided TDM design include (1) Apply general solutions to general problems, and (2) Don’t mix different kinds of knowledge. These principles have led to an architecture where knowledge about the domain (e.g., telephony or navigation) is separated from general knowledge about dialogue. This means that app developers can focus on defining domain-specific knowledge, such as semantic ontology and their corresponding natural language forms.

The overall logic governing the dialogue is contained within TDM, while domain-specific knowledge, such as dependencies between various kinds of information in the form of dialogue plans, are kept in the DDDs. Hence, when an app developer builds a new app, there is no need to extend or modify the dialogue manager as such.

Some aspects of flexible dialogue flow are present in systems like Siri and DialogFlow Larsson (2015, 2017); Harms et al. (2019), and some are supported by the VoiceXML standard. However, compared to other systems TDM offers a wider and more complete range of flexible dialogue behaviours.

3 Data collection and analysis

After an initial micro-scale data collection and analysis, a number of frequent dialogue phenomena related to negotiative dialogue were noticed that could merit implementation in TDM. Some of these phenomena were selected for implementation in a development version of TDM.

Concretely, the data collection was done as follows: two people communicated via a text chat, one playing the role of ”system”, looking up phone numbers on a web page, and the other playing the role of ”user”, requesting phone numbers for various people. In the analysis phase, we looked in particular for frequent dialogue phenomena that were not straightforwardly covered by the current version of TDM. Below is one of the dialogues collected (translated from Swedish to English). The caller is C and the responder is R.

{dialogue}\speak

C hello I need the number for an Anna Andersson in Gothenburg \speakR There are fairly many Anna Andersson in Gothenburg. Do you know anything more about where she lives?

\speak

C In Old Masthugget \speakR Do you know which street it is?

\speak

C no sorry \speakC near Slottsskogen I believe

\speak

R There are two Anna Andersson and two Anne Andersson in that area. Is Anna the name?

\speak

C yes

\speak

R In that case one lives on Sjömansgatan 13D and the other on Kompassgatan 16A \speakR Is it one of those do you think?

\speak

C yes very possibly. can you see their age?

\speak

R yes. Anna on Sjömansgatan is 42 years and Anna on Kompassgatan is 40 years.

\speak

C ah interesting \speakC I’m pretty sure she is 42

\speak

R OK. In that case her number is NNN-NNN NN NN

\speak

C great, thanks

\speak

R you’re welcome

\speak

C Can I get the number for the other one as well? The one who is 40

\speak

R ok. her number is NNN-NNN NN NN

\speak

C perfect \speakC thanks!

4 Dialogue features

In Tala phase 1, intital steps were taken towards the implementation of negotiative dialogue for TDM. The implemented dialogue features are briefly described below, with examples of dialogues handled by the development version of TDM.

4.1 Asking about alternatives

Many dialogue systems can handle form-based dialogue, where information is collected from the user, resulting in a database search whose results are communicated to the user. Some systems (including TDM) can also deal with dialogue where a database search is incrementally refined as the user provides more information, with an incrementally shrinking set of alternatives being communicated to the user at each step. However, very few (if any) dialogue system offer general support for the kind exploration and comparison of alternatives that frequently precedes a final user choice in human-human task-oriented dialogue222An exception is restaurant search in Siri, where the user can ask questions about individual restaurants and also compare them. Given that the feature is not generally available across domains, however, indicates this is probably implemented in a domain-specific manner for the restaurant domain, rather than in a general, domain-independent way.. We have previously argued that this as a central feature of negotiative dialogue Larsson (2002). As part of this, the user can ask questions about one or several alternatives. We have implemented limited support for user questions about alternatives. Below is an example of an interaction supported by the development version of TDM. (S = system, U =user.)

{dialogue}\speak

U I want the number for Anna Andersson in Gothenburg \speakS There are three persons matching your description. \speakU How old are they? \speakS Anna Andersson on Olivedalsgatan 12 in Gothenburg is 77 years. Anna Andersson on Vasagatan 11 in Gothenburg is 42 years. Anna Andersson on Kompassgatan 10 in Gothenburg is 31 years.

4.2 Knowledge precondition questions

A less expected finding was the frequent occurrence of questions of the form ”Do you know…?”, i.e., acts of asking whether the user knows the answer to a question Q𝑄Qitalic_Q rather than asking Q𝑄Qitalic_Q directly. For example, instead of asking ”On what street does the person live?”, the responder would ask ”Do you know on what street the person lives?”. We refer to such questions as Knowledge Precondition Questions (KPQs) since they (interpreted literally) are asking whether the dialogue partner has the knowledge necessary to answer the embedded question. This type of question has previously been described informally by e.g. Schegloff (1999), who argues that it can be seen as a type of indirect speech act, and more recently in a dialogue systems setting by Moore (2018).

There appears to be a reasonable rationale for asking KPQs in cases where the asker cannot be sure if the answerer has the desired information, such as in the case of street name in the phone directory domain. (By contrast, the caller can be expected to know at least the name of the person they want to call.) By asking a KPQ instead of a direct wh-question, it also becomes easier for the answerer to communicate that they do not know the answer to the question, by simply saying ”no”. To do this in response to a wh-question, they would have to say ”I don’t know” or something to that effect, which can be expected to be a less preferred answer.

Typically, KPQs are answered by providing an answer to the embedded question (”The person lives in Gothenburg”) or negatively (”No”). In principle they could also be answered with a ”yes”, although we have not observed this. In any case, we treat these questions as a hybrid between wh-questions and yes/no-questions. This requires that the system is able to correctly interpret and integrate answers to both the overt yes/no KPQ and the embedded wh-question.

In our first example, the user responds to the KPQ with an answer to the embedded wh-question, resulting in narrowing down the number of alternatives:

{dialogue}\speak

U I need the phone number for Anna Andersson \speakS There are 4345 persons matching your description. Do you know the city?\speakU Gothenburg \speakS OK, there are 86 persons matching your description. Do you know the street name?

In our second example, the user responds negatively to the KPQ, resulting in the system proceeding to the next question (also a KPQ):

{dialogue}\speak

U I need the phone number for Anna Andersson \speakS There are 4345 persons matching your description. Do you know the city?\speakU No \speakS OK. Do you know the street name?

Finally, a perhaps less common case is where the user responds positively to the direct KPQ, but not to the embedded wh-question. The system then asks the embedded wh-question directly.

{dialogue}\speak

U I need the phone number for Anna Andersson \speakS There are 4345 persons matching your description. Do you know the city? \speakU Yes \speakS OK. What city does the person live in? \speakU Gothenburg \speakS OK, there are 86 persons matching your description. Do you know the street name?

4.3 Modifying search criteria

As can be seen at the end of the transcribed dialogue in Section 3, callers may wish to revise their search after their initial question has been answered. We have improved the support for this dialogue feature in TDM, as exemplified in the dialogue below (which is a continuation of the dialogue in Section 4.1):

{dialogue}\speak

S Returning to the phone number. There are three persons matching your description. Do you know the street name? \speakU Hm, I think she is 42 years old. \speakS OK. The phone number is NNN-NNN NN NN. \speakU What is the phone number for the one who is 31 years old, just in case I’m wrong? \speakS The number is NNN-NNN NN NN

Note that U chooses not to answer the question about street name, but instead provides the age, which allows the system to narrow down the search to a single person. After receiving a phone number, U modifies the search by supplying another age, and receives the corresponding answer.

 1 <domain name="PhoneDirectoryDomain">
 2   <goal type="perform" action="top">
 3     <plan>
 4       <forget_all/>
 5       <findout type="goal"/>
 6     </plan>
 7   </goal>

 8   <goal type="resolve" question_type="wh_question" predicate="phonenumber">
 9     <plan>
10       <findout type="wh_question" predicate="person"/>
11       <invoke_service_query type="wh_question" predicate="phonenumber"/>
12     </plan>
13   </goal>

14   <goal type="resolve" question_type="wh_question" predicate="age"
15         max_answers="3" alternatives_predicate="person">
16     <plan>
17       <findout type="wh_question" predicate="person"/>
18       <invoke_service_query type="wh_question" predicate="age"/>
19     </plan>
20   </goal>

21   <parameters question_type="wh_question" predicate="person"
22               source="service" incremental="true">
23     <ask_feature predicate="person_name"/>
24     <ask_feature predicate="person_city" kpq="true"/>
25     <ask_feature predicate="person_street_name" kpq="true"/>
26   </parameters>
27 </domain>

Figure 1: Dialogue plans for phone directory domain

5 Using general solutions in a domain

To illustrate what is needed by a dialogue developer needs to do to make use of the dialogue features described above, Figure 1 shows TDM dialogue plans for a proof of concept implementation of negotiative dialogue features in the telephone directory domain. The XML format for TDM dialogue plans is described further in Larsson and Berman (2016) and will not be explained in detail here.

To render a question as a knowledge precondition question, the attribute kpq="true" is added as in line 24 (and 25). This results in TDM being able to handle the dialogues in Section 4.2 above333Provided appropriate natural language generation and interpretation facilities, not described in this paper.

To enable asking the system about alternatives, the tags max__\__answers and alternatives__\__predicate are used as in line 15. For the phone directory domain, we implemented the possibility for the user to ask about the age of a person in the directory (lines 14-20). To answer this, the system needs to figure out which person is being referred to (same as when the user is asking about a phone number, lines 8–13). To search for persons, a number of features of the person are collected by the system (lines 21–26). However, the addition of line 15 means that if a set (with an arity of 3 or less) of alternative persons (arguments of the predicate person) have already been established, the user can also ask how old they are, and get the answer for each of the persons individually as shown in Section 4.1 above.

Allowing for modification of search parameters after completed search does not require any additions to the DDD.

6 Future work

In phase 2 of Tala we plan to implement full support for negotiative dialogue in TDM, and to complete the Tala development tool.

References

  • Harms et al. (2019) J. Harms, P. Kucherbaev, A. Bozzon, and G. Houben. 2019. Approaches for dialog management in conversational agents. IEEE Internet Computing, 23(2):13–22.
  • Larsson (2002) Staffan Larsson. 2002. Issue-based Dialogue Management. Ph.D. thesis, Göteborg University.
  • Larsson (2015) Staffan Larsson. 2015. The state of the art in dealing with user answers. In Proceedings of the 19th Workshop on the Semantics and Pragmatics of Dialogue (goDIAL).
  • Larsson (2017) Staffan Larsson. 2017. User-initiated sub-dialogues in state-of-the-art dialogue systems. In Proceedings of the 18th Annual SIGdial Meeting on Discourse and Dialogue, pages 17–22, Saarbrücken, Germany. Association for Computational Linguistics.
  • Larsson and Berman (2016) Staffan Larsson and Alexander Berman. 2016. Domain-specific and general syntax and semantics in the Talkamatic Dialogue Manager. In Empirical Issues in Syntax and Semantics 11, pages 91–110, Paris. CSSP.
  • Moore (2018) Robert J Moore. 2018. A natural conversation framework for conversational ux design. In Studies in Conversational UX Design, pages 181–204. Springer.
  • Schegloff (1999) Emanuel A Schegloff. 1999. Discourse, pragmatics, conversation, analysis. Discourse studies, 1(4):405–435.