=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== https://ceur-ws.org/Vol-1584/paper13.pdf
 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