ReinForest: Multi-Domain Dialogue Management Using Hierarchical Policies and Knowledge Ontology

Similar documents
Axiom 2013 Team Description Paper

ISFA2008U_120 A SCHEDULING REINFORCEMENT LEARNING ALGORITHM

Lecture 10: Reinforcement Learning

Learning Optimal Dialogue Strategies: A Case Study of a Spoken Dialogue Agent for

Georgetown University at TREC 2017 Dynamic Domain Track

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

AQUA: An Ontology-Driven Question Answering System

Radius STEM Readiness TM

Reinforcement Learning by Comparing Immediate Reward

Integrating Meta-Level and Domain-Level Knowledge for Task-Oriented Dialogue

University of Groningen. Systemen, planning, netwerken Bosman, Aart

Task Completion Transfer Learning for Reward Inference

Specification and Evaluation of Machine Translation Toy Systems - Criteria for laboratory assignments

Task Completion Transfer Learning for Reward Inference

Learning Prospective Robot Behavior

Liquid Narrative Group Technical Report Number

Exploration. CS : Deep Reinforcement Learning Sergey Levine

Modeling user preferences and norms in context-aware systems

Effect of Word Complexity on L2 Vocabulary Learning

Software Maintenance

PROCESS USE CASES: USE CASES IDENTIFICATION

Seminar - Organic Computing

Learning Methods for Fuzzy Systems

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

Patterns for Adaptive Web-based Educational Systems

Machine Learning from Garden Path Sentences: The Application of Computational Linguistics

Top US Tech Talent for the Top China Tech Company

CHAT To Your Destination

Speeding Up Reinforcement Learning with Behavior Transfer

CREATING SHARABLE LEARNING OBJECTS FROM EXISTING DIGITAL COURSE CONTENT

Measurement & Analysis in the Real World

CS 101 Computer Science I Fall Instructor Muller. Syllabus

Laboratorio di Intelligenza Artificiale e Robotica

A Neural Network GUI Tested on Text-To-Phoneme Mapping

Spoken Language Parsing Using Phrase-Level Grammars and Trainable Classifiers

MYCIN. The MYCIN Task

What s in a Step? Toward General, Abstract Representations of Tutoring System Log Data

An OO Framework for building Intelligence and Learning properties in Software Agents

WORKSHOP PAPERS Tutorial Dialogue Systems

Learning about Voice Search for Spoken Dialogue Systems

Introduction to Simulation

Knowledge Elicitation Tool Classification. Janet E. Burge. Artificial Intelligence Research Group. Worcester Polytechnic Institute

Parsing of part-of-speech tagged Assamese Texts

Getting the Story Right: Making Computer-Generated Stories More Entertaining

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE

Ontologies vs. classification systems

Using dialogue context to improve parsing performance in dialogue systems

COMPUTATIONAL COMPLEXITY OF LEFT-ASSOCIATIVE GRAMMAR

Visual CP Representation of Knowledge

Predicting Students Performance with SimStudent: Learning Cognitive Skills from Observation

Field Experience Management 2011 Training Guides

Learning goal-oriented strategies in problem solving

Emotional Variation in Speech-Based Natural Language Generation

Adaptive Generation in Dialogue Systems Using Dynamic User Modeling

UC Merced Proceedings of the Annual Meeting of the Cognitive Science Society

Ericsson Wallet Platform (EWP) 3.0 Training Programs. Catalog of Course Descriptions

The Enterprise Knowledge Portal: The Concept

An Interactive Intelligent Language Tutor Over The Internet

21 st Century Skills and New Models of Assessment for a Global Workplace

CSL465/603 - Machine Learning

Lecture 1: Basic Concepts of Machine Learning

Guru: A Computer Tutor that Models Expert Human Tutors

Improving Action Selection in MDP s via Knowledge Transfer

Knowledge based expert systems D H A N A N J A Y K A L B A N D E

Multimedia Courseware of Road Safety Education for Secondary School Students

Multimedia Application Effective Support of Education

Operational Knowledge Management: a way to manage competence

Agent-Based Software Engineering

A Framework for Customizable Generation of Hypertext Presentations

Different Requirements Gathering Techniques and Issues. Javaria Mushtaq

Robot Shaping: Developing Autonomous Agents through Learning*

Computerized Adaptive Psychological Testing A Personalisation Perspective

Cognitive Modeling. Tower of Hanoi: Description. Tower of Hanoi: The Task. Lecture 5: Models of Problem Solving. Frank Keller.

