The Staging Transformation Approach to Mixing Initiative

25
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

description

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. - PowerPoint PPT Presentation

Transcript of The Staging Transformation Approach to Mixing Initiative

Page 1: 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

Page 2: The Staging Transformation Approach to Mixing Initiative

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

Page 3: The Staging Transformation Approach to Mixing Initiative

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);

}

Page 4: The Staging Transformation Approach to Mixing Initiative

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);

}

Page 5: The Staging Transformation Approach to Mixing Initiative

Program Transformation

Partial Evaluation example

int pow (int base) {

int prod = 1;

for (int i=0; i<exponent; i++) {

prod = prod * base;

}

return (prod);

}

Page 6: The Staging Transformation Approach to Mixing Initiative

Program Transformation

Partial Evaluation example

int pow (int base) {

int prod = 1;

for (int i=0; i<exponent; i++) {

prod = prod * base;

}

return (prod);

}

Page 7: The Staging Transformation Approach to Mixing Initiative

Program Transformation

Partial Evaluation example

int pow2 (int base) {

int prod = 1;

for (int i=0; i<exponent; i++) {

prod = prod * base;

}

return (prod);

}

Page 8: The Staging Transformation Approach to Mixing Initiative

Program Transformation

Partial Evaluation example

int pow2 (int base) {

int prod = 1;

for (int i=0; i<exponent; i++) {

prod = prod * base;

}

return (prod);

}

Page 9: The Staging Transformation Approach to Mixing Initiative

Program Transformation

Partial Evaluation example

int pow2 (int base) {

return (prod);

}

Page 10: The Staging Transformation Approach to Mixing Initiative

Program Transformation

Partial Evaluation example

int pow2 (int base) {

return (prod);

}

Page 11: The Staging Transformation Approach to Mixing Initiative

Program Transformation

Partial Evaluation example

int pow2 (int base) {

return (base * base);

}

Page 12: The Staging Transformation Approach to Mixing Initiative

Program Transformation

Partial Evaluation example

int pow2 (int base) {

return (base * base);

}

Page 13: The Staging Transformation Approach to Mixing Initiative

Program Transformation

int pow (int base, int exponent) {

int prod = 1;

for (int i=0; i<exponent; i++) {

prod = prod * base;

}

return (prod);

}

int pow2 (int base) {

return (base * base);

}

PE

exponent = 2

Page 14: The Staging Transformation Approach to Mixing Initiative

MII Dialog – Simple Example

1. U: <calls Joe’s pizza parlor>2. S: Thanks for calling Joe’s.3. S: What size pizza?4. U: Onion5. S: Okay, onion6. S: What size pizza:7. U: Medium8. S: What type of crust?9. U: Thin10. S: So that is a medium onion pizza on thin crust….

SizeToppingCrust

“Unsolicited reporting”

Page 15: The Staging Transformation Approach to Mixing Initiative

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 */

}

}

Page 16: The Staging Transformation Approach to Mixing Initiative

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

Page 17: The Staging Transformation Approach to Mixing Initiative

Staging DialogUsing Partial Evaluation

pizzaorder (size, crust) {

if (unfilled(size)) {

/* prompt for size */

}

if (unfilled (crust)) {

/* prompt for crust */

}

}

“onions”

Page 18: The Staging Transformation Approach to Mixing Initiative

Staging DialogUsing Partial Evaluation

pizzaorder (size, crust) {

if (unfilled(size)) {

/* prompt for size */

}

if (unfilled (crust)) {

/* prompt for crust */

}

}

“onions”

“medium”

PE w.r.t. size

Page 19: The Staging Transformation Approach to Mixing Initiative

Staging DialogUsing Partial Evaluation

pizzaorder (crust) {

if (unfilled (crust)) {

/* prompt for crust */

}

}

“onions”

“medium”

Page 20: The Staging Transformation Approach to Mixing Initiative

Staging DialogUsing Partial Evaluation

pizzaorder (crust) {

if (unfilled (crust)) {

/* prompt for crust */

}

}

“onions”

“medium”

“thin”

PE w.r.t. crust

Page 21: The Staging Transformation Approach to Mixing Initiative

Staging DialogUsing Partial Evaluation

pizzaorder () {

}

“onions”

“medium”

“thin”

Page 22: The Staging Transformation Approach to Mixing Initiative

Dialog ManagerDialog scriptUser input

Interpreter Stop

UserInput?

Slotfilling

Out-of-turnprocessing

DialogManager

to process

responsive unsolicited

nothing

Dialog scriptUser input

Interpreter Stop

UserInput?

Out-of-turnprocessing

DialogManager

to process

yes

nothing

Traditional

Staging Transformation1. Examine script and play prompt2. Collect user input3. Apply program transformation

Benefits1. No distinction between responsive and

out-of-turn, use PE for both2. Script and Control separate

Page 23: The Staging Transformation Approach to Mixing Initiative

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

Page 24: The Staging Transformation Approach to Mixing Initiative

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

Page 25: The Staging Transformation Approach to Mixing Initiative

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/