{"id":17928,"date":"2016-10-28T17:08:25","date_gmt":"2016-10-28T17:08:25","guid":{"rendered":"https:\/\/developer.kore.com\/?post_type=docs&#038;p=8558"},"modified":"2023-01-16T13:08:57","modified_gmt":"2023-01-16T13:08:57","slug":"user-utterances","status":"publish","type":"post","link":"https:\/\/developer.kore.ai\/v9-3\/docs\/bots\/nlp\/user-utterances\/","title":{"rendered":"The Machine Learning Engine"},"content":{"rendered":"<section class=\"l-section wpb_row height_auto\"><div class=\"l-section-h i-cf\"><div class=\"g-cols vc_row type_default valign_top\"><div class=\"vc_col-sm-12 wpb_column vc_column_container\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\">\r\n\t<div class=\"wpb_text_column \">\r\n\t\t<div class=\"wpb_wrapper\">\r\n\t\t\t<p><span style=\"font-weight: 400\">Developers need to provide sample utterances for each intent (task) the assistant needs to identify, to train the machine learning model. The Kore.ai XO Platform Machine Learning (ML) engine will build a model that will try to map a user utterance to one of the VA&rsquo;s intents.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Kore.ai&rsquo;s XO Platform allows fully unsupervised machine learning to constantly expand the language capabilities of your assistant &ndash; without human intervention. Unlike unsupervised models in which AI assistants learn from any input &ndash; good or bad &ndash; the Kore.ai XO Platform enables assistants to automatically increase their vocabulary only when the VA successfully recognizes the intent and extracts the entities of a human&rsquo;s request to complete a task.<\/span><\/p>\n<p><span style=\"font-weight: 400\">However, we recommend keeping Supervised learning enabled to monitor the VA performance and manually tune where required. Using the XO Platform, developers can evaluate all interaction logs, easily change NL settings for failed scenarios, and use the learnings to retrain the VA for better conversations.<\/span><\/p>\n<p><span style=\"font-weight: 400\">This article discusses the processes behind the Machine Learning Engine, and how to perform training for optimum performance.<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h1><span class=\"ez-toc-section\" id=\"The_Machine_Learning_Process\"><span style=\"font-weight: 400\">The Machine Learning Process<\/span><\/span><\/h1>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Intent_Detection\"><span style=\"font-weight: 400\">Intent Detection<\/span><\/span><\/h2>\n<p><span style=\"font-weight: 400\">The below diagram summarizes the intent detection pipeline for both training and prediction stages. For the training pipeline, the language detection and auto-correction are not run with the assumption that the trainer would be aware of the language in which training needs to be done and of the spellings to be used which might include domain-specific non-dictionary words like Kore, etc.<\/span><\/p>\n<p><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929125431\/ml-overview-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46311\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929125431\/ml-overview-1-1024x450.png\" alt=\"\" width=\"640\" height=\"281\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929125431\/ml-overview-1-1024x450.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929125431\/ml-overview-1-300x132.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929125431\/ml-overview-1.png 1317w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Entity_Extraction\"><span style=\"font-weight: 400\">Entity Extraction<\/span><\/span><\/h2>\n<p><span style=\"font-weight: 400\">Entity extraction involves identifying any information provided by the user apart from the intent that can be used in the intent fulfillment. The entities are of three types<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><strong>System entities<\/strong><span style=\"font-weight: 400\"> like date, time, color, etc are provided out-of-the-box by the Platform. It includes nearly 22-24 entities and these are recognized by the ML engine automatically with no training except for string &amp; description entity types.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Custom entities<\/strong><span style=\"font-weight: 400\"> are defined by the bot developer and these include the list of values &ndash; enumerated, lookup, and remote, regex expressions, and composite entities. These are also mostly auto-detected by the ML engine.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>NER or named entity recognition<\/strong><span style=\"font-weight: 400\"> needs the training to identify the same entity type for different entities e.g. source &amp; destination cities for flight booking intent, both of which are city type entities and the engine needs the training to distinguish between the two. NER can be conditional random field-based or neural network-based. CRF is preferred since it works on lesser data and has a faster training time compared to the NN-based method.<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">The following diagram summarizes the NER entity extraction pipeline.<\/span><\/p>\n<p><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929125320\/ner.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46308\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929125320\/ner-1024x439.png\" alt=\"\" width=\"640\" height=\"274\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929125320\/ner-1024x439.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929125320\/ner-300x129.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929125320\/ner.png 1319w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"ML_Output\"><span style=\"font-weight: 400\">ML Output<\/span><\/span><\/h2>\n<p><span style=\"font-weight: 400\">The ML Engine runs the classification against the user utterance and generates the following scores output which Ranking and Resolver uses for identifying the correct intent:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>The probability Score <\/strong><span style=\"font-weight: 400\">for each class\/intent, can be interpreted as follows<\/span><\/li>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Definitive Match\/Perfect Match: If the probability score &gt;0.95 (default and adjustable)&nbsp;<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Possible match: If the score is &lt;0.95%, it becomes eligible for ranking against other intents which may have been found by other engines.<\/span><\/li>\n<\/ul>\n<li style=\"font-weight: 400\"><strong>The fuzzy score<\/strong><span style=\"font-weight: 400\"> for each of the traits\/intents which are greater than the Threshold score(default is 0.3) &ndash; Fuzzy logic goes through each utterance of a given intent and compares it against the user input to see how close the user input and the utterance are. The scores are usually from 0-100 and can be interpreted as follows:<\/span><\/li>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Definite Match\/Perfect Match: If the score is above 95%(default&nbsp; &amp; adjustable)&nbsp;<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Possible match: If the score is &lt;95%, becomes eligible for Ranking against other intents which may have been found by other engines.<\/span><\/li>\n<\/ul>\n<li style=\"font-weight: 400\"><strong>CR Sentences <\/strong><span style=\"font-weight: 400\">&ndash; The ML engine also sends the top 5 ML utterances for each of those Intents which have qualified using the Threshold score. These 5 ML utterances are derived using the Fuzzy score. Ranking &amp; Resolver uses these CR sentences to Rescore and choose the best of these utterances (compares each utterance against user input and chooses an utterance with topmost score)<\/span><\/li>\n<\/ul>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h1><span class=\"ez-toc-section\" id=\"Limitations\"><span style=\"font-weight: 400\">Limitations<\/span><\/span><\/h1>\n<p><span style=\"font-weight: 400\">Though the ML model is very thorough, it has its own limitations, as follows:&nbsp;<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">In cases where sufficient training data is not available, the ML model tends to overfit small datasets and subsequently lead to poor generalization capability, which in turn leads to poor performance in production.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Domain adaptation might be difficult if trained on datasets originating from some common domains like the internet or news articles.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Controllability and interpretability are hard because, most of the time, they work like a black box, making it difficult to explain the results.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Cost is high both in terms of resources and time.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The above two points also result in maintenance or problem resolution being expensive (again both in terms of time &amp; effort) and can result in regression issues.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Hence, ML engines augmented by FM engines would yield better results. One can train the assistant with a basic ML model, and any minor issues can be addressed using FM patterns and negative patterns for idiomatic sentences, command-like utterances, and quick fixes.<\/span><\/p>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h1><span class=\"ez-toc-section\" id=\"Training_the_ML_Engine\"><span style=\"font-weight: 400\">Training the ML Engine<\/span><\/span><\/h1>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Training_Overview\"><span style=\"font-weight: 400\">Training Overview<\/span><\/span><\/h2>\n<p><span style=\"font-weight: 400\">The Machine Learning Engine builds a model, based on training through intent detection and entity extraction, as follows:&nbsp;<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The <\/span><strong>intent prediction<\/strong><span style=\"font-weight: 400\"> model is trained using statistical modeling and neural networks.&nbsp; Intent classification tags the user utterance to a specific intent. The classification algorithm learns from the set of sample utterances that are labeled on how they should be interpreted. Training utterance preparation and curation is one of the most significant aspects of building a robust Machine learning model.&nbsp;<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Entity Detection<\/strong><span style=\"font-weight: 400\"> involves recognizing System Entities (Out Of the Box, Rule-based model), predicting Custom Entities (Custom-trainable Rules-based Model), and Named Entity Recognition (NER). System Entities are defined using built-in rules. However, using the NER approach, any named entity can be trained using Machine Learning by simply choosing the value from the ML training utterances and tagging them against the named entity.&nbsp;<\/span><\/li>\n<\/ul>\n<p><strong>Training the ML Engine involves the following steps:<\/strong><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Choosing and gathering data that can be used as the training set,<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Dividing the training set for evaluation and tuning (test and cross-validation sets),<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Training a few ML models according to algorithms (feed-forward neural networks, support vector machines, and so on) and hyperparameters (for example, the number of layers and the number of neurons in each layer for neural networks),<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Evaluating and tuning the model over test and cross-validation sets,<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Choosing the best performing model and using it to solve the desired task.<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">The NLP module improves the performance by constantly validating the ML Engine and presents&nbsp; actionable insights to resolve the conflicts in intent and entity training.<\/span><\/p>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Optimizing_Intent_Recognition\"><span style=\"font-weight: 400\">Optimizing Intent Recognition<\/span><\/span><\/h2>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Adding_Machine_Learning_Utterances\"><span style=\"font-weight: 400\">Adding Machine Learning Utterances<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">To add utterances to the Machine Learning Engine, please follow the steps below:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Open the VA for which you want to add sample user utterances.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Select the <\/span><strong>Build<\/strong><span style=\"font-weight: 400\"> tab from the top menu.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">From the left menu, select the <\/span><strong>Natural Language -&gt;<\/strong> <strong>Training<\/strong><span style=\"font-weight: 400\"> option.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">By default, the tab with a list of all <\/span><strong>Intents<\/strong><span style=\"font-weight: 400\"> would be displayed.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">You can use the filter option to restrict the display items to <\/span><strong>Dialog Intents, Sub Intent Dialogs<\/strong><span style=\"font-weight: 400\"> or <\/span><strong>Sub-Intents<\/strong><span style=\"font-weight: 400\">. You can also choose to <\/span><strong>Include Hidden Tasks<\/strong><span style=\"font-weight: 400\">.&nbsp;<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">&nbsp;Click <\/span><strong>Utterances &gt; + Utterance<\/strong><span style=\"font-weight: 400\"> against the Intent for which you want to add the utterances.<br \/><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122636\/add-utterances.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46296\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122636\/add-utterances-1024x460.png\" alt=\"\" width=\"640\" height=\"288\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122636\/add-utterances-1024x460.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122636\/add-utterances-300x135.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122636\/add-utterances.png 1954w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/span><span style=\"font-weight: 400\"><br \/><\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The user utterance page opens.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\"><span style=\"font-weight: 400\">Here is where you can enter the utterances.<br \/><\/span><\/span><br \/>\n<table style=\"background-color: #fffbea\">\n<tbody>\n<tr>\n<td>\n<p><strong><em>Note<\/em><\/strong><em>&nbsp;<span style=\"font-weight: 400\">that utterances greater than 3,000 characters in length are not allowed.<\/span><\/em><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122542\/enter-utterance.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46265\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122542\/enter-utterance-1024x495.png\" alt=\"\" width=\"640\" height=\"309\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122542\/enter-utterance-1024x495.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122542\/enter-utterance-300x145.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122542\/enter-utterance.png 1664w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<\/li>\n<\/ol>\n<table style=\"background-color: #fffbea\">\n<tbody>\n<tr>\n<td>\n<p><strong><em>Note<\/em><\/strong><em>: <\/em><span style=\"font-weight: 400\">Utterances should be unique, but in the case of multiple intent models, the same utterance can be used across different models. <\/span><span style=\"font-weight: 400\">Read more about multiple intent models below.<\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">The negation of trained intents will be ignored by the Platform.<\/span><\/p>\n<p><span style=\"font-weight: 400\">For example, consider a Travel Assistant trained on the <\/span><em><span style=\"font-weight: 400\">Book a Flight<\/span><\/em><span style=\"font-weight: 400\"> utterance. A user might say: <\/span><em><span style=\"font-weight: 400\">Your app takes me to the booking screen, but I don&rsquo;t want to book a flight. <\/span><\/em><span style=\"font-weight: 400\">In this case, the <\/span><em><span style=\"font-weight: 400\">Book a Flight<\/span><\/em><span style=\"font-weight: 400\"> intent will not trigger.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Adding_Entities_for_Named_Entity_Recognition\"><span style=\"font-weight: 400\">Adding Entities for Named Entity Recognition<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">Apart from the intent, you can train your VA to recognize the entities, if present, in the user utterance. For example, if the user says: <\/span><em><span style=\"font-weight: 400\">Book Flight from Hyderabad to Mumbai <\/span><\/em><span style=\"font-weight: 400\">apart from recognizing the intent as &ldquo;Book Flight&rdquo; 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.<\/span><\/p>\n<p><strong>You can mark entities in your utterances<\/strong><span style=\"font-weight: 400\">, by selecting the entity value and clicking the corresponding entity name.<\/span><\/p>\n<p><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929125924\/mark-entities.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46314\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929125924\/mark-entities-1024x489.png\" alt=\"\" width=\"640\" height=\"306\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929125924\/mark-entities-1024x489.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929125924\/mark-entities-300x143.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929125924\/mark-entities.png 1663w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400\">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:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">System entities;<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Static List of items &#8211; either enumerated or lookup;<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">NER trained entities (from above).<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">For each of the entities thus marked, the confidence scores identified by the ML engine are displayed. This score is available only when the Conditional Random Field is selected as the NER model.<\/span><\/p>\n<p><span style=\"font-weight: 400\"><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122612\/utterance-ner.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46284\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122612\/utterance-ner.png\" alt=\"\" width=\"640\" height=\"150\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122612\/utterance-ner.png 901w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122612\/utterance-ner-300x70.png 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/span><\/p>\n<p><span style=\"font-weight: 400\">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 a change in the entity value will have an adverse impact on the ML training model. The name of entities also starts contributing highly to the intent detection model.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Using_Negative_Patterns\"><span style=\"font-weight: 400\">Using Negative Patterns<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">Negative patterns can be used to eliminate intents detected by the Fundamental Meaning or Machine Learning models. <\/span><a href=\"https:\/\/developer.kore.ai\/v9-3\/docs\/bots\/nlp\/fundamental-meaning\/#Negative_Patterns\"><span style=\"font-weight: 400\">Refer here to know more<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h1><span class=\"ez-toc-section\" id=\"Training_your_Assistant\"><span style=\"font-weight: 400\">Training your Assistant<\/span><\/span><\/h1>\n<p><span style=\"font-weight: 400\">After you added 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 VA, the following message is displayed:<\/span><\/p>\n<p><em><span style=\"font-weight: 400\">&ldquo;You have untrained utterances in your ML model. Train your VA to update with all your utterances.&rdquo;<\/span><\/em><\/p>\n<p><span style=\"font-weight: 400\">Click <\/span><strong>Train<\/strong><span style=\"font-weight: 400\">. A status bar is displayed to show progress for utterance training. When complete, the <\/span><em><span style=\"font-weight: 400\">Utterances trained successfully<\/span><\/em><span style=\"font-weight: 400\"> message is displayed. The user utterances are added to the Machine Learning Database. You can further configure the ML engine, identify the dummy intents when a user utterance contains the words that are not used in the VA&rsquo;s training i.e. vocabulary, <\/span><a href=\"https:\/\/developer.kore.ai\/v9-3\/docs\/bots\/nlp\/advanced-nlp-configurations\/\"><span style=\"font-weight: 400\">refer here for more details<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Once you have trained your VA, you can test it on the newly trained data. <\/span><a href=\"https:\/\/developer.kore.ai\/v9-3\/docs\/bots\/test-your-bot\/testing-your-bot-with-nlp\/\"><span style=\"font-weight: 400\">Learn how to test your <\/span><\/a><span style=\"font-weight: 400\">assistant.<\/span><\/p>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Auto-Training\"><span style=\"font-weight: 400\">Auto-Training<\/span><\/span><\/h2>\n<p><span style=\"font-weight: 400\">By default, machine learning is automatically trained for any defined user utterances whenever a task is:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">updated with a new<\/span><\/li>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">task name or intent name,<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">entity name or parameter name,<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">entity type,<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">VA name.<\/span><\/li>\n<\/ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">published.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">suspended by the Admin.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">deleted by the Admin.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">In the XO Platform, when auto-train is in progress, a warning message that <\/span><em><span style=\"font-weight: 400\">untrained user utterances cannot be identified<\/span><\/em><span style=\"font-weight: 400\"> is displayed if you try to test the VA before auto-train is complete.<\/span><\/p>\n<p><span style=\"font-weight: 400\">You can set up the Auto Train option as follows:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Open the VA for which you want to modify the settings.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Select the <\/span><strong>Build<\/strong><span style=\"font-weight: 400\"> option from the top menu.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">From the left navigation menu, <\/span><strong>Natural Language -&gt; Advanced Settings<\/strong><span style=\"font-weight: 400\">.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Enable or Disable the <\/span><strong>Auto Training<\/strong><span style=\"font-weight: 400\"> option as per your requirements.<br \/><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122538\/enable-autotrain.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46262\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122538\/enable-autotrain-1024x455.png\" alt=\"\" width=\"640\" height=\"284\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122538\/enable-autotrain-1024x455.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122538\/enable-autotrain-300x133.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122538\/enable-autotrain.png 1966w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><br \/><\/span><\/li>\n<\/ol>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h1><span class=\"ez-toc-section\" id=\"Thresholds_Configurations\"><span style=\"font-weight: 400\">Thresholds &amp; Configurations<\/span><\/span><\/h1>\n<p><span style=\"font-weight: 400\">To train and improve the performance of your Assistant, Threshold and Configurations can be specified for all three NLP engines &ndash; FM, KG, and ML. You can access these settings under <\/span><strong>Build &gt; Natural Language &gt; Thresholds &amp; Configurations.<\/strong><\/p>\n<table style=\"background-color: #fffbea\">\n<tbody>\n<tr>\n<td>\n<p><strong><em>Note<\/em><\/strong><em><span style=\"font-weight: 400\">: If your VA is multilingual, you can set the Thresholds differently for different languages. If not set, the Default Settings will be used for all languages.<\/span><\/em><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">The Threshold &amp; Configurations for the ML engine are discussed in detail in the following sections.<\/span><\/p>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Machine_Learning_Model_Configuration_Overview\"><span style=\"font-weight: 400\">Machine Learning Model Configuration Overview<\/span><\/span><\/h2>\n<p><span style=\"font-weight: 400\">The XO&nbsp; Platform ver 6.3 upgraded its Machine Learning (ML) model to v3. This includes a host of improvements and also allows developers to fine-tune the model using parameters to suit business requirements. The developers can change parameters like stopword usage, synonym usage, thresholds, and n-grams, as well as opt between <\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Deep_learning#Deep_neural_networks\"><span style=\"font-weight: 400\">Deep Neural Network<\/span><\/a><span style=\"font-weight: 400\"> or <\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Conditional_random_field\"><span style=\"font-weight: 400\">Conditional Random Field-based<\/span><\/a><span style=\"font-weight: 400\"> algorithms for the <\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Named-entity_recognition\"><span style=\"font-weight: 400\">Named-Entity Recognition (NER) <\/span><\/a><span style=\"font-weight: 400\">model.<\/span><\/p>\n<p><span style=\"font-weight: 400\">In v8.0 of the Platform, provision has been enabled to use the v5 of the ML intent model and externalize several hyperparameters. This can be achieved through the Advanced NLP Configuration, <\/span><a href=\"https:\/\/developer.kore.ai\/v9-3\/docs\/bots\/nlp\/advanced-nlp-configurations\/\"><span style=\"font-weight: 400\">refer here for details<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<p><span style=\"font-weight: 400\">When the Multiple Intents Model =is enabled, the ML Engine maintains multiple intent models for the VA as follows:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>Bot level Intent Model<\/strong><span style=\"font-weight: 400\"> containing all the Primary Intents of the assistant which includes Primary Dialog Intents, and Alert Task Intents.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Dialog Intent Models<\/strong><span style=\"font-weight: 400\"> &ndash; one for every primary dialog intent and sub-dialog intent which includes the Sub-intent nodes added to the dialog definition, Sub-intents scoped as part of the Group nodes and Interruption exceptions added to the dialog definition.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">You can configure the Thresholds and Configurations separately for each of the intent models. This includes:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">All the configurations under Thresholds and Configurations &ndash; ML Engine as discussed in the below section;<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">All the ML Engine configurations under the Advanced NLP Configurations <\/span><a href=\"https:\/\/developer.kore.ai\/v9-3\/docs\/bots\/nlp\/advanced-nlp-configurations\/\"><span style=\"font-weight: 400\">discussed in detail here<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"The_Multiple_Intent_Model\"><span style=\"font-weight: 400\">The Multiple Intent Model<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">Training of &ldquo;similar intents&rdquo; with different purposes is usually difficult as the training given for an intent can add noise or conflict with the training given to the other intent. This is more evident in cases where the intents have a contextually different meaning or purpose.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Consider the following case: A user is in the <\/span><strong>Make a Booking <\/strong><span style=\"font-weight: 400\">task, so any query related to the Booking refund policy should be answered within this context. However, the query can also trigger FAQs from <\/span><strong>Cancel a Booking<\/strong><span style=\"font-weight: 400\">.&nbsp;<\/span><\/p>\n<p><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122532\/common-ml-model.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122532\/common-ml-model.png\" alt=\"\" width=\"566\" height=\"570\" class=\"alignnone size-full wp-image-46259\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122532\/common-ml-model.png 866w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122532\/common-ml-model-150x150.png 150w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122532\/common-ml-model-100x100.png 100w\" sizes=\"auto, (max-width: 566px) 100vw, 566px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400\">Enabling the Multiple Intent Models from the Advanced NLP Configurations (<\/span><a href=\"https:\/\/developer.kore.ai\/v9-3\/docs\/bots\/nlp\/advanced-nlp-configurations\/\"><span style=\"font-weight: 400\">see here for how<\/span><\/a><span style=\"font-weight: 400\">) allows you to have a dedicated ML model only for the primary intents and separate ML Models for each of the dialogs with their associated sub-intents so that the intent detection of sub-intents gets preferential treatment.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Continuing with the above example, with a Multiple Intent Model, you can define a separate <\/span><em><span style=\"font-weight: 400\">context-based<\/span><\/em><span style=\"font-weight: 400\"> FAQ and ensure a proper response to the user.<\/span><\/p>\n<p><span style=\"font-weight: 400\"><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122602\/multiple-intent-model.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46278\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122602\/multiple-intent-model-1024x480.png\" alt=\"\" width=\"640\" height=\"300\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122602\/multiple-intent-model-1024x480.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122602\/multiple-intent-model-300x141.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122602\/multiple-intent-model.png 1279w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/span><\/p>\n<p><span style=\"font-weight: 400\">All the primary intents of the VA will be part of the <\/span><strong>Bot Level Intent Model<\/strong><span style=\"font-weight: 400\">. Each of the Dialog tasks will have its own ML Model consisting of all the sub-intents added to it. The Thresholds and Configurations can be individually configured for each of the models. For example, the Bot Level Intent Model can use &lsquo;Standard&rsquo; Network Type and a specific Dialog&rsquo;s intent model can use &lsquo;LSTM&rsquo; Network Type.<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Configuring_Machine_Learning_Parameters\"><span style=\"font-weight: 400\">Configuring Machine Learning Parameters<\/span><\/span><\/h2>\n<p><span style=\"font-weight: 400\">The XO Platform provides language-wise defaults for the following parameters related to the ML performance of your VA. You can customize them to suit your particular needs.<\/span><\/p>\n<p><span style=\"font-weight: 400\"><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122556\/ml-thresholds.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46275\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122556\/ml-thresholds-1024x555.png\" alt=\"\" width=\"640\" height=\"347\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122556\/ml-thresholds-1024x555.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122556\/ml-thresholds-300x163.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122556\/ml-thresholds.png 1417w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/span><\/p>\n<table style=\"width: 100%;border-collapse: collapse;background-color: #fffbea\">\n<tbody>\n<tr>\n<td style=\"width: 100%\">\n<p><span style=\"font-weight: 400\">Points to note regarding ML configurations:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The illustration below shows the list of all possible configurations and these are available for both single and multiple intent models.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">When the multiple intent model is enabled, you can configure the individual models by selecting the <\/span><strong>Configure<\/strong><span style=\"font-weight: 400\"> link against the model.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">While there is only one VA level intent model, you can add multiple dialog intent models using the <\/span><strong>Add New<\/strong><span style=\"font-weight: 400\"> button and configure each as per your requirements.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Advanced ML Configurations can be applied from here or from the Advanced NLP Configurations section <\/span><a href=\"https:\/\/developer.kore.ai\/v9-3\/docs\/bots\/nlp\/advanced-nlp-configurations\/#Externalization_of_ML_Engine\"><span style=\"font-weight: 400\">refer here for details<\/span><\/a><span style=\"font-weight: 400\">.<br \/><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122608\/single-intentthresh-config.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46281\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122608\/single-intentthresh-config-1024x576.png\" alt=\"\" width=\"640\" height=\"360\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122608\/single-intentthresh-config-1024x576.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122608\/single-intentthresh-config-300x169.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122608\/single-intentthresh-config.png 1922w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><br \/><\/span><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Network_Type\"><span style=\"font-weight: 400\">Network Type<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">You can choose the Neural Network that you would like to use to train the intent models. This setting has been moved to Machine Learning from Advanced NLP Configurations in v8.1.<\/span><\/p>\n<p><span style=\"font-weight: 400\">You can choose between the following types. Based on the selection additional configurations can be done from the Advanced NLP Configurations section, <\/span><a href=\"https:\/\/developer.kore.ai\/v9-3\/docs\/bots\/nlp\/advanced-nlp-configurations\/#Externalization_of_ML_Engine\"><span style=\"font-weight: 400\">refer here for details<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>Standard.<\/strong><\/li>\n<li style=\"font-weight: 400\"><strong>MLP-BOW<\/strong><span style=\"font-weight: 400\"> &ndash; The bag-of-words model is a simplifying representation used in natural language processing and information retrieval. In this model, a text is represented as the bag of its words, disregarding grammar and even word order but keeping multiplicity.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>MLP-WordEmbeddings<\/strong><span style=\"font-weight: 400\"> &ndash; Word embedding is the collective name for a set of language modeling and feature learning techniques in natural language processing where words or phrases from the vocabulary are mapped to vectors of real numbers.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>LSTM<\/strong><span style=\"font-weight: 400\"> (Long Short-Term Memory) is an artificial recurrent neural network (RNN) architecture used in the field of deep learning. LSTM has feedback connections and hence has the ability to capture long-term dependencies for texts of any length and is well suited for longer texts.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>CNN<\/strong><span style=\"font-weight: 400\"> (convolutional neural networks) is a class of deep neural networks in deep learning most commonly applied to analyzing visual imagery. It makes use of the word order for a specific region size and has achieved remarkable results on various text classification tasks.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Transformers<\/strong><span style=\"font-weight: 400\"> use a Universal Sentence encoder in the vectorization stage of the Training pipeline. The output of the sentence encoder is fed to a Multi-Layer perceptron network for training. SentenceEncoder has an inbuilt capability of understanding the semantic similarity between sentences taking into account the synonyms and various usage patterns of the same sentence.<\/span><span style=\"font-weight: 400\"><br \/><\/span><span style=\"font-weight: 400\">The Universal Sentence Encoder encodes text into high-dimensional vectors that can be used for text classification, semantic similarity, clustering, and other natural language tasks. The model is trained and optimized for greater-than-word length text, such as sentences, phrases, or short paragraphs. It is trained on a variety of data sources and a variety of tasks with the aim of dynamically accommodating a wide variety of natural language understanding tasks. The input is the variable-length English text and the output is a 512-dimensional vector.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>KAEN<\/strong><span style=\"font-weight: 400\"> (Kore Advanced Embeddings Network) &ndash; Models trained with Sentence Embeddings alone can not understand the domain-specific terminology especially if the words from training are non-dictionary words. Kore.ai provides a model which can understand the meaning of the sentence and at the same time give importance to the domain-specific terminology. There are two parallel layers in work in this model &ndash; one to optimize the weights against the sentence embeddings and the other to optimize the word importance for a given sentence.&nbsp; The activation function used for these two layers is RReLU (Randomized Leaky Rectified Linear Unit, <\/span><a href=\"https:\/\/arxiv.org\/pdf\/1505.00853.pdf\"><span style=\"font-weight: 400\">refer here for details<\/span><\/a><span style=\"font-weight: 400\">)<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"ML_Threshold\"><span style=\"font-weight: 400\">ML Threshold<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">ML Threshold defines the criteria for qualifying a probability score of an intent to be a possible or definite match. The default value is set to 0.3. This means that any intent which scores &gt;0.3 is considered as a qualified Intent. Intents scoring &lt; 0.3 are rejected.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"ML_Definitive_Score\"><span style=\"font-weight: 400\">ML Definitive Score<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">Configure the threshold score for definite matches, which can be set to a value between 80-100%, with the following classification:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>Probability Score<\/strong><span style=\"font-weight: 400\"> &ndash; If the probability score by the classification Engine is &gt;0.95 (default which is adjustable using &ldquo;ML Definitive Score&rdquo; divided by 100) Intent is considered as a Definite Match\/Perfect Match.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Fuzzy logic<\/strong><span style=\"font-weight: 400\"> goes through each utterance of a given Intent and compares it against the user input to see how close the user input and the utterance are (scores are usually from 0-100). If the score is above 95% (default which is adjustable using &ldquo;ML Definitive Score&rdquo;) Intent is considered as a Definite Match\/Perfect Match.<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Bot_Synonyms\"><span style=\"font-weight: 400\">Bot Synonyms<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">This setting is <\/span><strong>Disabled <\/strong><span style=\"font-weight: 400\">by default. Enable this option if you would like to consider intent synonyms in building the ML model.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Enabling Synonyms allows the ML model to take the synonyms defined under &ldquo;Synonyms and Concepts&rdquo; to be considered while training the ML model. It helps in avoiding preparing duplicate utterances.<\/span><\/p>\n<p><span style=\"font-weight: 400\">For example: &ldquo;<\/span><em><span style=\"font-weight: 400\">I want to book a flight<\/span><\/em><span style=\"font-weight: 400\">&rdquo;.<\/span><\/p>\n<p><span style=\"font-weight: 400\">If we had defined &ldquo;<\/span><em><span style=\"font-weight: 400\">buy<\/span><\/em><span style=\"font-weight: 400\">&rdquo;, &ldquo;<\/span><em><span style=\"font-weight: 400\">reserve<\/span><\/em><span style=\"font-weight: 400\">&rdquo;, &ldquo;<\/span><em><span style=\"font-weight: 400\">purchase<\/span><\/em><span style=\"font-weight: 400\">&rdquo; as synonyms of &ldquo;<\/span><em><span style=\"font-weight: 400\">book<\/span><\/em><span style=\"font-weight: 400\">&rdquo; and &ldquo;<\/span><em><span style=\"font-weight: 400\">ticket<\/span><\/em><span style=\"font-weight: 400\">&rdquo; or&nbsp; &ldquo;<\/span><em><span style=\"font-weight: 400\">seat<\/span><\/em><span style=\"font-weight: 400\">&rdquo; as synonyms of &ldquo;flight&rdquo;, then you need not add training utterances like &ldquo;I want to buy a ticket&rdquo; or &ldquo;I want to reserve a seat&rdquo; etc.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Stop_Words\"><span style=\"font-weight: 400\">Stop Words<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">This setting is <\/span><strong>Disabled <\/strong><span style=\"font-weight: 400\">by default. Enable this option if you would like to remove the stop words in the training utterances in building the ML model. Once enabled, stop words are used to filter out the words\/phrases from the Training utterances before training the ML model and are removed from the user utterance before prediction.<\/span><\/p>\n<p><span style=\"font-weight: 400\">This setting is not valid when <\/span><em><span style=\"font-weight: 400\">Network Type<\/span><\/em><span style=\"font-weight: 400\"> is set to <\/span><em><span style=\"font-weight: 400\">Transformer<\/span><\/em><span style=\"font-weight: 400\">.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Feature_Extraction\"><span style=\"font-weight: 400\">Feature Extraction<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">Using this option (introduced in ver8.0) you can associate the ML intent model with the preferred algorithm. This option is not valid when <\/span><em><span style=\"font-weight: 400\">Network Type<\/span><\/em><span style=\"font-weight: 400\"> is set to <\/span><em><span style=\"font-weight: 400\">MLP WordEmbeddings<\/span><\/em><span style=\"font-weight: 400\">, <\/span><em><span style=\"font-weight: 400\">LSTM, CNN,<\/span><\/em><span style=\"font-weight: 400\"> and <\/span><em><span style=\"font-weight: 400\">Transformer<\/span><\/em><span style=\"font-weight: 400\">.<\/span><\/p>\n<p><span style=\"font-weight: 400\">The options are:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>n-gram<\/strong><span style=\"font-weight: 400\"> &ndash; this is the default setting and can be used to define the contiguous sequence of words to be used from training sentences to train the model.<\/span><span style=\"font-weight: 400\"><br \/><\/span><span style=\"font-weight: 400\">For example, if <\/span><em><span style=\"font-weight: 400\">Generate weather forecast report<\/span><\/em><span style=\"font-weight: 400\"> is the user utterance and if the n-gram is set to 2, then <\/span><em><span style=\"font-weight: 400\">Generate weather<\/span><\/em><span style=\"font-weight: 400\">, <\/span><em><span style=\"font-weight: 400\">Weather forecast<\/span><\/em><span style=\"font-weight: 400\">, and <\/span><em><span style=\"font-weight: 400\">Forecast report<\/span><\/em><span style=\"font-weight: 400\"> are used in training the model. If n-gram is set to 3, then <\/span><em><span style=\"font-weight: 400\">Generate weather forecast<\/span><\/em><span style=\"font-weight: 400\">, and <\/span><em><span style=\"font-weight: 400\">Weather forecast report<\/span><\/em><span style=\"font-weight: 400\"> will be used in training the model.<\/span><span style=\"font-weight: 400\"><br \/><\/span><span style=\"font-weight: 400\">You can set the n-gram using the <\/span><strong>n-gram Sequence Length &ndash; <\/strong><span style=\"font-weight: 400\">The minimum n-gram limit is 1 by default. You can set the maximum limit up to 4.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>skip-gram<\/strong><span style=\"font-weight: 400\"> &ndash; when the corpus is very limited or when the training sentences, in general, contain fewer words then skip-gram would be a better option. For this you need to define:<\/span><\/li>\n<ul>\n<li style=\"font-weight: 400\"><strong>Sequence Length<\/strong><span style=\"font-weight: 400\"> &ndash; the length for skip-gram sequences, with a minimum of 2 and a maximum of 4<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Maximum Skip Distance<\/strong><span style=\"font-weight: 400\"> &ndash; the maximum words to skip to form the grams, with a minimum of 1 and a maximum of 3.<\/span><\/li>\n<\/ul>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"The_NER_Model\"><span style=\"font-weight: 400\">The NER Model<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">Choose the NER model to be used for entity detection. The XO Platform provides two entity recognition models for training using NER that follow the same approach with<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>Conditional Random Fields<\/strong><span style=\"font-weight: 400\">: lightweight and is easy to use for all sizes of datasets<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Neural network<\/strong><span style=\"font-weight: 400\">: works well with medium to large datasets but training time is very high<\/span><\/li>\n<\/ul>\n<table style=\"background-color: #fffbea\">\n<tbody>\n<tr>\n<td>\n<p><strong><em>Note<\/em><\/strong><em><span style=\"font-weight: 400\">: The CRF model supports all languages and the Deep Neural Network model supports English, Spanish, German, and French. This option appears on the screen only when the selected VA language is supported by the Deep Neural Network model.<\/span><\/em><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Entity_Placeholders\"><span style=\"font-weight: 400\">Entity Placeholders<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">Enable to replace entity values present in the training utterances with the corresponding entity placeholders in the training model. Entity placeholders remove the contribution of real entity values in Intent detection. This works only when the entity training(NER) is done via ML.&nbsp;<\/span><\/p>\n<table style=\"background-color: #fffbea\">\n<tbody>\n<tr>\n<td>\n<p><strong><em>Note<\/em><\/strong><em><span style=\"font-weight: 400\">: Enabling this flag reduces scores contributed by entity values.<\/span><\/em><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><strong><em>Example<\/em><\/strong><span style=\"font-weight: 400\">: I want to fly to London tomorrow.<\/span><\/p>\n<p><span style=\"font-weight: 400\">In the above example, we don&rsquo;t want the engine to learn that &ldquo;London&rdquo; and &ldquo;tomorrow&rdquo; are important features. Hence they are replaced with their Placeholders once NER is done and the Entity Placeholders flag is enabled. Training utterance becomes &ldquo;I want to fly &lt;to&gt; on &lt;date&gt;.<\/span><\/p>\n<p><span style=\"font-weight: 400\">This option is not valid when <\/span><em><span style=\"font-weight: 400\">Network Type<\/span><\/em><span style=\"font-weight: 400\"> is set to <\/span><em><span style=\"font-weight: 400\">Transformer<\/span><\/em><span style=\"font-weight: 400\">.<\/span><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Upgrading_the_ML_Model_for_old_VAs\"><span style=\"font-weight: 400\">Upgrading the ML Model (for old VAs)<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">All new VAs that are created use the new ML model by default. Developers can upgrade the ML model for old VAs or downgrade the model for the VAs using the new model.<\/span><\/p>\n<p><span style=\"font-weight: 400\">If you are using a previous model of ML in the XO Platform, you can upgrade it as follows:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Open the assistant for which you want to upgrade the ML model and go to<\/span><strong> Natural Language &gt; Thresholds &amp; Configurations<\/strong><span style=\"font-weight: 400\">.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Expand<\/span><strong> Machine Learning<\/strong><span style=\"font-weight: 400\">. Under the ML Upgrade section, click the <\/span><strong>Upgrade Now<\/strong><span style=\"font-weight: 400\"> button. It opens a confirmation window.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Click <\/span><strong>Upgrade and Train<\/strong><span style=\"font-weight: 400\">. You can see new customizable options under the Machine Learning section.<\/span><\/li>\n<\/ol>\n<table style=\"background-color: #fffbea\">\n<tbody>\n<tr>\n<td>\n<p><strong><em>Note<\/em><\/strong><em><span style=\"font-weight: 400\">: If a VA is exported using the older model (V2) and imported as a new VA, it continues to be in the V2 model until you upgrade it.<\/span><\/em><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h1><span class=\"ez-toc-section\" id=\"Training_Validations\"><span style=\"font-weight: 400\">Training Validations<\/span><\/span><\/h1>\n<p><span style=\"font-weight: 400\">The ML engine enables you to identify issues proactively in the training phase itself with the following set of recommendations:&nbsp;<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>Untrained Intents<\/strong><span style=\"font-weight: 400\"> &ndash; notifies about intents that are not trained with any utterances so that you can add the required training.&nbsp;<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Inadequate training utterances<\/strong><span style=\"font-weight: 400\"> &ndash; notifies the intents that have insufficient training utterances so that you can add more utterances to them.&nbsp;<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Utterance does not qualify any intent (false negative)<\/strong><span style=\"font-weight: 400\"> &ndash; notifies about a utterance for which the NLP model cannot predict any intent. For example, an utterance added to Intent A is expected to predict Intent A. Whereas in some cases the model won&rsquo;t be able to predict neither the trained Intent A nor any other Intents within the model. Identifying such cases proactively helps you to rectify the utterance and enhance the model for prediction.&nbsp;<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Utterance predicts wrong intent (false positive)<\/strong><span style=\"font-weight: 400\"> &ndash; Identifies utterances that predict intents other than the trained intent. For example, when you add an utterance that is similar to utterances from another intent, the model could predict a different intent rather than the intent to which it is trained to. Knowing this would help you to rectify the utterance and improve the model prediction<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Utterance predicts intent with low confidence <\/strong><span style=\"font-weight: 400\">&ndash; notifies about the utterances that have low confidence scores. With this recommendation, you can identify and fix such utterances to improve the confidence score during the virtual assistant creation phase itself.<\/span><\/li>\n<\/ul>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Viewing_NLU_Training_Validations\"><span style=\"font-weight: 400\">Viewing NLU Training Validations<\/span><\/span><\/h2>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">On the virtual assistant&rsquo;s <\/span><strong>Build <\/strong><span style=\"font-weight: 400\">menu, click <\/span><strong>Natural Language -&gt;<\/strong> <strong>Training.<\/strong><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">In the <\/span><strong>Intents <\/strong><span style=\"font-weight: 400\">tab, you can see the set of recommendations for the Intents and ML utterances.<\/span><span style=\"font-weight: 400\"><br \/><\/span><strong>Note<\/strong><span style=\"font-weight: 400\">: The errors and warnings in this screen are examples. The ML validations vary based on the error or waning recommendation as explained in the Goal-Based NLU Training Validations section above.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Hover over the validation options and view the following recommendations:<\/span><\/li>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Hover on the <\/span> <strong>Error <\/strong><span style=\"font-weight: 400\">icon to view the recommendations to resolve the error.<br \/><\/span><br \/>\n<table style=\"background-color: #fffbea\">\n<tbody>\n<tr>\n<td>\n<p><strong><em>Note<\/em><\/strong><em>: <\/em><span style=\"font-weight: 400\">An Error is displayed when the intent has a definite problem that impacts the virtual assistant&rsquo;s accuracy or intent score. Errors are high severity problems.<\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Hover on the <\/span> <strong>Warning <\/strong><span style=\"font-weight: 400\">icon and follow the instructions in the warning to enhance the training for ML utterances.<br \/><\/span><br \/>\n<table style=\"background-color: #fffbea\">\n<tbody>\n<tr>\n<td>\n<p><strong><em>Note<\/em><\/strong><em>: A warning is displayed when the issue impacts the VA&rsquo;s accuracy and it can be resolved. Warnings are less severe problems when compared to errors.<\/em><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122621\/warnings-recommendations.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46290\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122621\/warnings-recommendations-1024x434.png\" alt=\"\" width=\"640\" height=\"271\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122621\/warnings-recommendations-1024x434.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122621\/warnings-recommendations-300x127.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122621\/warnings-recommendations.png 1922w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/li>\n<li style=\"font-weight: 400\">Once you click on the Intent with an error or warning, hover over the <strong>Bulb<\/strong> icon to view the summary of error or warning messages as illustrated below:<br \/><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122643\/bulb-intent.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46302\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122643\/bulb-intent-1024x280.png\" alt=\"\" width=\"640\" height=\"175\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122643\/bulb-intent-1024x280.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122643\/bulb-intent-300x82.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122643\/bulb-intent.png 1688w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/li>\n<\/ol>\n<\/ol>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h1><span class=\"ez-toc-section\" id=\"Exporting_and_Importing_Machine_Learning_Utterances\"><span style=\"font-weight: 400\">Exporting and Importing Machine Learning Utterances<\/span><\/span><\/h1>\n<p><span style=\"font-weight: 400\">You can import and export ML utterances of a VA into another in CSV and JSON formats. You can choose between &lsquo;In-Development&rsquo; or &lsquo;Published&rsquo; tasks to export, whereas importing utterances always replace the latest copy of the task.<\/span><\/p>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"How_to_Export_or_Import_ML_Utterances\"><span style=\"font-weight: 400\">How to Export or Import ML Utterances<\/span><\/span><\/h2>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">On the VA&rsquo;s <\/span><strong>Build <\/strong><span style=\"font-weight: 400\">menu, click <\/span><strong>Natural Language -&gt;<\/strong> <strong>Training.<\/strong><\/li>\n<li style=\"font-weight: 400\"><em><span style=\"font-weight: 400\">The &lsquo;In-Development&rsquo; version of the VA&rsquo;s ML utterances open by default. If you want to see the utterances in the &lsquo;Published&rsquo; version, toggle on the top right side of the window to <\/span><\/em><strong><em>Published<\/em><\/strong><em><span style=\"font-weight: 400\">.<\/span><\/em><br \/>\n<table style=\"background-color: #fffbea\">\n<tbody>\n<tr>\n<td>\n<p><strong><em>Note<\/em><\/strong><em><span style=\"font-weight: 400\">: The export of ML utterances varies based on this selection as explained in the Versioning and Behavior of the Exported Utterances section below.<\/span><\/em><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Click the options icon and select an option:<\/span>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Click <\/span><strong>Import Utterances <\/strong><span style=\"font-weight: 400\">and upload a CSV or JSON file with the utterances to import. -OR-<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Click <\/span><strong>Export Utterances <\/strong><span style=\"font-weight: 400\">and select CSV or JSON formats to export the utterances.<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\"><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122551\/import-export-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46271\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122551\/import-export-1-1024x434.png\" alt=\"\" width=\"640\" height=\"271\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122551\/import-export-1-1024x434.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122551\/import-export-1-300x127.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929122551\/import-export-1.png 1922w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/span><\/p>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Versioning_and_Behavior_of_Imported_Utterances\"><span style=\"font-weight: 400\">Versioning and Behavior of Imported Utterances<\/span><\/span><\/h2>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The imported utterances in CSV\/JSON entirely replace the utterances present in the <\/span><em><span style=\"font-weight: 400\">latest copy<\/span><\/em><span style=\"font-weight: 400\"> of the tasks.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">If the task is in <\/span><em><span style=\"font-weight: 400\">Upgrade in Progress <\/span><\/em><span style=\"font-weight: 400\">status, the utterances related to the task get entirely replaced with the task utterances present in the imported file. The utterances in the <\/span><em><span style=\"font-weight: 400\">Published <\/span><\/em><span style=\"font-weight: 400\">copy of the task aren&rsquo;t affected.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">If the task is in the <\/span><em><span style=\"font-weight: 400\">Published <\/span><\/em><span style=\"font-weight: 400\">status, an <\/span><em><span style=\"font-weight: 400\">Upgrade in Progress<\/span><\/em><span style=\"font-weight: 400\"> copy of the task gets created by default and the new utterances present in the imported file will be added to the upgraded copy. The utterances in the Published copy of the task aren&rsquo;t affected.<\/span><\/li>\n<\/ul>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Versioning_and_Behavior_of_Exported_Utterances\"><span style=\"font-weight: 400\">Versioning and Behavior of Exported Utterances<\/span><\/span><\/h2>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">When you export a VA&rsquo;s utterances, all the utterances related to every task type &ndash; alert, dialog &ndash; get exported.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">When you export an <\/span><em><span style=\"font-weight: 400\">In Development <\/span><\/em><span style=\"font-weight: 400\">copy of the VA, the utterances of all tasks in the latest available copy get exported.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">When you export a <\/span><em><span style=\"font-weight: 400\">Published <\/span><\/em><span style=\"font-weight: 400\">copy of the assistant, all the utterances in the published state get exported.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">In the case of multi-language VAs, the export of utterances includes utterances added in all of the languages.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Export of utterances to JSON includes NER tagging present in the tasks, whereas CSV export doesn&rsquo;t include them.<\/span><\/li>\n<\/ul>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h1><span class=\"ez-toc-section\" id=\"Recommendations\"><span style=\"font-weight: 400\">Recommendations<\/span><\/span><\/h1>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"General_ML_Training_Recommendations\"><span style=\"font-weight: 400\">General ML Training Recommendations<\/span><\/span><\/h2>\n<ul>\n<li style=\"font-weight: 400\"><em><span style=\"font-weight: 400\">Give a balanced training<\/span><\/em><span style=\"font-weight: 400\"> for all the intents that the VA needs to detect, add approximately the same number of sample utterances. A skewed model may result in skewed results.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Provide <\/span><em><span style=\"font-weight: 400\">at least 8-10 sample utterances<\/span><\/em><span style=\"font-weight: 400\"> against each intent. The model with just 1-2 utterances will not yield any machine learning benefits. Ensure that the utterances are varied and you do not provide variations that use the same words in a different order.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Avoid training <\/span><em><span style=\"font-weight: 400\">common phrases<\/span><\/em><span style=\"font-weight: 400\"> that could be applied to every intent, for example, &ldquo;I want to&rdquo;. Ensure that the utterances are varied for larger variety and learning.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">After every change, <\/span><em><span style=\"font-weight: 400\">train the model<\/span><\/em><span style=\"font-weight: 400\"> and check the model. Ensure that all the dots in the ML model are diagonal (in the True-positive and True-negative) quadrant and you do not have scattered utterances in other quadrants. Train the model until you achieve this.<\/span><\/li>\n<li style=\"font-weight: 400\"><em><span style=\"font-weight: 400\">Regularly train<\/span><\/em><span style=\"font-weight: 400\"> the assistant with new utterances.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Regularly review the <\/span><em><span style=\"font-weight: 400\">failed or abandoned utterances<\/span><\/em><span style=\"font-weight: 400\"> and add them to the utterance list against a valid task or intent.<\/span><\/li>\n<\/ul>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"NLP_Intent_Detection_Training_Recommendations\"><span style=\"font-weight: 400\">NLP Intent Detection Training Recommendations<\/span><\/span><\/h2>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">If there are a good number of sample utterances, try training the VA using Machine Learning approach first, before trying to train the fundamental meaning model.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Define bot synonyms to build a domain dictionary such as <\/span><em><span style=\"font-weight: 400\">pwd <\/span><\/em><span style=\"font-weight: 400\">for a password; <\/span><em><span style=\"font-weight: 400\">SB <\/span><\/em><span style=\"font-weight: 400\">for a savings bank account.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">After every change to the model training, run the batch testing modules. Test suites are a means to perform regression testing of your VA&rsquo;s ML model.<\/span><\/li>\n<\/ul>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"NLP_Entity_Detection_Training_Recommendations\"><span style=\"font-weight: 400\">NLP Entity Detection Training Recommendations<\/span><\/span><\/h2>\n<p><span style=\"font-weight: 400\">The best approach to train entities is based on the type of entity as explained below:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Entity types like <\/span><strong>List of Items<\/strong><span style=\"font-weight: 400\"> (enumerated, lookup), <\/span><strong>City<\/strong><span style=\"font-weight: 400\">, <\/span><strong>Date<\/strong><span style=\"font-weight: 400\">, <\/span><strong>Country <\/strong><span style=\"font-weight: 400\">do not need any training unless the same entity type is used by multiple types in the same task. If the same entity type is used in a task, use either of the training models to find the entity within the user utterances.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">When the entity type is <\/span><strong>String <\/strong><span style=\"font-weight: 400\">or <\/span><strong>Description, <\/strong><span style=\"font-weight: 400\">the recommended approach is to use Entity patterns and synonyms.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">For all other entity types, both NER and Patterns can be used in combination.<\/span><\/li>\n<\/ul>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Entity_Training_Recommendations\"><span style=\"font-weight: 400\">Entity Training Recommendations<\/span><\/span><\/h2>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Use NER training where possible &ndash; NER coverage is higher than patterns.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">NER approach best suits detecting an entity where information is provided as unformatted data. For entities like Date and Time, the Platform has been trained with a large set of data.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">NER is a neural network-based model and will need to be trained with at least 8-10 samples to work effectively.<\/span><\/li>\n<\/ul>\n\r\n\t\t<\/div>\r\n\t<\/div>\r\n<div class=\"w-separator size_medium with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\r\n\t<div class=\"wpb_text_column \">\r\n\t\t<div class=\"wpb_wrapper\">\r\n\t\t\t<p><strong>Suggested Reading<\/strong><br \/>\nYou might want to read on ML Model, <a href=\"\/docs\/bots\/nlp\/ml-model\/\">refer here<\/a>.<\/p>\n\r\n\t\t<\/div>\r\n\t<\/div>\r\n<div class=\"w-separator size_medium with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>[vc_raw_html]JTNDZGl2JTIwY2xhc3MlM0QlMjJ3LXBvc3QtZWxtJTIwcG9zdF9uYXZpZ2F0aW9uJTIwbGF5b3V0X3NpbXBsZSUyMGludl9mYWxzZSUyMiUzRSUwQSUwOSUzQ2ElMjBjbGFzcyUzRCUyMnBvc3RfbmF2aWdhdGlvbi1pdGVtJTIwb3JkZXJfZmlyc3QlMjB0b19wcmV2JTIyJTIwaHJlZiUzRCUyMiUyRmRvY3MlMkZib3RzJTJGbmxwJTJGb3B0aW1pemluZy1ib3RzJTJGJTIyJTNFJTNDJTJGcCUzRSUwQSUzQ2RpdiUyMGNsYXNzJTNEJTIycG9zdF9uYXZpZ2F0aW9uLWl0ZW0tYXJyb3clMjIlM0UlM0MlMkZkaXYlM0UlMEElM0NkaXYlMjBjbGFzcyUzRCUyMnBvc3RfbmF2aWdhdGlvbi1pdGVtLW1ldGElMjIlM0VQcmV2aW91cyUzQyUyRmRpdiUzRSUwQSUzQ2RpdiUyMGNsYXNzJTNEJTIycG9zdF9uYXZpZ2F0aW9uLWl0ZW0tdGl0bGUlMjIlM0UlM0NzcGFuJTNFTkxQJTIwT3ZlcnZpZXclM0MlMkZzcGFuJTNFJTNDJTJGZGl2JTNFJTBBJTNDcCUzRSUzQyUyRmElM0UlM0NiciUyMCUyRiUzRSUwQSUzQ2ElMjBjbGFzcyUzRCUyMnBvc3RfbmF2aWdhdGlvbi1pdGVtJTIwb3JkZXJfc2Vjb25kJTIwdG9fbmV4dCUyMiUyMGhyZWYlM0QlMjIlMkZkb2NzJTJGYm90cyUyRm5scCUyRmZ1bmRhbWVudGFsLW1lYW5pbmclMkYlMjIlM0UlM0MlMkZwJTNFJTBBJTNDZGl2JTIwY2xhc3MlM0QlMjJwb3N0X25hdmlnYXRpb24taXRlbS1hcnJvdyUyMiUzRSUzQyUyRmRpdiUzRSUwQSUzQ2RpdiUyMGNsYXNzJTNEJTIycG9zdF9uYXZpZ2F0aW9uLWl0ZW0tbWV0YSUyMiUzRU5leHQlM0MlMkZkaXYlM0UlMEElM0NkaXYlMjBjbGFzcyUzRCUyMnBvc3RfbmF2aWdhdGlvbi1pdGVtLXRpdGxlJTIyJTNFJTNDc3BhbiUzRUZ1bmRhbWVudGFsJTIwTWVhbmluZyUzQyUyRnNwYW4lM0UlM0MlMkZkaXYlM0UlMEElM0NwJTNFJTNDJTJGYSUzRSUzQyUyRmRpdiUzRQ==[\/vc_raw_html]<div class=\"w-separator size_medium with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/section>\n","protected":false},"excerpt":{"rendered":"Developers need to provide sample utterances for each intent (task) the assistant needs to identify, to train the machine learning model. The Kore.ai XO Platform Machine Learning (ML) engine will build a model that will try to map a user utterance to one of the VA&rsquo;s intents. Kore.ai&rsquo;s XO Platform allows fully unsupervised machine learning...","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-17928","post","type-post","status-publish","format-standard","hentry","category-nlp"],"_links":{"self":[{"href":"https:\/\/developer.kore.ai\/v9-3\/wp-json\/wp\/v2\/posts\/17928","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/developer.kore.ai\/v9-3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/developer.kore.ai\/v9-3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/developer.kore.ai\/v9-3\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/developer.kore.ai\/v9-3\/wp-json\/wp\/v2\/comments?post=17928"}],"version-history":[{"count":84,"href":"https:\/\/developer.kore.ai\/v9-3\/wp-json\/wp\/v2\/posts\/17928\/revisions"}],"predecessor-version":[{"id":51268,"href":"https:\/\/developer.kore.ai\/v9-3\/wp-json\/wp\/v2\/posts\/17928\/revisions\/51268"}],"wp:attachment":[{"href":"https:\/\/developer.kore.ai\/v9-3\/wp-json\/wp\/v2\/media?parent=17928"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/developer.kore.ai\/v9-3\/wp-json\/wp\/v2\/categories?post=17928"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/developer.kore.ai\/v9-3\/wp-json\/wp\/v2\/tags?post=17928"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}