A Minimalist Approach to Code-Switching. In the field of linguistics, the topic of bilingualism is a broad one. There are many

The open source development model has unique characteristics that make it in some

System Implementation for SemEval-2017 Task 4 Subtask A Based on Interpolated Deep Neural Networks

Agents and environments. Intelligent Agents. Reminders. Vacuum-cleaner world. Outline. A vacuum-cleaner agent. Chapter 2 Actuators

A Domain Ontology Development Environment Using a MRD and Text Corpus

Stephanie Ann Siler. PERSONAL INFORMATION Senior Research Scientist; Department of Psychology, Carnegie Mellon University

Implementing a tool to Support KAOS-Beta Process Model Using EPF

MAKING YOUR OWN ALEXA SKILL SHRIMAI PRABHUMOYE, ALAN W BLACK

Designing e-learning materials with learning objects

CONCEPT MAPS AS A DEVICE FOR LEARNING DATABASE CONCEPTS

Data Modeling and Databases II Entity-Relationship (ER) Model. Gustavo Alonso, Ce Zhang Systems Group Department of Computer Science ETH Zürich

Learning to Schedule Straight-Line Code

Laboratorio di Intelligenza Artificiale e Robotica

have to be modeled) or isolated words. Output of the system is a grapheme-tophoneme conversion system which takes as its input the spelling of words,

*Net Perceptions, Inc West 78th Street Suite 300 Minneapolis, MN

Continual Curiosity-Driven Skill Acquisition from High-Dimensional Video Inputs for Humanoid Robots

On-Line Data Analytics

Chapter 2. Intelligent Agents. Outline. Agents and environments. Rationality. PEAS (Performance measure, Environment, Actuators, Sensors)

IAT 888: Metacreation Machines endowed with creative behavior. Philippe Pasquier Office 565 (floor 14)

An Architecture to Develop Multimodal Educative Applications with Chatbots

GACE Computer Science Assessment Test at a Glance

Spring 2015 IET4451 Systems Simulation Course Syllabus for Traditional, Hybrid, and Online Classes

POLA: a student modeling framework for Probabilistic On-Line Assessment of problem solving performance

USER ADAPTATION IN E-LEARNING ENVIRONMENTS

The Conversational User Interface

Evaluation of Learning Management System software. Part II of LMS Evaluation

Transcription:

ReinForest: Multi-Domain Dialogue Management Using Hierarchical Policies and Knowledge Ontology Tiancheng Zhao CMU-LTI-16-006 Language Technologies Institute School of Computer Science Carnegie Mellon University 5000 Forbes Ave., Pittsburgh, PA 15213 www.lti.cs.cmu. April 4, 2016

ReinForest: Multi-Domain Dialogue Management Using Hierarchical Policies and Knowledge Ontology Tiancheng Zhao Language Technologies Institute Carnegie Mellon University April 4, 2016 1 Introduction This report describes a dialog management framework that is designed to e ciently create multi-domain, mixed-initiative dialog system. We formalize the existing state-of-the-art plan-based RavenClaw dialog management framework [2] into a Semi-Markov Decision Process (SMDP), which finds its root in the hierarchical reinforcement learning (HRL) [10, 5] community. The proposed framework also incorporates a domain-dependent ontology for developers to rapidly encode domain knowledge. Therefore, the proposed model allows rapid extension to new domains and profits from dialog policy reusability. 2 Related Work ReinForest is closely related to the RavenClaw [2] dialog management framework. RavenClaw is the stateof-art plan-based architecture that has been used to develop a large number of real-world dialog systems, including RoomLine, Let s Go Public [9], LARRI [3], Team Talk [6], VERA etc. RavenClaw introduced the idea of task-independence of the dialog manager, which only requires developers to specify a domain-related dialog task tree. After the task tree is defined, a domain-independent dialog engine can execute the dialog tree and conducts error recovery based on a library of error-handling strategies. Although it is much easier to define domain related dialog task trees comparing to naive flow-chart approach [7], the dialog task tree can still explode to intractable size when dealing with multi-domains. Thus ReinForest takes one step further so that developers only need to specify a knowledge ontology for all domains. The generation and the execution of the dialog task trees are both domain independent. Moreover, ReinForest formalizes the execution of the dialog task tree into a Semi Markov Decision Process (SMDP) framework. The theory of SMDPs provides the foundation for hierarchical reinforcement learning (HRL), which allows arbitrary structural knowledge to be encoded in the policies of an agent. Past work [5, 10, 1, 11] has shown that HRL can achieve better sample-e ciency and policy resuability compared to plain reinforcement learning algorithms. Therefore, unifying traditional plan-based dialog management with SMDPs opens up the possibilities of training plan-based dialog manager using principled machine learning algorithms from the HRL framework. 3 Interface We first define the input and output API used by the ReinForest Dialog Manager (RM), which is outlined in Figure 1. The input to ReinForest is a semantic frame from an external natural language understanding (NLU). The frame contains the original utterance along with the three annotations: entities, an intent and a domain. Assuming the user utterance is: Recommend a restaurant for me in Pittsburgh, an example semantic frame input to ReinForest is as follows: 1

