DialogEngines - Dialog Agents for Web-based Self Service Consulting

Oskar Bartenstein oskar@ifcomputer.co.jp

Abstract

This industrial report discusses design, implementation, and application of DialogEngines, an application service for business-to-consumer web based self service consulting.

DialogEngines combines pseudo natural language dialog, recommendation, product presentation, virtual character rendering with animation and voice to achieve responsive product consulting. The idea is to "help to buy" rather than "sell".

Briefly mentioned is a fielded consulting sales application.

Overview

Effective consulting is for any non-trivial product a key success factor to help customers to make the right choice. To make websites responsive and effective to answer visitors questions and satisfy information needs, we developped DialogEngines: Intelligent animated conversational agents for Web based self-service consulting.

The agents use detailed product knowledge and dialog knowledge to allow interested customers to explore offers and implicitly build product shortlists based on their requirements.

The system is an internet based URL-embeddable application service.

It integrates technologies from research areas including Emotion Engineering, Trust Engineering, Natural Language Processing, Machine Learning, Case Based Reasoning, Web Programming, and Software Engineering.

DialogEngines conduct goal-oriented consulting conversation about given subjects with individual human users in pseudo natural language. Combining emotion engineering and knowledge engineering, DialogEngines present interactive, individual dialogue to web users.

The customer accesses the web page as usual, the dialog on the web site is an individual consulting session, much like a staff member of the company personally taking care of the customer.

The dialog uses knowledge about products and customers.

The following sections discuss individual components, then the implementation and applications.

Dialog

DialogEngines conduct goal-oriented consulting conversation about given subjects with individual human users in pseudo natural language.

Product Model

The product model consists of product specifications and properties.

The target domain of the dialog is an excerpt from an SQL, CSV or XML product data base. The product knowledge defines the scope of the dialog.

User Model

The user model reflects the result of exploration, understanding, finding, and reassurance.

The dialog is with an individual user. User input to the agent and user answers to questions by the agent give the data set which drives the user model. Base assumption is that the user wants information about the domain and a specific solution.

Agent Model

The agent model details showing, suggestions, confirmations.

Agents can have different characteristics, not only age and sex, but also deeper ones relevant for the progress of the user interaction. Modelled are how polite, explanatory, extrovert, pushy and verbose the agent is. The Agent Model is independent of its rendering in text, voice or animation.

Dialog Model

The dialog consists of repeated listening, understanding, problem solving, question asking and result presentation actions. Dialog history and strategy, together of course with the product solution space, define the flow of the dialog.

The dialog produces the control information for voice and animation.

DialogEngines agents can take initiative and talk actively to the user.

DialogEngines agents can ask intelligent questions to the user, taking into account product knowledge and the context of the conversation.

Language Model

The language model deals with meaning, ambiguity, conflict resolution, and understanding expressions.

DialogEngines understands user statements using a shallow natural language processing model, the target product knowledge, and additional language knowledge.

Such additional knowledge is domain expertise and semantics for common vocabulary. For example the word "small" will mean different things for different businesses.

Heuristics are used to resolve ambiguities and contradictions. DialogEngines is designed to be practical and useable: like search engines, which sometimes give wrong answers or not all correct answers, DialogEngines language processing is not guaranteed to be sound and complete.

DialogEngines agents make utterances to users according to a knowledge base of example sentences, which can be answers, statements, greetings, questions, requests for confirmation and more.

Recommendation

The recommendation component deals with individual preferences, personal taste, and perception of value.

Recommendation is a domain specific optional component that guides the user depending on additional knowledge about individual or general preferences.

For example, everything else being identic, one would recommend a bigger hotel room over a small one.

Recommendation is independent of the dialog that understands user needs and presents possible answers.

Presentation

DialogEngines presents the result of the current dialog as a shortlist, table or similar.

Tabular presentations are useful for product shortlists or comparisons. A consulting sales site will typically render photos and prices to the user.

Voice

Voice Recognition

Voice recognition can complement or replace character input of user questions. Useful i.e. for intranet applications, CTI systems, customers with special needs, and car navigation.

Although we have experience with voice recognition technology by IBM and NEC, we do not recommend voice recognition to web systems towards the general public.

Voice Output

Voice output is an impact technology especially in combination with animated character agents.

We have experience with server side and client side Voice rendering technology by Fujitsu, IBM, L&H, Microsoft, NEC and others.

DialogEngines can reliably generate voice in real time and render it in todays internet browsers in FM quality.

Animation

An animated character is emotion engineering impact technology.

With appearance, stature, facial expressions, and animated gestures, the character conveys emotions and conversational clues that are essential to engaging human interaction.

Rendering levels range from simple pictures over animated 2D cartoons to 3D ray trace renderings of body scans of world famous performers.

DialogEngines uses an abstraction layer to generate animation from the ongoing dialogue in real time and render it with the selected rendering technology and character.

DialogEngines is compatible with a wide variety of animation technologies, e.g. with animation renderers by MacroMedia, Microsoft and Nemesys and with with characters developped by Microsoft and Nemesys (sample).

Implementation

Internet based, modular, multi-client, multi-server, built on widely accepted industry standards, DialogEngines is compatible with information terminals ranging from standard PCs to mobile phones and car navigation systems.

The service is completely Internet based and hosted on a cluster of Linux servers. User side system administration is not required.

DialogEngines is compatible with 128bit SSL protocols and does not depend on cookies.

Technology

DialogEngines server side and client side components

DialogEngines Implementation

use *.mss, MINERVA, Java, JavaScript, and other software.

Structure and Scalability

DialogEngines is hosted on a cluster of cooperating

DialogEngines Scalability

but otherwise independent services.

Compute-intensive tasks can thus be moved to dedicated or replicated servers if needed for high performance installations.

Internal communication makes extensive use of XML and exclusive use of HTTP.

Applications

The system and configuration variants was designed in response to needs in online consulting of financial services, human resources, home entertainment, car driver support, news services, and fashion retail.

A prominent installation is fielded with Paris Miki, the largest optical retail company in Japan, where it serves web shop users with in-depth online consulting. In 2002, the recommendation component won the Grand Prize of the Nikkei Information Systems Award. The company reported that the recommendation component accounts for about 10% of total sales.

Conclusion

We discussed an expert system for recommendation of complex consumer products and a pseudo natural language dialog component to conduct individual consulting.

We detailed its implementation as a set of services build with MINERVA, a commercial implementation of ISO Prolog in Java with extensions for scalable web programming.

We explained its commercial deployment on consumer oriented internet web sites combined with rendering of animated and voice-enabled virtual characters on industry standard web browsers.

The application service described in this industrial report is commercially available at http://DialogEngines.com .

Acknowledgements

Many thanks go to my colleages and partners at IF Computer Japan for their exciting contributions and their neverending willingness to build on my ideas; vice versa I am very happy that they allowed me to expand on their ideas and use their amazing software for this work.

I am extremely grateful to our customers who accepted the challenge and the budget to make this work a technical and commercial success.

References

  1. DialogEngines Home http://DialogEngines.com
  2. *.mss referencehttp://www.ifcomputer.co.jp/inap/inap2001/program/inap_bartenstein.ps
  3. MINERVA referencehttp://www.ifcomputer.co.jp/MINERVA/