You can try the demo if you
have a web browser which can handle
XHTML+Voice
and
SVG.
Currently this only includes
Opera for Windows (when voice controlled
browsing is enabled). See
Using Opera with Voice
for more information.
There is a slightly simpler version of the demo which also works
on the Opera multimodal browser for the Sharp Zaurus. It will be added here shortly.
Functionality
The system allows the user to place orders for pizzas and drinks.
Orders can contain multiple sets of pizzas and drinks. The pizzas
can have different toppings (any combination of cheese, ham,
pepperoni, mushrooms and anchovies) and be of different sizes
(small, medium, or large). The available drinks are Coke and beer,
of different sizes (small, medium, or large).
An example of a complete order is
two large ham and cheese pizzas and three medium beers and a
small pepperoni pizza.
The system responds by stating the order and the (fake) estimated
preparation time.
The user can give a complete order in one utterance or
construct the order incrementally. These are some example dialogs:
Partly incremental input
What would you like to order?
a large pizza please
What toppings would you like?
cheese
What else would you like?
a large beer
What else would you like?
nothing else thank you
Thank you for ordering one large pizza with cheese
and one large beer and nothing else. Your order will be ready in two minutes.
Fully incremental input
What would you like to order?
two pizzas
What size pizzas would you like?
medium
What toppings would you like?
cheese and pepperoni
What else would you like?
nothing else thanks
Thank you for ordering two medium pizzas with cheese and pepperoni and nothing else.
Your order will be ready in one minute.
Complete input
What would you like to order?
a large ham and cheese pizza
and a large beer and nothing else
Thank you for ordering one large pizza with ham and cheese and one large beer
and nothing else. Your order will be ready in three minutes.
GF Grammar
The demo system is generated from a GF grammar consisting of
three modules:
The English concrete syntax, which describes how pizza
orders can be said in English. The speech recognition grammar
with semantic interpretation is generated from this module.
Another concrete syntax, which generates drawings
from pizza orders. The drawing instructions are used
to draw graphical representations of pizza orders.
These are some things that could be improved in the demo or
the translation from GF to XHTML+Voice applications:
Help messages with automatically generated example input.
Allow "please" in more places in the demo grammar.
It would be nice to do this is a general way.
Show the order while it is being constructed.
This requires that the generated VoiceXML includes some facility for
watching the abstract syntax term that is being constructed.