Figure 1: The input to ReinForest is a semantic frame that comes from the natural language understanding (NLU). The output of ReinForest is a list of dialog acts and content value pairs to the natural language generator (NLG). Domain {Restaurant: 0.95; Hotel: 0.05} Intent {Request: 0.9; Inform: 0.1; Confirm: 0.0} Entities {Type: Location; Value: Pittsburgh} Given the user input annotated by the NLU, ReinForest will update its internal dialog state and generate the next system response. The response is in the format of a list of dialog acts and content value tuples, a sys =[(DA 0,v 0 ),...(DA k,v k )]. The NLG is responsible for transforming a sys to the natural language surface form and replying to the user. A valid ReinForest response given the utterance in the previous example is as follows, which should be transformed to: I believe you said Pittsburgh. What kind food do you want? by a simple NLG: a sys =[(CONFIRM,value = Pittsburgh), (ASK, value = food t ype)] (1) 4 System Architecture The overall architecture of ReinForest is shown in Figure 2. Figure 2: The architecture of ReinForest. ReinForest has a domain-independent dialog engine operating on a domain-dependent knowledge ontology. Therefore, the core of ReinForest has two parts: knowledge ontology and dialog engine. The knowledge ontology is a domain-dependent knowledge graph where developers can quickly encode domain knowledge and relations between various concepts. Meanwhile, the dialog engine is a domain-independent execution mechanism that generates the next system response given the current dialog state. The following sections formally define these two components. 5 Knowledge Ontology Concept: The knowledge Ontology can be thought of as the fuel for the ReinForest dialog engine. The basic unit of the ontology is a concept. The internal structure of a concept is outlined in Figure 3 and formally defined as: 2

Figure 3: A concept is the basic unit of knowledge ontology. A concept has an attribute map (a Hashmap) that stores attribute information. It is optional to have a set of subscribed entities and domains, linked to external databases and dependencies linked to other concepts (e.g C 0 depends on C 1 to C k ). 1. An attribute map: essentially a hashmap that maps from a string key to an attribute (defined below). 2. A set of subscribed entities and domains: when the user input utterance contains the subscribed entities or domains, the dialog engine will trigger handling functions to perform updates on the concept. 3. A set of dependency concepts: a concept can depend on a set of other concepts before its value can be obtained. Currently ReinForest does not allow circles in the graph, so that the knowledge ontology forms a Direct Acyclic Graph (DAG). In practise, the dependencies encode the domain knowledge. For example, in order to know about the weather, the agent needs to ask date and location first. Attribute: An attribute is the basic memory unit of a concept. It is an object class that contains: 1. Key: the unique ID of the attribute. 2. Value: the raw value from user input. 3. Normalized Value: the value that is normalized (e.g. today! 4/4/2016) 4. Score: a score indicates the confidence level. Concept Pool: Given the definition of a concept, ReinForest allows developers to construct domain knowledge in the form of a DAG. ReinForest also introduces the idea of concept pool to create groups of concepts. Figure 4 gives a simple example of a concept pool for a slot-filling dialog manager. Essentially a concept pool is a collection of concepts that share some common properties. In the default setting, there are two concept pools: the agent concept pool and the user concept pool. The agent concept pool consists of concepts that the agent knows, such as agent s name, the restaurant information and etc. On the other hand, the user concept pool contains concepts that only users know, such as the date that the users are inquiring about, users names etc. 6 Dialog Engine As illustrated in Figure 2, the dialog engine of ReinForest is a domain-independent execution mechanism that consists of 4 main components: hierarchical policy execution, belief update, tree transformation and error handling. Algorithm 1 sketches the pseudo code of the main execution loop inside ReinForest. The dialog engine establishes its connection to the knowledge ontology via a dialog state, s, which captures all the information about the ongoing dialogs. The agent/user concept pools are both parts of the dialog state s. Now we formally define the dialog state and each of these four modules in the dialog engine. 3

