Case Studies

To illustrate the main concepts of PortDial, we present a rather simplistic example: VoiceWeb has three customers in Greece, who want to develop three very similar speech applications. Each one wants to enable their customers to access their account information (based on a real customer request, company name omitted): a Bank Credit Card, a Mobile Telephony Service, and a Health Insurance service contract, respectively. All services have the notion of a monthly bill, and a number of "billable transactions". The partner has designed before a Bank Credit Card application, which just responded to the word "balance". Using the PortDial platform (more specifically the domain ontology and service requests for Credit Cards) the system grammars can be enriched to include semantically equivalent word or phrases:

"balance" (10), "total" (10), "account balance" (5), "account total" (5), "remainder" (8) ...

The numbers in parentheses correspond to relevance scores, which can help us fine-tune the grammar to increase recall (grammar coverage) with little loss in precision. In a matter of a few minutes, the application developer can have a prototype up for testing. As we move to the mobile telephony case, the PortDial grammar induction engine suggests:

"balance", "minutes left", "free minutes", etc. As we move to the health insurance, PortDial will suggest more phrases:

"available visits", "available exams", etc. This is a simple example of a domain porting scenario.

Now the Greek Mobile Telephony customer wants to add a Greek language version of the service (most VoiceWeb customers request at least two languages, i.e., multilingual services). The PortDial platform will use a similar approach to generate the semantically equivalent Greek language words/phrases and suggest:

"υπόλοιπο" (balance), "διαθέσιμα λεπτά" (available minutes), "δωρεάν λεπτά" (free minutes), etc. Note that a naive (with no pragmatic constraints), word for word translation might result to:

"ισορροπία" (balance act) "αριστερά λεπτά" (leftist minutes), "ελεύθερα λεπτά" (minutes in freedom)

so this is not a trivial problem. After the system has been used for a while, monitoring the logs we find some customers saying: "λογαριασμό" (the bill (please)). Instead of simply adding this word to the grammar, we can update the ontology, so in the future we can take advantage of this knowledge. This is a simple example of the language porting scenario.

The above approach has a significant impact on the way the SDS applications are implemented. Common dialogue patterns are now easier to identify, and become "portable", since the PortDial platform can assist in the domain specific parts of the application and let generic dialogs be used. Although a language engineer should still examine and refine the suggestions, this approach is much faster than the manual crafting of grammars done today. It also significantly improves grammar coverage (recall). Although finite state grammar fragments are presented here the PortDial approach is applicable to both finite state and statistical (n-gram) grammars.