NLU Engines

Use this procedure to switch between the NLU engines.

  1. Select the task bot of which you want to change the training engine.
  2. Click Training. The Knowledge base screen appears.
  1. Click NLU Engine on the right side of the page. The Change training engine window appears

Change training engine in task bot

Note: By default, the NLU engine is set to Swiftmatch for the newly created bots.
4. Select the training engine to train the bot. Possible values:
RASA (Beta)
Mindmeld (Beta)

  1. Specify this information in the Inference section
Score below which fallback is shownThe minimum confidence needed for a response to be displayed to users, below which a fallback response will be shown.
The difference in scores for partial matchDefines the minimum gap between confidence levels of responses to clearly display the best match below which a partial match template will be shown
No. of results to store for each messageThe number of articles for which bot’s calculated confidence scores will be displayed under transaction info in sessions.

Note: The number of results to display in the Algorithm section of the Sessions screen has now been limited to 5. The top n results (1=<n=<5) will be available in message transcript reports of Q&A and task bots as well as in the ‘Algorithm results’ section of Transaction info tab in Sessions.
  1. Click to expand the **Advanced settings section.



Developers can set different threshold scores for different NLU engines to determine the lowest score that is acceptable to display the bot response.


Advanced settings for Swiftmatch in Task bots


Advanced settings check boxes for Rasa and Mindmeld in Task bot

Expand contractions
English contractions in the training data can be expanded to the original form along with the terms in the incoming consumer query for greater accuracy. Example: ‘don’t' is expanded to ‘do not’. If this check box is selected, the contractions in the input messages are expanded before processing. This capability is supported for all three NLU engines.

Remove stopwords
‘Stopwords’ are function words that establish grammatical relationships among other words within a sentence but do not have lexical meaning on their own. When these stopwords such as articles (a, an, the, etc.), pronouns (him, her, etc.) and so on are removed from the sentence, the machine learning algorithms can focus on words that define the meaning of the text query by the consumer. If this check box is selected, the ‘stopwords’ are removed from the sentence at the time of training as well as inference. This NLU engine capability is supported only for Swiftmatch.

Wordform expansion
This expands the training data with wordforms such as plurals, verbs, and so on, along with the synonyms embedded in the data. This capability is supported only for Swiftmatch.

Synonyms are alternative words used to denote the same word. If this check box is selected, common English synonyms for words in the training data get auto generated from to recognize the consumer query precisely. For instance, for the word garden, the system generated synonyms can be a backyard, yard, and so on. This NLU engine capability is supported only for Swiftmatch.

Wordforms can exist in various forms such as plurals, adverbs, adjectives, or verbs. For instance, for the word “creation”, the wordforms can be created, create, creator, creative, creatively, so on. If this check box is selected, the words in the query are created with alternative forms of words and are processed to give an appropriate response to consumers.

Remove special characters
Special characters are the non-alphanumeric characters that have an impact on inference. For example, Wi-Fi and Wi Fi are considered differently by the NLU engine. If this check box is selected, the special characters in the consumer query are removed to display an appropriate response. This NLU engine capability is supported only for Swiftmatch.

Spellcheck in inference
Text correction library identifies and corrects the incorrect spellings in the text before inference. This capability is supported for all three engines only if the Spellcheck in inference check box is selected.

Prioritize slot filling
Whenever a consumer query is received, intent detection is performed first followed by entity identification or slot filling.
For example, “home loan interest rate” and “branch locator” are two different intents in a bot. The ‘home loan
interest rate’ intent requires a bank name from the user to address their query, and the ‘branch locator intent is
trained with various utterances like ‘where is my nearest bank branch’, ‘looking for the closes bank branch’, etc.
This intent requires a city name from the user before narrowing down on their location. When the user queries to
know about the home loan interest rate, the bot prompts for a bank name. When the customer provides the bank
name – ‘Acme bank’ in our example – due to certain biases in the training data (presence of the ‘bank’ multiple
times in training data for branch locator intent), the bot might take the user to another intent instead of continuing
with the current intent (home loan).

Enabling Prioritize slot filling check box in the Advanced settings of NLU engines in task bot allows developers to control this behavior while their bot is trying to fill slots for the active intent. When this setting is enabled, it will look to fill slots for the current intent rather than trying to move the user to another intent. When the Prioritize slot filling check box is cleared, the bot will default back to the current behavior, that is switch active intents depending on the accuracy scores returned by the NLU engine.

Entity roles
This capability is supported only for Mindmeld (Beta) and Rasa (Beta) in Task bots. The roles field is enabled while creating a custom entity on the Create Entity window only if the Entity roles check box is selected. When this field is enabled, and roles are configured for an intent, the bot can understand the structure of the user query precisely and respond accurately.
7. Click Update to change the algorithm in the bot's corpus.
8. Click Train. Once the bot is trained with the selected training engine, the Knowledge base status changes from Saved to Trained.


Multi-lingual support using mindmeld

Mindmeld engine now supports multi-lingual operations. The following languages are supported -

  • Arabic
  • Bulgarian
  • Catalan
  • Croatian
  • Danish
  • Dutch
  • English
  • Estonian
  • Finnish
  • French
  • Georgian
  • German
  • Greek
  • Hebrew
  • Hindi
  • Hungarian
  • Indonesian
  • Irish
  • Italian
  • Korean
  • Lithuanian
  • Macedonian
  • Malayalam
  • Mongolian
  • Nepali
  • Norwegian Bokmål
  • Persian (Farsi) (not to be added to task bots)
  • Polish
  • Portuguese
  • Romanian
  • Russian
  • Spanish
  • Swedish
  • Turkish
  • Ukrainian
  • Vietnamese