=Paper=
{{Paper
|id=Vol-1584/paper13
|storemode=property
|title=A Tool for Staging Mixed-initiative Dialogs
|pdfUrl=https://ceur-ws.org/Vol-1584/paper13.pdf
|volume=Vol-1584
|authors=Joshua W. Buck,Saverio Perugini
|dblpUrl=https://dblp.org/rec/conf/maics/BuckP16
}}
==A Tool for Staging Mixed-initiative Dialogs==
Joshua W. Buck and Saverio Perugini MAICS 2016 pp. 25–32 A Tool for Staging Mixed-initiative Dialogs⇤ Joshua W. Buck and Saverio Perugini Department of Computer Science University of Dayton 300 College Park Dayton, Ohio 45469–2160 USA Tel: +001 (937) 229–4079, Fax: +001 (937) 229–2193 E-mail: {jbuck1,saverio}@udayton.edu Abstract takes as the evaluation of a function. Changing the evalu- ation method of the function (or transforming the function) We discuss and demonstrate a tool for prototyping then corresponds to different interaction policies (Rudnicky dialog-based systems that, given a high-level specifi- et al., 1999) for the dialog (i.e., ways of mixing initiative). cation of a human-computer dialog, stages the dialog for interactive use. The tool enables a dialog designer The overall idea is that different function evaluation strate- to evaluate a variety of dialogs without having to pro- gies correspond to different interaction policies for the di- gram each individual dialog, and serves as a proof- alog (i.e., system initiated vs. mixed-initiative) or ways of of-concept for our approach to mixed-initiative dia- mixing initiative. For instance, consider a course schedul- log modeling and implementation from a programming ing dialog where the user must make selections for depart- language-based perspective. ment, time, and number of credits, among others. We can model this dialog with a function schedule with type signa- ture (department ⇥ time ⇥ credits) course, simpli- Introduction fied for purposes of succinct presentation. Evaluating this Mixed-initiative interaction is a flexible interaction strategy function using the complete, eager (Friedman and Wand, where the user and system engage as equal participants in an 2008) or applicative-order evaluation (Abelson and Suss- activity and take turns exchanging initiative, thereby shar- man, 1996) function application evaluation method common ing initiative. The strategy has been proposed and studied in most programming languages (e.g., C, Java, Scheme) re- as a link to bridge artificial intelligence (AI) and human- quires the user to supply arguments for the complete list computer interaction (Hearst, 1999). Mixed-initiative inter- of parameters to the function, in one stroke. In interaction action has been studied and applied to keep the human in the terms, this evaluation method corresponds to a user complet- learning feedback loop of an intelligent search, particularly, ing, for example, an online, web-based form with multiple in planning, scheduling, and constraint satisfaction (Fergu- input fields (as, e.g., generated by Ajax) and clicking ‘sub- son and Allen, 1998; Fleming and Cohen, 1999, 2001; Frank mit’ once he has provided responses for all of the required et al., 2001; Pu and Lalanne, 2002; Smith et al., 2005; Wolf- fields. Optional fields correspond to (optional) parameters man et al., 2001). This paper specifically addresses mixed- with default values (e.g., as in Python; Sebesta 2015). In initiative dialog (Glass and Seneff, 2003; Lee et al., 2010; general, this evaluation strategy corresponds to providing Walker and Whittaker, 1990). While “[c]reating an actual (possibly) multiple responses in a single utterance. A single dialog system involves a very intensive programming ef- utterance with only one response (if the function is a unary fort” (Guinn, 1999), our tool simplifies that effort so that function), which is common in confirmation dialog boxes in dialog designers can evaluate a variety of human-computer application software, can also be modeled with this method. dialogs, including mixed-initiative dialogs (see figure 1). Currying this function corresponds to spreading the inter- action required to complete the dialog across a fixed series of A Language-based Approach to multiple, progressive user-system dialog turns (i.e., system solicitation followed by user response, and so on). Currying Mixed-initiative Dialog Modeling the function schedule above transforms it into one with type We approach this problem by casting it in a programming signature language-based context, using notions from lambda calcu- lus (Friedman and Wand, 2008). While not the focus of this paper, we introduce the fundamentals of the approach here department (time (credits course))1 , to help orient the reader to the overall idea. As the user such that progresses through a dialog, we think of the steps that she We thank the four anonymous reviewers of this paper for their scheduleuncurried (biology, morning, 3) = helpful comments and suggestions that helped to improve it. 1 Copyright held by the author(s). Parentheses included for purposes of clarity. 25 Joshua W. Buck and Saverio Perugini MAICS 2016 pp. 25–32 (1) Avatar: Welcome to the Course Registration System. For which semester would you like to register? (2) User: Spring 2016. (3) Avatar: From which department would you like to take a class? (Example: Mathematics) (4) User: Actually, I need an afternoon class. (5) Avatar: Okay, an afternoon class. From which department would you like to take a class? (Example: Mathematics) (6) User: Well that depends on which departments have courses that satisfy the natural science requirement and that offer courses without a prerequisite. (7) Avatar: Chemistry, Biology, Geology and Physics are the only departments that do so. (8) User: Physics is the department I want. (9) Avatar: There is only one course, PHY 100, that satisfies the natural science requirement and does not have a prerequisite. Only sections 01 and 02 are offered in the afternoon. Figure 1: A mixed-initiative dialog. Partially applying the function scheduleuncurried corre- sponds to a fixed dialog where the user is afforded the flex- ((schedulecurried (biology))(morning))(3). ibility to provide more than one response per utterance. This mode of interaction is common when providing a tele- In general, currying (Scott, 2009) transforms a function phone, credit card, or PIN number through a voice modal- funcurried with type signature ity. Partial function application states that for any function f (p1 , p2 , . . . , pn ), funcurried : (p1 ⇥ p2 ⇥ · · · ⇥ pn ) r into a function fcurried with type signature f (a1 , a2 , . . . , am ) = g(pm+1 , pm+2 , . . . , pn ), where m n, such that fcurried : p1 (p2 (· · · (pn r) · · · )), g(am+1 , am+2 , . . . , an ) = such that f (a1 , a2 , . . . , am , am+1 , am+2 , . . . , an ). funcurried (a1 , a2 , · · · , an ) = (Note that currying funcurried and progressively applying the resulting fcurried function has the same effect as par- (· · · ((fcurried (a1 ))(a2 )) · · · )(an ). tially applying funcurried .) Lastly, applying the program transformation partial eval- (Uncurrying a curried function inverses the curry operation.) uation (Jones, 1996) to scheduleuncurried corresponds to The function resulting from currying a function modeling permitting the user to communicate answers to the set of a dialog corresponds to the interaction common in wizards questions in the dialog in utterances corresponding to all for installing application software (Hamidi, Andritsos, and possible set partitions of the set of questions, and using all Liaskos, 2014) or in ATMs or airport and train kiosks, where possible permutations of those partitions. Partial evaluation the user is required to complete a fixed, system-initiated generalizes the idea of partial function application from any dialog (Allen, 1999) that involves supplying only one re- prefix of the parameter list to any subset of the parameter list sponse per utterance. (Fixed dialogs have been referred and formally states that for any function f (p1 , p2 , . . . , pn ), to as strongly-typed interactions (Lee et al., 2010), under- scoring a connection to the language concept of strong typ- ing (Sebesta, 2015).) f (a, b, . . . , r) = g(p1 , p2 , . . . , pn a, b, . . . , r), 26 Joshua W. Buck and Saverio Perugini MAICS 2016 pp. 25–32 where {a, b, . . . , r} {p1 , p2 , . . . , pn }, such that Designer and User Scenarios We use the following six scenarios from student course g(s, t, . . . , z) = f (a, b, . . . , z). scheduling at a university to demonstrate our tool. Table 1 summaries these associations from programming language concepts to human-computer dialogs. Scenario 0: Dialog Design We developed a notation employing these function evalu- Using a drag-and-drop, split-screen, visual dialog builder ation strategies for specifying mixed-initiative dialogs. A (see figure 4), a dialog designer specifies a dialog by opening specification involving multiple functions using different a new blank dialog project. In a new blank dialog template, evaluation strategies corresponds to a dialog involving mul- a designer may specify aspects of the dialog such as a wel- tiple sub-dialogs. We refer the reader interested in additional come message and generic (confirmation) responses to user details to (Perugini, 2015). utterances such as ‘Okay, you answered . . . .’ The designer can then create the first solicitation. Creating a new solicita- System Design and Implementation tion launches a set of boxes in the visual panel (left side of While the implementation details are beyond the scope of figure 4), by default, prompting the designer for a solicita- this paper, we make some remarks. Figure 2 provides a con- tion (typically a question) and three valid responses to it that ceptual overview of the design and execution of our dialog the dialog (client) user may provide in response to that solic- system construction tool. The left side of the figure depicts itation. The first solicitation in a course registration dialog dialog specification and the right side illustrates dialog stag- might be ‘For which semester would you like to register?’ ing. The three valid responses specified by the designer to this At present, the dialog designer must specify the dialog in a solicitation might be ‘Fall,’ ‘Spring,’ and ‘Summer.’ Using textual format using a high-level description language that is the tool, the designer can add and remove solicitations and a less formal version of our language-based, dialog author- responses at any time from the dialog specification she is ing notation that is then compiled into an XML document authoring. (see right side of figure 4). While the visual dialog builder Once the dialog designer has specified more than one so- interface through which the designer specifies the dialog to licitation, she can establish a total or partial ordering be- be implemented (see figure 4) is still in development, we use tween responses and solicitations by drawing arrows using it in scenario 0 below to obviate the need to cover the for- the visual tool. For instance, the dialog designer might draw mal syntax and details of our dialog authoring language. A a relationship arrow from the ‘Mathematics’ response of the specification in either format is then compiled into an XML third solicitation to the fifth solicitation ‘For which class document (see right side of figure 4). The XML document is would you like to register?’ with the mathematics courses then parsed into a variety of data structures (see figure 3) for as possible responses. This scenario illustrates how a par- use by the dialog staging engine, which processes user re- ticular response can lead to a different path through a dia- sponses and stages the turns of the dialog (i.e., structures the log through the inclusion of relationship arrows to associate interaction). We use the term staging to refer to the process certain responses to forthcoming solicitations. If no rela- by which the progressive turns of the dialog are structured tionships are specified, the default interaction policy is im- or layered. For instance, the system starts by soliciting a re- plicit in the visual, top-to-bottom order of the solicitations sponse from the user to a particular question and then awaits in the left pane (i.e., a fixed dialog). In other words, if a a reply. The user in turn provides a response and the system response is listed without a defined relationship to another makes another solicitation. The user then might respond to solicitation, the next solicitation by default is the solicitation an unsolicited, yet forthcoming, question that the system ac- immediately below the given response. Relationships that cepts, processes, and uses to determine the next prompt to collectively induce a loop in the dialog specification—such present. Dialog management, conducted through the stag- as a relationship between a response and itself—without at ing engine here, performs system-action prediction (Lee et least one path out of the loop are not permissible. al., 2010)—deciding what to prompt for and/or accept next As mentioned above, the dialog designer can also create based on the discourse history and the current utterance. In the dialog specification using our dialog authoring notation this sense, staging operationalizes the dialog modeled by the in a text format. Note that the right pane of the interface specification and can be thought of as an interpreter (in the shown in figure 4 is a textual XML representation of the dia- programming language sense of the word) for the specifica- log specification. The two panes of the split-screen shown in tion. figure 4 are synchronized in real time to be accurate reflec- Though not shown explicitly in figure 2, the dialog de- tions of each other, and the dialog designer always has the signer can also interact directly with the generation engine option of using either or both, at her discretion. The dialog and the staging engine, in addition to a visual dialog builder, designer can also dynamically change the interaction policy which is why the designer is depicted at the center of the of a dialog or any sub-dialogs (i.e., evaluation order of the dialog toolkit, especially since the staging engine supports solicitations), as well as perform other operations, by inter- server commands for interacting with user clients. Figure 3 acting directly with the staging engine though a console, as illustrates the data structures used to represent the human- mentioned above. computer dialog demonstrated in the following designer and user scenarios. Scenario 1: Fixed Dialog with 27 Joshua W. Buck and Saverio Perugini MAICS 2016 pp. 25–32 Table 1: Metaphors from programming language evaluation strategies to a variety of human-computer dialogs. Evaluation strategy Responses per utterance Ordering of utterances Example(s) Scenario complete, eager evaluation single only one utterance confirmation dialog boxes common in application software – complete, eager evaluation multiple only one utterance web forms with multiple fields 2 currying single totally-ordered wizards for installing application software or ATM s or airport and train kiosks 1 partial function application multiple totally-ordered communicating a telephone, credit card, or PIN through voice 4 partial evaluation single partially-ordered online test/quiz or survey 5 partial evaluation multiple partially-ordered making a flight, rental car, or hotel reservation with a human agent 3 Dialog System Dialog Toolkit ( .exe ) Dialog User Client ( .exe ) Staging high-level dialog utterance Visual specification Staging visual or textual Dialog Engine prompt (.txt) Dialog Client Designer Dialog Visual Dialog Builder User generated XML TCP/IP specification tree & hash table (.xml) data structures Generation Engine Figure 2: Conceptual design and execution of our dialog system. Single Response per Utterance Scenario 2: Fixed Dialog with The system solicits for a semester for which to register and All Responses in a Single Utterance the user responds with ‘spring 2016.’ In a fixed dialog, the We restart the dialog system. This time, when prompted for user must respond to this question. The next solicitation is a semester, the user responds with ‘spring 2016 mathemat- for a department in which to register for a course. The user ics 168.’ Note that the system accepts utterances containing replies with ‘mathematics department’ and the system solic- responses embedded among other non-essential words. For its for the course level: undergraduate or graduate. The user instance, an equivalent response is ‘I would like to register responds with ‘undergraduate’ and the system prompts for a for mathematics 168 in spring 2016, please.’ The system course. The user replies ‘168’ and the system responds with processes all of the responses in this utterance and responds ‘Okay, mathematics 168. The course is offered from 3:35pm with ‘Okay, mathematics 168 in spring 2016. The course is to 4:50pm on Tuesdays and Thursdays. Confirm registra- offered from 3:35pm to 4:50pm on Tuesdays and Thursdays. tion?’ If the user responds with ‘yes,’ the dialog is complete. Confirm registration?’ If the user responds with ‘yes,’ the di- This scenario illustrates one complete path through the dia- alog is complete. This scenario illustrates a complete path log, where the user responds to all of the system solicitations through the dialog where the user provides responses to all in the order in which they are presented. This scenario cor- of the solicitations in a single utterance. This scenario cor- responds to the third row of table 1 (i.e., currying). Figure 1 responds to the second row of table 1 (i.e., complete, eager illustrates the interface through which the user, in this sce- evaluation). nario and all following scenarios, interacts with the system while participating in the dialog. Scenario 3: Mixed-initiative Dialog, 28 Joshua W. Buck and Saverio Perugini MAICS 2016 pp. 25–32 Unsolicited Responses not, please choose a mathematics course.’ This feature obvi- Assume we undo the user utterance in the scenario 2 above. ates the need to undo responses up to the response involving This causes the system to solicit for a semester again. This invalid or inconsistent information (e.g., department) and time, the user does not provide a semester but rather a de- dynamically adjusts the response (e.g., to ‘physics depart- partment in which to register for a course: ‘mathematics ment’), if confirmed by the user. Also note that if the user department.’ The system accepts and processes this unso- makes an utterance that does not contain any valid responses licited response instead and again solicits for a semester. for the dialog, such as ‘I would like to book a flight from This demonstrates the ability to provide responses for solic- New York to Chicago please,’ the system responds with ‘I itations that the system has not made yet but will at some am sorry. I did not understand your response. Please reply point in the dialog—a degree of mixed-initiative interac- to the prompt.’ We designed our dialog engine to be thread- tion known as unsolicited reporting (Allen, 1999). The user safe and the data structures that it manipulates to be stateless completes the dialog in one more turn with the utterance: to allow multiple users to participate in individual instances ‘mathematics 168 spring 2016.’ This scenario corresponds of the same dialog concurrently. to the fifth and sixth rows of table 1 (i.e., partial evaluation). Related Research Scenario 4: Fixed Dialog with One approach to dialog modeling and implementation is Multiple Responses per Utterance from an artificial intelligence (AI) perspective (Allen et Assume the dialog designer desires to permit the user to re- al., 2001), and involves selectively enumerating only those spond to multiple solicitations in a single utterance, but also flows of control within the implementation which have been wants to enforce an ordering on the set of solicitations of the gleaned to be essential through learning algorithms. For in- dialog. Here the user could respond first with ‘spring 2016 stance, researchers have used constraint satisfaction to de- mathematics department’ and then with ‘168.’ Responses termine an ordering of dialog prompts (Donaldson and Co- given in a single utterance are unordered as they are pro- hen, 1997) and constraint propagation to implement sub- cessed at the same time. This scenario illustrates a dialog dialog invocation (Frank et al., 2001). There are a variety supporting multiple responses per utterance, but with a fixed of other learning-based approaches (DeVault, Leuski, and order on its solicitations, corresponding to the fourth row of Sagae, 2011; Misu et al., 2012). In contrast, using language- table 1 (i.e., partial function application). based concepts, including partial evaluation (Jones, 1996), to specify dialogs and to intensionally model multiple paths Scenario 5: Unsolicited, through a dialog without extensionally hardcoding each into Single-response, Utterances the control flow of the implementation, is a fundamentally In contrast, the dialog designer might desire to permit the different approach to dialog modeling, management, and im- user to respond to solicitations in any order, but with only plementation. It achieves flexible dialog in a cleaner, less one response per utterance. In such a dialog, the user could conditionally complex, design. reply with ‘mathematics 168,’ but could not provide multiple While there is an array of literature on developing (mixed- responses in any single utterance; responses such as ‘spring initiative) dialog systems and dialog management and con- 2016 mathematics department’ are not permitted. This sce- struction frameworks (Hochberg, Kambhatla, and Roukos, nario corresponds to the fifth row of table 1 (i.e., partial eval- 2002), we mention a few research projects due to their uation). implementation-oriented nature: the DARPA Communica- tor-funded CMU Sphinx2 project (Rudnicky et al., 1999), Practical Considerations RavenClaw (Bohus and Rudnicky, 2003, 2009; Rudnicky and Xu, 1999) the TuTalk3 project (Jordan, Ringenberg, and Our dialog engine automatically infers dependencies be- Hall, 2006), the Atlas dialog management system (Freed- tween possible dialog responses in an effort to reduce dialog man, 2000), and the Radiobot-CFF (Leuski and Traum, length. For instance, if the user responds with ‘mathemat- 2011) and NPCEditor (Leuski and Traum, 2011) systems. ics 168,’ the system automatically infers that the user wants to register for an undergraduate course in the mathematics department and, thus, it is unnecessary to prompt for course Conclusion level and department. The user then only needs to select the Human-computer dialog implementation is a challenging semester in which to register for the course and confirm the problem. Published literature has highlighted this problem, registration. and discussed how much of a laborious, time-consuming Our dialog engine uses error recovery strategies (Lee et process it can be (Glass and Seneff, 2003; Guinn, 1999; al., 2010), including (explicit) confirmation, regarding mis- Hochberg, Kambhatla, and Roukos, 2002). Casting this matching and/or conflicting user responses. For instance, problem on a programming languages landscape has sug- assume the user desires to register for a physics course. If gested the use of a variety of function evaluation strategies, the user responds first with ‘mathematics department’ and corresponding to different dialog interaction flow policies then with ‘physics 168’ in the next utterance, the dialog sys- (i.e., staging methods) and ways of mixing initiative. It tem responds with ‘physics 168 is offered in the physics de- 2 partment, not the mathematics department. Would you like http://cmusphinx.sourceforge.net/ 3 to change the department from mathematics to physics? If An acronym for Tutorial Talk. 29 Joshua W. Buck and Saverio Perugini MAICS 2016 pp. 25–32 hash hash 11 Spring 2016 keys function buckets keys function buckets paths: 1 2 3 4 5 6 7 8 9 10 Spring 2016 00 10 PHY 100 Spring 2016 00 Spring 2016 Physics Biology Physics 01 08 11 paths: 1 2 Physics 01 09 10 paths: 1 2 3 4 paths: 5 6 Biology 02 09 Biology 02 PHY 100 PHY 101 BIO 100 08 paths: PHY 100 03 06 00 Section 01 PHY 100 03 06 paths: 12 07 paths: 34 56 paths: 1 PHY 101 04 07 Dialog PHY 101 04 Section 02 Section 01 00 paths: Section 01 02 paths: 04 Section 01 BIO 100 05 00 02 04 User 01 paths: 2 BIO 100 05 00 1 3 paths: 5 Section 01 06 01 03 05 Evaluation Section 01 06 01 Section 02 Section 02 05 Section 02 01 paths: 03 paths: 4 paths: 6 Section 02 07 11 Section 02 07 11 2 Figure 3: Data structures used to represent a human-computer dialog in our implementation. has also supported our construction of the tool for auto- Coroutines and threads, and the actor model of concur- matic dialog implementation addressed here. Our tool can rency with its message-passing motif, especially as used aid human-computer dialog designers in the following ways: in the functional languages Elixir (Thomas, 2014) and Er- i) no programming is required by the designer; only dia- lang (Armstrong, 2013), may help us specify and stage com- log specification is required, and the dialog system is au- plex, problem-solving dialogs, where the system or user tomatically implemented and ii) the resulting dialog sys- must engage each other in multiple (sub-)dialogs in paral- tem can be reconfigured (e.g., different interaction policies lel to solve the task at hand. can be applied/realized) (Glass and Seneff, 2003; Jordan, Our long-term goal is to develop a catalog of concepts of Ringenberg, and Hall, 2006; Polifroni, Chung, and Seneff, programming languages that are helpful metaphors for spec- 2003) through minor modifications to the dialog specifica- ifying and staging mixed-initiative dialogs, and formalizing tion. These benefits might help a dialog designer prototype their synergistic effects on dialog management and system and evaluate (Jordan, Ringenberg, and Hall, 2006), through design, and empirically studying the desirability of the in- studies with users (Feng et al., 2006), a variety of human- teractions they support and enable. computer dialogs. For instance, evaluating several com- peting dialog designs with users and monitoring the paths References taken by users to dialog completion and mining the results for the most-frequently used can help suggest refinements Abelson, H., and Sussman, G. 1996. Structure and Interpre- to the dialog specification (Spiliopoulou, 2000). Evaluating tation of Computer Programs. Cambridge, MA: The MIT the least-frequently used paths might help the designer iden- Press, second edition. tify and isolate aspects of the dialog specification that could Allen, J.; Byron, D.; Dzikovska, M.; Ferguson, G.; Galescu, benefit from further attention. L.; and Stent, A. 2001. Towards conversational human- computer interaction. AI Magazine 22(4):27–37. This work can be extended in multiple directions. Lifting the problem of mixed-initiative dialog modeling, manage- Allen, J. 1999. Mixed-initiative interaction. IEEE Intelligent ment, and implementation to a language-based landscape Systems 14(5):14–16. opens up opportunities for enriching not only the support- Armstrong, J. 2013. Programming Erlang: Software for able dialogs but also the flexibility in interaction afforded a Concurrent World. Dallas, TX: Pragmatic Bookshelf, in each as we explore additional language concepts and second edition. study their analogs in mixed-initiative interaction. Specif- ically, we plan to explore the use of computational reflec- Bohus, D., and Rudnicky, A. 2003. RavenClaw: Dialog tion (Maes, 1987), and particularly introspection (i.e., read- management using hierarchical task decomposition and only reflection), to support the user in meta-dialog inquiries, an expectation agenda. In Proceedings of the Sixth An- a higher-order degree of mixed-initiative interaction where nual INTERSPEECH Conference. International Speech the user may ask the system questions about the status of Communication Association. the dialog versus the typical reverse—only the system ask- Bohus, D., and Rudnicky, A. 2009. The ravenclaw dialog ing questions (Kronenberg and Regel-Brietzman, 2001). For management framework: Architecture and systems. Com- instance, a user might inquire: ‘How many more questions puter Speech and Language 23(3):332–361. are you going to require me to answer?’ We also intend to explore meta-dialog operations, such as ‘Let us save the DeVault, D.; Leuski, A.; and Sagae, K. 2011. Toward learn- current status of this dialog and start over.’ The capture, ing and evaluation of dialogue policies with text exam- storage, invocation of first-class continuations (e.g., as pro- ples. In Proceedings of the Twelfth Association for Com- vided by the call/cc facility in Scheme) (Friedman and putational Linguistics (ACL) SIGDIAL Workshop on Dis- Wand, 2008) can support meta-dialog operations such as the course and Dialogue, 39–48. Portland, OR: Association capture and reuse of frequently accessed dialog branches for Computational Linguistics. as macros as discussed by Quan et al. (2003), though in a Donaldson, T., and Cohen, R. 1997. A constraint satisfac- slightly different context. tion framework for managing mixed-initiative discourse. 30 Joshua W. Buck and Saverio Perugini MAICS 2016 pp. 25–32 Visual Dialog Builder For which semester would you like to register?What time of day would you like to take the class? Morning Afternoon What class would you like to take? MTH 100 MTH 101 MTH 200 MTH 300 New Solicitation Response 1 Response 2 Response 3 Figure 4: Sketch of a split-screen, visual/textual user interface for dialog specification. An incomplete/partial dialog is shown here (i.e., what is shown here is not the final representation of the dialog). In Proceedings of the AAAI Spring Symposium on Compu- ACM International Conference on Intelligent User Inter- tational Models for Mixed Initiative Interactions, number faces (IUI), 85–86. New York, NY: ACM Press. SS-97-04, 37–43. Menlo Park, CA: AAAI Press. Freedman, R. 2000. Using a reactive planner as the basis for Feng, J.; Hakkani-Tür, D.; Fabbrizio, G. D.; Gilbert, M.; and a dialogue agent. In Proceedings of the Thirteenth Inter- Beutnagel, M. 2006. Webtalk: Towards automatically national Florida Artificial Intelligence Research Society building spoken dialog systems through mining websites. Conference, 203–208. In Proceedings of the IEEE International Conference on Friedman, D., and Wand, M. 2008. Essentials of Program- Acoustics, Speech and Signal Processing (ICASSP), 573– ming Languages. Cambridge, MA: MIT Press, third edi- 576. Los Alamitos, CA: IEEE Computer Society Press. tion. Ferguson, G., and Allen, J. 1998. Trips: An integrated intel- Glass, J., and Seneff, S. 2003. Flexible and personalizable ligent problem-solving assistant. In Proceedings of the mixed-initiative dialogue systems. In Proceedings of the Fifteenth National Conference on Artificial Intelligence North American Chapter of the Association for Computa- (AAAI). Menlo Park, CA: AAAI Press. tional Linguistics (ACL): Human Language Technologies Fleming, M., and Cohen, R. 1999. Towards a methodology (NAACL-HLT) Workshop on Research Directions in Dia- for designing and evaluating mixed-initiative AI systems. logue Processing, 19–21. Stroudsburg, PA: Association In Proceedings of the AAAI Workshop on Mixed-initiative for Computational Linguistics. Intelligence, 130–134. Menlo Park, CA: AAAI Press. Guinn, C. 1999. Evaluating mixed-initiative dialog. IEEE Fleming, M., and Cohen, R. 2001. A user modeling ap- Intelligent Systems 14(5):21–23. proach to determining system initiative in mixed-initiative ai systems. In Bauer, M.; Gmytrasiewicz, P.; and Vas- Hamidi, S.; Andritsos, P.; and Liaskos, S. 2014. Construct- sileva, J., eds., Proceedings of the Eighth International ing adaptive configuration dialogs using crowd data. In Conference on User Modeling (UM), 54–63. Sonthofen, Proceedings of the Twenty-ninth ACM/IEEE International Germany: Springer. Conference on Automated Software Engineering (ASE), 485–490. New York, NY: ACM Press. Frank, M.; Muslea, M.; Oh, J.; Minton, S.; and Knoblock, C. 2001. An intelligent user interface for mixed-initiative Hearst, M. 1999. Mixed-initiative interaction. IEEE Intelli- multi-source travel planning. In Proceedings of the Sixth gent Systems 14(5):14–16. 31 Joshua W. Buck and Saverio Perugini MAICS 2016 pp. 25–32 Hochberg, J.; Kambhatla, N.; and Roukos, S. 2002. A flexi- Pu, P., and Lalanne, D. 2002. Design visual thinking tools ble framework for developing mixed-initiative dialog sys- for mixed-initiative systems. In Proceedings of the Sev- tems. In Proceedings of the Third Association for Com- enth International Conference on Intelligent User Inter- putational Linguistics (ACL) SIGDIAL Workshop on Dis- faces (IUI), 119–126. New York, NY: ACM Press. course and Dialogue, 60–63. Stroudsburg, PA: Associa- Quan, D.; Huynh, D.; Karger, D.; and Miller, R. 2003. tion for Computational Linguistics. User interface continuations. In Proceedings of the Six- Jones, N. 1996. An Introduction to Partial Evaluation. ACM teenth Annual ACM Symposium on User Interface Soft- Computing Surveys 28(3):480–503. ware and Technology (UIST), 145–148. New York, NY: Jordan, P.; Ringenberg, M.; and Hall, B. 2006. Rapidly ACM Press. developing dialogue systems that support learning stud- Rudnicky, A., and Xu, W. 1999. An agenda-based dialog ies. In Proceedings of Intelligent Tutoring Systems (ITS) management architecture for spoken language systems. Workshop on Teaching with Robots, Agents, and NLP, 1– IEEE Automatic Speech Recognition and Understanding 8. Workshop 13(4). Kronenberg, S., and Regel-Brietzman, P. 2001. Bridging the Rudnicky, A.; Thayer, E.; Constantinides, P.; Tchou, C.; gap between mixed-initiative dialogs and reusable sub- Stern, R.; Lenzo, K.; Xu, W.; and Oh, A. 1999. Cre- dialogs. In Proceedings of the IEEE Workshop on Au- ating natural dialogs in the carnegie mellon communica- tomatic Speech Recognition and Understanding (ASRU), tor system. In Proceedings of the Sixth European Con- 276–279. Los Alamitos, CA: IEEE Computer Society ference on Speech Communication and Technology (EU- Press. ROSPEECH). International Speech Communication As- Lee, C.; Jung, S.; Kim, K.; Lee, D.; and Lee, G. 2010. Re- sociation. cent approaches to dialog management for spoken dialog Scott, M. 2009. Programming Language Pragmatics. Am- systems. Journal of Computing Science and Engineering sterdam: Morgan Kaufmann, third edition. 4(1):1–22. Sebesta, R. 2015. Concepts of Programming Languages. Leuski, A., and Traum, D. 2011. NPCEditor: Creating Boston, MA: Addison Wesley, eleventh edition. virtual human dialogue using information retrieval tech- niques. AI Magazine 32(2):42–56. Smith, S.; Cortellessa, G.; Hildum, D.; and Ohler, C. 2005. Using a scheduling domain ontology to compute user- Maes, P. 1987. Concepts and experiments in computational oriented explanations. In Castillo, L.; Barrajo, D.; Salido, reflection. In Proceedings of the International ACM Con- M.; and Oddi, A., eds., Planning, Scheduling, and Con- ference on Object-Oriented Programming Systems, Lan- straint Satisfaction: From Theory to Practice. IOS Press. guages and Applications, 147–155. New York, NY: ACM Press. Spiliopoulou, M. 2000. Web usage mining for web site evaluation. Communications of the ACM 43(8):127–134. Misu, T.; Georgila, K.; Leuski, A.; and Traum, D. 2012. Reinforcement learning of question-answering dialogue Thomas, D. 2014. Programming Elixir: Functional, Con- policies for virtual museum guides. In Proceedings of the current, Pragmatic, Fun. Dallas, TX: Pragmatic Book- Thirteenth Annual Meeting of the Special Interest Group shelf. on Discourse and Dialogue, 84–93. Stroudsburg, PA: As- Walker, M., and Whittaker, S. 1990. Mixed-initiative in sociation for Computational Linguistics. dialogue: An investigation into discourse segmentation. Perugini, S. 2015. Staging mixed-initiative dialogs by pro- In Proceedings of the Twenty-eighth Annual Meeting on gram generation and transformation. Technical Report Association for Computational Linguistics (ACL), 70–78. arXiv:1108.0476v5 [cs.PL], Computing Research Repos- Stroudsburg, PA: Association for Computational Linguis- itory (CoRR). Available from http://lanl.arXiv. tics. org/abs/1108.0476v5. Wolfman, S.; Lau, T.; Domingos, P.; and Weld, D. 2001. Polifroni, J.; Chung, G.; and Seneff, S. 2003. Towards Mixed initiative interfaces for learning tasks: Smartedit the automatic generation of mixed-initiative dialogue sys- talks back. In Proceedings of the Sixth ACM International tems from web content. In Proceedings of the Eighth Eu- Conference on Intelligent User Interfaces (IUI), 167–174. ropean Conference on Speech Communication and Tech- New York, NY: ACM Press. nology (EUROSPEECH), 193–196. International Speech Communication Association. 32