Figure 4: A simple slot-filling dialog manager. The agent knows about its own name and restaurant. In order to inform about restaurant information, it needs to acquire three concepts: price, location and type from the users. Therefore, the restaurant concept depends on the three concepts from the user concept pool. Algorithm 1 ReinForest Main Loop while dialog.end() 6= True do while dialog stack.top().type 6= PRIMITIVE do execute(dialog stack.top agent) end while if user has input then belief update() tree transf ormation() error handle() end if end while 6.1 Dialog State The dialog state contains a pointer to the knowledge ontology as well as extra state information about a dialog. The current implementation of ReinForest contains simple variables that are useful to make decisions. Some example state variables include: number of turns, previous utterance annotation, previous selected domain etc. 6.2 Hierarchical Policy Hierarchical policy has been studied extensively in the literature of both hierarchical reinforcement learning (HRL) [5, 8, 10] and plan-based dialog management [2, 4]. The contribution of ReinForest is that it formalizes the plan-based dialog management in the language of HRL, which opens up the possibility of applying wellestablished HRL algorithms to optimize the operations of plan-based dialog manager. We first introduce the notations of HRL and then define the dialog task tree using that language. Hierarchical Reinforcement Learning: The mathematical framework of HRL is the Markov Decision Process (MDP) which is described by: 1. S is the dialog state space 2. A is a set of primitive actions. 3. P (s 0 s, a) defines the transition probability of executing primitive action a in state, s 4. R(s 0 s, a) is the reward function defined over S and A 4

An MDP, M can be decomposed into a set of subtasks, O = {O 1,O 2,..O k },whereo 0, by convention, is the root and solving O 0 solves M. A subtask is a Semi-Markov Decision Process (SMDP), which is characterised by two additional variables compared to an MDP: 1. i(s) is the termination predicate of subtask O i that partitions S into a set of active states, S i and a set of terminal states T i. If O i enters a state in T i, O i and its descendants exit immediately, i.e. i(s) =1ifs 2 T i, otherwise i(s) = 0. 2. U i is a nonempty set of actions that can be performed by O i. The actions can be either primitive actions from A or other subtasks, O j,wherei 6= j. WewillrefertoU i as the children of subtask O i. Eventually, a hierarchical policy for M is and is simply a set of policies for each subtask, i.e. = { 0, 1... n }. It is evident that a valid hierarchical policy forms a DAG, whose roots are from O 0 and where terminal leaves are primitive actions belonging to A. ReinForest Dialog Policy: ReinForest Dialog Policy forms a dialog task tree. Each node is a subtask belonging to one the three types: dialog agency, dialog choice agency and dialog agent. Dialog Agency: a subtask O i 2 O with a fixed policy that will execute its children from left to right. Dialog Choice Agency: a subtask O i 2 O with a learned policy that chooses the next executed child based on the context. Dialog Agent: a primitive action a 2 A that actually delivers the action to users. For visual illustration, Figure 5 shows our notation of expressing dialog task tree made from the above 3 basic types of nodes. Figure 5: Visual notation for the 3 basic types of nodes in the ReinForest Dialog Task Tree. 6.3 Belief Update Belief update takes place when there is new input from the users. This component will first update generic dialog states, such as incrementing the dialog turn count. Then it loops through all the concepts in the knowledge ontology and checks if the annotations in the new input match with any subscribed domain/intent/entities in each concept. If a match is found, the new values are stored in the attribute map of the concept. 6.4 Tree Transformation Tree transformation is key in ReinForest in order to support mixed-initiative and multi-domain conversations. The transformation is comprised of two steps: candidate tree generation and candidate tree selection. Candidate tree generation: scans through the updates made by belief update and generates a list of candidate trees that can be pushed to the dialog stack (and can be ;). Usually a candidate is generated when the user explicitly requests information that is handled by a di erent domain. Candidate selection: the selected candidate trees are appended under a dialog choice agency. The dialog choice agency selects one of the trees and pushes it to the dialog stack. 5

