CM.com's Natural Language Understanding consists of three separate recognition engines working together to provide the best results when matching your customers' questions to your conversational flows.
This article outlines how the different parts of Conversational AI Cloud work together, and how you can influence recognition for your projects environment to achieve your desired results.
Language Recognition
Language recognition is done by performing language detection on any given user utterance (or question). If the detected language deviates from the culture (the projects content) the language recognition engine will use automatic translations to translate the utterance to the language specified through the culture.
For language detection to occur a number of conditions need to be met:
The list of detected languages above the detection threshold must not include the projects culture. If the projects culture is also present in the list of languages detected above the threshold, this is favored above all other language matches.
The top detected language must be defined in the supported languages in the Conversational AI Cloud admin portal.
Once an end-users question has been translated through the language recognition engine it’ll rely on the machine learning intent classification engine to perform further recognition.
Before an answer is returned to the end-user, the answer defined in Conversational AI Cloud will be translated back to the detected language, guaranteeing that the end-user can have a conversation in their preferred language.
Machine Learning Intent Classification
Intent classification utilizes a custom-trained machine learning algorithm to accurately match a user's utterance (or question) to an intent that has been specifically defined for the given project environment. This approach is ideal for effectively pinpointing the exact goal of your customers. For example, if a customer says "I would like to receive additional information about my car insurance," the
intent of the customer can be identified as a request for information pertaining to the entity of car insurance.
A correct intent classification relies on the following conditions:
The project must have a trained intent model available
The user utterance must be classified with a score higher than the defined classification threshold for that project
- The intent must be linked to an article
When the above conditions are met, Conversational AI Cloud selects the default article for that intent. If there is more than one article linked to an intent then the intent classification engine will rely on the entity driven rule-based recognition engine to determine what article is the best fit.
When the above conditions have not been met, Conversational AI Cloud will rely on the result of the entity driven rule-based recognition engine for recognition.
Entity Driven Rule-Based Recognition
Entity recognition utilizes rule-based custom defined condition sets to attach meaning to specific parts of a user's question. It pre-processes natural language by normalizing the text before breaking it down into keywords, entities, and stop words. These conditions are then evaluated against the matching condition sets of all articles in the projects environment. When the matching conditions are met, the article is considered a match and provided to the customer as the best possible answer. Because matching conditions can be as specific as desired, precise contextual answers can be delivered to customers in a controlled manner.
Entities work together seamlessly with intents once a customer's question is classified into an intent. Whenever an intent is classified, entities are used to determine the best article match within the scope of that intent, providing powerful and intuitive control over the natural language understanding pipeline.
Entity classification within intents works under the following conditions:
The utterance must be classified with an intent as described in the previous section
- The classified intent must have more then one linked article
When the above conditions are met, the entity recognition engine evaluates the matching conditions for each linked article. If the entities detected in the utterance match one of the conditions defined on an article, that article is matched. If none of the conditions match, the default article is matched. For a articles to be matched, only the conditions explicitly defined on the article - intent link need to be matched, the entity condition sets defined within the article are ignored and only taken into account when no intent was classified for the end-users utterance. In the event that an intent cannot be classified for the customer's question, entity recognition serves as a secondary recognition engine to find the best possible match for what the customer is asking about. For an article to be matched under these conditions the following requirements must be met:
- All condition sets on one of the article’s questions must be present in the end users question
- Not all conditions detected in the end-users question need to be satisfied in the matched article. The entity recognition engine will choose the best possible match, where entities have weigh heavier than keywords.