Updated: February 19, 2019
Latest Version 1.70

Dialog Models

Intro

When a user initiates a conversation, how the system responds to the user’s request is determined by a set of rules called a dialog model.

The system matches the request to a known intent (disambiguation), and collects required information (slot filling) to execute the users intent. The model consists of five parts:

Determine the User’s Intent

The initial user request may or may not include all the information needed by the system to understand the intent. Based on the request, the system will match:



One Intent

The system identifies one, and only one, possible user intent with a high level of certainty. If it succeeds in doing that, it will move on to the next part of the dialog model.

Multiple Intents

The system identifies multiple possible user intents based on the user’s input. It will provide the user with a list of the most likely intents to choose from.

Multiple Intents
Multiple Intents

Too Many Intents

The system identifies too many possible user intents without a high level of certainty. To narrow down the number of possible matches, it will ask for the user to rephrase the request.

Too Many Matches
Too Many Matches

No Intents

If the system is unable to identify a possible match, it will ask the user to rephrase the request

No Intents
No Intents


Disambiguate, if Necessary

Even though the system has been able to identify a single intent, there may be parts of the user’s utterance that require further clarification.



Property Disambiguation

The system detects a word in the intent that could be applied to multiple properties (For example, the company name, bill-to, or ship-to). It will provide the user with a list to choose from.

Property Disambiguation
Property Disambiguation

Value Disambiguation

The system detects a word that matches multiple values. (for example, similar company names like WidgetCo or WidgetCorp). It will provide the user with a list to choose from.

Value Disambiguation
Value Disambiguation

Unrecognized Words

The system detects one or more words that don’t match the recognized intent. (for example, irrelevant words, parameters not available for that intent, or words that are not supported by the intent). The system ignores the word and proceeds with the request.

Unrecognized Words
Unrecognized Words


Gather Information, if Necessary

Once the system has determined the correct intent, additional information (slot filling) may be required from the user to complete the corresponding action or request.

The system will request that the user provides the missing information.



Business Object

When the user requests to update information and doesn’t provide a business object (for example, purchase order #23548, Sales order – Computech), the system asks the user to specify a business object.

Slot Filling - Business Object
Slot Filling - Business Object

Property

When the user requests to update a business object and doesn’t provide a property (for example, customer name, product, price), the system asks the user to specify the property to be changed.

Slot Filling - Property
Slot Filling - Property

Value

When the user requests to create or update a business object, the system may ask for a specific value (for example, $500.00, Avantel) to complete the request.

Slot Filling - Value
Slot Filling - Value


Review, if Necessary

For creating and updating items, the system will prompt the user to review and confirm any actions before the transaction is executed.



Confirmation

The system will show the information gathered in the form of an object detail card. The user is asked to either continue the requested action or cancel.

Review and Confirm
Review and Confirm

Completion

Once the system has gathered all the information it needs, it will complete the request or action. Based on the type of intent, this can result in the following:



List

A list is presented when the system finds multiple results matching the user’s request.

List Result
List Result

Single Object

A single object is presented when the system finds a single result matching the user’s request, or after an object has been created or updated.

Single Object Result
Single Object Result

Text

The system provides a text response when the user requests specific information within a business object (for example, price, number of vacation days).

Text Result
Text Result


Cancellation

The system recognizes that the user cancelled the transaction.

Cancellation
Cancellation

No Results

The system is unable to find a match for the user’s request.

No Results
No Results