{"id":18123,"date":"2019-02-12T09:36:14","date_gmt":"2019-02-12T09:36:14","guid":{"rendered":"\/docs\/bots\/bot-builder\/fundamental-meaning\/"},"modified":"2023-01-16T15:44:14","modified_gmt":"2023-01-16T15:44:14","slug":"fundamental-meaning","status":"publish","type":"post","link":"https:\/\/developer.kore.ai\/v9-3\/docs\/bots\/nlp\/fundamental-meaning\/","title":{"rendered":"Fundamental Meaning"},"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\r\n\t\t<\/div>\r\n\t<\/div>\r\n<strong><\/p>\n<p><strong>Fundamental Meaning <\/strong><span style=\"font-weight: 400\">is a computational linguistics approach that is built on ChatScript. The model analyzes the structure of a user&rsquo;s utterance to identify each word by meaning, position, conjugation, capitalization, plurality, and other factors.<\/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=\"FM_Engine_Overview\"><span style=\"font-weight: 400\">FM Engine Overview<\/span><\/span><\/h1>\n<p><span style=\"font-weight: 400\">The Fundamental Meaning model is a deterministic model that uses semantic rules and language context to determine the intent match. This engine can be trained using synonyms, built-in and custom concepts, as well as patterns.<\/span><\/p>\n<p><span style=\"font-weight: 400\">The FM model scores user utterances using various semantic rules which include:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Grammar;<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Parts of speech;<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Word Match, Word Coverage across the sentence, Word Position;<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Sentence structure.<\/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=\"The_FM_Process\"><span style=\"font-weight: 400\">The FM Process<\/span><\/span><\/h2>\n<p><span style=\"font-weight: 400\">The FM model uses the following processes in training<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><strong>Tokenization<\/strong><span style=\"font-weight: 400\"> (word segmentation) is the process of breaking up the given text into units called tokens. Hyphenated words are retained (might be subjected to spell correction later); digits with a hyphen are split, eg &ldquo;2-3&rdquo; becomes &ldquo;2 &ndash; 3&rdquo;. Tokenization is not done for known concepts like Dates, Currency, etc.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Substitution<\/strong><span style=\"font-weight: 400\"> is the process of expanding interjections, abbreviations, texting shorthand, and contractions using system concepts. Like ~emohello for all greeting-related expressions, ~yes for confirmation, ~no for rejection, and much more.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Merging<\/strong><span style=\"font-weight: 400\"> is the process of combining a sequence of words that are obviously a single word, numbers, or dates. E.g. &ldquo;credit card&rdquo; or &ldquo;twenty five&rdquo; or &ldquo;twenty-five&rdquo; merged into a single word.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Spell Check<\/strong><span style=\"font-weight: 400\"> is the process of replacing unknown words with known words (if any) and involves case conversion. The Platform refers to WordNet and VA Defined Terms for spell check. E.g. &ldquo;I wantt&nbsp; to pai for my booking&rdquo; &nbsp; becomes &ldquo;I want to pay for my booking&rdquo;<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Lemmatization<\/strong><span style=\"font-weight: 400\"> &ndash; The XO Platform uses the WordNet database to look up for lemmas of the words in a given text.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Gleaning<\/strong><span style=\"font-weight: 400\"> to identify sections of utterances and mark them as special. This includes<\/span><\/li>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Marking polite phrases and treating them as noise, like &ldquo;can you please&hellip;.&rdquo;.&nbsp;<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Language constructs that indicate multiple intents, like &ldquo;and then&rdquo;, &ldquo;and after that&rdquo;, &ldquo;but first&rdquo; cause the sentence to be split into two and do multiple intent detection.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Identifying and normalizing numbers and from other related entities: e.g. &ldquo;seven one three triple five double zero eighty four&rdquo; =&gt; 7135550084, which is probably a phone number.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Identifying System entities like Percentages &ndash; &ldquo;sixty six percent&rdquo;; Units of measurement &ndash; &ldquo;five sq km&rdquo;, &ldquo;12 stone 7 pounds&rdquo;; Currencies &ndash; &ldquo;twenty bucks&rdquo;, &ldquo;six lakh rupees&rdquo;; Dates and times &ndash; &ldquo;last day of next month&rdquo;, &ldquo;10 o&rsquo;clock tonight&rdquo;.<\/span><\/li>\n<\/ol>\n<li style=\"font-weight: 400\"><strong>Parts of Speech (POS) tagging<\/strong><span style=\"font-weight: 400\"> is the process of marking up a word in a corpus to a corresponding part of a speech tag, based on its context and definition. Part of Speech Tags is useful for building parse trees, which are used in extracting relations between words. POS Tagging is also essential for building lemmatizers which are used to reduce a word to its root form.&nbsp; Each word is assigned a part of the speech tag, and possibly a role (subject\/verb\/object) from VA definition data.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Marking<\/strong><span style=\"font-weight: 400\"> is the process of assigning concepts to each word. POS tagging and parsing are abstract, dealing with nouns and verbs while Marking applies meanings to the words. For example, &ldquo;book a flight&rdquo; &ndash; book can be a noun or verb, in this context, it is marked as a verb.<\/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<h2><span class=\"ez-toc-section\" id=\"Key_Components\"><span style=\"font-weight: 400\">Key Components<\/span><\/span><\/h2>\n<p><span style=\"font-weight: 400\">Synonyms, Concepts &amp; Patterns are the cornerstones of the FM engine. These are used in intent detection and also by Ranking &amp; Resolver when trying to choose among the multiple possible intents.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>Synonyms<\/strong><span style=\"font-weight: 400\"> need to be used when the words used to identify an intent\/entity can be used interchangeably like. The Platform comes with a built-in library, it can be augmented by adding domain words that will be used to build a dictionary for your assistant.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Concepts<\/strong><span style=\"font-weight: 400\"> are a predefined set of choices that are defined once and used in multiple places. The Platform has a large set of inbuilt concepts that developers can use to define a pattern like ~world_country, ~asian_country. You can create your own custom concepts which are applicable to your use case, you can also create hierarchical concepts.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Patterns<\/strong><span style=\"font-weight: 400\"> used mainly for intent detection in the FM engine. Can be used to define metaphors or other idiomatic expressions for task names. Concepts can be used in defining patterns.<\/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=\"FM_Output\"><span style=\"font-weight: 400\">FM Output<\/span><\/span><\/h2>\n<p><span style=\"font-weight: 400\">The FM Engine collects information on a word in a given user input depending on:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>Position <\/strong><span style=\"font-weight: 400\">of the matching word in the sentence,<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Whether the matching word is a <\/span><strong>Noun<\/strong><span style=\"font-weight: 400\"> or <\/span><strong>verb<\/strong><span style=\"font-weight: 400\">,<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Role of the matching word &ndash; <\/span><strong>Main Subject<\/strong><span style=\"font-weight: 400\">, <\/span><strong>Main Verb<\/strong><span style=\"font-weight: 400\">, <\/span><strong>Main Object<\/strong><span style=\"font-weight: 400\">,<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Exact word match <\/strong><span style=\"font-weight: 400\">or <\/span><strong>Synonym<\/strong><span style=\"font-weight: 400\">,<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Tense of the matching word &ndash; <\/span><strong>present\/future\/past<\/strong><span style=\"font-weight: 400\">.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">A series of individual scores are calculated from the set of matched words.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The goal is to prefer tasks that match the most likely words in the earliest sentence in the input.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Preference is given to words when they are close together, towards the start of the sentence, and in the same order as the task label.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">It is undesirable to have several phrases before the task name or a conjunction in the middle of the task label.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Preference is given to tasks in phrases in the present or future tense.<\/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_FM_Engine\"><span style=\"font-weight: 400\">Training the FM Engine<\/span><\/span><\/h1>\n<p><span style=\"font-weight: 400\">Training the FM Engine involves the following:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Synonyms and Concepts management,<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Managing Patterns and Rules,<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Negative Patterns.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Thresholds configuration,<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Let us discuss these topics in detail, below.<\/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=\"Manage_Synonyms\"><span style=\"font-weight: 400\">Manage Synonyms<\/span><\/span><\/h2>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"How_Synonyms_Work\"><span style=\"font-weight: 400\">How Synonyms Work<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">Users utter the same request in varied ways.<\/span><\/p>\n<p><span style=\"font-weight: 400\">For example, an intent like <\/span><em><span style=\"font-weight: 400\">Make a Booking<\/span><\/em><span style=\"font-weight: 400\">&nbsp; could be expressed with alternatives such as <\/span><em><span style=\"font-weight: 400\">Create a Booking <\/span><\/em><span style=\"font-weight: 400\">or <\/span><em><span style=\"font-weight: 400\">Make a Reservation. <\/span><\/em><span style=\"font-weight: 400\">.<\/span><\/p>\n<p><span style=\"font-weight: 400\">As a developer, you must limit the name of a task to only two or three words, yet accommodate the alternative ways in which it could be asked.<\/span><\/p>\n<p><strong>Synonyms<\/strong><span style=\"font-weight: 400\"> are defined for both the task name and a task field name. To optimize the NLP interpreter accuracy in recognizing the correct task and task field provided by the user, you can add synonyms for words used in the names of your tasks and task fields.<\/span><\/p>\n<p><strong>Make <\/strong><span style=\"font-weight: 400\">&#8211; add, create, generate, etc.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Booking &#8211; reservation, ticket, trip, etc.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Also consider misspellings, such as:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>Create<\/strong><span style=\"font-weight: 400\"> &ndash; crate, creeate, etc.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Booking <\/strong><span style=\"font-weight: 400\">&#8211; boking, bookin, etc.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">When you add synonyms for a word, those synonyms are also used for other tasks or task fields. In other terms, synonyms for a word defined for a task are also applicable to the same word in another task name. For example, synonyms defined for the word <\/span><em><span style=\"font-weight: 400\">make<\/span><\/em><span style=\"font-weight: 400\"> in the Make a Booking&nbsp; task are also used for the Make a Payment task.<\/span><\/p>\n<p><span style=\"font-weight: 400\">For more information about best practices and tips for naming tasks and task fields, see the <\/span><a href=\"https:\/\/developer.kore.ai\/v9-3\/docs\/bots\/nlp\/additional-notes-nlp-settings-guidelines\/\"><span style=\"font-weight: 400\">Natural Language Processing Guide<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Add_Synonyms\"><span style=\"font-weight: 400\">Add Synonyms<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">The Platform provides a set of default synonyms, pre-listed within the dedicated section (<strong>Training &gt; Synonyms<\/strong>). These are only available in English, German, Spanish, French; Traditional and Simplified Chinese.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Adding Synonyms involves using the Natural Language Training section of the XO Platform, where you can add synonyms for VA, task and entity node names.&nbsp;<\/span><\/p>\n<p><span style=\"font-weight: 400\">The following sections show you how to add these synonyms.<\/span><\/p>\n<h4><span style=\"font-weight: 400\">Navigate to Synonyms<\/span><\/h4>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Open the VA for which you want to add synonyms and 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 navigation menu and click <\/span><strong>Natural Language -&gt; Training.<\/strong><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">On the <\/span><strong>Training<\/strong><span style=\"font-weight: 400\"> page, click one of the following tabs:<\/span><\/li>\n<ol>\n<li style=\"font-weight: 400\"><strong>Bot Synonyms <\/strong><span style=\"font-weight: 400\">&ndash; Add and edit synonyms for the words in the bot or task names.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Entities <\/strong><span style=\"font-weight: 400\">&ndash; Add and edit synonyms for any words in your dialog task Entity node names.<\/span><\/li>\n<\/ol>\n<\/ol>\n<p>&nbsp;<\/p>\n<h4><span style=\"font-weight: 400\">Add Bot Synonyms<\/span><\/h4>\n<p><span style=\"font-weight: 400\">On the <\/span><strong>Training<\/strong><span style=\"font-weight: 400\"> page under the <\/span><strong>Bot Synonyms<\/strong><span style=\"font-weight: 400\"> tab, you can view and add synonyms for words in task names. Synonyms defined on the <\/span><strong>Bot Synonym<\/strong><span style=\"font-weight: 400\"> tab apply bot-wide to all task names, field names, and so forth.<\/span><\/p>\n<p><span style=\"font-weight: 400\">To add a bot synonym, follow the below steps:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">On the <\/span><strong>Training<\/strong><span style=\"font-weight: 400\"> page, select the <\/span><strong>Bot Synonyms<\/strong><span style=\"font-weight: 400\"> tab.<br \/><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140738\/add-bot-synonym.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46325\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140738\/add-bot-synonym-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\/20220929140738\/add-bot-synonym-1024x434.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140738\/add-bot-synonym-300x127.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140738\/add-bot-synonym.png 1922w\" 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\">Click <\/span><strong>New Synonym<\/strong><span style=\"font-weight: 400\"> or use the edit icon against an existing synonym, to open the synonym page.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">In the <\/span><strong>Name<\/strong><span style=\"font-weight: 400\"> field, enter the name of the word (keyword) for which you want to create synonyms.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">In the <\/span><strong>Synonyms <\/strong><span style=\"font-weight: 400\">field, enter one or more synonyms for the keyword. Press <\/span><strong>Enter\/Return<\/strong><span style=\"font-weight: 400\"> after entering each synonym.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Added Synonyms are automatically saved once you press <\/span><em><span style=\"font-weight: 400\">Enter\/Return<\/span><\/em><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\/20220929140838\/synonym-added-successfully.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46361\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140838\/synonym-added-successfully-1024x323.png\" alt=\"\" width=\"640\" height=\"202\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140838\/synonym-added-successfully-1024x323.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140838\/synonym-added-successfully-300x95.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140838\/synonym-added-successfully.png 1568w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><br \/><\/span><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h4><span style=\"font-weight: 400\">Add Entity Synonyms<\/span><\/h4>\n<p><span style=\"font-weight: 400\">On the <\/span><strong>Training<\/strong><span style=\"font-weight: 400\"> page, on the <\/span><strong>Entities<\/strong><span style=\"font-weight: 400\"> tab, each dialog task entity is listed with any defined synonyms for that entity name.<\/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\/20220929140814\/entity-synonyms-list.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46349\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140814\/entity-synonyms-list-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\/20220929140814\/entity-synonyms-list-1024x434.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140814\/entity-synonyms-list-300x127.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140814\/entity-synonyms-list.png 1922w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/span><\/p>\n<p><span style=\"font-weight: 400\">To add synonyms for a dialog task entity, follow the below steps:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">On the <\/span><strong>Training<\/strong><span style=\"font-weight: 400\"> page, select the <\/span><strong>Entities<\/strong><span style=\"font-weight: 400\"> tab.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Click the <\/span><strong>Edit icon <\/strong><span style=\"font-weight: 400\">against the entity for which you want to add synonyms.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Enter one or more synonyms for the entity and then press <\/span><strong>Enter<\/strong><span style=\"font-weight: 400\"> after entering each synonym. They will be saved automatically.<br \/><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140745\/add-entity-synonym.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46331\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140745\/add-entity-synonym-1024x432.png\" alt=\"\" width=\"640\" height=\"270\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140745\/add-entity-synonym-1024x432.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140745\/add-entity-synonym-300x126.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140745\/add-entity-synonym.png 1559w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><br \/><\/span><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h4><span style=\"font-weight: 400\">Use Patterns Instead of Synonyms<\/span><\/h4>\n<p><span style=\"font-weight: 400\">Adding synonyms can help the NLP interpreter select the intended task. But what if the user input does not contain any of the words we used as synonyms?<\/span><\/p>\n<p><span style=\"font-weight: 400\">For example, for a Make a Booking task in a Travel Assistant , if the user inputs <\/span><em><span style=\"font-weight: 400\">Get me a ticket<\/span><\/em><span style=\"font-weight: 400\"> , which means the same as <\/span><em><span style=\"font-weight: 400\">Make a Booking <\/span><\/em><span style=\"font-weight: 400\">, but does not match any of the words or synonyms for the task name. In this case, you can <\/span><strong>create patterns<\/strong><span style=\"font-weight: 400\"> for a group of words that have the same meaning.&nbsp;&nbsp;<\/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=\"Manage_Concepts\"><span style=\"font-weight: 400\">Manage Concepts<\/span><\/span><\/h2>\n<p><strong>Concepts<\/strong><span style=\"font-weight: 400\"> are clusters of related and synonymous terms that can be considered as a group identified by a single term.<\/span><\/p>\n<p><span style=\"font-weight: 400\">For example, <\/span><em><span style=\"font-weight: 400\">yes<\/span><\/em><span style=\"font-weight: 400\"> can be expressed as <\/span><em><span style=\"font-weight: 400\">ok,<\/span><\/em> <em><span style=\"font-weight: 400\">I agree<\/span><\/em><span style=\"font-weight: 400\"> or <\/span><em><span style=\"font-weight: 400\">all right<\/span><\/em><span style=\"font-weight: 400\"> etc.<\/span><\/p>\n<p><span style=\"font-weight: 400\">In addition, Concepts can be very useful when you want to categorize terms. For example, you might have <\/span><em><span style=\"font-weight: 400\">fruit<\/span><\/em><span style=\"font-weight: 400\"> as a concept, under which you can classify terms such as <\/span><em><span style=\"font-weight: 400\">&nbsp;apple, orange, banana, etc.<\/span><\/em><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Concept_Types\"><span style=\"font-weight: 400\">Concept Types<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">There are two types of Concepts within the XO Platform:<\/span><\/p>\n<ul>\n<li><strong>System Concepts <\/strong><span style=\"font-weight: 400\">The Kore.ai platform provides a list of default concepts that cover the most common scenarios like yes, no, help etc.<\/span><\/li>\n<li><strong>Custom Concepts: <\/strong><span style=\"font-weight: 400\">You might want to define concepts catering to your business requirements. For example, you might want to use the term <\/span><em><span style=\"font-weight: 400\">fruit<\/span><\/em><span style=\"font-weight: 400\"> to imply either <\/span><em><span style=\"font-weight: 400\">apple<\/span><\/em><span style=\"font-weight: 400\"> or <\/span><em><span style=\"font-weight: 400\">orange<\/span><\/em><span style=\"font-weight: 400\"> or <\/span><em><span style=\"font-weight: 400\">banana<\/span><\/em><span style=\"font-weight: 400\">. If you want to add to the list of default words, you are advised to create a new concept and add words there before mapping the pattern, instead of adding more words to the default concepts like ~emogoodbye or ~emohello.<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Define_Custom_Concepts\"><span style=\"font-weight: 400\">Define Custom Concepts<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">You can define a new concept the same way as you would define a Bot Synonym, but you need to start the word with a <\/span><strong>~<\/strong><span style=\"font-weight: 400\">. For more details on the naming convention, <\/span><a href=\"https:\/\/developer.kore.ai\/v9-3\/docs\/bots\/nlp\/additional-notes-nlp-settings-guidelines\/#Concepts\"><span style=\"font-weight: 400\">refer here<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<p><span style=\"font-weight: 400\">You can also define custom concepts using emojis.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Concepts are used to define patterns. For example, the pattern <\/span><em><span style=\"font-weight: 400\">buy ~fruit<\/span><\/em><span style=\"font-weight: 400\"> is used to capture <\/span><em><span style=\"font-weight: 400\">buy orange<\/span><\/em><span style=\"font-weight: 400\"> or <\/span><em><span style=\"font-weight: 400\">buy banana<\/span><\/em><span style=\"font-weight: 400\">.<\/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\/20220929140803\/concepts-list.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46343\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140803\/concepts-list-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\/20220929140803\/concepts-list-1024x434.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140803\/concepts-list-300x127.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140803\/concepts-list.png 1922w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Emoji_Support\"><span style=\"font-weight: 400\">Emoji Support<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">The NLP engine can recognize emojis present in the user utterance. You can include these in the concept definition and give a better user experience. For example, a thumbs-up emoticon (:thumbs up:) from the user can be considered as an affirmative, and a frown emoticon (:frowning2:) can be considered as an anger sentiment and appropriate action can be taken.<\/span><\/p>\n<p><span style=\"font-weight: 400\">You can import emojis into your VA&rsquo;s system concepts so that it can conduct the conversations when emojis are present in the user&rsquo;s utterances. For this, follow the below steps:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Under the <\/span><strong>Build<\/strong><span style=\"font-weight: 400\"> top menu option, from the left menu, click <\/span><strong>Natural Language -&gt; Training<\/strong><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">On the <\/span><strong>Intents<\/strong><span style=\"font-weight: 400\"> tab, click the more\/ellipses icon and select <\/span><strong>Import Emojis into Concepts<\/strong><span style=\"font-weight: 400\">.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">This adds all the default emojis to the system concepts for the current language. As you can see emojis are updated for the system concepts like this: ~<\/span><em><span style=\"font-weight: 400\">emohappy<\/span><\/em><span style=\"font-weight: 400\">, ~<\/span><em><span style=\"font-weight: 400\">emohello<\/span><\/em><span style=\"font-weight: 400\">, etc.<br \/><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140821\/import-emoji.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46352\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140821\/import-emoji-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\/20220929140821\/import-emoji-1024x434.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140821\/import-emoji-300x127.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140821\/import-emoji.png 1922w\" 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\">After importing, you may choose to review and remove any emojis that you may not want to support.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">If you are trying to re-import the emojis, then the current emojis are retained and any additional emojis are added.<\/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<h2><span class=\"ez-toc-section\" id=\"Manage_Patterns_and_Rules\"><span style=\"font-weight: 400\">Manage Patterns and Rules<\/span><\/span><\/h2>\n<p><span style=\"font-weight: 400\">To optimize the accuracy and recognition of the NLP interpreter, you can create patterns for task names and task fields.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Using synonyms is great for words used in the name. Sometimes; however, users may refer to a task using slang, metaphors, or other idiomatic expressions.<\/span><\/p>\n<p><span style=\"font-weight: 400\">For example, a task name is <\/span><em><span style=\"font-weight: 400\">Get Current Weather<\/span><\/em><span style=\"font-weight: 400\">, but the user inputs, <\/span><em><span style=\"font-weight: 400\">what&rsquo;s happening with today&rsquo;s rain situation<\/span><\/em><span style=\"font-weight: 400\">. In this case, none of the words used in the task name are used, yet the input has the same meaning as <\/span><em><span style=\"font-weight: 400\">Get Current Weather<\/span><\/em><span style=\"font-weight: 400\">.<\/span><\/p>\n<p><span style=\"font-weight: 400\">In these cases, using patterns can help to improve NLP interpreter accuracy.<\/span><\/p>\n<p><span style=\"font-weight: 400\">When the NLP interpreter matches a synonym to one task or field, and a pattern to a different task or field, the pattern match is prioritized and used for positive recognition over the synonym match.<\/span><\/p>\n<p><span style=\"font-weight: 400\">To learn more about best practices and tips for optimizing NLP, refer to <\/span><a href=\"https:\/\/developer.kore.ai\/v9-3\/docs\/bots\/nlp\/additional-notes-nlp-settings-guidelines\/\"><span style=\"font-weight: 400\">Natural Language Processing Guide<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<p><span style=\"font-weight: 400\">For a quick guide towards the usage of patterns, refer to <\/span><a href=\"https:\/\/developer.kore.ai\/v9-3\/docs\/bots\/how-tos\/how-to-use-patterns-for-intents-entities\/\"><span style=\"font-weight: 400\">How to use Patterns<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Navigate_to_the_Patterns_Tab\"><span style=\"font-weight: 400\">Navigate to the Patterns Tab<\/span><\/span><\/h3>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Open the VA for which you want to add patterns and 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 click <\/span><strong>Natural Language -&gt;<\/strong> <strong>Training<\/strong><span style=\"font-weight: 400\">.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">On the <\/span><strong>Training <\/strong><span style=\"font-weight: 400\">page, click one of the following tabs:<\/span><\/li>\n<ol>\n<li style=\"font-weight: 400\"><strong>Intents <\/strong><span style=\"font-weight: 400\">&ndash; Add or edit patterns or rules for dialog task User Intent nodes.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>Entities <\/strong><span style=\"font-weight: 400\">&ndash; Add or edit patterns for dialog task Entity nodes.<\/span><\/li>\n<\/ol>\n<\/ol>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Add_Patterns_for_Intents\"><span style=\"font-weight: 400\">Add Patterns for Intents<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">You can define a pattern as a sentence that represents the task but does not actually contain any of the words in the name of the task.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Also, you can define where words must be ignored by the NLP interpreter to improve accuracy for recognizing the correct task.<\/span><\/p>\n<p><span style=\"font-weight: 400\">For example, you can build a pattern like <\/span><em><span style=\"font-weight: 400\">find *testable* value<\/span><\/em><span style=\"font-weight: 400\"> to recognize in the user input a sequence of words in order, where the word <\/span><em><span style=\"font-weight: 400\">find<\/span><\/em><span style=\"font-weight: 400\"> is followed by any number of words, followed by the word <\/span><em><span style=\"font-weight: 400\">testable<\/span><\/em><span style=\"font-weight: 400\">, and again followed by any number of words, which are finally followed by the word <\/span><em><span style=\"font-weight: 400\">value<\/span><\/em><span style=\"font-weight: 400\">. For this pattern, the user input can be <\/span><em><span style=\"font-weight: 400\">Find me any testable integers corresponding to the value<\/span><\/em><span style=\"font-weight: 400\">, which can match the pattern.<\/span><\/p>\n<p><span style=\"font-weight: 400\">You can also use concepts to build patterns. For example, the pattern is defined as <\/span><em><span style=\"font-weight: 400\">buy ~fruit<\/span><\/em><span style=\"font-weight: 400\"> and the user input that matches this pattern can be <\/span><em><span style=\"font-weight: 400\">buy orange.<\/span><\/em><\/p>\n<p><span style=\"font-weight: 400\">In the <\/span><strong>Intents <\/strong><span style=\"font-weight: 400\">section, you can view, add, and delete patterns for dialog tasks.<\/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\/20220929140828\/intent-patterns.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46355\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140828\/intent-patterns-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\/20220929140828\/intent-patterns-1024x434.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140828\/intent-patterns-300x127.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140828\/intent-patterns.png 1922w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/span><\/p>\n<p><span style=\"font-weight: 400\">To add an intent pattern, follow the below steps:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">On the <\/span><strong>Training<\/strong><span style=\"font-weight: 400\"> page, click the <\/span><strong>Patterns\/+Pattern<\/strong><span style=\"font-weight: 400\"> against the intent name you want to enter the patterns for.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">In the <\/span><strong>Intent<\/strong><span style=\"font-weight: 400\"> pane, enter one or more sentence patterns, and press <\/span><strong>Enter<\/strong><span style=\"font-weight: 400\"> between patterns.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">You can <\/span><strong>reorder, edit <\/strong><span style=\"font-weight: 400\">or <\/span><strong>delete<\/strong><span style=\"font-weight: 400\"> patterns using the appropriate icons.<br \/><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140753\/add-pattern.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46337\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140753\/add-pattern-1024x377.png\" alt=\"\" width=\"640\" height=\"236\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140753\/add-pattern-1024x377.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140753\/add-pattern-300x111.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140753\/add-pattern.png 1639w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><br \/><\/span><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Add_Rules_for_Intents\"><span style=\"font-weight: 400\">Add Rules fo<\/span><span style=\"font-weight: 400\">r Intents<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">You can use traits or context tags to define intent identification rules for better intent detection. You can add Traits or Context Tags and conditional rules using AND, OR operators.<\/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\/20220929140834\/intent-rule.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46358\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140834\/intent-rule-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\/20220929140834\/intent-rule-1024x434.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140834\/intent-rule-300x127.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140834\/intent-rule.png 1922w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/span><\/p>\n<p><span style=\"font-weight: 400\">To add an intent rule, follow the below steps:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">On the <\/span><strong>Training<\/strong><span style=\"font-weight: 400\"> page, click the <\/span><strong>Rules\/+Rule<\/strong><span style=\"font-weight: 400\"> against the intent name you want to enter the patterns for.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">In the <\/span><strong>Intent<\/strong><span style=\"font-weight: 400\"> pane, enter one or more traits\/context tags as conditional rules using AND OR operators, and press <\/span><strong>Enter<\/strong><span style=\"font-weight: 400\"> between traits\/tags.<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">Refer here to know more about <\/span><a href=\"https:\/\/developer.kore.ai\/v9-3\/docs\/bots\/nlp\/traits\/\"><span style=\"font-weight: 400\">Traits<\/span><\/a><span style=\"font-weight: 400\">, <\/span><a href=\"https:\/\/developer.kore.ai\/v9-3\/docs\/bots\/nlp\/traits\/#Trait_Association_Rules\"><span style=\"font-weight: 400\">Trait Association Rules<\/span><\/a><span style=\"font-weight: 400\"> and <\/span><a href=\"https:\/\/developer.kore.ai\/v9-3\/docs\/bots\/bot-intelligence\/context-management\/\"><span style=\"font-weight: 400\">Context Tags<\/span><\/a><span style=\"font-weight: 400\">.<\/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\/20220929140757\/add-rule.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46340\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140757\/add-rule-1024x353.png\" alt=\"\" width=\"640\" height=\"221\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140757\/add-rule-1024x353.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140757\/add-rule-300x103.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140757\/add-rule.png 1612w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Add_Patterns_for_Entities\"><span style=\"font-weight: 400\">Add Patterns for Entities<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">In the <\/span><strong>Entities <\/strong><span style=\"font-weight: 400\">section of the <\/span><strong>Training<\/strong><span style=\"font-weight: 400\"> page, you can view, add, and delete patterns for dialog task entity node names.<\/span><\/p>\n<p><span style=\"font-weight: 400\">To add an entity pattern, follow the below steps:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">On the <\/span><strong>Training<\/strong><span style=\"font-weight: 400\"> page, click the <\/span><strong>Entities <\/strong><span style=\"font-weight: 400\">tab.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Click the edit icon against the entity to enter the patterns to it.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">In the <\/span><strong>Entity Training<\/strong><span style=\"font-weight: 400\"> page, select the <\/span><strong>Patterns<\/strong><span style=\"font-weight: 400\"> tab.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Enter one or more sentence patterns, and press ENTER between patterns.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">You can <\/span><strong>reorder, edit <\/strong><span style=\"font-weight: 400\">or <\/span><strong>delete<\/strong><span style=\"font-weight: 400\"> patterns using the appropriate icons.<br \/><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140741\/add-entity-pattern.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46328\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140741\/add-entity-pattern.png\" alt=\"\" width=\"640\" height=\"398\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140741\/add-entity-pattern.png 697w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140741\/add-entity-pattern-300x186.png 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/span><span style=\"font-weight: 400\"><br \/><\/span><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Negative_Patterns\"><span style=\"font-weight: 400\">Negative Patterns<\/span><\/span><\/h3>\n<p><span style=\"font-weight: 400\">On the Kore.ai XO Platform, a natural language engine attempts to identify user input and match that user input to a task. You can modify additional advanced settings to enable negative patterns for intent detection.<\/span><\/p>\n<p><span style=\"font-weight: 400\">This is useful in filtering matched intents that are part of user utterance but should not trigger that intent.<\/span><\/p>\n<p><strong>Use Case: <\/strong><span style=\"font-weight: 400\">For example, a user says <\/span><em><span style=\"font-weight: 400\">I was trying to Book a Flight when I faced an issue<\/span><\/em><span style=\"font-weight: 400\">. Though the machine identifies the intent as <\/span><em><span style=\"font-weight: 400\">Book a Flight<\/span><\/em><span style=\"font-weight: 400\">, that is not what the user wants to do. In such a case, defining <\/span><em><span style=\"font-weight: 400\">was trying to<\/span><\/em><span style=\"font-weight: 400\"> as a negative pattern, would ensure that the matched intent is ignored.<\/span><\/p>\n<p><strong>Negative patterns<\/strong><span style=\"font-weight: 400\"> are used to eliminate intents detected by the Fundamental Meaning or Machine Learning models.<\/span><\/p>\n<p><span style=\"font-weight: 400\">To enable Negative Patterns, follow the below steps:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Under the <\/span><strong>Build<\/strong><span style=\"font-weight: 400\"> tab of the menu option, from the left menu, click <\/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 <\/span><strong>Negative Patterns<\/strong><span style=\"font-weight: 400\">. By default, this option is disabled.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">You can now see the&nbsp;<strong>Negative Patterns<\/strong> section.&nbsp;<br \/><a ref=\"magnificPopup\" href=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140809\/enable-negative-patterns.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46346\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140809\/enable-negative-patterns-1024x388.png\" alt=\"\" width=\"640\" height=\"243\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140809\/enable-negative-patterns-1024x388.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140809\/enable-negative-patterns-300x114.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140809\/enable-negative-patterns.png 1922w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><br \/><\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">For each of the intents in your VA, you can define negative patterns similar to how you define intent patterns.&nbsp;<\/span>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Go to <\/span><strong>Natural Language &gt; Training &gt; Intents and select the Intent<\/strong><span style=\"font-weight: 400\"> to which you want to add the Negative Pattern.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">In the Intent training window, select the <\/span><strong>Negative Patterns<\/strong><span style=\"font-weight: 400\"> tab.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Add negative patterns in the <\/span><strong>Add a Pattern<\/strong><span style=\"font-weight: 400\"> field, then press <\/span><strong>Enter\/Return<\/strong><span style=\"font-weight: 400\">. Your new patterns are automatically saved.<\/span><\/li>\n<\/ol>\n<\/li>\n<li style=\"font-weight: 400\">Any intents identified by FM or ML engines, if identified as one of the configured negative patterns, will be ignored and not sent to Ranking &amp; Resolver.<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Once added, these patterns can be reordered, edited, and deleted.<\/span><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\/20220929140748\/add-negative-pattern.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46334\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140748\/add-negative-pattern-1024x217.png\" alt=\"\" width=\"640\" height=\"136\" srcset=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140748\/add-negative-pattern-1024x217.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140748\/add-negative-pattern-300x64.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140748\/add-negative-pattern.png 1604w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/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<h2><span class=\"ez-toc-section\" id=\"Thresholds_Configurations\"><span style=\"font-weight: 400\">Thresholds &amp; Configurations<\/span><\/span><\/h2>\n<p><span style=\"font-weight: 400\">To train and improve the performance, 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 <\/strong><span style=\"font-weight: 400\">&gt; <\/span><strong>Thresholds &amp; Configurations.<\/strong><\/p>\n<p><span style=\"font-weight: 400\">The settings for the FM engine are discussed in detail in the following sections.<\/span><\/p>\n<table style=\"width: 100%;border-collapse: collapse;background-color: #fffbea\">\n<tbody>\n<tr>\n<td style=\"width: 100%\"><em><strong>Note<\/strong><span style=\"font-weight: 400\">: If your assistant is multilingual, you can set the Thresholds differently for different languages. If not set, the Default Settings will be used for all languages. This feature is available from v7.0.<\/span><\/em><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">To set up Thresholds and Configurations for the FM Engine, please follow the steps below:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Open the assistant for which you want to configure thresholds.<\/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, click <\/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\">The<\/span><strong> Fundamental Meaning <\/strong><span style=\"font-weight: 400\">section allows you to set the threshold for the FM engine:<\/span><\/li>\n<ol>\n<li style=\"font-weight: 400\"><strong>Intent Detection using Task Name Words<\/strong><span style=\"font-weight: 400\"> can be disabled in case your use case requires it. This is particularly useful if you have too many tasks named &ndash; <\/span><em><span style=\"font-weight: 400\">place order<\/span><\/em><span style=\"font-weight: 400\">, <\/span><em><span style=\"font-weight: 400\">cancel order<\/span><\/em><span style=\"font-weight: 400\">, <\/span><em><span style=\"font-weight: 400\">request order<\/span><\/em><span style=\"font-weight: 400\">, <\/span><em><span style=\"font-weight: 400\">duplicate order<\/span><\/em><span style=\"font-weight: 400\">. All these tasks will be matched as intents if the user utterance has the word &ldquo;<\/span><em><span style=\"font-weight: 400\">order&rdquo; <\/span><\/em><span style=\"font-weight: 400\">in it. Instead of <\/span><em><span style=\"font-weight: 400\">trying<\/span><\/em><span style=\"font-weight: 400\">, <\/span><em><span style=\"font-weight: 400\">guessing<\/span><\/em><span style=\"font-weight: 400\">, and training for all possible utterances, disabling this option does the trick. Disabling it will not affect the intent detection using patterns. Also, an implicit pattern using the words in the Task Name will be automatically added. The implicit pattern identifies this intent only when the user input starts and ends with the exact task name. By default, it is enabled.<\/span><\/li>\n<li style=\"font-weight: 400\"><strong>FM Threshold<\/strong><span style=\"font-weight: 400\"> can be used to limit the number of results sent from the FM Engine to Ranking and Resolver, so as to reduce the possibility of presenting a low confidence match to the end-user. Enable this configuration and choose the <\/span><em><span style=\"font-weight: 400\">threshold percentage<\/span><\/em><span style=\"font-weight: 400\"> as a value between 0% and 20%. Default is 2%. Only the intent matches within the set % of the top-scoring intent will be considered and all other intents will be eliminated. This configuration is available only for English, Spanish, French and German languages.<\/span><\/li>\n<\/ol>\n<\/ol>\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\/20220929140845\/thresholds-and-config.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-46364\" src=\"https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140845\/thresholds-and-config-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\/20220929140845\/thresholds-and-config-1024x434.png 1024w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140845\/thresholds-and-config-300x127.png 300w, https:\/\/kore-wordpress.s3.us-east-2.amazonaws.com\/developer.kore.ai\/v9-3\/wp-content\/uploads\/sites\/29\/20220929140845\/thresholds-and-config.png 1922w\" 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<h1><span class=\"ez-toc-section\" id=\"Suggested_Reading\"><span style=\"font-weight: 400\">Suggested Reading<\/span><\/span><\/h1>\n<p><span style=\"font-weight: 400\">Know more about the guidelines in naming Intents, using Patterns and more, <\/span><a href=\"https:\/\/developer.kore.ai\/v9-3\/docs\/bots\/nlp\/additional-notes-nlp-settings-guidelines\/\"><span style=\"font-weight: 400\">refer here<\/span><\/a><span style=\"font-weight: 400\">.<\/span><br \/>\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>[vc_raw_html]JTNDZGl2JTIwY2xhc3MlM0QlMjJ3LXBvc3QtZWxtJTIwcG9zdF9uYXZpZ2F0aW9uJTIwbGF5b3V0X3NpbXBsZSUyMGludl9mYWxzZSUyMiUzRSUwQSUwOSUzQ2ElMjBjbGFzcyUzRCUyMnBvc3RfbmF2aWdhdGlvbi1pdGVtJTIwb3JkZXJfZmlyc3QlMjB0b19wcmV2JTIyJTIwaHJlZiUzRCUyMiUyRmRvY3MlMkZib3RzJTJGbmxwJTJGdXNlci11dHRlcmFuY2VzJTJGJTIyJTNFJTNDJTJGcCUzRSUwQSUzQ2RpdiUyMGNsYXNzJTNEJTIycG9zdF9uYXZpZ2F0aW9uLWl0ZW0tYXJyb3clMjIlM0UlM0MlMkZkaXYlM0UlMEElM0NkaXYlMjBjbGFzcyUzRCUyMnBvc3RfbmF2aWdhdGlvbi1pdGVtLW1ldGElMjIlM0VQcmV2aW91cyUzQyUyRmRpdiUzRSUwQSUzQ2RpdiUyMGNsYXNzJTNEJTIycG9zdF9uYXZpZ2F0aW9uLWl0ZW0tdGl0bGUlMjIlM0UlM0NzcGFuJTNFTWFjaGluZSUyMExlYXJuaW5nJTNDJTJGc3BhbiUzRSUzQyUyRmRpdiUzRSUwQSUzQ3AlM0UlM0MlMkZhJTNFJTNDYnIlMjAlMkYlM0UlMEElM0NhJTIwY2xhc3MlM0QlMjJwb3N0X25hdmlnYXRpb24taXRlbSUyMG9yZGVyX3NlY29uZCUyMHRvX25leHQlMjIlMjBocmVmJTNEJTIyJTJGZG9jcyUyRmJvdHMlMkZubHAlMkZrbm93bGVkZ2UtZ3JhcGglMkYlMjIlM0UlM0MlMkZwJTNFJTBBJTNDZGl2JTIwY2xhc3MlM0QlMjJwb3N0X25hdmlnYXRpb24taXRlbS1hcnJvdyUyMiUzRSUzQyUyRmRpdiUzRSUwQSUzQ2RpdiUyMGNsYXNzJTNEJTIycG9zdF9uYXZpZ2F0aW9uLWl0ZW0tbWV0YSUyMiUzRU5leHQlM0MlMkZkaXYlM0UlMEElM0NkaXYlMjBjbGFzcyUzRCUyMnBvc3RfbmF2aWdhdGlvbi1pdGVtLXRpdGxlJTIyJTNFJTNDc3BhbiUzRUtub3dsZWRnZSUyMEdyYXBoJTIwVHJhaW5pbmclM0MlMkZzcGFuJTNFJTNDJTJGZGl2JTNFJTBBJTNDcCUzRSUzQyUyRmElM0UlM0MlMkZkaXYlM0U=[\/vc_raw_html]<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><\/div><\/div><\/div><\/div><\/div><\/section>\n","protected":false},"excerpt":{"rendered":"Fundamental Meaning is a computational linguistics approach that is built on ChatScript. The model analyzes the structure of a user&rsquo;s utterance to identify each word by meaning, position, conjugation, capitalization, plurality, and other factors. FM Engine Overview The Fundamental Meaning model is a deterministic model that uses semantic rules and language context to determine the...","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-18123","post","type-post","status-publish","format-standard","hentry","category-nlp"],"_links":{"self":[{"href":"https:\/\/developer.kore.ai\/v9-3\/wp-json\/wp\/v2\/posts\/18123","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=18123"}],"version-history":[{"count":67,"href":"https:\/\/developer.kore.ai\/v9-3\/wp-json\/wp\/v2\/posts\/18123\/revisions"}],"predecessor-version":[{"id":51278,"href":"https:\/\/developer.kore.ai\/v9-3\/wp-json\/wp\/v2\/posts\/18123\/revisions\/51278"}],"wp:attachment":[{"href":"https:\/\/developer.kore.ai\/v9-3\/wp-json\/wp\/v2\/media?parent=18123"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/developer.kore.ai\/v9-3\/wp-json\/wp\/v2\/categories?post=18123"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/developer.kore.ai\/v9-3\/wp-json\/wp\/v2\/tags?post=18123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}