Specifications often can’t be found in data • Handcrafting is inevitable • Dialogue development frameworks streamline development ◦ Commercially-oriented, e.g. Google DialogFlow ◦ Update rule-driven, e.g. PyOpenDial (Jang et al 2019), PyDial (Ultes et al 2017) ◦ Custom languages, e.g. AIML, ChatScript 2 Introduction
developed by novices in minutes or hours • High customizability for complex interactions • Seamless integration of pattern matching, trained models, and custom logic • Two fully-interoperable approaches: a. State machine (rapid development) b. Information state* (complex interactions) 3 Emora State Transition Dialogue Manager * Larsson and Traum (2000)
are you?': {...} }, 'Hi!': { 'So did you have a good weekend?': {...} } } 5 State Machine Based Dialogue Management How are you? Hello! Hi! I am well. How are you? a b c d So did you have a good weekend? ⬛ System transition ⬛ User transition
(entertainment)] S 1 :Have you seen any movies lately? U 3 :[$MOVIE=#MDB()] S 3 :Sorry, I didn’t catch that. Have you seen any good movies? U 1 :ERROR S 2 :I’ve been watching a lot of $GENRE={action, horror, drama} movies {lately, recently} U 6 :#SENTIMENT(positive) [$GENRE] U 5 :ERROR U 4 :[{have, did} you {seen, watch} $MOVIE=#MDB()] S 5 :$MOVIE is one of my favorites! S 4 :What’s your favorite $ENT? S 6 :What is your favorite movie? a c b e f d g h S 7 :Why do you like $GENRE? ⬛ System transition ⬛ User transition
modify dialogue state and response • Update rule table is a list of conditional if...then… rules • Precondition is a Natex matching against the user input • Postcondition is a Natex using NLG compiler • All rules are applied before state machine transitions 14 Update Rules
System: “Do you have kids?” Precondition Postcondition #IF($is_adult) “Do you have kids?” (2.0) [{movie, movies}] #GOTO(state_x) [my {husband, wife}] #SET($married=True) #IF(married=True) #SET($is_adult=True) #REWRITE( dont -> do not) None
P. Lison, and K. Kim. 2019. PyOpenDial: A Python-based Domain-Independent Toolkit for Developing Spoken Dialogue Systems with Probabilistic Rules. In Proceedings of EMNLP System Demonstrations. S. Larsson and D. R. Traum. 2000. Information state and dialogue management in the TRINDI dialogue move engine toolkit. NLE, 6(3 & 4):323-340. S. Ultes, Rojas B., Lina M., P. Su, D. Vandyke, D. Kim, I. Casanueva, P. Budzianowski, N. Mrksic, T. Wen, M. Gasic, and S. Young. 2017. Pydial: A multi-domain statistical dialogue system toolkit. In Proceedings of ACL System Demonstrations. 21 Thank You!
$genre={action, horror} movies. Personally, I like $genre=action movies. Personally, I like action movies. ($genre=”action”) 31 Natex for Natural Language Generation