1 / 25

The Staging Transformation Approach to Mixing Initiative

The Staging Transformation Approach to Mixing Initiative. Robert Capra, Michael Narayan, Saverio Perugini, Naren Ramakrishnan, and Manuel A. Pérez-Quiñones Department of Computer Science Virginia Tech Blacksburg, VA, USA. Staging Transformation.

parley
Download Presentation

The Staging Transformation Approach to Mixing Initiative

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Staging Transformation Approach to Mixing Initiative Robert Capra, Michael Narayan, Saverio Perugini, Naren Ramakrishnan, and Manuel A. Pérez-Quiñones Department of Computer Science Virginia Tech Blacksburg, VA, USA

  2. Staging Transformation • Use of Program Transformation techniques to handle control of MII • Partial Evaluation • Currying • Representation of Control • Who can say what when • Traditional: rely on state and anticipation • Staging Transformation • Traditional: dialog as program scripts • New: scripts capture structure, dialog control through program transformations • Control as the process of transforming one dialog script into another

  3. Program Transformation Partial Evaluation example int pow (int base, int exponent) { int prod = 1; for (int i=0; i<exponent; i++) { prod = prod * base; } return (prod); }

  4. Program Transformation Partial Evaluation example int pow (int base, int exponent) { int prod = 1; for (int i=0; i<exponent; i++) { prod = prod * base; } return (prod); }

  5. Program Transformation Partial Evaluation example int pow (int base) { int prod = 1; for (int i=0; i<exponent; i++) { prod = prod * base; } return (prod); }

  6. Program Transformation Partial Evaluation example int pow (int base) { int prod = 1; for (int i=0; i<exponent; i++) { prod = prod * base; } return (prod); }

  7. Program Transformation Partial Evaluation example int pow2 (int base) { int prod = 1; for (int i=0; i<exponent; i++) { prod = prod * base; } return (prod); }

  8. Program Transformation Partial Evaluation example int pow2 (int base) { int prod = 1; for (int i=0; i<exponent; i++) { prod = prod * base; } return (prod); }

  9. Program Transformation Partial Evaluation example int pow2 (int base) { return (prod); }

  10. Program Transformation Partial Evaluation example int pow2 (int base) { return (prod); }

  11. Program Transformation Partial Evaluation example int pow2 (int base) { return (base * base); }

  12. Program Transformation Partial Evaluation example int pow2 (int base) { return (base * base); }

  13. Program Transformation int pow (int base, int exponent) { int prod = 1; for (int i=0; i<exponent; i++) { prod = prod * base; } return (prod); } exponent = 2 PE int pow2 (int base) { return (base * base); }

  14. MII Dialog – Simple Example • U: <calls Joe’s pizza parlor> • S: Thanks for calling Joe’s. • S: What size pizza? • U: Onion • S: Okay, onion • S: What size pizza: • U: Medium • S: What type of crust? • U: Thin • S: So that is a medium onion pizza on thin crust…. Size Topping Crust “Unsolicited reporting”

  15. Staging DialogUsing Partial Evaluation pizzaorder (size, topping, crust) { if (unfilled(size)) { /* prompt for size */ } if (unfilled(topping)) { /* prompt for topping */ } if (unfilled (crust)) { /* prompt for crust */ } }

  16. Staging DialogUsing Partial Evaluation pizzaorder (size, topping, crust) { if (unfilled(size)) { /* prompt for size */ } if (unfilled(topping)) { /* prompt for topping */ } if (unfilled (crust)) { /* prompt for crust */ } } “onions” PE w.r.t. topping

  17. Staging DialogUsing Partial Evaluation pizzaorder (size, crust) { if (unfilled(size)) { /* prompt for size */ } if (unfilled (crust)) { /* prompt for crust */ } } “onions”

  18. Staging DialogUsing Partial Evaluation pizzaorder (size, crust) { if (unfilled(size)) { /* prompt for size */ } if (unfilled (crust)) { /* prompt for crust */ } } “medium” “onions” PE w.r.t. size

  19. Staging DialogUsing Partial Evaluation pizzaorder (crust) { if (unfilled (crust)) { /* prompt for crust */ } } “medium” “onions”

  20. Staging DialogUsing Partial Evaluation pizzaorder (crust) { if (unfilled (crust)) { /* prompt for crust */ } } “medium” “onions” “thin” PE w.r.t. crust

  21. Staging DialogUsing Partial Evaluation pizzaorder () { } “medium” “onions” “thin”

  22. User input Dialog script Dialog Manager Interpreter nothing Stop to process User Input? Slot filling Out-of-turn processing responsive unsolicited Dialog script User input Interpreter nothing Stop to process User Input? Out-of-turn processing Dialog Manager yes Traditional Dialog Manager • Benefits • No distinction between responsive and out-of-turn, use PE for both • Script and Control separate • Staging Transformation • Examine script and play prompt • Collect user input • Apply program transformation

  23. Application • Functional stagers (Scheme) • Representation and Rules PE / s t c • MII in Web Site Interaction • Out-of-turn inputs for personalization • VoiceXML Form Interpretation Algorithm • Select, collect, process • For form-level grammars, FIA does PE • Multimodal MII • SALT’s lack of built-in control for MI

  24. Reasoning about Dialogs • Our approach supports meta-dialog reasoning • Forward-slicing • “What options if I select pepperoni?” • Backward-slicing • “Will this get me to a phone number at the end?” • Dynamic restructuring of the dialog • User negotiation, “ask in this order” • User interaction sequences/scenarios • Improve future interactions

  25. Links/References • Ramakrishnan, N., Capra, R., and Pérez-Quiñones, M. Mixed-Initiative Interaction = Mixed Computation. ACM SIGPLAN 2002 Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'02), Portland, Oregon, USA, January 14-15, 2002. • VoiceXML Forum. Voice eXtensible Markup Lanugage, version 1.00. March 2000. Accessible at: http://www.voicexml.org/

More Related