270 likes | 286 Views
Advanced TuTalk Dialogue Agents. Pamela Jordan University of Pittsburgh Learning Research and Development Center. Session Team Members. Pam Jordan Yue Cui (Jenny) Moses Hall. Agenda. Introducing the TuTalk server Web tools for fielding experiments Web tools for analyzing experiments
E N D
Advanced TuTalk Dialogue Agents Pamela Jordan University of Pittsburgh Learning Research and Development Center
Session Team Members • Pam Jordan • Yue Cui (Jenny) • Moses Hall
Agenda • Introducing the TuTalk server • Web tools for fielding experiments • Web tools for analyzing experiments • Introduce additional authoring features not supported by authoring GUI • Enabling and controlling automated feedback • Optional steps • Looping • Alternative authoring tools • writing directly in xml • sc format • Mixed initiative
Experiment management/analysis • Experiment management tools: http://pyrenees.lrdc.pitt.edu/~tutalk/cgi-bin/admin.cgi • One scenario/script = one dialogue agent = one condition, but can organize in other ways • One agent per unit • One agent that tells all knowledge components vs. one that elicits vs. one that uses a strategy to decide which to do • Condition management • Start on server and leave it running • Designate who is allowed in the condition • SQL database of information collected during interaction • Can download or query • Working on producing DataShop format
Additional authoring options • Automated turn transitions/feedback • Must specify truth-values for responses in context of an initiation • Default truth-value is “unknown” • Override automated turn transitions/feedbacks with a “say” • Optional steps: • Skip if specified condition met in recent dialogue history • Looping: • Repeat the template for a goal until a condition is met • Globally set condition once set
Alternatives to GUI authoring • Write xml directly (see documentation and dtd at http://andes3.lrdc.pitt.edu/TuTalk/#papers) • Write in special shorthand format called sc • Why do we need alternatives to GUI authoring? not all features are available in the authoring tools
What is xml? • html is a specialized version of xml • It is like “highlighting” a piece of text and annotating that segment with extra information • Xml is made up of elements and each element can have its own attribute • Ex: enthuse_about_appetizers becomes: <step> <initiation>enthuse_about_appetizers</initiation> </step>
Example xml for a basic template <goal name=“select-appetizer”> <step> <initiation>enthuse_about_appetizers</initiation> </step> <step> <initiation>ask_share_appetizer</initiation> <response>agree_to_share_appetizer</response> <response push=“abort ask-soup”>skip_appetizer</response> <response push=“abort lose-temper”>unanticipated_response</response> </step> <step> <subgoal>agree-on-appetizer</subgoal> </step> </goal>
Testing xml • Can import and then compile and test via TuTalk authoring tool • Can upload directly to TuTalk server via web admin interface and test via java interface
What is sc? • Uses a short-hand for the xml elements and attributes • Allows phrases to be defined within elements instead of allowing only concept labels • Automatically moves embedded phrases into concepts when translates to xml • Automatically generated concept labels are concatenations of first words of phrase (appends numbers if not a unique label)
Turn Transitions in xml • In xml add truth-val attribute to initiation and response (values = yes,no,partial,unknown) <initiation truth-val=“yes”> </initiation> • Globally enable/disable (default is enabled) • “say” feature in authoring tool overrides automatic transitions
XML Script w/ truth-val <goal name=“select-appetizer”> <step> <initiation>enthuse_about_appetizers</initiation> </step> <step> <initiation>ask_share_appetizer</initiation> <response>agree_to_share_appetizer</response> <response truth-val=“unknown” push=“abort ask-soup”>skip_appetizer</response> <response push=“abort lose-temper”>unanticipated_response</response> </step> <step> <subgoal>agree-on-appetizer</subgoal> </step> </goal>
As a runner pushes a ball away, what horizontal forces act on it? Good! <subdialog> <subdialog > Any others? Any others? After the push ends, what forces….? Optional Steps {gravitational, *} {runner’s} <anything else> not said said
Example of optional steps T: … what horizontal forces are acting on it while she is pushing it? S: Gravity? T: In what direction does gravity act? . T: So are there any other forces on the ball? S: no T: What about the runner? . T: Okay. After the push ends, what forces… subdialogue T: … what horizontal forces are acting on it while she is pushing it? S: The runner’s T: Right! So are there any other forces on the ball? S: no T: Good. After the push ends, what forces…
Script with an optional step and semantic labels in xml <goal name=“ask-appetizer” sem=“ask-appetizer”> <step optional=“yes”> <initiation sem=“enthuse-about-appetizers”>enthuse-about-appetizers</initiation> </step> <step> <initiation>ask-appetizer</initiation> <response sem=“skip-appetizer-order” push=“abort soup”>skip-appetizer</response> <response push=“abort soup”>no</response> <response push=“lose-temper”>unanticipated_response</response> </step> <step> <subgoal>order-appetizer</subgoal> </step> </goal>
Looping for a dialogue • Continuous loop on a template: repeat template until all indicated components covered T: Okay, great. What should we work on now? S: Add a loop T: That’s right. We will have to add a loop. Let’s figure out why. What made you think of using a loop? S: . . T: Okay. What should we work on now? . . T: So, with that we’re finished with this problem. (example based on Lane 04)
Script with a loop and semantic labels in xml <goal name="76" retry-until-cover="finished76"> <step> <initiation>continuethe-first-problem-will-take-abou</initiation> </step> <step><subgoal>prob76</subgoal></step> <step> <initiation sem="finished76"> enttxtthe-next-problem-will-take-about-3</initiation> <response>yes</response> <response push="logout-msg">unanticipated-response</response> </step> </goal>
As a runner pushes a ball away, what horizontal forces act on it? Good! <subdialog> <subdialog > After the push ends, what forces….? Student initiative on a topic If student says Agent picks an arc {gravitational, *} <anything else> {runner’s}
Mixed Initiative • Limited mixed initiative: • allow student to initiate a topic/question • off by default T: What is the net force on the egg? S: What is the difference between net force and force? T: Net force is the sum of all the forces on a body. S: okay T: What is the net force on the egg?
Configuration section in xml <configuration> <module name=“dm"> <dict><key>accept-initiative</key> <string>yes</string></dict> </module> <module name="nlu"> <dict><key>match-threshold</key> <string>0.4</string></dict> </module> </configuration>