Developers need to provide sample utterances for each intent (task) the bot needs to identify to train the machine learning model. The platform ML engine will build a model that will try to map a user utterance to one of the bot intents. Learn more about Machine Learning Utterances.
Kore.ai’s Bots Platform allows fully unsupervised machine learning to constantly expand the language capabilities of your chatbot – without human intervention. Unlike unsupervised models in which chatbots learn from any input – good or bad – the Kore.ai Bots Platform enables chatbots to automatically increase their vocabulary only when the chatbot successfully recognizes the intent and extracts the entities of a human’s request to complete a task.
However, we recommend keeping Supervised learning enabled to monitor the bot performance and manually tune where required. Using the bots platform, developers can evaluate all interaction logs, easily change NL settings for failed scenarios, and use the learnings to retrain the bot for better conversations.
Adding Machine Learning Utterances
- Open the bot for which you want to add sample user utterances.
- Hover over the side navigation panel and then click Natural Language -> Training.
- Select the Machine Learning Utterances tab.
Named Entity Recognition
Apart from the intent, you can train your Bot to recognize the entities, if present, in the user utterance. For example, if the user says “Book Flight from Hyderabad to Mumbai” apart from recognizing the intent as “Book Flight” the source and destination of the flight should also be recognized. This can be achieved by marking the entities in the user utterance during training.
You can mark entities in your utterances, by selecting the entity value and clicking the corresponding entity from the drop-down list.
The platform will also try to identify and mark the entities, you have the option to accept or discard these suggestions. The platform will identify the entities based upon:
- System entities;
- Static List of items either enumerated or lookup;
- NER trained entities (from above).
Further, if you have enabled Entity Placeholders the platform will replace the entity values in the training utterance with entity name placeholders for training the ML model. Using actual entity values as well as multiple additions of an utterance with just change in the entity value will have an adverse impact on the ML training model. Name of entities also starts contributing highly to the intent detection model.
Training your Bot
After you add user utterances, you should train the Kore.ai interpreter to recognize the utterances and the associated user intent. When you have untrained utterances in your bot, the following message is displayed:
“You have untrained utterances in your machine learning model. Unless the engine is trained the bot will not identify intents and entities based on the un-trained utterances. Click on ‘Train’ button to update the bot with all your utterances.”
In the User Says section, click Train. A status bar is displayed to show progress for utterance training. When complete, the Utterances trained successfully message is displayed. The user utterances are added to the Machine Learning database.
By default, machine learning is automatically trained for any defined user utterances whenever a task is:
- changed from a status of In-Progress to Configured.
- updated with a new
- task name or intent name,
- entity name or parameter name,
- entity type,
- bot name.
- suspended by the Bots Admin.
- deleted by the Bots Admin.
In Bot Builder when auto-train is in progress, a warning message that untrained user utterances cannot be identified is displayed if you try to test the bot before auto-train is complete.
Synonyms are defined for bot-wide usage. This means if you add a synonym for the word Create in the Create Task task, then the same synonym is used for the word Create in the Create Subtask task. You should review bot-wide synonyms when you make changes for a task. For more information, see Managing Synonyms.