Natural Language Understanding
Unisys Corporation
wah1@trpo4.tr.unisys.com
CHI '97 Workshop: Speech User Interface
Design Challenges
Deborah Dahl. I developed the approach to spoken dialog design which is used in the Natural Language Understanding group at Unisys and used it to design dialogs for applications in the areas of retail banking and airline reservations. I also manage the development of the natural language processing engine and toolkit used to develop Unisys applications.
One advantage to human speech, over a telephone keypad, is that it allows for the provision of several parameters in a single relatively short sentence. Experienced users of telephone keypad applications memorize or write down the keypad entries that they need to make to arrive at a certain point in the call sequence. Even if speech recognition technology were significantly improved to the point where multiple parameters could be spoken by the user in a single utterance, there would still be a need to change one or more parameters without re-stating the entire request.
This problem is even more challenging in applications where the system offers choices to the user that are based on the user's earlier responses. When the user changes the value of the desired parameter, that change may require that several other parameters be changed since their current values are based on the user's original value in the item being changed. Some of the parameters requested may not be necessary in the new transaction. The application would not use those. However, the change may require the request for new parameters. Therefore, it may not always be as simple as the re-stating of the user-desired items. This can develop into a very complex scenario. When the modification of the parameters results in different application prompts, the user may become confused since he or she can not be sure which items are being used in the new transaction. In these cases, the final set of parameters being used in the transaction may need to be listed.
Some dialog design issues for the modification of parameters are as follows:
In both examples, the user is required to provide several parameters that are then used to provide the quote at the end. The mortgage application requires input such as loan amount, term, number of points, etc. The home insurance application requires input such as number of bedrooms, type of structure, etc.
In the mortgage payment quote application (a brief excerpt):
System: "Welcome...would you like a fixed-rate or adjustable-rate
mortgage?"
User: "I'd like a fixed-rate mortgage please."
System: "Fixed-rate mortgages are offered for a ten, twenty, or thirty
year term. How many years do you want the term of your loan to be?"
User: "The longest term possible."
System: "OK, thirty years. To the nearest five percent, what is the
percent of your down payment?
User: "I'm putting twenty percent down."
System: "Twenty percent down payment. How many points are you willing to
pay; one, two-and-a-half, or three points?
User: "The minimum please."
System: "One point. How much do you want to borrow?"
User: "A hundred thousand is what I need."
System: "One hundred thousand dollars. If the amount is correct say
'continue', otherwise say 'change the last answer'."
User: "Continue."
System: "The monthly mortgage payment for a thirty-year, fixed rate
mortgage of one-hundred-thousand dollars, would be approximately
seven-hundred dollars. This monthly payment is based on a twenty percent
down payment, and a loan origination fee of one point. Would you like to
get another quote, or end the call?"
At this point, the user may prefer to request the following instead of starting over from the beginning:
(1) "What would my payment be if I paid two points instead?" or
(2) "What would my payment be for an adjustable loan?"
It would seem reasonable for the user to request the first (1), since it is an parameter that would appear to require a simple re-calculation of the monthly payment. Since it is unlikely that any of the parameters following 'points' was dependent on the number of points, this may be possible. The interest rate will most likely change, since the rate is usually modified based on the number of points. But this would not be an issue since interest rate is not an parameter provided by the user.
The second sample request to change a parameter (2) is more complex. The entire set of parameters may need to change, and the type of adjustable rate mortgage may need to be solicited. The dialog dependency, on this parameter, is evident in the above mortgage excerpt in the second prompt to the user -
System: "Fixed rate mortgages are available for..."
In either case, how does the user know that they can make this kind of request? How would the system explain this capability? How complex would the resulting speech recognizer grammar be?