6.5 Error Handling There are two types of error handling: misunderstand error handling and non-understand error handling [2]. Misunderstand handling is used to conduct explicit or implicit confirms about concepts in the knowledge ontology. Specifically, the dialog engine will loop through all concepts in the user concept pool and select concepts that are updated but not yet grounded for misunderstanding error handling. A misunderstanding subtask will then be pushed to the stack. The misunderstanding subtask will choose a built-in misunderstanding error handling strategy to confirm each concept. Current implementation supports two types of strategies: implicit and explicit confirm. On the other hand, non-understanding handling is activated when there is user input, but no update or tree-transformation is able to succeed. ReinForest implements a wide range of non-understand handling strategies, ranging from simple can you repeat that? to a response from an external chat-bot. 7 Useful Policies During development, several reusable and domain-independent subtasks are identified. This section briefly describes their use cases. Inform Tree: Inform tree is shown in Figure 6 and is used for informing a concept from the agent concept pool. The inform root is a dialog agency so that it executes its children in order from left to right. The left branch is a sub-tree that will be recursively constructed to acquire all the dependent concepts. Request Tree: Request tree is shown in Figure 6. It is a simple tree rooted with a dialog choice agency. Its children contain every dimension of a concept. Since the root is a choice agency, the execution order depends on the specific policy. Figure 6: The left figure is the inform tree and the right figure shows the request tree. A inform tree recursively constructs request trees to obtain dependent concepts. A request tree requests every dimension of a concept using a dialog choice agency. Misunderstanding Tree: shown in Figure 7 is a simple implementation of misunderstanding error handling. The root has a list of dialog choice agencies, each of them is in charge of confirming a specific concept. Each choice agency will choose a misunderstanding strategy for each concept. Non-understanding Tree: shown in Figure 7 is implemented as a dialog choice agency with a list of non-understanding strategies as children. This tree is invoked when the new user input cannot be understood completely. Currently ReinForest implements 4 di erent non-understanding strategies: Ask Repeat, Ask Rephrase, Notify Non-understand and achatbot 8 Conclusion In conclusion, this reports demonstrates a simple framework, ReinForest, for rapid multi-domain dialog manager development. We introduce the interface and the architecture of ReinForest and formally describe the two core components: knowledge ontology and dialog engine. At last, we share useful and reusable dialog policies that we found during development. 6

Figure 7: The left figure shows the misunderstanding tree and the right figure shows the non-understanding tree.. Future work include using the framework to develop sophisticated multi-domain dialog systems and automate each components using machine learning methods. References [1] Andrew G Barto and Sridhar Mahadevan. Recent advances in hierarchical reinforcement learning. Discrete Event Dynamic Systems, 13(4):341 379, 2003. [2] Dan Bohus and Alexander I Rudnicky. Ravenclaw: Dialog management using hierarchical task decomposition and an expectation agenda. 2003. [3] Dan Bohus and Alexander I Rudnicky. Larri: A language-based maintenance and repair assistant. In Spoken multimodal human-computer dialogue in mobile environments, pages 203 218. Springer, 2005. [4] Dan Bohus and Alexander I Rudnicky. The ravenclaw dialog management framework: Architecture and systems. Computer Speech & Language, 23(3):332 361, 2009. [5] Thomas G Dietterich. Hierarchical reinforcement learning with the maxq value function decomposition. J. Artif. Intell. Res.(JAIR), 13:227 303, 2000. [6] Thomas K Harris and Alexander I Rudnicky. Teamtalk: A platform for multi-human-robot dialog research in coherent real and virtual spaces. In Proceedings of the National Conference on Artificial Intelligence, volume 22, page 1864. Menlo Park, CA; Cambridge, MA; London; AAAI Press; MIT Press; 1999, 2007. [7] Tim Paek and Roberto Pieraccini. Automating spoken dialogue management design using machine learning: An industry perspective. Speech communication, 50(8):716 729, 2008. [8] Ronald Parr and Stuart Russell. Reinforcement learning with hierarchies of machines. Advances in neural information processing systems, pages 1043 1049, 1998. [9] Antoine Raux, Brian Langner, Dan Bohus, Alan W Black, and Maxine Eskenazi. Let s go public! taking a spoken dialog system to the real world. In in Proc. of Interspeech 2005. Citeseer, 2005. [10] Richard S Sutton, Doina Precup, and Satinder Singh. Between mdps and semi-mdps: A framework for temporal abstraction in reinforcement learning. Artificial intelligence, 112(1):181 211, 1999. [11] Tiancheng Zhao and Mohammad Gowayyed. Algorithms for batch hierarchical reinforcement learning. arxiv preprint arxiv:1603.08869, 2016. 7