The Need
Most IVR applications these days are based on open-standards such as VoiceXML. If you have developed more than two IVR applications, you certainly feel that you had to duplicate logic in order to handle such things as call flow, exceptions, error recovery, "intelligent" handling of ASR results and so on. By now, you have even compiled best practice guidelines and, because VoiceXML is not the ideal language for such logic, you have produced a library of complicated re-usable modules.
So, it is obvious that the current technology lacks something crucial, which the developer has to compensate for, each and every time. Discourse rules and behaviour remain largely unchanged between applications. So, why use low-level programming on an Interactive Voice Response platform, and not use higher-level programming on a Natural Dialog Management platform? And while you're at it, why settle for speech/telephony modality only and not go for multi-modal dialogs ?

The Solution
A platform with built-in real-life discourse intelligence. DiaManT® is a Natural Dialog Management platform, complete with runtime, management, monitoring and rapid development tools.

Main Features
DiaManT® feautures a high-level declarative XML language which allows developers to declare the dialog elements, such as the dialog Target, the Fields it depends on and various behaviour-controling elements. No call flow logic is necessary. DiaManT features a task-oriented Dialog Planner, that plans towards reaching the target dialog Action (such as an info annoucenment or ticket booking) by processing dependant Fields. It automatically understands Natural Language responses, out-of-step responses, corrections etc, updating the dialog context and adapting its policy on-the-fly.

Relativity-based Interpretation
One of the best features of DiaManT® is the context-sensitive, relativity-based interpretation of the ASR result-set. By comparing user responses to its belief state estimation,  DiaManT is in a position to make interpretations which are relative to the entire call's context, not just to the specific dialog turn.

Explicit / Implicit Confirmation
Based on the declared Field parameters, DiaManT® will attempt to confirm the information that it receives from the user.  Confirmations can be explit, implicit and can be grouped together for several fields, thus advancing discourse more swiftly.

Error Recovery & Corrections
DiaManT automatically calculates and generates dynamic grammars for each dialog step, which handle the situation where a user is providing a correction to the information in the previous step. This is particularly important in the case of implicit confirmation.  Thus, error recovery is immediate and effective. Again, no need for the application developer to code any logic for this. Its built-in !

Dynamic User and Call Profiling

For effective and efficient service, it is important to know whether a caller is a novice user or a power user. DiaManT dynamically classifies callers according to their performance on previous calls. It is also important to promptly diagnose a caller who is having difficulty dealing with the application. DiaManT® dynamically profiles each call on-the-fly, continuously adapting its strategy to the level of the caller.

Automatic Field value Selection
In some cases, in the given context, a Field may have only a single valid value. For example, if a caller requests the film "Star Trek" and only one theater is showing Star Trek, then the Theater Field value will be automaticaly filled in, and implicit/explicit confirmation will most probably be trigered.

Suggestions
Similar to the Automatic Field Value Selection feature, the Suggestion feature can be applied when there are only a hand-full of valid Field values, in a given context. In the above example, the Suggestion feature would trigger a prompt like "Star Trek is showing at the Odeon Plaza, UCI Whiteleys and Odeon Kensington theaters. Which theater do you prefer ?". A dynamic grammar describing these options will, of course, be generated on-the-fly to boost recognition performance.

Disambiguation
Disambiguation is another built-in service provided by DiaManT. Ambiguities can arise in two different situations: a given user response produces a single slot value which, however,  can be mapped to more than one Field (eg. in a flight info dialog, if the ASR module returns "city=London", there is not enough information to discern whether the caller wants flight TO London (destination Field)or FROM London (departure Field). A typical disambiguation Action from DiaManT would be: "Do you want flights to London or flights from London?". Ambiguities may also arise due to multiple interpretations or n-best results returned for the same slot. This type of ambgiguity is also solved by DiaManT by utilising confidence, context and knowledge based information. In the above example, if departure was set to "London" and destination had two interpretations ("Frankfurt" and "Freiburg"), then DiaManT would for example discover that there are no flights connecting London with Freiburg, and would therefore, penalize the score for Freiburg as a candidate for the destination Field. A final decision will then be made based on the scoring of each value.

Prompt Manager
As an application developer you declare system prompts in textual format. No need to worry about .wav files or how to concatenate appropriate segments. The Prompt Manager will automatically segment the prompts in appropriately annotated voice segments and provide a prompt recording list which can be directly used by  the recording studio. Once the annotated voice segments are recorded, they are imported in DiaManT's prompt library and can be re-used even for other applications. If a prompt is missing or if the developer has chosen to use Text-to-Speech, the Prompt Manager will generate the required prompts on the fly using TTS.

Multi-Modality
Although DiaManT® was initially conceived to drive spoken dialogs, its architecture allows it to extend its dialog management capabilities to other modalities, such as the Web, SMS and Instant Messaging (IM). The modality-specific logic is contained within the last stage of DiaManT's processing: the Dialog Printer (presentation layer). Therefore, all other DiaManT functionality is common between modalities, which means that the same application can drive multiple modalities. This inherent capability is already being exploited by DiaManT to offer a rapid development tool: the GUI Dialog Driver.

GUI Dialog Driver
With DiaManT, developers can develop applications in complete separation from the Speech components. This is accomplished by providing user responses through a graphical tool in textual or  semantic form. System responses are, in turn, fed back to the web browser and discourse advances. In this manner, a developer can fully test an application without requiring any Speech Technology such as ASR or TTS, or even telephony for that matter. Speech development can be performed independently and in parallel. This feature alone vastly accelerates development and testing of applications.

Dialog Director
The Dialog Director is a Real-time Graphical Dialog Monitoring Tool, which allows Quality Management supervisors to monitor  the dialog in a live call. System prompts, user responses and interpretations are all presented graphically on the supervisors screen. The supervisor can also overide the dialog context and provide manual interpretations for any Field, thus affecting the dialog. And if the supervisor wishes, they can ask DiaManT to gracefully transfer the call either to their own extension or to another agent.

Statistics & Reporting
DiaManT® supports both call-based statistics such Call Detail Records (CDR) and time-stamped Event-based records that enable a more refined analysis of user behaviour. Statistical raw data are stored in an RDBMS (readily supported RDBMSs are Oracle, DB2, MySQL, MS SQL) and can either be retrieved and processed by 3rd party reporting solutions, such as BO Crystal Reports, or by the built-in Web Reporting module.