<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Aura – aura-nlp</title>
    <link>/tags/aura-nlp/</link>
    <description>Recent content in aura-nlp on Aura</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    
	  <atom:link href="/tags/aura-nlp/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/nlp-adapters/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/nlp-adapters/</guid>
      <description>
        
        
        &lt;h1 id=&#34;aura-nlp-adapters&#34;&gt;Aura NLP Adapters&lt;/h1&gt;
&lt;h2 id=&#34;what-are-aura-nlp-adapters&#34;&gt;What are Aura NLP adapters&lt;/h2&gt;
&lt;p&gt;Adapters are used in order to modify the response achieved by the rest of the pipeline stages.&lt;/p&gt;
&lt;p&gt;The different types of adapters are included in the following sections.&lt;/p&gt;
&lt;h3 id=&#34;description&#34;&gt;Description&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The specific intent recognition stage (CLU, Exact match, Grammars, etc.) recognizes the user&amp;rsquo;s intent.&lt;/li&gt;
&lt;li&gt;Aura NLP will provide as an output a recognized intent and an entity ID.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;path&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;files&#34;&gt;Files&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Keys: intent&lt;/li&gt;
&lt;li&gt;Value: the value for each key corresponds to an ID from different sources.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An example is shown below. Each intent is mapped with a specific ID.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```typescript
{
&amp;quot;intent.exact-match.faq.1&amp;quot;: &amp;quot;1&amp;quot;,
&amp;quot;intent.exact-match.faq.2&amp;quot;: &amp;quot;2&amp;quot;,
&amp;quot;intent.exact-match.faq.3&amp;quot;: &amp;quot;3&amp;quot;
}
```
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Afterwards, &lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt; will receive the recognized intent and the entity ID as an output from the NLP stage.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Review that all the included IDs in this file are existing in the corresponding sources and the matching between the intents and entities for this ID.&lt;/li&gt;
&lt;li&gt;Review that the intent name is previously defined.&lt;/li&gt;
&lt;li&gt;Include the intents in alphabetical order.&lt;/li&gt;
&lt;li&gt;It is recommended to include in the E2E tests phrases to validate that the mapping is correctly done.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;configuration&#34;&gt;Configuration&lt;/h3&gt;
&lt;p&gt;This stage requires the following configuration in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;&lt;code&gt;nlp.json&lt;/code&gt;&lt;/a&gt; configuration file, in which the field &lt;code&gt;intent_template&lt;/code&gt; should point to the use case intent.&lt;/p&gt;
&lt;p&gt;As an example, if Exact match is the intent recognizer stage, it can be:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent_template&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.exact-match.faq&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;intent-entity-mapper&#34;&gt;Intent Entity Mapper&lt;/h2&gt;
&lt;h3 id=&#34;description-1&#34;&gt;Description&lt;/h3&gt;
&lt;p&gt;It can be used in:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Personalized experiences&lt;/strong&gt; to configure a particular entity based on a specific intent.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In both scenarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An intent recognition stage (CLU, Exact match, Grammars, etc.) recognizes the user&amp;rsquo;s intent.&lt;/li&gt;
&lt;li&gt;Intent Entity Mapper adapter is trained to map the intent with an entity name and label.&lt;/li&gt;
&lt;li&gt;Aura NLP provides as an output the recognized intent and entity.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;path-1&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;adapter_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;intent_entity_mapper_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;IntentEntityMapperWrapper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;files-1&#34;&gt;Files&lt;/h3&gt;
&lt;p&gt;This stage requires an &lt;code&gt;intent_entity_mapper.json&lt;/code&gt; file. It maps a specific intent with an entity name and label:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The keys are the intent names.&lt;/li&gt;
&lt;li&gt;Values for each key contain another key-value pair:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;entity_name&lt;/code&gt; (mandatory): The name of the new entity.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;entity_label&lt;/code&gt; (optional): The label of the new entity. If not provided, it uses the label defined in the &lt;a href=&#34;#configuration&#34;&gt;&lt;code&gt;nlp.json&lt;/code&gt; configuration file&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An example is shown below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;intent.exact-match.faq.1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;entity_name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;intent.exact-match.faq.2&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;entity_name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;2&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;entity_label&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;test-label&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;intent.exact-match.faq.3&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;entity_name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;3&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Afterwards, &lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt; will receive the recognized intent and the entity name as an output from the NLP stage.&lt;/p&gt;
&lt;h4 id=&#34;best-practices-to-edit-intent_entity_mapperjson&#34;&gt;Best practices to edit &lt;code&gt;intent_entity_mapper.json&lt;/code&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Review that all the included entity names in this file exist in the corresponding sources.&lt;/li&gt;
&lt;li&gt;Review the matching between the intents and entities.&lt;/li&gt;
&lt;li&gt;Review that the intent name is previously defined.&lt;/li&gt;
&lt;li&gt;Include the intents in alphabetical order.&lt;/li&gt;
&lt;li&gt;It is also recommended to include it in the E2E test phrases to validate whether the mapping is correctly done.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;configuration-1&#34;&gt;Configuration&lt;/h3&gt;
&lt;p&gt;This stage requires the following settings in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;&lt;code&gt;nlp.json&lt;/code&gt;&lt;/a&gt; configuration file, under the &lt;code&gt;intent_entity_mapper&lt;/code&gt; key:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;intent_template&lt;/code&gt; (mandatory): The intent name to replace the original intent.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;entity_label_template&lt;/code&gt; (optional, default &lt;code&gt;None&lt;/code&gt;): A default label name for the entities not defined in the &lt;code&gt;intent_entity_mapper.json&lt;/code&gt; file.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;entity_type_template&lt;/code&gt; (optional, default &lt;code&gt;faq&lt;/code&gt;): The type of the new entities.
&lt;ol&gt;
&lt;li&gt;The &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/openai-embeddings/&#34;&gt;&lt;code&gt;OpenaiEmbeddingsRecognizer&lt;/code&gt;&lt;/a&gt; stage is included in the same pipeline.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here is an example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-JSON&#34; data-lang=&#34;JSON&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent_entity_mapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;intent_template&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.tv.search&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;entity_label_template&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;REAL MADRID&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;entity_type_template&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.audiovisual_sports_team&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;none-handler&#34;&gt;None Handler&lt;/h2&gt;
&lt;h3 id=&#34;description-2&#34;&gt;Description&lt;/h3&gt;
&lt;p&gt;None Handler is a stage used when the intent recognized by the pipeline stages is &lt;code&gt;None&lt;/code&gt;.
It modifies the &lt;code&gt;None&lt;/code&gt; intent by the intent predefined in the file &lt;code&gt;none_mapper.json&lt;/code&gt; for the specific domain. You can select any intent defined in the system to be pointed in this adapter.&lt;/p&gt;
&lt;h3 id=&#34;path-2&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;adapter_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;none_handler_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;NoneHandlerWrapper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;files-2&#34;&gt;Files&lt;/h3&gt;
&lt;p&gt;None Handler requires one file: &lt;code&gt;none_mapper.json&lt;/code&gt; that indicates, within a specific domain, which intent must be set if the recognized intent is &lt;code&gt;None&lt;/code&gt;.
Therefore, if the domain is already defined and the system recognizes the intent &lt;code&gt;None&lt;/code&gt;, then the intent is replaced by the value indicated in the file.&lt;/p&gt;
&lt;p&gt;In this file:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Keys: different domains&lt;/li&gt;
&lt;li&gt;Values: value for each key is the intent mapped with this domain.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Developers can select any intent defined in the system to be pointed in this adapter.&lt;/p&gt;
&lt;p&gt;An example is shown below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;domain.tv_content&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.tv.none&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;domain.tv_desco&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.tv.none&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;domain.tv_record&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.tv.none&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;domain.tv_wh3&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.tv.none&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In the example, if the domain is &lt;code&gt;domain.tv_content&lt;/code&gt; and the system recognizes the intent &lt;code&gt;None&lt;/code&gt;, then this intent is replaced by &lt;code&gt;intent.tv.none&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;configuration-2&#34;&gt;Configuration&lt;/h3&gt;
&lt;p&gt;This stage does not require any configuration.&lt;/p&gt;
&lt;h2 id=&#34;standard-threshold&#34;&gt;Standard Threshold&lt;/h2&gt;
&lt;h3 id=&#34;description-3&#34;&gt;Description&lt;/h3&gt;
&lt;p&gt;Standard Threshold allows the establishment of a threshold for the scores provided by preceding pipeline stages.
If the score obtained by the previous stages is lower than the established threshold, the Standard Threshold provides score &lt;code&gt;0&lt;/code&gt; and the intent is replaced by the default value set in the configuration.&lt;/p&gt;
&lt;p&gt;This stage is useful to prevent false positives and can be included in any place of the pipeline. The NLP Global Team recommends to set this threshold to &lt;code&gt;0.6&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;path-3&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;adapter_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;standard_threshold_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;StandardThresholdWrapper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;files-3&#34;&gt;Files&lt;/h3&gt;
&lt;p&gt;Standard Threshold does not require any file.&lt;/p&gt;
&lt;h3 id=&#34;configuration-3&#34;&gt;Configuration&lt;/h3&gt;
&lt;p&gt;This stage requires the following configuration in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;&lt;code&gt;nlp.json&lt;/code&gt;&lt;/a&gt; file, depending on the language and the channel:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;es-es&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;mp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;threshold&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;default&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;threshold&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.default&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.test&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;threshold&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.8&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;None&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;     
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The fields are explained below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;threshold&lt;/code&gt;: value between &lt;code&gt;0&lt;/code&gt; and &lt;code&gt;1&lt;/code&gt; indicating the limit that triggers the action of the adapter.
&lt;ul&gt;
&lt;li&gt;This field can be defined per intent, thus having a different threshold for each intent.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;default&lt;/code&gt; intent must be always specified and, additionally, you can define a different threshold for other specific intent in order to improve the recognition process.&lt;/li&gt;
&lt;li&gt;The NLP Global Team recommends to set this threshold to &lt;code&gt;0.6&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;intent&lt;/code&gt;: this field contains an internal string identifier, that is associated if the score value is lower than the threshold.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the previous example, the &lt;code&gt;default&lt;/code&gt; config applies to every intent, with accuracy &lt;code&gt;0.1&lt;/code&gt; and intent &lt;code&gt;intent.default&lt;/code&gt;. But, specifically for the intent &lt;code&gt;intent.test&lt;/code&gt;, the applied configuration has accuracy &lt;code&gt;0.8&lt;/code&gt; and the associated intent is &lt;code&gt;None&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;entity-tagger-adapter&#34;&gt;Entity Tagger Adapter&lt;/h2&gt;
&lt;h3 id=&#34;description-4&#34;&gt;Description&lt;/h3&gt;
&lt;p&gt;Entity Tagger Adapter is a stage that allows entities tagging through the definition of aliases and labels on them.&lt;/p&gt;
&lt;h3 id=&#34;path-4&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;adapter_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;entity_tagger_adapter_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;EntityTaggerAdapterWrapper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;files-4&#34;&gt;Files&lt;/h3&gt;
&lt;p&gt;The Entity Tagger Adapter stage requires four files:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sdict_items&lt;/code&gt;: &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/#items-dictionary&#34;&gt;Items dictionary&lt;/a&gt; including the canonical values of entities.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sdict_aliases&lt;/code&gt;: &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/#alias-dictionary&#34;&gt;Alias dictionary&lt;/a&gt; including the aliases for an entity.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#ner_entity_translationjson&#34;&gt;&lt;code&gt;ner_entity_translation.json&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#ner_aliasesjson&#34;&gt;&lt;code&gt;ner_aliases.json&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id=&#34;ner_entity_translationjson&#34;&gt;&lt;strong&gt;ner_entity_translation.json&lt;/strong&gt;&lt;/h5&gt;
&lt;p&gt;&lt;code&gt;ner_entity_translation.json&lt;/code&gt; indicates, for each entity type, if canon and label have been defined for the entity type or not.&lt;/p&gt;
&lt;p&gt;It is a JSON file that must be generated manually to define properties for each entity type.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The keys are entity types.&lt;/li&gt;
&lt;li&gt;Values for each key contain another key-value pair:
&lt;ul&gt;
&lt;li&gt;Keys: &lt;code&gt;canon&lt;/code&gt; and &lt;code&gt;label&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Values: boolean operators (&lt;code&gt;true&lt;/code&gt;/&lt;code&gt;false&lt;/code&gt;) depending on whether a canon and/or label has been defined for a given entity type or not.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An example of &lt;code&gt;ner_entity_translation&lt;/code&gt; is shown below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DEFAULT&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;canon&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;false&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;label&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34; ent.audiovisual_actor &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;canon&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;label&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Where &lt;code&gt;default&lt;/code&gt; represents the default value if the entity type is not included in the dictionary. The &lt;code&gt;default&lt;/code&gt; field is not mandatory if all the entity types are defined in the file.&lt;/p&gt;
&lt;p&gt;When a new entity is added, it must be included in the &lt;code&gt;ner_entity_translation.json&lt;/code&gt; file with the expected behavior for the canon and label. Likewise, if the behavior for canon and label of an entity changes, it is required to update this file.&lt;/p&gt;
&lt;p&gt;As best practices, entities should be ordered alphabetically.&lt;/p&gt;
&lt;h5 id=&#34;ner_aliasesjson&#34;&gt;&lt;strong&gt;ner_aliases.json&lt;/strong&gt;&lt;/h5&gt;
&lt;p&gt;&lt;code&gt;ner_aliases.json&lt;/code&gt; is an optional file required if you need to match/map the canon value to some other value requested by an API or search engine (currently, it is used by Spain to search content in the M+ database).&lt;/p&gt;
&lt;p&gt;It is a JSON dictionary that must be generated manually, where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Keys: entity types.&lt;/li&gt;
&lt;li&gt;The value of each key includes another key-value pair:
&lt;ul&gt;
&lt;li&gt;Keys: labels&lt;/li&gt;
&lt;li&gt;Value for each key: list of values contemplating just the canonical form(s) of the entity label&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When adding a new entity, in case the entity should have a label, the label has to be assigned to the canons that we want to be identified by this label.&lt;/p&gt;
&lt;p&gt;An example of &lt;code&gt;ner_aliases dictionary&lt;/code&gt; is shown below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.audiovisual_genre&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;CN&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;movies&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;films&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;CT&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;shorts&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;short film&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The following example shows the mapping between alias-canon-label and their corresponding files:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;   docu (`sdict_aliases`) -&amp;gt; documentary (`sdict_items`)-&amp;gt; DC  (`ner_aliases`)
&lt;/code&gt;&lt;/pre&gt;
&lt;h6 id=&#34;best-practices-for-the-edition-of-ner_aliasesjson&#34;&gt;Best practices for the edition of ner_aliases.json&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;Canon names should be expressed as in &lt;code&gt;sdict_items.json&lt;/code&gt;, including capitalization, diacritic marks and punctuation.&lt;/li&gt;
&lt;li&gt;Entities should be ordered alphabetically.&lt;/li&gt;
&lt;li&gt;Labels inside entities should be ordered alphabetically.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;configuration-4&#34;&gt;Configuration&lt;/h3&gt;
&lt;p&gt;No configuration is required.&lt;/p&gt;
&lt;h3 id=&#34;description-5&#34;&gt;Description&lt;/h3&gt;
&lt;p&gt;If the disambiguation process cannot discern between multiple entities, then the intent returned by Aura NLP to the bot will be a disambiguation intent as a top intent at first level. In this intent, each option is composed of the original top intent and one entity per option. These options will be presented to the user for him to choose the most appropriate one.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The input for this stage includes: a list of intents; 1 top intent (intent recognized with the higher score); a list of entities.&lt;/li&gt;
&lt;li&gt;The output from this stage includes: the top intent and different options (options in the data model) of recognized entities.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here is an example of the input and output data models for the disambiguation by entities stage, where entities are IDs.&lt;/p&gt;
&lt;p&gt;Input data model:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;14&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;faq&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.90&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;14&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;null&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;16&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;faq&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.88&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;16&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;null&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;12&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;faq&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.60&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;12&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;null&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Output data model:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.disambiguation&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.disambiguation&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;options&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;14&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;faq&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.90&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;14&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;null&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;options&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;16&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;faq&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.88&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;16&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;null&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;options&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;path-5&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;files-5&#34;&gt;Files&lt;/h3&gt;
&lt;h3 id=&#34;configuration-5&#34;&gt;Configuration&lt;/h3&gt;
&lt;p&gt;This stage requires the following configuration in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;&lt;code&gt;nlp.json&lt;/code&gt;&lt;/a&gt; file depending on the language and the channel:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;es-es&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;mp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;disambiguation_margin&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;exact_match&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.92&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent_template&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.disambiguation&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;     
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The fields determine how the disambiguation process is carried out:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;intent_template&lt;/code&gt;: This field contains an internal string identifier corresponding to the intent resulting from this stage if no disambiguation can be carried out.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;exact_match&lt;/code&gt;: value between 0 and 1. This value is used to check if any recognized entity score is above this value.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;disambiguation_margin&lt;/code&gt;: value between 0 and 1 used to set an interval.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The combination of these two last parameters provides different scenarios:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The score of certain entities is equal or higher than exact_match (left graphic).
&lt;ul&gt;
&lt;li&gt;Only the entity with the best score is considered.&lt;/li&gt;
&lt;li&gt;In case of tie (more than one entity with the highest score), all of them are returned.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The score of all entities is below the exact_match (right graphic).
Only those entities whose score is in the interval:
([top score], [top score - disambiguation_margin]) (both included) are considered.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/entities-disambiguation.jpg&#34; alt=&#34;Selected entities in disambiguation process&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;intent-disambiguation-adapter&#34;&gt;Intent Disambiguation Adapter&lt;/h2&gt;
&lt;h3 id=&#34;description-6&#34;&gt;Description&lt;/h3&gt;
&lt;p&gt;The goal of this stage is to disambiguate when, in an utterance, several intents are recognized.&lt;/p&gt;
&lt;p&gt;If the disambiguation process cannot discern between multiple intents, then the intent returned by this stage will be a disambiguation intent as a top intent at first level. In this intent, each option is composed of one intent (that fulfils the conditions to be disambiguated) and a list of entities. These options will be presented to the user to choose the most appropriate one.&lt;/p&gt;
&lt;p&gt;The general behavior of this stage is explained below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The input for this stage includes: a list of intents and a list of entities.&lt;/li&gt;
&lt;li&gt;The output for this stage includes: the different options for intents recognized during the disambiguation (&lt;code&gt;options&lt;/code&gt; in the data model) and the original list of entities.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;However, if black lists are defined, the behavior is explained in the following sub-section.&lt;/p&gt;
&lt;h4 id=&#34;intent-disambiguation-with-a-blacklist-of-intents&#34;&gt;Intent disambiguation with a blacklist of intents&lt;/h4&gt;
&lt;p&gt;Aura NLP allows the integration of configurable blacklists of intents for a custom behavior of disambiguation.
In this case, the disambiguation mechanisms will not apply for the intents included in the blacklist. The use case constructors can edit a blacklist of intents in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;&lt;code&gt;nlp.json&lt;/code&gt;&lt;/a&gt; configuration file, filling the parameter &lt;code&gt;intent_blacklist&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/disambiguation-blacklist.png&#34; alt=&#34;Intent disambiguation adapter with blacklist of intents&#34;&gt;&lt;/p&gt;
&lt;p&gt;When there is a blacklist of intents, the disambiguation process behaves as explained below:&lt;/p&gt;
&lt;p&gt;a.	If the top scored intent is included in the &lt;code&gt;intent_blacklist&lt;/code&gt;, the pipeline will return this unique intent (no disambiguation is launched).&lt;/p&gt;
&lt;p&gt;b.	If the top scored intent is not included in the &lt;code&gt;intent_blacklist&lt;/code&gt;, then the predefined values of the configuration parameters come into play:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If the score of the top scored intent is higher than &lt;code&gt;exact_match&lt;/code&gt;, then this intent is returned. In case of tie (more than one intent with the highest score), all of them are returned.&lt;/li&gt;
&lt;li&gt;If the score of the top scored intent is lower than &lt;code&gt;exact_match&lt;/code&gt;, then all the intents whose score is in the interval between the top score and the &lt;code&gt;disambiguation_margin&lt;/code&gt;  and are not in the &lt;code&gt;intent_blacklist&lt;/code&gt; are returned.&lt;br&gt;
In this case, the final intent will be the one described in &lt;code&gt;intent_template&lt;/code&gt; (with a score of 1.0) and the selected intents will be placed in the options of the result.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;path-6&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;adapter_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;intent_disambiguation_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;IntentDisambiguationAdapterWrapper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;files-6&#34;&gt;Files&lt;/h3&gt;
&lt;p&gt;No files are required.&lt;/p&gt;
&lt;h3 id=&#34;configuration-6&#34;&gt;Configuration&lt;/h3&gt;
&lt;p&gt;This stage requires the following configuration in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;&lt;code&gt;nlp.json&lt;/code&gt;&lt;/a&gt; file for each country and channel, within the key &lt;code&gt;intent_disambiguation&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The following parameters are required for this stage:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;exact_match&lt;/code&gt;: Float number, value between 0 and 1. If the intent with the highest score is greater than this value, the result is this intent (if this intent is not included in the &lt;code&gt;intent_blacklist&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;disambiguation_margin&lt;/code&gt;: Float number. Margin between the highest score and the lower score considered for the response.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;intent_template&lt;/code&gt;: String. Name of the intent that the stage returns when there are multiple options as response.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;intent_blacklist&lt;/code&gt;: List of intents for which the disambiguation mechanisms will not apply. This parameter is mandatory. If there are no blacklisted intents, it will have to be an empty list.&lt;br&gt;
&amp;#x26a0;&amp;#xfe0f; &lt;code&gt;none&lt;/code&gt; intent must always be included in the blacklist, as it is not going to be offered as an option to disambiguate.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See an example of &lt;code&gt;nlp.json&lt;/code&gt; file configuration for this stage:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;es-es&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;mp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent_disambiguation&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;disambiguation_margin&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;exact_match&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.92&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent_template&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.disambiguation&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent_blacklist&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.blacklisted_intent1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.blacklisted_intent2&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;examples-of-intent-disambiguation-adapter&#34;&gt;Examples of intent disambiguation adapter&lt;/h3&gt;
&lt;details open&gt;
&lt;summary&gt;Basic example for intent disambiguation adapter inclusion in a pipeline&lt;/summary&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;IntentDisambiguationExample&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;initial_node_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;IntentDisambiguationExamplePipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;elements&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;IntentDisambiguationExamplePipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;joint&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.base.BasePipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;RecognizerWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.recognizer_wrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;IntentDisambiguationAdapterWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.adapter_wrapper.intent_disambiguation_wrapper.IntentDisambiguationAdapterWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;links&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;IntentDisambiguationExamplePipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;RecognizerWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;IntentDisambiguationAdapterWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/details&gt;
&lt;details open&gt;
&lt;summary&gt;General behavior of intent disambiguation stage (with no blacklist of intents)&lt;/summary&gt;
&lt;p&gt;Here is an example of the input and output data models for the intent disambiguation stage, belonging to the OpenAI embeddings stage, where the disambiguation margin is &lt;code&gt;0.2&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Input data model&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.88&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label1&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name2&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type2&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.78&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label2&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.search&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.96&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.search&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.96&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.display&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.90&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.launch&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.60&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Output data model (2 intents fulfil the predefined criteria)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.disambiguation&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.disambiguation&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;options&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.88&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label1&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name2&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type2&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.78&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label2&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.search&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.96&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.search&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.96&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;options&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.88&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label1&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name2&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type2&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.78&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label2&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.display&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.90&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.display&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.90&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;options&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/details&gt;
&lt;details open&gt;
&lt;summary&gt;Behavior of intent disambiguation stage with a blacklist of intents. &lt;br&gt; Scenario 1: top intent is included in the blacklist&lt;/summary&gt;
&lt;ul&gt;
&lt;li&gt;Input data model&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.88&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label1&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.common.greetings&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.96&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.common.greetings&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.96&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.display&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.90&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;None&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.60&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Output data model: the top intent is included in the blacklist, therefore, no disambiguation is launched.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.88&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label1&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.common.greetings&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.96&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.common.greetings&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.96&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.display&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.90&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;None&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.60&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/details&gt;
&lt;details open&gt;
&lt;summary&gt;Behavior of intent disambiguation stage with a blacklist of intents &lt;br&gt; Scenario 2: top intent is included in the blacklist&lt;/summary&gt;
&lt;ul&gt;
&lt;li&gt;Input data model&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.88&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label1&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.search&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.96&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.search&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.96&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;None&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.90&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.display&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.89&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Output data model: the top intent is not included in the blacklist and more than one intent fulfil the condition for disambiguation &amp;raquo; The options in the blacklist are ignored and the remaining intents are disambiguated.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.disambiguation&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.disambiguation&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;options&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.88&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label1&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.search&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.96&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.search&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.96&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;options&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.88&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label1&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.display&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.89&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.display&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.89&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;options&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/details&gt;
&lt;h2 id=&#34;length-adapter&#34;&gt;Length Adapter&lt;/h2&gt;
&lt;h3 id=&#34;description-7&#34;&gt;Description&lt;/h3&gt;
&lt;p&gt;The objective of this stage is to control the maximum and minimum length of a phrase in order to avoid it to be too short or too long. The maximum/minimum number of characters is configurable.
The stage discards the out-of-range phrases, as they are not recognized properly by Aura NLP, thus saving time and resources in the recognition process.&lt;/p&gt;
&lt;p&gt;The Length Adapter returns a configurable intent template if the length of the received phrase in the pipeline message is higher than the maximum number of configurable characters or lower than the minimum one. The intent template is also configurable.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/length-adapter.png&#34; alt=&#34;Length adapter&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;path-7&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;adapter_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;lenght_adapter_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;LenghtAdapterWrapper&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;files-7&#34;&gt;Files&lt;/h3&gt;
&lt;p&gt;No files required.&lt;/p&gt;
&lt;h3 id=&#34;configuration-7&#34;&gt;Configuration&lt;/h3&gt;
&lt;p&gt;This stage requires a specific configuration in the pipeline configuration file &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#1-build-up-the-nlp-dynamic-pipeline&#34;&gt;&lt;code&gt;pipeline.json&lt;/code&gt;&lt;/a&gt;, within the &lt;code&gt;args&lt;/code&gt; section of this file, that contains the following fields:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;max&lt;/code&gt;: maximum number of characters in the phrase of the received pipeline message.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;min&lt;/code&gt;: minimum number of characters in the phrase of the received pipeline message.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;intent_template&lt;/code&gt;: intent name to be returned if the number of characters is lower than the &lt;code&gt;min&lt;/code&gt; value or higher than &lt;code&gt;max&lt;/code&gt; value.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;max&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;50&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;min&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent_template&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.example&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can also configure more than one stage of the Length Adapter to return different intents for &lt;code&gt;max&lt;/code&gt; or &lt;code&gt;min&lt;/code&gt; length characters.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/auxiliary-processes/azure-credentials-openai/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/auxiliary-processes/azure-credentials-openai/</guid>
      <description>
        
        
        &lt;h1 id=&#34;how-to-obtain-azure-credentials-for-openai&#34;&gt;How to obtain Azure credentials for OpenAI&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;This process may be required in the first step for training the understanding model: &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#51-set-up-configuration-properties&#34;&gt;Set up configuration properties&lt;/a&gt;.&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;Pre-requisites:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Azure account with permissions for applications registration.&lt;/li&gt;
&lt;li&gt;Azure CLI installed.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;guidelines&#34;&gt;Guidelines&lt;/h2&gt;
&lt;p&gt;Review &lt;a href=&#34;https://learn.microsoft.com/en-us/cli/azure/?view=azure-cli-latest&#34;&gt;azure-cli&lt;/a&gt; documentation to validate the commands and parameters.&lt;/p&gt;
&lt;p&gt;Follow the guidelines below for obtaining the Azure credentials for OpenAI:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Login the account where the OpenAI service is to be created:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;Run the login command &lt;a href=&#34;https://learn.microsoft.com/en-us/cli/azure/reference-index?view=azure-cli-latest#az-login&#34;&gt;(documentation)&lt;/a&gt;:
&lt;code&gt;az login&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Sign in with your account credentials in the browser.&lt;/li&gt;
&lt;li&gt;You will obtain the different subscriptions within Azure corresponding to the logged account.&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;
&lt;p&gt;Select the specific subscription to be used, with its corresponding field id, and execute the following command to switch to this subscription &lt;a href=&#34;https://learn.microsoft.com/en-us/cli/azure/account?view=azure-cli-latest#az-account-set&#34;&gt;(documentation)&lt;/a&gt;:
&lt;code&gt;az account set --subscription &amp;lt;subscription_id&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;subscription_id&amp;gt;&lt;/code&gt;  is the id of the selected subscription&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create a resource group &lt;a href=&#34;https://learn.microsoft.com/en-us/cli/azure/group?view=azure-cli-latest#az-group-create&#34;&gt;(documentation)&lt;/a&gt;:
&lt;code&gt;az group create --name &amp;lt;name_resource_group&amp;gt; --location &amp;lt;location&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;name_resource_group&amp;gt;&lt;/code&gt;: name of the resource group&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;location&amp;gt;&lt;/code&gt;: one location available for Azure (i.e., northeurope)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create app &lt;a href=&#34;https://learn.microsoft.com/en-us/cli/azure/ad/app?view=azure-cli-latest#az-ad-app-create&#34;&gt;(documentation)&lt;/a&gt;:
&lt;code&gt;az ad app create --display-name &amp;lt;display_name&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;display_name&amp;gt;&lt;/code&gt;: name of the service principal&lt;br&gt;
From the output of &lt;code&gt;az ad app create&lt;/code&gt;, we can obtain the field &lt;em&gt;appId&lt;/em&gt;. This value is used for the variable &lt;code&gt;OAI_AZURE_TOKEN_CLIENT_ID&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create password for app &lt;a href=&#34;https://learn.microsoft.com/en-us/cli/azure/ad/app/credential?view=azure-cli-latest#az-ad-app-credential-reset&#34;&gt;(documentation)&lt;/a&gt;:
&lt;code&gt;az ad app credential reset --id &amp;lt;app_id&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;app_id&amp;gt;&lt;/code&gt;: app_id obtained from previous app creation&lt;br&gt;
From the output of &lt;code&gt;az ad app credential reset&lt;/code&gt;, we can obtain the field &lt;em&gt;password&lt;/em&gt;. This value is used for the variable &lt;code&gt;OAI_AZURE_TOKEN_CLIENT_SECRET&lt;/code&gt;.&lt;br&gt;
From the output of &lt;code&gt;az ad app credential reset&lt;/code&gt;, we can obtain the field &lt;em&gt;tenant&lt;/em&gt;. This value is used for the variable &lt;code&gt;OAI_AZURE_TOKEN_TENANT&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create service principal &lt;a href=&#34;https://learn.microsoft.com/en-us/cli/azure/ad/sp?view=azure-cli-latest#az-ad-sp-create&#34;&gt;(documentation)&lt;/a&gt;:
&lt;code&gt;az ad sp create --id &amp;lt;app_id&amp;gt;&lt;/code&gt;
- &lt;code&gt;AppId&lt;/code&gt;: app_id obtained from previous app creation&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Assign role contributor &lt;a href=&#34;https://learn.microsoft.com/en-us/cli/azure/role/assignment?view=azure-cli-latest#az-role-assignment-create&#34;&gt;(documentation)&lt;/a&gt;:
&lt;code&gt;az role assignment create --assignee &amp;lt;appId&amp;gt; --role Contributor --scope &amp;lt;scope&amp;gt;&lt;/code&gt;
- &lt;code&gt;&amp;lt;app_id&amp;gt;&lt;/code&gt;: app_id obtained from previous app creation&lt;br&gt;
- &lt;code&gt;&amp;lt;Scope&amp;gt;&lt;/code&gt;: scope of the role assignment. Read more in &lt;a href=&#34;https://learn.microsoft.com/en-us/cli/azure/role/assignment?view=azure-cli-latest#az-role-assignment-create-required-parameters&#34;&gt;(documentation)&lt;/a&gt;. A possible value is the &lt;id&gt; of the resource group, you can obtain it with the command &lt;code&gt;az group show --name &amp;lt;name_resource_group&amp;gt; | jq .id&lt;/code&gt; &lt;a href=&#34;https://learn.microsoft.com/en-us/cli/azure/group?view=azure-cli-latest#az-group-show&#34;&gt;(documentation)&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create the OpenAI application &lt;a href=&#34;https://learn.microsoft.com/en-us/cli/azure/cognitiveservices/account?view=azure-cli-latest#az-cognitiveservices-account-create&#34;&gt;(documentation)&lt;/a&gt;:
&lt;code&gt;az cognitiveservices account create --kind &amp;quot;OpenAI&amp;quot; --name &amp;lt;name_openai&amp;gt; -g &amp;lt;name_resource_group&amp;gt; --sku s0 -l &amp;lt;location&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;name_openai&amp;gt;&lt;/code&gt;: resource name&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;name_resource_group&amp;gt;&lt;/code&gt;: name of resource group (previously generated)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;location&amp;gt;&lt;/code&gt;: location available for Azure (i.e., northeurope)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The values for the parameters required to fill in the &lt;code&gt;build_local_variables.sh&lt;/code&gt; script for OpenAI execution must be obtained from the above-defined steps:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;OAI_ID_SUBSCRIPTION&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;$(az account show | jq -r .id)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;OAI_RESOURCE_GROUP&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;lt;name_resource_group&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;OAI_ACCOUNT_NAME&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;lt;name_openai&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;OAI_AZURE_TOKEN_CLIENT_ID&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;lt;app_id&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;OAI_AZURE_TOKEN_CLIENT_SECRET&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;lt;password&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;OAI_AZURE_TOKEN_TENANT&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;$(az account show | jq -r .tenantId)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/grammars-generation/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/grammars-generation/</guid>
      <description>
        
        
        &lt;h1 id=&#34;guidelines-for-the-generation-of-grammars-in-unitex&#34;&gt;Guidelines for the generation of Grammars in Unitex&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Guidelines and best practices for working with Unitex for the generation of the Grammars to be included in the NLP model.&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;general-guidelines&#34;&gt;General guidelines&lt;/h2&gt;
&lt;p&gt;Grammars is an &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/grammars/&#34;&gt;Aura NLP stage&lt;/a&gt; that has its own path, files and configuration required to be included in the NLP model.&lt;/p&gt;
&lt;p&gt;Firstly, if your pipeline contains the Grammar stage, you need to work with &lt;strong&gt;Unitex Gramlab&lt;/strong&gt; and &lt;strong&gt;Grape NLP&lt;/strong&gt;, which are included in the &lt;a href=&#34;../../docs/experiences-builder/tools/nlp-virtual-machine/&#34;&gt;NLP Virtual Machine&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;After that, linguists can proceed to create the grammars associated to the new use case. This process will be similar for &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/#types&#34;&gt;global and local grammars&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The intent, entities and utterances defined for the new use case must be considered. A representative set of utterances will be selected and represented in Unitex through the creation of &lt;strong&gt;connected boxes&lt;/strong&gt; that will contain, from left to right, different options for expressing each token of the selected utterances. The combination of different connected boxes provides a full variability of utterances to be recognized.&lt;/p&gt;
&lt;p&gt;It is necessary to bear in mind that grammar engine only provides an &lt;strong&gt;exact recognition of utterances&lt;/strong&gt; previously integrated in the model. Therefore, it is necessary to build up a rich and realistic utterance database to cover all the representative users&amp;rsquo; utterances for a given use case.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/grammars-graph-2.png&#34; alt=&#34;Example of Grammars graph&#34;&gt;&lt;/p&gt;
&lt;p&gt;Once the grammars have been developed in Unitex, the grammar engine &lt;strong&gt;Grape NLP&lt;/strong&gt; goes through the grammar from the beginning (left side of the graph) and compares box by box the user&amp;rsquo;s utterance with the grammar to evaluate the matching.&lt;/p&gt;
&lt;p&gt;The output will be a set of labels together with a start and end index.&lt;/p&gt;
&lt;h2 id=&#34;intents-and-entities-tagging&#34;&gt;Intents and entities tagging&lt;/h2&gt;
&lt;h3 id=&#34;tag-an-intent-in-the-grammar-interface&#34;&gt;Tag an intent in the grammar interface&lt;/h3&gt;
&lt;p&gt;In order to tag an intent in a grammar graph, a box previous to the closing box of the graph should be created with the following information and format:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;E&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;intent.&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;intent_name&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;]&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;tag-an-entity-in-the-grammar-interface&#34;&gt;Tag an entity in the grammar interface&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Two separate boxes need to be created: one before and one after the entity values. &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We need two entity tags because we need to wrap the entity values in order to know its position in the user&amp;rsquo;s utterance. &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Opening entity tag should have the following information and format: &lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;E&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;ent.&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;entity_name&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;]&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Closing entity tag requires the following information and format: &lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;E&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;/&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/ent.[entity_name]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Consider the difference between the opening and closing entity tag and remember that the entity tags need to be included within the entity graph and not outside of it.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/grammars-tagging.png&#34; alt=&#34;Intent and entity tagging&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;best-practices-for-graphs-generation&#34;&gt;Best practices for graphs generation&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We highly recommend you the webinar &lt;a href=&#34;https://telefonicacorp.sharepoint.com/sites/ColaboraTID/SourcingDeployment/AuraL-CDO/Shared%20Documents/Forms/AllItems.aspx?csf=1&amp;amp;web=1&amp;amp;e=r0usvb&amp;amp;cid=0efaca42%2D34ad%2D4f9c%2D8735%2D07d8d32ed97a&amp;amp;RootFolder=%2Fsites%2FColaboraTID%2FSourcingDeployment%2FAuraL%2DCDO%2FShared%20Documents%2FTraining%20Sessions%2FWebminars%2FNLP%5FImplementing%20New%20Use%20Cases%5FGrammar%20Guidelines&amp;amp;FolderCTID=0x012000D13BA42C276A3740ACEFDEF3DDC24471&#34;&gt;Implementing new use cases: Grammar guidelines&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The graphs must be as &lt;strong&gt;visually clear&lt;/strong&gt; as possible. &lt;/li&gt;
&lt;li&gt;Avoid &lt;strong&gt;crosslines&lt;/strong&gt;. &lt;/li&gt;
&lt;li&gt;The verbal graphs should be &lt;strong&gt;vertically aligned&lt;/strong&gt; and the arrows connecting boxes should be &lt;strong&gt;horizontally aligned&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Be careful when using too much &lt;strong&gt;optionality&lt;/strong&gt; (&amp;ldquo;Epsilon&amp;rdquo; symbol), this may lead the grammar to recognize unwanted strings, collisions between UCs, etc.&lt;/li&gt;
&lt;li&gt;All graphs should have an &lt;strong&gt;appropriate size&lt;/strong&gt; not to leave info/boxes out of the them. &lt;/li&gt;
&lt;li&gt;Try not to repeat the same &lt;strong&gt;box structure&lt;/strong&gt; several times. Try to reuse it for different paths or to create a subgraph that can be reused anywhere in the intent axiom. Hence, avoid creating two or more paths recognizing the same input.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;comments&lt;/strong&gt; if needed to clarify, for instance, if a path has some limitations due to potential conflicts with other UCs or just as explanatory notes of what a path is contemplating. For creating a comment within a graph, create a box and do not connect it to any other box. This way, you will see that the characters of comment message appear in red colour.&lt;/li&gt;
&lt;li&gt;Avoid leaving &lt;strong&gt;empty boxes&lt;/strong&gt; in any graph. &lt;/li&gt;
&lt;li&gt;Avoid &lt;strong&gt;typos&lt;/strong&gt; within the boxes info. &lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;opening and closing entity tags&lt;/strong&gt; used for wrapping the entity values should be contemplated in the entity graph and not outside of it.&lt;/li&gt;
&lt;li&gt;Make sure the &lt;strong&gt;intent and entity tags&lt;/strong&gt; have been properly included.&lt;/li&gt;
&lt;li&gt;When adding &lt;strong&gt;prepositions and articles&lt;/strong&gt; in boxes, put them separately. That is, create a box for the prepositions and another one for the articles. &lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;circumstantial complements&lt;/strong&gt; (e.g., time, location, manner&amp;hellip;) are optional on many occasions regardless of whether they are in initial, middle or final position.&lt;/li&gt;
&lt;li&gt;No graph must recognize the &amp;ldquo;Epsilon&amp;rdquo; symbol:
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-typescripy&#34; data-lang=&#34;typescripy&#34;&gt; &amp;lt;E&amp;gt;
&lt;/code&gt;&lt;/pre&gt;So in case of optional subgraphs, the optionality should be in the graph where it is called and not in the subgraph.&lt;/li&gt;
&lt;li&gt;If the grammar makes use of the &lt;strong&gt;NER dictionaries&lt;/strong&gt; to do the matching value &amp;gt; canon &amp;gt; label, the values contemplated in the different dictionaries should be also contemplated in the entity graphs of the grammar for the matching process to be successful.
&lt;ul&gt;
&lt;li&gt;It is crucial to consider here that the grammar values contemplated in the entity graph should be &lt;strong&gt;normalized&lt;/strong&gt; (same process as the normalization pipeline carries out except for the normalization of upper-case characters) in order to be recognized.&lt;/li&gt;
&lt;li&gt;That is, if a value in the dictionaries is &amp;lsquo;Mr. Robot&amp;rsquo;, since the normalization pipeline erases punctuation marks, the value that should be included in the entity graph should be &amp;lsquo;Mr Robot’.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;There are &lt;strong&gt;special symbols&lt;/strong&gt; that have specific meaning for the grammar and should be escaped (to check these symbols go to &amp;ldquo;Encoding of special characters in the graph editor&amp;rdquo; section of the &lt;a href=&#34;https://unitexgramlab.org/&#34;&gt;Unitex Gram Lab official documentation&lt;/a&gt;).&lt;br&gt;
An example of a special character would be &amp;ldquo;+&amp;rdquo; that needs to be escaped by using &amp;ldquo;“ (See figure below).&lt;/li&gt;
&lt;li&gt;It is highly recommendable to &lt;strong&gt;compile the grammar before pushing changes into the Pull Request&lt;/strong&gt;. This way, the NLP developer will see if there is any error in the call to the subgraphs, if the grammar recognizes an empty path (the grammar recognizes: &amp;quot; &amp;ldquo;) or if there is any corrupt file.&lt;/li&gt;
&lt;li&gt;When compiling the grammar, some files are generated. These files have different extensions (&lt;code&gt;.fst2&lt;/code&gt;, &lt;code&gt;.snt&lt;/code&gt;, &lt;code&gt;.diff&lt;/code&gt;) and should be avoided. Thus, the NLP developer should erase them locally before committing further changes into the PR.&lt;/li&gt;
&lt;li&gt;For &lt;strong&gt;main verbs&lt;/strong&gt; or &lt;strong&gt;list of keywords&lt;/strong&gt;, create another graph.&lt;/li&gt;
&lt;li&gt;Try to reuse &lt;strong&gt;basic structures&lt;/strong&gt; (grammar block) from one graph to another.&lt;/li&gt;
&lt;li&gt;Try to avoid &lt;strong&gt;ungrammatical paths&lt;/strong&gt; if possible.&lt;/li&gt;
&lt;li&gt;If one graph gets &lt;strong&gt;too complex&lt;/strong&gt;, try to split it into smaller blocks/subgraphs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/grammars-graph-3.png&#34; alt=&#34;Example of Grammars graph&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;best-practices-for-the-generation-of-grf-files&#34;&gt;Best practices for the generation of .grf files&lt;/h2&gt;
&lt;p&gt;Create as many folders as existing domains/intents.&lt;/p&gt;
&lt;h3 id=&#34;graphs&#34;&gt;Graphs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Call &lt;code&gt;axiom.grf&lt;/code&gt; to the main graph of the whole grammar (general graph that calls to the different domains).&lt;/li&gt;
&lt;li&gt;Generate another &lt;code&gt;axiom.grf&lt;/code&gt; file in the subfolder of each specific domain, which will be the main graph for this domain (graph that calls to the UCs related to that domain).&lt;/li&gt;
&lt;li&gt;Generate another &lt;code&gt;axiom.grf&lt;/code&gt; file for each use case/intent. Remember that, if different subgraphs are created to contemplate different structures or entity combinations for a given UC, the intent tag should be found in this general UC/intent axiom and not in the individual subgraphs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;domain-folder&#34;&gt;Domain folder&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The name of the &lt;strong&gt;domain folder&lt;/strong&gt; should be identical to the name of the corresponding domain.&lt;/li&gt;
&lt;li&gt;This way, when opening the main graph of the whole grammar, one could quickly see the domains that have, at least, some UC developed through the grammar engine. Make sure when including a new domain to make the proper call to it in the main axiom of the whole grammar.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;intent-folder&#34;&gt;Intent folder&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The name of the &lt;strong&gt;intent folder&lt;/strong&gt; should contemplate the name of the corresponding intent. &lt;br&gt;
For example: If the intent name is &lt;code&gt;intent.common.greetings&lt;/code&gt;, the intent folder name would be &lt;code&gt;greetings&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;If a given intent has different &lt;strong&gt;sub-use cases&lt;/strong&gt; or the intent is divided into different graphs according to different linguistic structures/entities combination, the intent tag should be only tagged once in the main axiom of the use case and not in each of the different subgraphs.&lt;br&gt;
Make sure when including a new intent to make the proper call to it in the domain axiom.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;entity-graphs&#34;&gt;Entity graphs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The entity graphs should have the name of the corresponding entity name, that is, if an entity name is &lt;code&gt;ent.device_tv&lt;/code&gt;, the name of the graph in the grammar folder should be &lt;code&gt;ent.device_tv.grf&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;If an entity is only used in one use case/intent, the entity graph should be located in the intent folder.&lt;/li&gt;
&lt;li&gt;Otherwise, if an entity is used in different intents/UCs of the same domain, the entity graph should be located in the main folder of the domain.&lt;/li&gt;
&lt;li&gt;If an entity is used in different domains, the entity graph should be in the main folder of the whole grammar.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/grammars-grf-files.png&#34; alt=&#34;Generation of .grf files&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;verbal-structure-and-nomenclature&#34;&gt;Verbal structure and nomenclature&lt;/h2&gt;
&lt;h3 id=&#34;introduction&#34;&gt;Introduction&lt;/h3&gt;
&lt;p&gt;Verbal graphs need to be adapted based on the target language the NLP developer is working with.&lt;/p&gt;
&lt;p&gt;The following verbal forms and tenses have been provided in Spanish as illustrative examples because the Spanish language varies morphologically depending on the person/number and tense info.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nomenclature of auxiliary verbs:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#auxiliary-verbs&#34;&gt;Auxiliary verbs&lt;/a&gt;: They serve, among other things, to form the compound tenses, the progressive forms, the passive voice, as well as negations and questions (e.g., &amp;ldquo;I would like to eat an apple&amp;rdquo;).&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#main-verbs&#34;&gt;Main/Full verbs&lt;/a&gt;: They add meaning to the sentence and are essential for understanding the statement (e.g., &amp;ldquo;I eat two apples every morning&amp;rdquo;).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To this end, the NLP team has been working on an efficient structure and nomenclature to have them contemplated in the grammar.&lt;/p&gt;
&lt;h3 id=&#34;auxiliary-verbs&#34;&gt;Auxiliary verbs&lt;/h3&gt;
&lt;h4 id=&#34;aux_w-auxiliary-verb--infinitive-tense&#34;&gt;aux_W: auxiliary verb + infinitive tense&lt;/h4&gt;
&lt;p&gt;It contemplates all the possible auxiliary verbs that can be found before a verb in infinitive tense. &lt;/p&gt;
&lt;p&gt;This graph should be always optional since the infinitive tense without the auxiliary verb is also acceptable in linguistic terms (e.g., &amp;ldquo;I want to check my agenda&amp;rdquo; &amp;amp; &amp;ldquo;Check my agenda&amp;rdquo; are both linguistically correct). &lt;/p&gt;
&lt;h4 id=&#34;aux_y-auxiliary-expressionsverbs--imperative-tense&#34;&gt;aux_Y: auxiliary expressions/verbs + imperative tense&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;aux_Y2s: second person singular in imperative tense.&lt;/li&gt;
&lt;li&gt;aux_Y3s: third person singular in imperative tense.&lt;/li&gt;
&lt;li&gt;aux_Y2p: second person plural in imperative tense.&lt;/li&gt;
&lt;li&gt;aux_Y3p: third person plural in imperative tense.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All these graphs contain possible auxiliary expressions that may be found before verbs in imperative tense. &lt;/p&gt;
&lt;p&gt;These graphs should be also optional as the verbs in this tense can be also found in isolation (e.g., &amp;ldquo;Go and bring me some water&amp;rdquo; &amp;amp; &amp;ldquo;Bring me some water&amp;rdquo;). All these graphs should be found within the graph containing all imperative tenses of a given verb (e.g., verb_Y.grf -&amp;gt; buy_Y.grf).&lt;/p&gt;
&lt;h4 id=&#34;aux_sqt-auxiliary-verb--presentpast-imperfect-subjunctive-tense&#34;&gt;aux_SQT: auxiliary verb + present/past imperfect subjunctive tense&lt;/h4&gt;
&lt;p&gt;It contains all possible expressions that can be found before a verb in present imperfect subjunctive tense (S) and past imperfect subjunctive tense (QT). &lt;/p&gt;
&lt;p&gt;This graph should be always mandatory in these two tenses as the structure &amp;ldquo;I would like you to bring me some water&amp;rdquo; vs. &amp;ldquo;I like you to bring me some water&amp;rdquo; would be agrammatical without the modal verb. &lt;/p&gt;
&lt;h3 id=&#34;main-verbs&#34;&gt;Main verbs&lt;/h3&gt;
&lt;p&gt;This graph is used for ambivalent verbs that could work both as auxiliary and main/full verbs.&lt;/p&gt;
&lt;p&gt;When this graph is used, all these verbs are conceived as being main/full verbs and thus do not need to be accompanied by another verb but by a complement in the form of a noun (e.g., &amp;ldquo;I want some water&amp;rdquo; vs. &amp;ldquo;I want to drink some water&amp;rdquo;).&lt;/p&gt;
&lt;h3 id=&#34;verbal-graphs&#34;&gt;Verbal graphs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The names of the verbal graphs should be in &lt;strong&gt;English&lt;/strong&gt;. This also applies to the name of the domain, intent, keywords and complement graphs.&lt;/li&gt;
&lt;li&gt;Before creating any verbal graph, make sure it is &lt;strong&gt;not repeated&lt;/strong&gt;, that is, it is not already contemplated in any other of the grammar UCs. If a given verb is only used in a particular UC, place the verbal graphs within the folder of the UC. If a verb is shared by several UCs of the same domain, place the verbal graph at the domain folder level.&lt;/li&gt;
&lt;li&gt;If, on the other hand, a given verb is used by UCs belonging to &lt;strong&gt;different domains&lt;/strong&gt;, place the verbal graphs in the folder of the whole grammar.&lt;/li&gt;
&lt;li&gt;If you create different &lt;strong&gt;verbal subgraphs&lt;/strong&gt; for different verbal tenses, make sure you include all the verbs in each tense.
The basic verbal tenses included for each verb are:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/grammars-verbal-graphs.png&#34; alt=&#34;Basic verbal tenses&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In case the developer needs to contemplate more verbal tenses, please consult the section &amp;ldquo;Common inflectional codes&amp;rdquo; in &lt;a href=&#34;https://unitexgramlab.org/&#34;&gt;Unitex Gram Lab official documentation&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;verb_main_graph-structure&#34;&gt;[verb]_main_graph structure&lt;/h3&gt;
&lt;p&gt;To ease the grammar development process, we propose a common structure for all verbs.&lt;/p&gt;
&lt;p&gt;The name of the verbal graph would be &lt;code&gt;[verb]_main_graph.grf&lt;/code&gt; and would have the following structure:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/grammars-graph-structure.png&#34; alt=&#34;Structure of verbal graph&#34;&gt;&lt;/p&gt;
&lt;p&gt;As it can be appreciated in the example, some &lt;strong&gt;pronouns&lt;/strong&gt; have been added between aux_SQT and the verbal boxes for those tenses. This also happens before P3s/p, P2s and C2s verbal boxes.&lt;br&gt;
These pronouns are needed for sentences such as: &amp;ldquo;Quiero que me compres este vuelo&amp;rdquo; (&amp;ldquo;I want you to buy me this flight&amp;rdquo;). Besides, the interrogative particle &amp;ldquo;cómo&amp;rdquo; has been added before aux_W and before P1s/p tenses for questions such as &amp;ldquo;¿Cómo puedo comprar este ticket?&amp;rdquo; (&amp;ldquo;How can I buy this ticket&amp;rdquo;) and &amp;ldquo;¿Cómo compro este ticket?&amp;rdquo; (&amp;ldquo;How do I buy this ticket&amp;rdquo;).&lt;/p&gt;
&lt;p&gt;In case the &lt;strong&gt;clitic forms&lt;/strong&gt; of verbs are needed, create a separate graph for them.
For this, create a verbal graph called &lt;code&gt;[verb]_clitic_forms.grf&lt;/code&gt;.
As in the previous example, some pronouns have been included in some of the paths, but the main difference here would be that the boxes containing the clitic pronouns have been included in a mandatory way.&lt;/p&gt;
&lt;p&gt;As seen in the figure, this graph would recognize sentences such as: &amp;ldquo;Quiero que me lo compres&amp;rdquo; (&amp;ldquo;I want you to buy it for me&amp;rdquo;).&lt;/p&gt;
&lt;h2 id=&#34;guidelines-for-testing-grammars-in-unitex&#34;&gt;Guidelines for testing Grammars in Unitex&lt;/h2&gt;
&lt;p&gt;There are two alternative ways of testing the grammars generated with Unitex:&lt;/p&gt;
&lt;h3 id=&#34;1-testing-grammars-using-the-unitex-interface&#34;&gt;1. Testing grammars using the Unitex interface&lt;/h3&gt;
&lt;p&gt;Useful for checking the potential overlaps among the different use cases developed through the grammar engine.&lt;/p&gt;
&lt;p&gt;For this purpose, a &lt;code&gt;.txt&lt;/code&gt; file should be created with the testing statements (sentences, phrases or isolated words) to be tested (each one on a different text line).&lt;/p&gt;
&lt;p&gt;Keep in mind that when testing the grammar in the Unitex interface, the testing statements are not going to be processed with the normalization pipeline and, thus, must consider capitalization, accentuation marks, etc.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/grammars-testing.png&#34; alt=&#34;Grammars testing&#34;&gt;&lt;/p&gt;
&lt;p&gt;Afterwards, the following instructions should be carried out:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Open the Unitex interface and go to the menu found in the upper section of the interface.&lt;/li&gt;
&lt;li&gt;Click on &amp;ldquo;Text &amp;gt; Open&amp;rdquo; and open the &lt;code&gt;.txt&lt;/code&gt; previously created (say &amp;ldquo;OK&amp;rdquo; to Process Text).&lt;/li&gt;
&lt;li&gt;Once the &lt;code&gt;.txt&lt;/code&gt; file is selected, go to &amp;ldquo;Text &amp;gt; Locate Pattern&amp;rdquo; and a window will pop up in which it is required to select the graph to be used to process the testing examples. The &amp;ldquo;Merge with input text option&amp;rdquo; should be also selected to see the intent and entity tags.&lt;/li&gt;
&lt;li&gt;Besides, we need to select the &amp;ldquo;Activate debug mode option&amp;rdquo; to see the paths activated in each of the testing examples as well as the &amp;ldquo;Longest matches option&amp;rdquo; to replicate how the system works.&lt;/li&gt;
&lt;li&gt;Click on &amp;ldquo;Search&amp;rdquo; and another window will pop up with the results.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If all the provided examples have obtained the expected intent, that means that the grammar engine has the expected behaviour.&lt;/p&gt;
&lt;h3 id=&#34;2-testing-grammars-through-run_local_pipelinesh-scripts&#34;&gt;2. Testing grammars through run_local_pipeline.sh scripts&lt;/h3&gt;
&lt;p&gt;The second option would be to launch queries through the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#64-launch-and-test-your-pipeline-locally-live-mode&#34;&gt;&lt;code&gt;run_local_pipeline.sh&lt;/code&gt;&lt;/a&gt; script to validate their intent assignment (remember that you must previously execute the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#52-execute-the-training-script&#34;&gt;&lt;code&gt;build_local.sh&lt;/code&gt;&lt;/a&gt; script in order to train the pipeline).&lt;/p&gt;
&lt;p&gt;Since the grammar engine is deterministic, based on the score (confidence) obtained, it is possible to know whether an utterance has been solved by CLU or by the grammar engine:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Utterances detected by the grammar module obtain a score of &lt;code&gt;1.0&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The scores of utterances detected by CLU are float numbers between &lt;code&gt;0&lt;/code&gt; and &lt;code&gt;1&lt;/code&gt; (e.g. 0.98, 0.65…).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This testing option is the most recommendable one since this way we can see the faithful output of how the system works end-to-end.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages-connectors/logical-connectors/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages-connectors/logical-connectors/</guid>
      <description>
        
        
        &lt;h1 id=&#34;logical-connectors&#34;&gt;Logical connectors&lt;/h1&gt;
&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Connectors are components that connect different NLP stages and control the flow of the pipeline. Specifically, logical connectors use the logical connectives to combine different stages.&lt;/p&gt;
&lt;p&gt;They can be classified in four main groups:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#competitive-connectors&#34;&gt;Competitive connectors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#conditional-connectors&#34;&gt;Conditional connectors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#boolean-connectors&#34;&gt;Boolean connectors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#sequential-connectors&#34;&gt;Sequential connectors&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;competitive-connectors&#34;&gt;Competitive connectors&lt;/h2&gt;
&lt;h3 id=&#34;higherscorepipeline&#34;&gt;HigherScorePipeline&lt;/h3&gt;
&lt;h4 id=&#34;description&#34;&gt;Description&lt;/h4&gt;
&lt;p&gt;Two or more stages competing in a parallel way, in which the result of the stage providing the higher score is selected.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/competitive-connectors.png&#34; alt=&#34;HigherScorePipeline connector&#34;&gt;&lt;/p&gt;
&lt;h4 id=&#34;path&#34;&gt;Path&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;joint&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;competitives&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;HigherScorePipeline&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;configuration&#34;&gt;Configuration&lt;/h4&gt;
&lt;p&gt;No configuration is required&lt;/p&gt;
&lt;h2 id=&#34;conditional-connectors&#34;&gt;Conditional connectors&lt;/h2&gt;
&lt;p&gt;Stages are strung together and executed in a specific way depending on the result of the boolean operators and/or/not.&lt;/p&gt;
&lt;p&gt;There are three different types of conditionals connectors, whose result is shown in the figure below.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/conditional-connectors.png&#34; alt=&#34;Conditional connectors&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;andpipeline&#34;&gt;AndPipeline&lt;/h3&gt;
&lt;h4 id=&#34;description-1&#34;&gt;Description&lt;/h4&gt;
&lt;p&gt;This connector is used if all the input conditions must be met in order to have the output &lt;code&gt;true&lt;/code&gt; (see figure above).&lt;/p&gt;
&lt;h4 id=&#34;path-1&#34;&gt;Path&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;joint&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;conditionals&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;AndPipeline&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;configuration-1&#34;&gt;Configuration&lt;/h4&gt;
&lt;p&gt;No configuration is required&lt;/p&gt;
&lt;h3 id=&#34;orpipeline&#34;&gt;OrPipeline&lt;/h3&gt;
&lt;h4 id=&#34;description-2&#34;&gt;Description&lt;/h4&gt;
&lt;p&gt;This connector is used to express that, as long as one out of two or more conditions are met, the value for the output is &lt;code&gt;true&lt;/code&gt; (see figure above).&lt;/p&gt;
&lt;h4 id=&#34;path-2&#34;&gt;Path&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;joint&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;conditionals&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;OrPipeline&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;configuration-2&#34;&gt;Configuration&lt;/h4&gt;
&lt;p&gt;No configuration is required&lt;/p&gt;
&lt;h3 id=&#34;notpipeline&#34;&gt;NotPipeline&lt;/h3&gt;
&lt;h4 id=&#34;description-3&#34;&gt;Description&lt;/h4&gt;
&lt;p&gt;This connector is used to reverse the input value from &lt;code&gt;true&lt;/code&gt; to &lt;code&gt;false&lt;/code&gt; and from &lt;code&gt;false&lt;/code&gt; to &lt;code&gt;true&lt;/code&gt; (see figure above).&lt;/p&gt;
&lt;h4 id=&#34;path-3&#34;&gt;Path&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;joint&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;conditionals&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;NotPipeline&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;configuration-3&#34;&gt;Configuration&lt;/h4&gt;
&lt;p&gt;No configuration is required&lt;/p&gt;
&lt;h2 id=&#34;boolean-connectors&#34;&gt;Boolean Connectors&lt;/h2&gt;
&lt;h3 id=&#34;falsepipeline&#34;&gt;FalsePipeline&lt;/h3&gt;
&lt;h4 id=&#34;description-4&#34;&gt;Description&lt;/h4&gt;
&lt;p&gt;The purpose of this connector is to execute in sequential order the stages that the connector contains and to return the status &lt;code&gt;false&lt;/code&gt;.
This connector ignores the status of the different stages which are contained.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/falsepipeline-connector.png&#34; alt=&#34;FalsePipeline connector&#34;&gt;&lt;/p&gt;
&lt;h4 id=&#34;path-4&#34;&gt;Path&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;joint&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;conditionals&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;FalsePipeline&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;configuration-4&#34;&gt;Configuration&lt;/h4&gt;
&lt;p&gt;No configuration is required.&lt;/p&gt;
&lt;p&gt;An example of how to integrate the connector in a pipeline is shown below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;initial_node_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;FalseBooleanPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;elements&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;FalseBooleanPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;joint&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.joint.booleans.FalsePipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;links&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;FalseBooleanPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;truepipeline&#34;&gt;TruePipeline&lt;/h3&gt;
&lt;h4 id=&#34;description-5&#34;&gt;Description&lt;/h4&gt;
&lt;p&gt;The purpose of this connector is to execute in sequential order the stages that the connector contains and to return the status &lt;code&gt;true&lt;/code&gt;.
This connector ignores the status of the different stages which are contained.&lt;/p&gt;
&lt;h4 id=&#34;path-5&#34;&gt;Path&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;joint&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;conditionals&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;TruePipeline&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;configuration-5&#34;&gt;Configuration&lt;/h4&gt;
&lt;p&gt;No configuration is required.&lt;/p&gt;
&lt;p&gt;An example of how to integrate the connector in a pipeline is shown below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;initial_node_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;FalseBooleanPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;elements&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;TrueBooleanPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;joint&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.joint.booleans.TruePipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;links&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;TrueBooleanPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;sequential-connectors&#34;&gt;Sequential connectors&lt;/h2&gt;
&lt;p&gt;These connectors work as follows: Stage B input is the output of its preceding stage A, with stage B output the result of summing both stages result.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/sequential-connectors.png&#34; alt=&#34;Sequential connectors&#34;&gt;&lt;/p&gt;
&lt;p&gt;The way the different stages are connected defines how the interactions between them are carried out. For example, two or more stages can run in a simultaneous competitive way, in which the winner is the stage with higher score or stages can be executed in a sequentially way in which a first stage generates information used by the succeeding stage.&lt;/p&gt;
&lt;h3 id=&#34;basepipeline&#34;&gt;BasePipeline&lt;/h3&gt;
&lt;h4 id=&#34;description-6&#34;&gt;Description&lt;/h4&gt;
&lt;p&gt;BasePipeline is the simplest connector in charge of the sequential execution of the different stages composing the pipeline. These stages are executed in the specified order.&lt;/p&gt;
&lt;h4 id=&#34;path-6&#34;&gt;Path&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;base&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;BasePipeline&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;configuration-6&#34;&gt;Configuration&lt;/h4&gt;
&lt;p&gt;No configuration is required&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-normalization-pipelines/nabro/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-normalization-pipelines/nabro/</guid>
      <description>
        
        
        &lt;h1 id=&#34;nabro-normalization-pipeline&#34;&gt;Nabro normalization pipeline&lt;/h1&gt;
&lt;h2 id=&#34;description-and-stages&#34;&gt;Description and stages&lt;/h2&gt;
&lt;p&gt;Nabro is a pipeline used for the normalization of the user&amp;rsquo;s utterance through the execution of the following &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/nlp-normalizers/&#34;&gt;normalizers&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PunctuationNormalizer&lt;/li&gt;
&lt;li&gt;SplitPunctNormalizer&lt;/li&gt;
&lt;li&gt;SpaceNormalizer&lt;/li&gt;
&lt;li&gt;CurrencyNormalizer&lt;/li&gt;
&lt;li&gt;UnicodeNormalizer&lt;/li&gt;
&lt;li&gt;LowercaseNormalizer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/nabro-pipeline.png&#34; alt=&#34;Nabro normalization pipeline&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;This stage requires the following configuration in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;&lt;code&gt;nlp.json&lt;/code&gt; configuration file&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;For the specific language and channel, in the &lt;code&gt;nlp&lt;/code&gt; field of this JSON file, the key &lt;code&gt;normalizer_pipeline_class&lt;/code&gt; must be filled in with the value:
&lt;code&gt;auracog_pipelines.pipelines.normalization.nabro.NabroPipeline&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;es-es&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;mp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;nlp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;normalizer_pipeline_class&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.normalization.nabro.NabroPipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/</guid>
      <description>
        
        
        &lt;h1 id=&#34;catalog-of-nlp-stages&#34;&gt;Catalog of NLP stages&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;NLP stages to compose the NLP pipeline&lt;/p&gt;

&lt;/div&gt;

&lt;p&gt;Aura Platform Team has implemented a set of natural language processing (NLP) stages in order to configure different pipelines.&lt;/p&gt;
&lt;p&gt;Select your intended stage in the left menu. Each of them is characterized by its description, path, files and configuration.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Section&lt;/th&gt;
&lt;th&gt;Content&lt;/th&gt;
&lt;th&gt;Role in the NLP process&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Identification and objective of the stage in the recognition process&lt;/td&gt;
&lt;td&gt;Descriptive purpose of the stage in the recognition process&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Path&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Class path (Python class) of an element (stage or connector)&lt;/td&gt;
&lt;td&gt;The path of each stage of the pipeline must be included in the file &lt;code&gt;pipeline.json&lt;/code&gt; for building up the NLP dynamic pipeline&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;File&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Specific training files and test set files for the NLP stage required to train and validate the NLP model&lt;/td&gt;
&lt;td&gt;Linguists must generate these files for the training and the validation of the NLP model during the data resources definition&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Configuration&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Required configuration for each NLP stage&lt;/td&gt;
&lt;td&gt;Configuration of each stage of the NLP model&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/aura-nlp-prerequisites/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/aura-nlp-prerequisites/</guid>
      <description>
        
        
        &lt;h1 id=&#34;prerequisites-for-working-with-aura-nlp&#34;&gt;Prerequisites for working with Aura NLP&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Key requirements that are essential to configure the Aura NLP development environment, prior to the generation and training of an understanding model&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Before starting the development of use cases over &lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt;, there are certain tasks that must be carried out in order to install and configure this component:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Get sure your Aura system includes the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/aura-nlp-prerequisites/nlp-technical-resources/&#34;&gt;mandatory technical resources&lt;/a&gt; for working with Aura NLP.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the &lt;a href=&#34;../../docs/experiences-builder/tools/nlp-virtual-machine/&#34;&gt;&lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt; Virtual Machine&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Generate a &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/aura-nlp-prerequisites/local-nlpdata-branch/&#34;&gt;local branch for the &lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt; data repository&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/developers-workspace/releases-configuration/prince-dependencies-update/python-repositories-migration/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/developers-workspace/releases-configuration/prince-dependencies-update/python-repositories-migration/</guid>
      <description>
        
        
        &lt;h1 id=&#34;python-repositories-migration&#34;&gt;Python repositories migration&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Migration of Python repositories from Python 3.9 to Python 3.13 version for &lt;em&gt;&lt;strong&gt;PyUtils&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;Aura Complex Logic Framework&lt;/strong&gt;&lt;/em&gt; plugin packages and &lt;em&gt;&lt;strong&gt;ATRIA&lt;/strong&gt;&lt;/em&gt; repositories&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;This document describes the migration process of Python repositories from Python 3.9 to Python 3.13 &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; for &lt;em&gt;&lt;strong&gt;PyUtils&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;Aura Complex Logic Framework&lt;/strong&gt;&lt;/em&gt; plugin packages, &lt;em&gt;&lt;strong&gt;ATRIA&lt;/strong&gt;&lt;/em&gt; and other productive Python repositories that has taken place in Prince 10.0.0 release.&lt;/p&gt;
&lt;p&gt;This migration is required due to the end of life of Python 3.9, set in October 2025.&lt;/p&gt;
&lt;h2 id=&#34;pyutils-migration&#34;&gt;PyUtils migration&lt;/h2&gt;
&lt;p&gt;PyUtils contains multiple repositories that have been migrated to Python 3.13 version by &lt;em&gt;&lt;strong&gt;Aura Global NLP Team&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The use of these libraries is the same as before the migration, but &lt;strong&gt;OBs constructors&lt;/strong&gt; must test the use cases to ensure that everything is working correctly.&lt;/p&gt;
&lt;h2 id=&#34;nlp-packages-migration&#34;&gt;NLP packages migration&lt;/h2&gt;
&lt;p&gt;The &lt;em&gt;&lt;strong&gt;Aura Global NLP team&lt;/strong&gt;&lt;/em&gt; has migrated the Python repositories to Python 3.13 version and has generated the different NLP packages for the OBs.&lt;/p&gt;
&lt;p&gt;Two branches will live together:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;release/7.0&lt;/em&gt;: Compatible branch with Python 3.9 version. If the deployed OB release is previous to Prince 10.0.0.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;release/8.0&lt;/em&gt;: Compatible branch with Python 3.13 version. After Prince 10.0.0 release delivery.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The &lt;em&gt;release/8.0&lt;/em&gt; branch will be launched together with Prince 10.0.0 delivery. However, &lt;em&gt;release/7.0&lt;/em&gt; will remain active until the OB deploys Prince in production environment and even after that, for any issue or hotfix required.&lt;/p&gt;
&lt;p&gt;The repositories of NLP training has a JenkinsFile &lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; that defines the pipeline in Jenkins for the continuous integration of the repositories. For &lt;em&gt;release/7.0&lt;/em&gt; branch, the JenkinsFile of Aura NLP repositories will be configured for working with Python 3.9 version in the pipelines defines in Jenkins, to allow OBs to continue creating NLP packages, until they deploy this new release.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; When deploying Prince release and changing from &lt;em&gt;release/7.0&lt;/em&gt; to &lt;em&gt;release/8.0&lt;/em&gt;, both branches must be synchronized to preserve all modifications made in the older one.&lt;/p&gt;
&lt;p&gt;Constructors &lt;strong&gt;should not do any change&lt;/strong&gt;, as no trainings with the QnA and LUIS stages should exist (these stages are deprecated and must have already been replaced by the OpenAIEmbeddings and CLU stages respectively).&lt;/p&gt;
&lt;p&gt;With the NLP packages provided by Aura Global NLP team, the OB constructors must &lt;strong&gt;test and validate&lt;/strong&gt; that all the use cases are working correctly.&lt;/p&gt;
&lt;h3 id=&#34;qna-and-luis-recognizers-deprecation&#34;&gt;QnA and LUIS recognizers deprecation&lt;/h3&gt;
&lt;p&gt;The QnA and LUIS recognizers are deprecated and have been replaced by the OpenAIEmbeddings and CLU recognizers respectively in all trainings.&lt;/p&gt;
&lt;h3 id=&#34;nlp-resources&#34;&gt;NLP Resources&lt;/h3&gt;
&lt;p&gt;The repositories resources listed below, which are the ones in production environment, have been migrated:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AP
&lt;ul&gt;
&lt;li&gt;resources_pizza&lt;/li&gt;
&lt;li&gt;resources_ap-demo&lt;/li&gt;
&lt;li&gt;resources_cr&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ES
&lt;ul&gt;
&lt;li&gt;resources_tiempo&lt;/li&gt;
&lt;li&gt;resources_real-academia-historia&lt;/li&gt;
&lt;li&gt;resources_core-dialogs&lt;/li&gt;
&lt;li&gt;resources_bingo&lt;/li&gt;
&lt;li&gt;resources_movistar-shop&lt;/li&gt;
&lt;li&gt;resources_movistar-gaming&lt;/li&gt;
&lt;li&gt;resources_es-nov&lt;/li&gt;
&lt;li&gt;resources_memory&lt;/li&gt;
&lt;li&gt;resources_leia&lt;/li&gt;
&lt;li&gt;resources_eset&lt;/li&gt;
&lt;li&gt;resources_chester&lt;/li&gt;
&lt;li&gt;resources_mis-tokens&lt;/li&gt;
&lt;li&gt;resources_movistar-cloud&lt;/li&gt;
&lt;li&gt;resources_estadio-infinito&lt;/li&gt;
&lt;li&gt;resources_es&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;BR
&lt;ul&gt;
&lt;li&gt;resources_br-b2c&lt;/li&gt;
&lt;li&gt;resources_br-b2b&lt;/li&gt;
&lt;li&gt;resources_br&lt;/li&gt;
&lt;li&gt;resources_br-rh&lt;/li&gt;
&lt;li&gt;resources_br-rcs&lt;/li&gt;
&lt;li&gt;resources_br-stb&lt;/li&gt;
&lt;li&gt;resources_br-easy&lt;/li&gt;
&lt;li&gt;resources_br-app&lt;/li&gt;
&lt;li&gt;resources_br-wa&lt;/li&gt;
&lt;li&gt;resources_br-nov&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;migration-process-for-clf-plugins&#34;&gt;Migration process for CLF plugins&lt;/h2&gt;
&lt;p&gt;The Aura Global NLP team and constructors have carried out the following steps for the migration of CLF plugins:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Aura Global NLP team&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;Updated in &lt;code&gt;requirements.txt&lt;/code&gt; the packages to the versions generated for Prince release.&lt;/li&gt;
&lt;li&gt;Updated tools and scripts to work with the Prince release.&lt;/li&gt;
&lt;li&gt;These repositories work the same way as the NLP training repositories: a &lt;em&gt;release/7.0&lt;/em&gt; branch has been launched before the Prince release to make changes in previous versions. For Prince release, a &lt;em&gt;release/8.0&lt;/em&gt; branch is available.&lt;/li&gt;
&lt;li&gt;Updated JenkinsFile:
&lt;ul&gt;
&lt;li&gt;The JenkinsFile is set for versions previous to Prince release (release/7.0).&lt;/li&gt;
&lt;li&gt;In Prince release, there is no need to update JenkinsFile as it is already configured in master.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Constructors&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;Reviewed the Python changelog for Python 3.13 version.&lt;/li&gt;
&lt;li&gt;Executed tests with the new version of Python and its libraries.&lt;/li&gt;
&lt;li&gt;Executed plugins and tested the locally.&lt;/li&gt;
&lt;li&gt;Adapted code.&lt;/li&gt;
&lt;li&gt;Generated a new version of the plugin package of the constructors and propagated to the corresponding environment.&lt;/li&gt;
&lt;li&gt;Tested plugins in the environments.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Currently, there are no constructors outside the global team. For this reason, the Aura Global NLP team will be responsible for the migration of the CLF Plugins.&lt;/p&gt;
&lt;h3 id=&#34;clf-plugins-repository-list&#34;&gt;CLF plugins repository list&lt;/h3&gt;
&lt;p&gt;Below, the list of migrated CLF plugins repositories is included:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;aura_clf_video&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;migration-process-for-atria&#34;&gt;Migration process for ATRIA&lt;/h2&gt;
&lt;p&gt;The &lt;em&gt;&lt;strong&gt;ATRIA&lt;/strong&gt;&lt;/em&gt; repositories have been migrated to Python 3.13 by Aura Global Team.&lt;/p&gt;
&lt;p&gt;The configuration inside &lt;em&gt;&lt;strong&gt;ATRIA&lt;/strong&gt;&lt;/em&gt; repositories must be the same as before migration, but constructors must test the use cases to ensure that everything is working correctly.&lt;/p&gt;
&lt;h2 id=&#34;information-about-the-migration-process-for-any-productive-repositories-of-python-language&#34;&gt;Information about the migration process for any productive repositories of Python language&lt;/h2&gt;
&lt;p&gt;Get sure that any productive repository that is not currently being used has been migrated from Python 3.9 to 3.13 version before being put into production.&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;Python 3.13 is the latest version of Python Programming Language at this moment. Cognitive components are being migrated to this version.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;JenkinsFile defines the pipeline in Jenkins for the continuous integration of the repositories.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/tools/abacus-guide/abacus-setup/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/tools/abacus-guide/abacus-setup/</guid>
      <description>
        
        
        &lt;h1 id=&#34;abacus-100-initial-set-up&#34;&gt;Abacus 1.0.0. initial set-up&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Using Abacus for the first time? Follow these guidelines for its set-up.&lt;/p&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; This process must be done only once, the firt time you open Abacus.&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;prerequisites-for-using-abacus&#34;&gt;Prerequisites for using Abacus&lt;/h2&gt;
&lt;p&gt;Check that you fulfil these requisites before Abacus set-up.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;You have the &lt;a href=&#34;../../docs/experiences-builder/tools/nlp-virtual-machine/&#34;&gt;NLP Virtual Machine installed&lt;/a&gt; and working, with your &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/aura-nlp-prerequisites/local-nlpdata-branch/&#34;&gt;&lt;em&gt;aura-nlpdata&lt;/em&gt; working branch&lt;/a&gt; generated.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The understanding model is already &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#1-build-up-the-nlp-dynamic-pipeline&#34;&gt;defined&lt;/a&gt; and &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;configured&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You have generated the specific &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#3-define-your-data-resources&#34;&gt;training files&lt;/a&gt; and &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#4-define-your-end-to-end-tests&#34;&gt;E2E test files&lt;/a&gt; required for each stage of your NLP pipeline.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You have already filled the variables required for training in the configuration file &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#51-set-up-configuration-properties&#34;&gt;build_local_variables.sh&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;steps-for-abacus-set-up&#34;&gt;Steps for Abacus set-up&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Access the NLP Virtual Machine.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter your local working project, henceforth {Root_project}, whose name should be:&lt;br&gt;
&lt;code&gt;aura-nlpdata-[country-code]&lt;/code&gt;
&lt;img src=&#34;../../images/aura-nlp/abacus-enter-local-project.png&#34; alt=&#34;Enter local project&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Copy the local variables configuration template:
&lt;code&gt;&amp;quot;${Root_project}/tools/build_local_variables.sh.tpl&amp;quot;&lt;/code&gt;&lt;br&gt;
and rename as:&lt;br&gt;
&lt;code&gt;&amp;quot;${Root_project}/tools/build_local_variables.sh&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;cd&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;$&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Root_project&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;tools&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;cp&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;build_local_variables&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;sh&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;tpl&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;build_local_variables&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;sh&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/abacus-configuration-template.png&#34; alt=&#34;Configuration template&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;
&lt;p&gt;Access the file &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#51-set-up-configuration-properties&#34;&gt;&lt;code&gt;build_local_variables.sh&lt;/code&gt;&lt;/a&gt; in the &lt;em&gt;tools/&lt;/em&gt; folder.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fill in the variables inside the &amp;ldquo;run_web_trainings&amp;rdquo; section:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;TRAINING_WEB_AZURE_BASE_URL&lt;/code&gt; and  &lt;code&gt;TRAINING_WEB_AZURE_SAS_TOKEN&lt;/code&gt; variables:&lt;br&gt;
Ask the APE Team for them.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;GITHUB_TOKEN&lt;/code&gt; variable:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Generate a GitHub token:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Enter GitHub with your profile&lt;/li&gt;
&lt;li&gt;Verify your email address if you haven’t done it yet&lt;/li&gt;
&lt;li&gt;Go to &lt;a href=&#34;https://github.com/settings/tokens&#34;&gt;GitHub token settings&lt;/a&gt; and generate a new token&lt;/li&gt;
&lt;li&gt;Fill in the name and expiration date of the token&lt;/li&gt;
&lt;li&gt;Select the scopes (Recommended: activate &lt;code&gt;repo&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Click Generate token&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Copy the token in the variable &lt;code&gt;GITHUB_TOKEN&lt;/code&gt;.&lt;br&gt;
&amp;#x26a0;&amp;#xfe0f; Make sure you copy it, as it will only shown once.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/abacus-github-token.png&#34; alt=&#34;Github token&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run the script file:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;$&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Root_project&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;tools&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;run_web_trainings&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When the script is finished, Abacus is opened automatically.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/abacus-open.png&#34; alt=&#34;Abacus is opened&#34;&gt;&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/aura-nlp-prerequisites/nlp-technical-resources/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/aura-nlp-prerequisites/nlp-technical-resources/</guid>
      <description>
        
        
        &lt;h1 id=&#34;technical-resources-for-working-with-aura-nlp&#34;&gt;Technical resources for working with Aura NLP&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Mandatory resources required by NLP experts of linguists in order to work with Aura NLP&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;resources-list&#34;&gt;Resources list&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&amp;#x1f539; Aura NLP technical resources &amp;#x1f539;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Aura installation&lt;/strong&gt; &lt;br&gt; - Latest Aura Platform release&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Operating systems&lt;/strong&gt; &lt;br&gt; - Linux over distribution Ubuntu 18.04 LTS (with Java preinstalled)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Configuration of development environment&lt;/strong&gt; &lt;br&gt; - Python 3.9. &lt;br&gt; - Pip3 &lt;br&gt; - virtualenv &lt;br&gt; - For Linux distributions: libsqlite3-dev   liblzma-dev  libbz2-dev&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Software&lt;/strong&gt; &lt;br&gt; - GitHub licence &lt;br&gt; - Text editor: &lt;a href=&#34;https://www.jetbrains.com/pycharm/&#34;&gt;Pycharm&lt;/a&gt; or similar  &lt;br&gt; - Use of Grammars: &lt;a href=&#34;https://unitexgramlab.org/&#34;&gt;Unitex/Gramlab&lt;/a&gt; open-source corpus processing suite &lt;br&gt; - Grammars engine: &lt;a href=&#34;https://github.com/Telefonica/grape-core&#34;&gt;GrapeNLP&lt;/a&gt; &lt;br&gt; - CLU stage: &lt;a href=&#34;https://learn.microsoft.com/en-us/azure/ai-services/language-service/conversational-language-understanding/overview&#34;&gt;Microsoft CLU&lt;/a&gt; account &lt;br&gt; - OpenAI stage: &lt;a href=&#34;https://azure.microsoft.com/es-es/products/ai-services/openai-service&#34;&gt;Azure OpenAI Service&lt;/a&gt; account&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;NLP Training and testing tool&lt;/strong&gt; &lt;br&gt; &lt;a href=&#34;../../docs/experiences-builder/tools/abacus-guide/&#34;&gt;Abacus 1.0.0.&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/tools/nlp-virtual-machine/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/tools/nlp-virtual-machine/</guid>
      <description>
        
        
        &lt;h1 id=&#34;aura-nlp-virtual-machine-user-guide&#34;&gt;Aura NLP Virtual Machine user guide&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Guidelines for the installation of Aura NLP Virtual Machine, required for the configuration of the NLP development environment&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;installation-and-operation-guidelines&#34;&gt;Installation and operation guidelines&lt;/h2&gt;
&lt;p&gt;Aura Platform Team has generated a Virtual Machine that allows the configuration of the &lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt; development environment following a semi-automatic process.&lt;/p&gt;
&lt;p&gt;Follow the steps explained below to install and operate it:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install &lt;a href=&#34;https://www.virtualbox.org/&#34;&gt;VirtualBox&lt;/a&gt; (or other software).&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/virtual-box-manager.jpg&#34; alt=&#34;VirtualBox manager&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Import &lt;code&gt;OVA&lt;/code&gt; formatted files that contain all the technical requirements for the installation.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Once the VirtualBox is installed, follow these steps:&lt;/p&gt;
&lt;p&gt;3.1. Select &amp;ldquo;File&amp;rdquo; -&amp;gt; &amp;ldquo;Import Appliance&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/import-appliance.jpg&#34; alt=&#34;Import appliance&#34;&gt;&lt;/p&gt;
&lt;p&gt;3.2. Access Aura NLP Virtual Machine for your release in the &lt;a href=&#34;https://telefonicacorp.sharepoint.com/:f:/s/ColaboraTID/SourcingDeployment/AuraL-CDO/EvajrygodlJCu3Z8XRMQtdIB1Uo-6NT6gfAambEcP_OExw?e=HpG2S6&#34;&gt;Sharepoint L-CDO repository&lt;/a&gt; and select the corresponding &lt;code&gt;aura-nlpdata.ova&lt;/code&gt; file for importing it.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/import-virtual-machine.jpg&#34; alt=&#34;Select Aura NLP Virtual Machine to be imported&#34;&gt;&lt;/p&gt;
&lt;p&gt;3.3. Click on &amp;ldquo;Next &amp;gt;&amp;rdquo; button and, afterwards, select the &amp;ldquo;Import&amp;rdquo; button.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/importation-process.jpg&#34; alt=&#34;Importation process&#34;&gt;&lt;/p&gt;
&lt;p&gt;3.4. When the importation process has finished, in the main view of VirtualBox the new Virtual Machine is shown.
Click over the new virtual machine and then press &amp;ldquo;Start&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/start-virtual-machine.jpg&#34; alt=&#34;Start Virtual Machine&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ask the APE Team for the user and password to access.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/aura-nlp-virtual-machine.png&#34; alt=&#34;Aura NLP Virtual Machine&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Generate a new SSH key to operate the Virtual Machine&lt;br&gt;
In order to operate with the NLP Virtual Machine, it is required to generate a new SSH (Secure Shell Protocol) key.
For this purpose, follow the steps described in the section &lt;a href=&#34;#generate-a-new-ssh-key-and-add-it-to-the-ssh-agent&#34;&gt;Generate a new SSH key and add it to the ssh-agent&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; &lt;strong&gt;Be aware of the time update, as if the Virtual Machine is paused, the time is not updated and it can lead to errors with certificates.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;generate-a-new-ssh-key-and-add-it-to-the-ssh-agent&#34;&gt;Generate a new SSH key and add it to the ssh-agent&lt;/h2&gt;
&lt;p&gt;In order to operate with the NLP Virtual Machine, certain configuration is needed to allow users to access GitHub NLP repositories.&lt;/p&gt;
&lt;p&gt;You can access and write data in repositories on GitHub using SSH (Secure Shell Protocol). When you connect via SSH, you authenticate using a private key file on your local virtual machine.&lt;/p&gt;
&lt;h3 id=&#34;ssh-configuration-guidelines&#34;&gt;SSH configuration guidelines&lt;/h3&gt;
&lt;p&gt;Follow the steps explained below to configure the SSH keys:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open VirtualBox and run the NLP Virtual Machine by clicking in the “Start” button.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/virtualbox.png&#34; alt=&#34;Oracle VM VirtualBox&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After login into the VM (if you do not remember the password, ask APE team), open the terminal.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/ubuntu-terminal.png&#34; alt=&#34;Ubuntu Terminal&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the terminal, type in the command: &lt;code&gt;ssh-keygen -t ed25519 -b 4096 -C your-email@telefonica.com&lt;/code&gt;, replacing &lt;code&gt;your-email&lt;/code&gt; by your corporate e-mail. This command generates a new pair of SSH keys using the ed25519 algorithm. After introducing the command, press &amp;ldquo;enter&amp;rdquo; as shown in the following image.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/ssh-keygen.png&#34; alt=&#34;Ubuntu Terminal - ssh-keygen&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Now that we have our SSH key pair generated, introduce the following command: &lt;code&gt;ssh-add ~/.ssh/id_ed25519&lt;/code&gt;. This command adds the private key &lt;code&gt;id_ed25519&lt;/code&gt; to the SSH agent, allowing SSH connections to use that key without requiring the password each time we need to access the repositories.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/ssh-add.png&#34; alt=&#34;Ubuntu Terminal - ssh-add&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The next step is to display the content of the &lt;code&gt;id_ed25519.pub&lt;/code&gt; file, which contains the public SSH key. To do this, type in the following command: &lt;code&gt;cat ~/.ssh/id_ed25519.pub&lt;/code&gt;. We need to copy the displayed key to add it to GitHub in the following steps. Copy everything except your email address, displayed at the end of the string.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/cat.png&#34; alt=&#34;Ubuntu Terminal - cat SSH key&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Open GitHub in a web browser and log in.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the top-right corner, click on your profile image, and select &amp;ldquo;Settings&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/github-settings.png&#34; alt=&#34;GitHub Settings&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the new page, on the left-hand side bar, click on &amp;ldquo;SSH and GPG keys&amp;rdquo;, and then click on &amp;ldquo;New SSH key&amp;rdquo; button (in the top right corner).&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/github-ssh-and-gpg-keys.png&#34; alt=&#34;GitHub SSH and GPG Keys&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Now, add a title for the SSH key, for example, &amp;ldquo;VM NLP&amp;rdquo;. The key type should be Authentication Key, and in the key field, add the key copied from the terminal in step 5. Finally, click on &amp;ldquo;Add SSH key&amp;rdquo; button.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/github-add-new-ssh-key.png&#34; alt=&#34;GitHub Add New SSH Key&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the list of SSH keys shown after clicking &amp;ldquo;Add SSH Key&amp;rdquo; in the previous step, identify the recently created SSH key and, on the right-hand side, click on the &amp;ldquo;authorize&amp;rdquo; button, as shown in the following image. GitHub will prompt you to verify with your password in order to authorize the Telefónica organization.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/github-authorise-shh-key.png&#34; alt=&#34;GitHub Authorize SSH Key&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Now that we have our SSH keys set up, we can proceed with cloning the repositories we need to work with. Remember that to clone the repositories from the VM, we must click on &amp;ldquo;SSH&amp;rdquo; to clone via SSH and copy the URL.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/github-clone-repository.png&#34; alt=&#34;GitHub Clone SSH&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/auxiliary-processes/azure-credentials-clu/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/auxiliary-processes/azure-credentials-clu/</guid>
      <description>
        
        
        &lt;h1 id=&#34;how-to-obtain-azure-credentials-for-clu&#34;&gt;How to obtain Azure credentials for CLU&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;This process may be required in the first step for training the understanding model: &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#51-set-up-configuration-properties&#34;&gt;Set up configuration properties&lt;/a&gt;.&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;Pre-requisites:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Azure account with permissions for applications registration.&lt;/li&gt;
&lt;li&gt;Azure CLI installed.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;guidelines&#34;&gt;Guidelines&lt;/h2&gt;
&lt;p&gt;Follow the guidelines below for obtaining the Azure credentials for CLU:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create the CLU application:&lt;br&gt;
&lt;code&gt;az cognitiveservices account create --kind &amp;quot;TextAnalytics&amp;quot; --name &amp;lt;clu_name&amp;gt; -g &amp;lt;name_resource_group&amp;gt; --sku S -l &amp;lt;location&amp;gt; --custom-domain &amp;lt;clu_name&amp;gt;&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;clu_name&amp;gt;&lt;/code&gt;: resource name&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;name_resource_group&amp;gt;&lt;/code&gt;: name of resource group (previously generated)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;location&amp;gt;&lt;/code&gt;: location available for Azure (i.e., northeurope)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The value for the parameters required to fill in the &lt;code&gt;build_local_variables.sh&lt;/code&gt; script for CLU execution must be obtained from the above-defined steps:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;CLU_USER&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;lt;user_name&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;CLU_RESOURCE_NAME&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;lt;clu_name&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;CLU_SUBSCRIPTION_KEYS&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;$(az cognitiveservices account keys list --name &amp;lt;clu_name&amp;gt; -g &amp;lt;name_resource_group&amp;gt; | jq -r .key1)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/aura-nlp/nlp-concepts/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/aura-nlp/nlp-concepts/</guid>
      <description>
        
        
        &lt;h1 id=&#34;aura-nlp-basic-concepts-and-components&#34;&gt;Aura NLP basic concepts and components&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Basic concepts related to Aura NLP, components in Aura NLP architecture, catalogs and dictionaries&lt;/p&gt;

&lt;/div&gt;

&lt;h3 id=&#34;utterance&#34;&gt;Utterance&lt;/h3&gt;
&lt;p&gt;An utterance is any textual input produced by the user that Aura receives through a specific communication channel and needs to understand, interpret and act accordingly.
It may be a whole sentence, a phrase, or a single word. There can be many utterance variations for a particular intent.&lt;/p&gt;
&lt;p&gt;Examples of utterances:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;I want to watch Frozen&amp;rdquo;; &amp;ldquo;Play the movie Frozen&amp;rdquo;; &amp;ldquo;Frozen&amp;rdquo;; &amp;ldquo;Aura, search Frozen&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Show my bill&amp;rdquo;; &amp;ldquo;I want my bill&amp;rdquo;; &amp;ldquo;Bill&amp;rdquo;; &amp;ldquo;Hello, check my bill&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;use-case&#34;&gt;Use case&lt;/h3&gt;
&lt;p&gt;A use case is a written description of a certain functionality in Aura that is launched both by direct request from a user or through the data analysis of the user&amp;rsquo;s behavior.&lt;/p&gt;
&lt;p&gt;A certain use case can be expressed by the user in a large variety of utterances through natural language, therefore Aura is intended to understand all those possible requests.&lt;/p&gt;
&lt;p&gt;Examples of use cases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TV search&lt;/li&gt;
&lt;li&gt;Check my bill&lt;/li&gt;
&lt;li&gt;Change subtitles to English&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;intent&#34;&gt;Intent&lt;/h3&gt;
&lt;p&gt;The intent identifies the concrete action requested by the user, among a set of supported services. In other words, it is what the user is asking for and expects Aura to carry out and is usually defined with a verb.&lt;/p&gt;
&lt;p&gt;The general format of an intent name in Aura is: &lt;code&gt;intent.[DOMAIN].[INTENT]&lt;/code&gt;&lt;br&gt;
In this format, &lt;code&gt;[DOMAIN]&lt;/code&gt; is used for the categorization of use cases belonging to the same topic (i.e., for Telco use cases, different domains can be defined such as billing, data usage, etc.).&lt;/p&gt;
&lt;p&gt;Example of intents:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pay my bill &amp;ndash;&amp;gt; &lt;code&gt;intent.billing.pay&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Make a phone call &amp;ndash;&amp;gt;	&lt;code&gt;intent.communications.call&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Turn off the TV &amp;ndash;&amp;gt; &lt;code&gt;intent.tv.off&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When developing a use case, linguists must firstly define the intent associated to their use case:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Check if the intent already exists in &lt;a href=&#34;https://telefonicacorp.sharepoint.com/sites/ColaboraTID/SourcingDeployment/AuraL-CDO/Shared%20Documents/Forms/AllItems.aspx?csf=1&amp;amp;cid=22306dd3%2D7ff1%2D4b5b%2D8850%2D89ef053e839b&amp;amp;FolderCTID=0x012000D13BA42C276A3740ACEFDEF3DDC24471&amp;amp;id=%2Fsites%2FColaboraTID%2FSourcingDeployment%2FAuraL%2DCDO%2FShared%20Documents%2FAura%20Releases%20Documentation%2FPLATFORM%20RELEASES%2FAura%20NLP%20intents%20and%20entities&amp;amp;viewid=7df3b79e%2D5183%2D4fba%2Da439%2D650642511a02&#34;&gt;Existing_Intents_n_Entities database&lt;/a&gt; and, in that case, use it.&lt;/li&gt;
&lt;li&gt;If not existing, define a new one following the format above. At this stage, it is highly recommended that the intent name is reviewed by Aura Platform Team, in order to avoid further inconsistencies.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An example of an intent and certain associated training statements is shown below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.billing.check&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Bill&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Billing information&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Can I see my bill?&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Check my bill&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;How do I access my bill?&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Invoice details&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Show me my last invoice&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;entity&#34;&gt;Entity&lt;/h3&gt;
&lt;p&gt;An entity contains detailed information that is relevant in an utterance and provides specific arguments required to run the service (intent).&lt;/p&gt;
&lt;p&gt;Depending on the NLP pipeline stages, entities can be expressed in different formats:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/clu/&#34;&gt;CLU&lt;/a&gt; stage is used to extract entities, the general format for an entity name is: &lt;code&gt;[entity_value:entity_type]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;If CLU does not extract entities and an external entity extractor stage is used before CLU (Standard NER, Gazetteer NER or Grammars), entities are defined as: &lt;code&gt;[entity_type]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;In both cases, the general format for the entity_type is &lt;code&gt;ent.[object]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Example of entities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pay my bill &amp;ndash;&amp;gt; bill&lt;/li&gt;
&lt;li&gt;Make a call &amp;ndash;&amp;gt;	phone call&lt;/li&gt;
&lt;li&gt;Turn off the TV &amp;ndash;&amp;gt; TV&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When developing a use case, linguists must  define the entities associated to their use case:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Check if the entity already exists and, in that case, use it.&lt;/li&gt;
&lt;li&gt;If not existing, define new ones following the format above. At this stage, it is highly recommended that the entity name is reviewed by Aura Platform Team, in order to avoid further inconsistencies.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A special situation, when the user&amp;rsquo;s utterance is recognized by means of the Grammar stage and there are different entities of the same type in the utterance, the format for entities is described in Grammars documentation: &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/utterances-several-entities/&#34;&gt;Recognition of utterances with several entities in Grammars&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;entity-types-for-clu&#34;&gt;Entity types for CLU&lt;/h4&gt;
&lt;p&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/clu/&#34;&gt;Conversational Language Understanding (CLU)&lt;/a&gt; uses the following entity types.&lt;/p&gt;
&lt;p&gt;They are fully described in &lt;a href=&#34;https://learn.microsoft.com/en-us/azure/ai-services/language-service/conversational-language-understanding/concepts/entity-components&#34;&gt;Microsoft documentation: CLU entity components&lt;/a&gt; and summarized below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;learned&lt;/strong&gt;: Dict field to include entities of &lt;a href=&#34;https://learn.microsoft.com/en-us/azure/ai-services/language-service/conversational-language-understanding/concepts/entity-components#learned-component&#34;&gt;learned component&lt;/a&gt; type. This is actually not an entity type, but a feature. Therefore, they are uploaded as model_features and, at the same time, as simple entities (using the same name for both). An example of are those words referring to an audiovisual genre, such as &lt;code&gt;movie&lt;/code&gt;, &lt;code&gt;series&lt;/code&gt; or &lt;code&gt;documentary&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;list&lt;/strong&gt;: Dict field to include entities of &lt;a href=&#34;https://learn.microsoft.com/en-us/azure/ai-services/language-service/conversational-language-understanding/concepts/entity-components#list-component&#34;&gt;list component&lt;/a&gt; type. Fixed, closed set of related words along with their synonyms.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;prebuilts&lt;/strong&gt;: Dict field to include entities of &lt;a href=&#34;https://learn.microsoft.com/en-us/azure/ai-services/language-service/conversational-language-understanding/concepts/entity-components#prebuilt-component&#34;&gt;prebuilt component&lt;/a&gt; type.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;regex&lt;/strong&gt;: Dict field to include entities of &lt;a href=&#34;https://learn.microsoft.com/en-us/azure/ai-services/language-service/conversational-language-understanding/concepts/entity-components#regex-component&#34;&gt;regex component&lt;/a&gt; type.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;combination&lt;/strong&gt;: Field for the &lt;a href=&#34;https://learn.microsoft.com/en-us/azure/ai-services/language-service/conversational-language-understanding/concepts/entity-components#combine-components&#34;&gt;combination of components&lt;/a&gt; as one entity when they overlap.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;aura-nlp-basic-components-stages-connectors-and-pipelines&#34;&gt;Aura NLP basic components: stages, connectors and pipelines&lt;/h2&gt;
&lt;h3 id=&#34;stages&#34;&gt;Stages&lt;/h3&gt;
&lt;p&gt;Aura NLP provides a set of &lt;strong&gt;stages&lt;/strong&gt; that encompasses different methods for natural language processing.&lt;/p&gt;
&lt;p&gt;Each stage carries out a specific process to be executed with the user&amp;rsquo;s utterance with the final goal of recognizing the user&amp;rsquo;s intent and associated entities.&lt;/p&gt;
&lt;p&gt;You can use different stages in an NLP model, both internal stages developed by Aura Cognitive Team or external ones such as &lt;a href=&#34;https://learn.microsoft.com/en-us/azure/ai-services/language-service/conversational-language-understanding/overview&#34;&gt;Microsoft CLU&lt;/a&gt; for intents recognition, NER (Named Entity Recognition) stages for entities recognition, Grammars engine (&lt;a href=&#34;https://github.com/Telefonica/grape-core&#34;&gt;GrapeNLP&lt;/a&gt; &amp;amp; &lt;a href=&#34;https://unitexgramlab.org/es&#34;&gt;Unitex&lt;/a&gt;, that provide a deterministic recognition of intents, etc.&lt;/p&gt;
&lt;p&gt;&amp;#x1f4c3; Check the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/&#34;&gt;current available NLP stages&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;connectors&#34;&gt;Connectors&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Connectors&lt;/strong&gt; are components that connect different NLP stages and control the flow of the complete pipeline.&lt;/p&gt;
&lt;p&gt;Aura NLP integrates several types of connectors, that provide a different behavior to the pipeline: logical connectors, selection connectors and disambiguation connectors.&lt;/p&gt;
&lt;p&gt;&amp;#x1f4c3; Check the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages-connectors/&#34;&gt;current available NLP connectors&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;nlp-pipeline&#34;&gt;NLP pipeline&lt;/h3&gt;
&lt;p&gt;NLP stages and connectors are integrated into a key component of Aura NLP: the &lt;strong&gt;pipeline&lt;/strong&gt;. An Aura NLP pipeline is a set of wired stages composing a big topology that defines the processing to be performed during the natural language recognition phase.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/nlp-pipeline.png&#34; alt=&#34;NLP pipeline layout&#34;&gt;&lt;/p&gt;
&lt;p&gt;In the current release, Aura NLP includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Normalization pipelines&lt;/strong&gt;: Pipelines composed of different stages used for the normalization of the user&amp;rsquo;s utterance.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dynamic pipeline&lt;/strong&gt;:	Pipeline designed using different stages and connectors. The pipeline must be defined for each channel and included in a file named &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#1-build-up-the-nlp-dynamic-pipeline&#34;&gt;&lt;code&gt;pipeline.json&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;catalogs-and-dictionaries&#34;&gt;Catalogs and dictionaries&lt;/h2&gt;
&lt;h3 id=&#34;nlp-dictionaries&#34;&gt;NLP dictionaries&lt;/h3&gt;
&lt;p&gt;The recognition of entities in the Aura NLP model is based on dictionaries: knowledge bases of entities that are included in the NLP model as part of stages for entities recognition.&lt;/p&gt;
&lt;p&gt;They are &lt;strong&gt;automatically generated from catalogs&lt;/strong&gt; through the execution of a script.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/catalogs-dictionaries.png&#34; alt=&#34;Generation of dictionaries from catalogs&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Access to detailed information regarding what are Aura NLP dictionaries, types and guidelines for the generation or update of dictionaries in &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/&#34;&gt;generation of Aura NLP dictionaries&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;catalogs&#34;&gt;Catalogs&lt;/h3&gt;
&lt;p&gt;Catalogs are the source for entities to be included in an NLP model. Entities in catalogs are the input for the script that generates the NLP dictionaries.&lt;/p&gt;
&lt;p&gt;There are two types of data in catalogs, at least one of them is required: manual catalogs and automatic catalogs that fetch data from Kernel URM database.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Access to detailed information regarding what are entities catalogs, types and guidelines for the generation or update of catalogs in &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-catalogs&#34;&gt;generation of Aura NLP catalogs&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/</guid>
      <description>
        
        
        &lt;h1 id=&#34;stages-in-use-cases-development-over-aura-nlp&#34;&gt;Stages in use cases development over Aura NLP&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Guidelines that describe the orderly steps required for the development of a use case over Aura NLP, with the objective of making Aura understand the users&amp;rsquo; utterances.&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;These steps correspond to 3 main overall stages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Build&lt;/strong&gt; the understanding model and train it, that is, teach Aura to understand&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Test&lt;/strong&gt; the model through an ongoing and cyclical process until the accuracy in terms of intents and entities recognition is good enough&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Certify&lt;/strong&gt; the model and &lt;strong&gt;publish&lt;/strong&gt; it&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;Firstly, check that all the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/aura-nlp-prerequisites/&#34;&gt;prerequisites&lt;/a&gt; are fulfilled:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Technical resources are available&lt;/li&gt;
&lt;li&gt;Aura NLP Virtual Machine is installed and working&lt;/li&gt;
&lt;li&gt;NLP data repository local branch is generated&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;1-build-up-the-nlp-dynamic-pipeline&#34;&gt;1. Build up the NLP dynamic pipeline&lt;/h2&gt;
&lt;p&gt;For the development of a new use case, you must design a dynamic pipeline (&lt;code&gt;pipeline.json&lt;/code&gt; file) through the most appropriate combination of stages and connectors for the recognition of intents and entities in the use case.&lt;/p&gt;
&lt;p&gt;For this purpose, follow the guidelines in the succeeding sections.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/dynamic-pipeline.png&#34; alt=&#34;Aura NLP dynamic pipeline&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;11-select-the-elements-composing-your-nlp-pipeline&#34;&gt;1.1. Select the elements composing your NLP pipeline&lt;/h3&gt;
&lt;p&gt;Select the elements composing the pipeline (stages, connectors, normalization pipelines) depending on the recognition process required for the use case and its associated channel, and combine them for the design of the NLP pipeline.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/&#34;&gt;Catalog of components for NLP pipelines&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;12-generate-the-pipelinejson-file&#34;&gt;1.2. Generate the pipeline.json file&lt;/h3&gt;
&lt;p&gt;The base file for the dynamic pipeline is &lt;code&gt;pipeline.json&lt;/code&gt;, that must be generated in the following path from the NLP repository:   &lt;br&gt;
&lt;em&gt;aura-nlpdata-[country_code]/data/[language]/[channel]/pipeline.json&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Edit this file including the required fields from all your selected stages and connectors and indicating the hierarchy between them:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;name&lt;/code&gt;:	Unique string that identifies the pipeline.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;initial_node_id&lt;/code&gt;:	Key of the element where the pipeline starts. It must appear as the first one also in the fields &lt;code&gt;elements&lt;/code&gt; and &lt;code&gt;links&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;elements&lt;/code&gt;:	Include in this field each element composing the pipeline (stages and connectors) and characterize them with two attributes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;type&lt;/code&gt;: Two feasible values:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;stage&lt;/code&gt;: pipeline stage.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;joint&lt;/code&gt;: connector between pipeline stages.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;classpath&lt;/code&gt;: Class path of the specific element, that is, Python class reference from the root directory that must be included in order to use this stage.&lt;br&gt;
To obtain the &lt;code&gt;classpath&lt;/code&gt; of each element of your pipeline:
&lt;ul&gt;
&lt;li&gt;Access to the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/&#34;&gt;NLP catalog of components&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Look for your specific stage, connector or normalization pipeline&lt;/li&gt;
&lt;li&gt;Copy the classpath in the corresponding &lt;strong&gt;Path&lt;/strong&gt; section.
Take into account:&lt;/li&gt;
&lt;li&gt;The name of the element is free, but it should be auto-descriptive of its content.&lt;/li&gt;
&lt;li&gt;The first element must be the one specified in &lt;code&gt;initial_node_id&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The elements must be ordered: after a parent, its children must be included.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;args&lt;/code&gt;:	This field is only required for the configuration of three NLP components:
&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/nlp-adapters/#length-adapter&#34;&gt;Length Adapter&lt;/a&gt;; &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages-connectors/selection-connectors/#domain-selector-connector&#34;&gt;Domain Selector connector&lt;/a&gt;; &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages-connectors/disambiguation-connector&#34;&gt;Disambiguation connector&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;links&lt;/code&gt;:	This field includes the hierarchy of the pipeline and connections between its elements.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Each link item contains the connectors (as keys) and their children are the stages or other connectors they deal with.&lt;/li&gt;
&lt;li&gt;Each key in links must be of joint type.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See below a practical examples of the &lt;code&gt;pipeline.json&lt;/code&gt; file:&lt;/p&gt;
&lt;details open&gt;
&lt;summary&gt;Example 1. Garua pipeline.json file &lt;/summary&gt;
The pipeline hierarchy can be seen in the boxes that contain other elements (PygrapeCanlaonPipeline and AcotangoNothresholdPipeline). Diamond boxes represent joint stages in the pipeline.
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/garua-pipeline.png&#34; alt=&#34;Garua pipeline&#34;&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Garua&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;initial_node_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;GaruaPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;elements&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;GaruaPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;joint&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.base.BasePipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;FromConfigNormalizerWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.normalizer_wrapper.from_config_normalizer_wrapper.FromConfigNormalizerWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;PygrapeGrammarWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.grammar_wrapper.pygrape_grammar_wrapper.PygrapeGrammarWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;AcotangoNoThresholdPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;joint&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.base.BasePipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;StandardNerWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.ner_wrapper.standard_ner_wrapper.StandardNerWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;FullEntityORDCCLUPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;joint&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.joint.conditionals.OrPipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;FullEntityRecognizerWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.recognizer_wrapper.full_entity_recognizer_wrapper.FullEntityRecognizerWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DCCLUPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;joint&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.base.BasePipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DomainClassifierWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.domain_classifier_wrapper.domain_classifier_wrapper.DomainClassifierWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;CluRecognizerWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.recognizer_wrapper.clu_recognizer_wrapper.CluRecognizerWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;EntityTaggerAdapterWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.adapter_wrapper.entity_tagger_adapter_wrapper.EntityTaggerAdapterWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;StandardThresholdWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.adapter_wrapper.standard_threshold_wrapper.StandardThresholdWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;NoneHandlerWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.adapter_wrapper.none_handler_wrapper.NoneHandlerWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ExactMatchOrRestStages&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;joint&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.joint.conditionals.OrPipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ExactMatchRecognizerWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.recognizer_wrapper.exact_match_recognizer_wrapper.ExactMatchRecognizerWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;links&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;GaruaPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;FromConfigNormalizerWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ExactMatchOrRestStages&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;EntityTaggerAdapterWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;StandardThresholdWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;NoneHandlerWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ExactMatchOrRestStages&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ExactMatchRecognizerWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;PygrapeGrammarWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;AcotangoNoThresholdPipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;AcotangoNoThresholdPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;StandardNerWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;FullEntityORDCCLUPipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;FullEntityORDCCLUPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;FullEntityRecognizerWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DCCLUPipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DCCLUPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DomainClassifierWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;CluRecognizerWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/details&gt;
&lt;details open&gt;
&lt;summary&gt;Example 2. Configuration for the stage Length Adapter &lt;/summary&gt;
&lt;p&gt;See below an example of how to integrate this stage in a pipeline:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Example&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;initial_node_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ExamplePipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;elements&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ExamplePipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;joint&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.base.BasePipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;LengthAdapterThreshold&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.adapter_wrapper.length_adapter_wrapper.LengthAdapterWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;max&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;50&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;min&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent_template&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.example&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;links&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ExamplePipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;LengthAdapterThreshold&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The following snippet shows how to configure more than one stage of the Length Adapter to return different intents for max or min length characters.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Example&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;initial_node_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ExamplePipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;elements&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ExamplePipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;joint&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.base.BasePipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;LengthAdapterMaxThreshold&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.adapter_wrapper.length_adapter_wrapper.LengthAdapterWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;max&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;50&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent_template&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.max.example&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;LengthAdapterMinThreshold&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.adapter_wrapper.length_adapter_wrapper.LengthAdapterWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;length_threshold_map&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;min&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent_template&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.min.example&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;links&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ExamplePipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;LengthAdapterMaxThreshold&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;LengthAdapterMinThreshold&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/details&gt;
&lt;h3 id=&#34;13-validate-your-pipelinejson-file&#34;&gt;1.3. Validate your pipeline.json file&lt;/h3&gt;
&lt;p&gt;At this stage, it is recommended to validate the generated &lt;code&gt;pipeline.json&lt;/code&gt; file in order to assure that it is consistent and that all stages and joint operations are correctly related.&lt;/p&gt;
&lt;p&gt;For this purpose, the following verifications are recommended:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Each item of &lt;code&gt;links&lt;/code&gt; includes dicts, where the key is a name and the values are lists of class names.&lt;/li&gt;
&lt;li&gt;Each item of &lt;code&gt;elements&lt;/code&gt; has &lt;code&gt;type&lt;/code&gt; and &lt;code&gt;classpath&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;initial_node_id&lt;/code&gt; is a key in &lt;code&gt;links&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Each key in &lt;code&gt;links&lt;/code&gt; is a joint stage (by having &lt;code&gt;type&lt;/code&gt; equals to &lt;code&gt;joint&lt;/code&gt; in &lt;code&gt;elements&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Each &lt;code&gt;class&lt;/code&gt; belonging to the values of a &lt;code&gt;links&lt;/code&gt; item is present in &lt;code&gt;elements&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;details open&gt;
&lt;summary&gt;Different examples of invalid pipeline.json files&lt;/summary&gt;
&lt;p&gt;Invalid pipeline as WrongPipeline key does not have a list of &lt;code&gt;class&lt;/code&gt; names in &lt;code&gt;links&lt;/code&gt; section:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;WrongPipelineExample&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;initial_node_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;WrongPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;elements&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;links&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;WrongPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DCCLUPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DCCLUPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DomainClassifierWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;CluRecognizerWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Pipeline contains an element without &lt;code&gt;type&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;WrongPipelineExample&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;initial_node_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;WrongPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;elements&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;WrongPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;joint&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.base.BasePipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DCCLUPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.base.BasePipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Pipeline MissingPipeline is not included as a key in the field &lt;code&gt;links&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;WrongPipelineExample&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;initial_node_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;MissingPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;elements&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;links&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;WrongPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DCCLUPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;EntityTaggerAdapterWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;StandardThresholdWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;NoneHandlerWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DCCLUPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DomainClassifierWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;CluRecognizerWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Pipeline with a stage (DomainClassifierWrapper) as key in &lt;code&gt;links&lt;/code&gt; and not a joint:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;WrongPipelineExample&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;initial_node_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;WrongPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;elements&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;WrongPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;joint&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.base.BasePipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DCCLUPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;joint&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.base.BasePipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DomainClassifierWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.domain_classifier_wrapper.domain_classifier_wrapper.DomainClassifierWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;CluRecognizerWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.recognizer_wrapper.clu_recognizer_wrapper.CluRecognizerWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;EntityTaggerAdapterWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.adapter_wrapper.entity_tagger_adapter_wrapper.EntityTaggerAdapterWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;StandardThresholdWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.adapter_wrapper.standard_threshold_wrapper.StandardThresholdWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;NoneHandlerWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.stage_wrappers.adapter_wrapper.none_handler_wrapper.NoneHandlerWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;links&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;WrongPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DCCLUPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;EntityTaggerAdapterWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;StandardThresholdWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;NoneHandlerWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DCCLUPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DomainClassifierWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;CluRecognizerWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;DomainClassifierWrapper&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;CluRecognizerWrapper&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/details&gt;
&lt;h2 id=&#34;2-configure-your-nlp-model&#34;&gt;2. Configure your NLP model&lt;/h2&gt;
&lt;p&gt;It is required to configure every element composing the NLP pipeline:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;All NLP stages (excepting Length Adapter) and normalization pipelines are configured in the file &lt;code&gt;nlp.json&lt;/code&gt; file for each language and channel placed in the [NLP repository]:&lt;br&gt;
&lt;em&gt;aura-nlpdata-[country_code]/config/etc/nlp_config/nlp.json&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;As an exception, Length Adapter stage, Domain Selector connector and Disambiguation connector need a specific configuration in the file &lt;a href=&#34;#12-generate-the-pipelinejson-file&#34;&gt;&lt;code&gt;pipeline.json&lt;/code&gt;&lt;/a&gt;(&lt;code&gt;args&lt;/code&gt; field) placed in the [NLP repository]:&lt;br&gt;
&lt;em&gt;aura-nlpdata-[country_code]/data/[language]/[channel]/pipeline.json&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;To obtain the configuration of each element of your pipeline:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Access to the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/&#34;&gt;NLP catalog of components&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Look for your specific stage, connector or normalization pipeline&lt;/li&gt;
&lt;li&gt;Copy the classpath in the corresponding &lt;strong&gt;Configuration&lt;/strong&gt; section.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If dictionaries are included in the NLP model, they must be also configured:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/#2-configure-the-nlp-model-to-use-dictionaries&#34;&gt;Configuration of dictionaries&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;3-define-your-data-resources&#34;&gt;3. Define your data resources&lt;/h2&gt;
&lt;p&gt;Every NLP stage needs particular resources for its training and testing that must be generated through the edition of a specific file for each of them.&lt;/p&gt;
&lt;h3 id=&#34;31-generate-the-files-for-each-nlp-stage&#34;&gt;3.1. Generate the files for each NLP stage&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Generate the specific file for each stage composing your NLP pipeline and for each language and channel.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Access to the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/&#34;&gt;NLP catalog of components&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Look for your specific stage&lt;/li&gt;
&lt;li&gt;Find in the &lt;strong&gt;Files&lt;/strong&gt; section the specific files required for this stage&lt;/li&gt;
&lt;li&gt;Edit them&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Place these files in:&lt;br&gt;
&lt;em&gt;aura-nlpdata-[country_code]/data/[language]/[channel]&lt;/em&gt;, where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;language corresponds to the culture code of all the languages supported by Aura (e.g., &lt;code&gt;es-es&lt;/code&gt;, &lt;code&gt;en-gb&lt;/code&gt;, &lt;code&gt;de-de&lt;/code&gt;, &lt;code&gt;pt-br&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;The channel variable in the pattern is the channel code used to identify the specific channel (for example, &lt;code&gt;mh&lt;/code&gt; (Movistar Home), &lt;code&gt;mp&lt;/code&gt; (Movistar Plus)).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/data-folder.png&#34; alt=&#34;Example of data/ folder structure&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;32-generate-dictionaries&#34;&gt;3.2. Generate dictionaries&lt;/h3&gt;
&lt;p&gt;If your NLP pipeline contains entities recognition stages (Entity Tagger Adapter; Standard NER and Gazetteer NER), it is needed to use the dictionaries &lt;code&gt;sdict_items.json&lt;/code&gt; and &lt;code&gt;sdict_aliases.json&lt;/code&gt; which are automatically generated from two sources: manual catalogs and/or URM data.&lt;/p&gt;
&lt;p&gt;Learn how to do it in &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/&#34;&gt;generation of Aura NLP dictionaries&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;4-define-your-end-to-end-tests&#34;&gt;4. Define your end-to-end tests&lt;/h2&gt;
&lt;p&gt;E2E test files perform the evaluation of accuracy in the recognition of domains, intents and entities, with two approaches:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Measurement of the overall accuracy of the pipeline (mandatory)&lt;/li&gt;
&lt;li&gt;Measurement of the accuracy of the different stages of the pipeline (optional)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once generated, when running the corresponding pipeline with the user&amp;rsquo;s utterance as the pipeline input, the system will compare the result provided by the pipeline with the expected values declared in the file (intent, entities and domain) to calculate the pipeline accuracy.&lt;/p&gt;
&lt;h3 id=&#34;41-define-e2e-test-set-files&#34;&gt;4.1. Define E2E test set files&lt;/h3&gt;
&lt;p&gt;You must define a file for the end-to-end evaluation of the system as well as regression tests: &lt;code&gt;testset.json&lt;/code&gt; and &lt;code&gt;regression.json&lt;/code&gt;. They both are dictionaries with the same structure:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;phrase&lt;/code&gt;: Statement (sentence, phrase or isolated word) to be tested.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;domain&lt;/code&gt;: Inferred domain for the user&amp;rsquo;s utterance. Possible values:
&lt;ul&gt;
&lt;li&gt;&amp;lt;&lt;code&gt;domain_name&lt;/code&gt;&amp;gt;: name of the identified domain.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;null&lt;/code&gt;: when domain is not of application.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;default&lt;/code&gt;: in case there is only one domain or in case the grammar engine recognizes the whole utterance.&lt;br&gt;
&amp;#x26a0;&amp;#xfe0f; The value for the field &lt;code&gt;domain&lt;/code&gt; must be included using quotation marks for every value excepting for null.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;intent&lt;/code&gt;:	Expected intent.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;options&lt;/code&gt;: List of .json containing certain packages of intents and entities to disambiguate (optional field).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;entities&lt;/code&gt;: Expected entities. It is a list of json with the following fields:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;value&lt;/code&gt;: entity value to be recognized.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;e_type&lt;/code&gt;: entity type expected.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;start_index&lt;/code&gt;: Initial position of the entity in the filled phrase.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;end_index&lt;/code&gt;: final position of the entity in the filled phrase.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;canon&lt;/code&gt;: expected canon for a given entity. If canon is deactivated or the entity recognizer does not work with canon, this field must be completed with the same value of the field &lt;code&gt;value&lt;/code&gt; but normalized (e.g., &amp;ldquo;Film&amp;rdquo;, value: Film; canon: film).
&lt;ul&gt;
&lt;li&gt;This field is currently used in Spain for those use cases related to TV content searches (e.g., &amp;ldquo;search for films&amp;rdquo;) in which there are specific codes (labels) for searching particular content types that the API needs to find in the corresponding catalogs to resolve the petition.&lt;/li&gt;
&lt;li&gt;For instance, in the utterance &amp;ldquo;I want to watch an action movie&amp;rdquo;, &amp;ldquo;movie&amp;rdquo; is the value of the entity whereas &amp;ldquo;movies&amp;rdquo; may be its canon and &amp;ldquo;MV&amp;rdquo; the label the API needs to find this type of content in the catalogs. The same could be applied to the genre &amp;ldquo;action&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;label&lt;/code&gt;: expected label. It can have the value &lt;code&gt;null&lt;/code&gt;. The same use as &lt;code&gt;canon&lt;/code&gt; is currently applied.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;411-testsetjson&#34;&gt;4.1.1. testset.json&lt;/h4&gt;
&lt;p&gt;At this stage, you should define the &lt;code&gt;testset.json&lt;/code&gt; file in:
&lt;em&gt;pipeline_eval/ob/[country_code]/resources/[language]/[channel]/testset.json&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;It must include the testing statements for the E2E evaluation of the system&amp;rsquo;s accuracy (sentences or isolated words) and in order to identify potential problems (e.g., unmatching, low confidence/score).&lt;/p&gt;
&lt;p&gt;You can generate different &lt;code&gt;testset.json&lt;/code&gt; files for different purposes, for instance, for evaluation of metrics or to carry out regression tests at a later stage. To calculate the metrics, all the different files are considered as a unique one.&lt;/p&gt;
&lt;details open&gt;
&lt;summary&gt;Example of testset.json file:&lt;/summary&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;phrase&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;put the film Coco&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;domain&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;default&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.tv.search&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;entities&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;value&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Coco&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;e_type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.audiovisual_film_title&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;start_index&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;13&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;end_index&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;17&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;canon&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;coco&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;label&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;null&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;options&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;phrase&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;show me my bill&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;domain&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;default&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.billing.check&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;entities&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;value&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;bill&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;e_type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.bill&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;start_index&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;12&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;end_index&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;15&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;canon&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;bill&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;label&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;null&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;options&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/details&gt;
&lt;h4 id=&#34;412-regressionjson&#34;&gt;4.1.2. regression.json&lt;/h4&gt;
&lt;p&gt;Define your &lt;code&gt;regression.json&lt;/code&gt; file in the path:
&lt;em&gt;pipeline_eval/ob/[country_code]/resources/[language]/[channel]/regression.json&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;It may include crucial functionalities that must work in the system or other key checks that are not included in &lt;code&gt;testset.json&lt;/code&gt;. The purpose is to verify that modifications do not impact in existing features and to prevent the system from bugs.&lt;/p&gt;
&lt;p&gt;Previously executed test cases are re-executed in order to verify the impact of a change.&lt;/p&gt;
&lt;h3 id=&#34;42-define-stage-specific-e2e-test-set-files&#34;&gt;4.2. Define stage-specific E2E test set files&lt;/h3&gt;
&lt;p&gt;&amp;#x2139;&amp;#xfe0f; This is an optional step if you want to include specific E2E tests for the evaluation of an isolated stage in the testing batch.&lt;/p&gt;
&lt;p&gt;You can create specific E2E testsets files for the &lt;strong&gt;evaluation of an isolated stage&lt;/strong&gt;.
It is done adding phrases that must be solved by this specific stage in order to ensure that the end-to-end evaluation is representative for that stage and avoid tests that do not evaluate it.&lt;/p&gt;
&lt;p&gt;Currently, this is only available for the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/openai-embeddings/&#34;&gt;&lt;strong&gt;OpenAI embeddings recognizer stage&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For the definition of specific E2E tests for this stage, follow these instructions:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Define specific phrases to be resolved by the OpenAI embeddings recognizer stage.&lt;/li&gt;
&lt;li&gt;Execute the script &lt;code&gt;build_local_testset.sh&lt;/code&gt; in:&lt;br&gt;
&lt;em&gt;aura-nlpdata-[country_code]/tools/build_local_testset.sh&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Once executed, it creates a stage-specific &lt;code&gt;testset.json&lt;/code&gt; file in the path:
&lt;em&gt;tmp_testsets/[country_code]/resources/[language]/[channel]/&lt;/em&gt;  &lt;br&gt;
Although the name of the file can never be modified, it is possible to modify its content, as long as its structure is respected, adding new test sentences or eliminating them.&lt;/li&gt;
&lt;li&gt;To be able to use these E2E test, copy it in the following path for it to be packaged with the general &lt;code&gt;testset.json&lt;/code&gt; file:
&lt;em&gt;pipeline_eval/ob/[country_code]/resources/[language]/[channel]/&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;43-best-practices-for-the-definition-of-e2e-test-set-files&#34;&gt;4.3. Best practices for the definition of E2E test set files&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;All intents should be represented within all the existing test &lt;code&gt;testset.json&lt;/code&gt; files.&lt;/li&gt;
&lt;li&gt;Firstly, generate a battery of statements for the use case, taking into account its semantic complexity. After that, divide all the generated statements into three groups in the way that statements in the training set are not included in the test sets and vice versa:
&lt;ul&gt;
&lt;li&gt;Training set&lt;/li&gt;
&lt;li&gt;Specific NLP stage test set&lt;/li&gt;
&lt;li&gt;E2E test set&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Follow this pre-established ratio between training and testing statements: each intent must satisfy that the number of test statements is, at least, 20% of the total statements (training and test statements).&lt;/li&gt;
&lt;li&gt;Depending on the specific NLP stages, the number of recommended testing statements must be representative. In general terms, and only as a guidance, the number of testing statements can be as follows:
&lt;ul&gt;
&lt;li&gt;Only CLU: 20% of statements in CLU training&lt;/li&gt;
&lt;li&gt;CLU + Grammar: 20% of statements in CLU training&lt;/li&gt;
&lt;li&gt;Only Grammar: 3 statements&lt;/li&gt;
&lt;li&gt;More than 1 use case on an intent: 30 statements per use case.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The testing statements provided by the Product Team and/or UX Team must be included, as prototypical of a given use case.&lt;/li&gt;
&lt;li&gt;The statements must include different variations (for example, with/without entities, etc.).&lt;/li&gt;
&lt;li&gt;Keys of the &lt;code&gt;testset.json&lt;/code&gt; file should be ordered from generic to specific ones:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;phrase&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Search the film Frozen&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;domain&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;domain.tv&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.tv.search&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;entities&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;options&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;The end-to-end test set is specific for each of the potential channels, as some use cases can be implemented in certain channels but not in others.&lt;/li&gt;
&lt;li&gt;The field &lt;code&gt;options&lt;/code&gt; is optional and only included when disambiguation is considered.&lt;/li&gt;
&lt;li&gt;In case that, due to non-satisfactory results during the evaluation process, a re-training is required, linguists should check that all the modifications are included in the E2E tests.&lt;/li&gt;
&lt;li&gt;In case roles are defined in entities for their recognition through the Grammar stage, they do not affect to the E2E tests (See more information regarding roles in Grammars in &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/utterances-several-entities/&#34;&gt;recognition of utterances with several entities in Grammars&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;5-train-your-understanding-model&#34;&gt;5. Train your understanding model&lt;/h2&gt;
&lt;p&gt;Once all the resources for each stage of the pipeline have been generated, you have to launch the training process in order to compare the testing batch against the training model.&lt;/p&gt;
&lt;p&gt;For this purpose, the &lt;em&gt;aura-nlpdata-[country_code]/tools&lt;/em&gt; folder of the NLP repository includes bash scripts, described in the following sections.&lt;/p&gt;
&lt;p&gt;It is important to mention that the NLP system can be locally trained in an &lt;strong&gt;intelligent way&lt;/strong&gt;, meaning that only the stages that have been modified (from a last training) are trained again, thus making the process much more efficient.&lt;/p&gt;
&lt;h3 id=&#34;51-set-up-configuration-properties&#34;&gt;5.1. Set up configuration properties&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Go the the path:
&lt;em&gt;aura-nlpdata-[country_code]/tools/build_local_variables.sh.tpl&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;This file is a template used for configuration purposes, specifically for defining CLU connection parameters. To setup these properties, copy this file to a new one named &lt;code&gt;build_local_variables.sh&lt;/code&gt;, removing the &lt;code&gt;.tpl&lt;/code&gt; extension.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fill in the config variables included in this file with the local credentials, as explained below.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;This file is automatically ignored by git because it has been included in the &lt;code&gt;.gitignore&lt;/code&gt; file, thus it must not be included manually.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The parameters to fill in the &lt;code&gt;build_local_variables.sh&lt;/code&gt; script are shown below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;#&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;!&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/usr/bin/env bash&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;#&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;BUILD_LOCAL&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;AND&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;RUN_WEB_TRAININGS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;AZURE_NLP_MODELS_URL&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;OAI_ID_SUBSCRIPTION&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;OAI_RESOURCE_GROUP&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;OAI_ACCOUNT_NAME&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;OAI_AZURE_TOKEN_CLIENT_ID&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;OAI_AZURE_TOKEN_CLIENT_SECRET&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;OAI_AZURE_TOKEN_TENANT&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;OAI_USER&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;RESOURCE_NAME_OPENAI&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;QDRANT_URL&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;QDRANT_API_KEY&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;CLU_SUBSCRIPTION_KEYS&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;CLU_RESOURCE_NAME&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;CLU_USER&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;CLU_STORAGE_SUBSCRIPTION_KEYS&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;CLU_STORAGE_RESOURCE_NAME&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;#&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;RUN_WEB_TRAININGS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;GITHUB_TOKEN&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;GITHUB_USER&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;REPO_OWNER&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;TRAINING_WEB_AZURE_BASE_URL&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;TRAINING_WEB_AZURE_SAS_TOKEN&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;#&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;BUILD_CATALOGS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;LANGUAGE&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;CHANNEL_LIST&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;AZURE_CATALOGS_ACCOUNT_NAME&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;AZURE_CATALOGS_TOKEN&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;AWS_CATALOGS_ACCESS_KEY&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;AWS_CATALOGS_SECRET_KEY&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;CATALOGS_RESOURCES_CONTAINER&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;CATALOGS_RESOURCES_PROVIDER&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The required variables are described below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;AZURE_NLP_MODELS_URL&lt;/code&gt;: URL for the Azure NLP models container.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GITHUB_TOKEN&lt;/code&gt;: Variable only required for &lt;strong&gt;ABACUS&lt;/strong&gt;. Personal token provided by GitHub for secure authentication.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GITHUB_USER&lt;/code&gt;: Variable only required for &lt;strong&gt;ABACUS&lt;/strong&gt;. Name of Github user.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;REPO_OWNER&lt;/code&gt;: Variable only required for &lt;strong&gt;ABACUS&lt;/strong&gt;. Name of the owner of the repository. Value: &lt;code&gt;Telefonica&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TRAINING_WEB_AZURE_BASE_URL&lt;/code&gt;: Variable only required for &lt;strong&gt;ABACUS&lt;/strong&gt;. URL base to get web package. It is provided by APE Team.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TRAINING_WEB_AZURE_SAS_TOKEN&lt;/code&gt;: Variable only required for &lt;strong&gt;ABACUS&lt;/strong&gt;. SAS token with the required permission granted. It is provided by APE Team.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OAI_ID_SUBSCRIPTION&lt;/code&gt;: Azure OpenAI subscription ID. It can be obtained from the subscription website.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OAI_RESOURCE_GROUP&lt;/code&gt;: Name of resource group in Azure where the OpenAI applications are created.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OAI_ACCOUNT_NAME&lt;/code&gt;: Name of OpenAI resource to be used.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OAI_AZURE_TOKEN_CLIENT_ID&lt;/code&gt;: Client ID of Azure Portal – App registration page assigned to your app.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OAI_AZURE_TOKEN_CLIENT_SECRET&lt;/code&gt;: Application secret created in the app registration portal.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OAI_AZURE_TOKEN_TENANT&lt;/code&gt;: Value that indicates who can sign into the application.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OAI_USER&lt;/code&gt;: Parameter to identify the user of OpenAI application. It is unique for each developer in order not to overlap the OpenAI trainings. This value is used to create database collections.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RESOURCE_NAME_OPENAI&lt;/code&gt;: Name of resource to be used.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;QDRANT_URL&lt;/code&gt;: URL of Qdrant service. In the virtual machine, it is &lt;code&gt;http://localhost:6333&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;QDRANT_API_KEY&lt;/code&gt;: APIkey of Qdrant service. In the virtual machine, it is &lt;code&gt;void&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CLU_SUBSCRIPTION_KEYS&lt;/code&gt;: Parameter provided by CLU to create applications.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CLU_RESOURCE_NAME&lt;/code&gt;: Name of resource to be used.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CLU_USER&lt;/code&gt;: Parameter to identify the user of CLU application. It is unique for each developer in order not to overlap the CLU trainings.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CLU_STORAGE_RESOURCE_NAME&lt;/code&gt;: Name of shared resource to be used as library of applications.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CLU_STORAGE_SUBSCRIPTION_KEYS&lt;/code&gt;: Parameter provided by CLU to import and copy applications in CLU shared resources.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#x1f4c4; For detailed information regarding how to obtain Azure credentials for CLU, please check the section &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/auxiliary-processes/&#34;&gt;Complementary processes&lt;/a&gt;. &lt;br&gt;
&amp;#x1f4c4; Information regarding how to get ABACUS variables in &lt;a href=&#34;../../docs/experiences-builder/tools/abacus-guide/&#34;&gt;&lt;strong&gt;ABACUS&lt;/strong&gt; documentation&lt;/a&gt;.&lt;br&gt;
&amp;#x1f4c4; If &lt;strong&gt;dictionaries&lt;/strong&gt; are included in the NLP model, additional variables are required. check them in &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/#3-set-up-specific-configuration-variables-for-dictionaries&#34;&gt;Set up specific configuration variables for dictionaries&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;52-execute-the-training-script&#34;&gt;5.2. Execute the training script&lt;/h3&gt;
&lt;p&gt;From this point on, linguists or NLP experts have two options to continue with the process:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;OPTION A&lt;/th&gt;
&lt;th&gt;OPTION B&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Use our web tool &lt;strong&gt;ABACUS 1.0.0.&lt;/strong&gt; following the guidelines in &lt;a href=&#34;../../docs/experiences-builder/tools/abacus-guide/&#34;&gt;ABACUS documentation&lt;/a&gt;.   (*) &lt;br&gt; After using ABACUS, continue with the process for the NLP model deployment in section &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#8-certify-nlp-model-accuracy&#34;&gt;Certify NLP model accuracy&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Execute the training script, following the guidelines below&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Execute the training script:
&lt;em&gt;aura-nlpdata-[country_code]/tools/build_local.sh&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The script automatically creates a Python virtual environment to ensure the training and evaluation processes are being carried out in an isolated and encapsulated way.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;All dependencies included in &lt;code&gt;requirements.txt&lt;/code&gt; are installed in the virtual environment.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;This script also validates the format of the involved files to ensure they match the specifications.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Once this script is executed, a &lt;code&gt;tmp&lt;/code&gt; folder is created in the root repository. In this folder, you can find some temporary files corresponding to the resources, as well as the results and metrics obtained from the training process.&lt;br&gt;
This directory is ignored by the git version control system because it has been included in the &lt;code&gt;.gitignore&lt;/code&gt; file and it must not be included manually.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;intelligent-training&#34;&gt;Intelligent training&lt;/h4&gt;
&lt;p&gt;The NLP system is trained in an &lt;strong&gt;intelligent way&lt;/strong&gt;, so that the training of certain stages can be skipped, if they were previously trained, making the process more agile and efficient. This feature is based on the verification of an internal hash table and hash index generated after training.&lt;/p&gt;
&lt;p&gt;The default behavior of the intelligent training is:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;On one hand, only the stages that have been modified from a previous retraining in a specific channel are trained again. For this purpose, the system keeps a hash table in the &lt;em&gt;tmp/&lt;/em&gt; folder to detect changes.&lt;/li&gt;
&lt;li&gt;On the other hand, if the configuration and the model generated to train a stage are the same as those of a previous stage but of a different channel, the last do not need to be trained and it will use the model trained before, making the process much more efficient.
To achieve this, an internal hash index is generated in the &lt;em&gt;tmp/trained_models&lt;/em&gt; folder. It is important that the training files in every channel are exactly the same, with similar name and similar content.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;However, the hash table and hash index can be managed manually in order to modify this behavior:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Management of the hash index to force the training of a stage in a specific channel&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The hash table is included in the &lt;em&gt;tmp/&lt;/em&gt; folder after training. This folder must not be deleted when tests are executed, unless all the stages are to be re-trained again.
If you want to force the training of a specific stage, its corresponding file can be deleted in the specific channel.
For instance, if there are no modifications on a stage within the &lt;strong&gt;mh&lt;/strong&gt; channel, but you want to force its retraining, then go to the &lt;em&gt;tmp/&lt;/em&gt; folder and delete the file &lt;code&gt;saved_training_hashes.json&lt;/code&gt; in the path: &lt;br&gt;
&lt;em&gt;tmp/recognizer/ob/ES/es-es/mh/resources/saved_training_hashes.json&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Management of the hash index to force the training of a stage in different channels&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The hash index identifies similar training files from stages of the same type that belong to different channels. It is included in the following folder:
&lt;em&gt;tmp/trained_models/[stage]/[hash]/&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;[stage]&lt;/code&gt;: name of a stage.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[hash]&lt;/code&gt;: it is resulting from the content of the training files used for that stage and its specific configuration.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each sub-tree contains the necessary files that were used during the training phase for that specific stage.&lt;br&gt;
By default, if the same stage with the same training files exists in different channels, only the first one found is retrained.  &lt;br&gt;
If you want to force the training for a specific stage, in addition to eliminating the hash tables seen in the previous section, delete the &lt;em&gt;tmp/trained_models/[stage]&lt;/em&gt; for this stage.&lt;/p&gt;
&lt;h3 id=&#34;53-generation-of-results-from-the-training-process&#34;&gt;5.3. Generation of results from the training process&lt;/h3&gt;
&lt;p&gt;When the training process is finished, certain temporary files are created in the &lt;em&gt;tmp/&lt;/em&gt; directory in the root repository.&lt;br&gt;
This folder contains the resources of the NLP model and results and metrics from the training process obtained from launching the testing batch against the training model.&lt;/p&gt;
&lt;p&gt;Files generated in the &lt;em&gt;tmp/&lt;/em&gt; directory are organized as shown in the following tables:&lt;/p&gt;
&lt;h4 id=&#34;input-resources-for-the-nlp-model&#34;&gt;Input resources for the NLP model&lt;/h4&gt;
&lt;p&gt;The input resources for the NLP training are placed on:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Input resources&lt;/th&gt;
&lt;th&gt;&lt;em&gt;tmp/&lt;/em&gt; folder&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#3-define-your-data-resources&#34;&gt;Training and test set files in data/&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;tmp/[stage]/ob/[country_code]/[language]/[channel]/&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#4-define-your-end-to-end-tests&#34;&gt;E2E test files&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;tmp/pipeline_eval/ob/[country_code]/resources/[language]/[channel]/&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../../docs/components/aura-nlp/nlp-system-configuration/&#34;&gt;&lt;code&gt;bootstrap.cfg&lt;/code&gt; config file&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;tmp/pipeline_eval/ob/[country_code]/etc/&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id=&#34;results-from-the-nlp-training&#34;&gt;Results from the NLP training&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Results from the NLP training&lt;/th&gt;
&lt;th&gt;&lt;em&gt;tmp/&lt;/em&gt; folder&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#61-evaluate-nlp-stages-accuracy&#34;&gt;Result files from each NLP stage training&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;tmp/results/[stages]/[country_code]/[language]/[channel]/&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#62-evaluate-the-overall-pipeline-accuracy&#34;&gt;Result files from the overall pipeline training&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;tmp/results/pipeline_eval/[country_code]/&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#62-evaluate-the-overall-pipeline-accuracy&#34;&gt;Result files from the overall pipeline training: regression tests&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;tmp/results/pipeline_eval/[country_code]/regression/&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id=&#34;testset-files&#34;&gt;Testset files&lt;/h4&gt;
&lt;p&gt;If you have defined stage-specific E2E testset files, then after the execution of the script &lt;code&gt;build_local_testset.sh&lt;/code&gt;, some temporary files are created in the &lt;em&gt;tmp_testsets/&lt;/em&gt; folder:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Testset files&lt;/th&gt;
&lt;th&gt;&lt;em&gt;tmp/&lt;/em&gt; folder&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#42-define-stage-specific-e2e-test-set-files&#34;&gt;Stage-specific E2E testset files&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;tmp_testsets/[platform]/resources/[language]/[channel]/&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Each channel folder contains the end-to-end test files for each stage (currently, only for OpenAI embeddings recognizer). These files are used for the evaluation of the pipeline in future trainings and can be extended with as many tests as desired.&lt;/p&gt;
&lt;h4 id=&#34;intelligent-training-behavior&#34;&gt;Intelligent training behavior&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Intelligent training behavior&lt;/th&gt;
&lt;th&gt;&lt;em&gt;tmp/&lt;/em&gt; folder&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Hash table including the modified training files&lt;/td&gt;
&lt;td&gt;&lt;em&gt;tmp/recognizer/ob/ES/es-es/mh/resources/saved_training_hashes.json&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hash index including the modified training and test set files for a specific stage&lt;/td&gt;
&lt;td&gt;&lt;em&gt;tmp/trained_models/[stage]/[hash]/&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;6-evaluate-e2e-accuracy-locally&#34;&gt;6. Evaluate E2E accuracy locally&lt;/h2&gt;
&lt;p&gt;With all the results from the training process, saved in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#results-from-the-nlp-training&#34;&gt;&lt;em&gt;tmp/results/&lt;/em&gt; folders&lt;/a&gt; as explained before, now these results must be analyzed in order to evaluate if the NLP process is accurate enough for the recognition of intents and entities.&lt;/p&gt;
&lt;p&gt;&amp;#x2705; If the local analysis of results is satisfactory at this stage, linguists can proceed to &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#7-pull-request-to-release-branch&#34;&gt;create the Pull Request&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;#x26d4; If the analysis shows that the metrics are not good enough, meaning that the recognition is less accurate than required, then linguists must work again on the resources data  to increase the performance and repeat the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#5-train-your-understanding-model&#34;&gt;training process&lt;/a&gt; to re-calculate the metrics.&lt;/p&gt;
&lt;p&gt;The analysis of results can be carried out from two different points of view, as explained in the following sections:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Focusing on each stage composing the pipeline&lt;/li&gt;
&lt;li&gt;Or treating the pipeline as a single component to measure the end-to-end performance.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;61-evaluate-nlp-stages-accuracy&#34;&gt;6.1. Evaluate NLP stages accuracy&lt;/h3&gt;
&lt;p&gt;For this purpose, analyze the following file, generated after training in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#results-from-the-nlp-training&#34;&gt;&lt;em&gt;tmp/results/&lt;/em&gt; folder&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;tmp/results/[stages]/[country_code]/[language]/[channel]/test_results.txt&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This file is generated per each pipeline stage, country, language and channel in the above-mentioned path and contains the metrics of the stage performance:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Precision: reflects false positives (false statements recognition)&lt;/li&gt;
&lt;li&gt;Recall: reflects false negatives (missed items)&lt;/li&gt;
&lt;li&gt;F1-score: combines precision and recall&lt;/li&gt;
&lt;li&gt;Generation of average values&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;However, these metrics depend on the specific stages of the pipeline as, for example, the normalizer stage requires no evaluation and others such as Domain Classifier, NER or the intent recognizers can use all or some specific metrics among the four previously defined.&lt;/p&gt;
&lt;p&gt;Moreover, depending on the stage, it is possible to find other files such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cv_results.txt&lt;/code&gt; that includes metrics regarding cross-validation&lt;/li&gt;
&lt;li&gt;&lt;code&gt;fitted-params.txt&lt;/code&gt; with information about the algorithm and parameters used to train the model.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Below, an example of &lt;code&gt;test_results.txt&lt;/code&gt; file is shown, that corresponds to the Domain Classifier stage evaluation. The values for precision, recall, f1-score and support for each domain classified are calculated, as well as the total average.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;precision&lt;/th&gt;
&lt;th&gt;recall&lt;/th&gt;
&lt;th&gt;f1-score&lt;/th&gt;
&lt;th&gt;support&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;None&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.40&lt;/td&gt;
&lt;td&gt;0.84&lt;/td&gt;
&lt;td&gt;0.54&lt;/td&gt;
&lt;td&gt;32&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;intent.tv.search&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.97&lt;/td&gt;
&lt;td&gt;0.89&lt;/td&gt;
&lt;td&gt;0.93&lt;/td&gt;
&lt;td&gt;122&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;intent.common.greetings&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.99&lt;/td&gt;
&lt;td&gt;0.99&lt;/td&gt;
&lt;td&gt;0.99&lt;/td&gt;
&lt;td&gt;715&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;intent.billing.check&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1.00&lt;/td&gt;
&lt;td&gt;1.00&lt;/td&gt;
&lt;td&gt;1.00&lt;/td&gt;
&lt;td&gt;53&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;avg / total&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.84&lt;/td&gt;
&lt;td&gt;0.93&lt;/td&gt;
&lt;td&gt;0.86&lt;/td&gt;
&lt;td&gt;922&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;62-evaluate-the-overall-pipeline-accuracy&#34;&gt;6.2. Evaluate the overall pipeline accuracy&lt;/h3&gt;
&lt;p&gt;For the evaluation of the accuracy of the complete pipeline, you should analyze the files generated in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#results-from-the-nlp-training&#34;&gt;&lt;em&gt;tmp/results/&lt;/em&gt; folder&lt;/a&gt; after training:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;tmp/results/pipeline_eval/[country_code]/&lt;/em&gt;&lt;br&gt;
&lt;em&gt;tmp/results/pipeline_eval/[country_code]/regression/&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In both folders, the files are shown below, both generated from launching the &lt;a href=&#34;#4-define-your-end-to-end-tests&#34;&gt;testset files&lt;/a&gt; &lt;code&gt;testset.json&lt;/code&gt; and &lt;code&gt;regression.json&lt;/code&gt;: &lt;br&gt;
- &lt;code&gt;results.json&lt;/code&gt;&lt;br&gt;
- &lt;code&gt;details_[language]_[channel].csv&lt;/code&gt;&lt;br&gt;
- &lt;code&gt;test_results_by_intent_[language]_[channel].json&lt;/code&gt;&lt;br&gt;
- &lt;code&gt;test_results_by_intent_[language]_[channel].txt&lt;/code&gt;&lt;br&gt;
- &lt;code&gt;test_results_by_entity_[language]_[channel].json&lt;/code&gt;&lt;br&gt;
- &lt;code&gt;test_results_by_entity_[language]_[channel].txt&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;At this point, you are expected to analyse the results of the metrics included in these files in terms of accuracy and precision of intents and entities recognition. The files provide a detailed description about the testing statements that have obtained an unexpected result, as well as useful information for debugging purposes.&lt;/p&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; If you use &lt;a href=&#34;../../docs/experiences-builder/tools/abacus-guide/&#34;&gt;ABACUS&lt;/a&gt;, take into account that, currently, the tool only shows two test files:
&lt;code&gt;results.json&lt;/code&gt; and &lt;code&gt;details_[language]_[channel].csv&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;resultsjson&#34;&gt;results.json&lt;/h4&gt;
&lt;p&gt;General file that includes the results of the overall pipeline performance through statistics regarding the number of entries misclassified in the test set and their relative scores.&lt;/p&gt;
&lt;p&gt;The metrics that contain this file are defined below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Accuracy intent&lt;/code&gt;: Percentage of successful intents.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Accuracy overall&lt;/code&gt;:	Percentage of successful inputs.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Accuracy perfect in options&lt;/code&gt;:	Percentage of successful inputs included when the first option is right.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Entity error&lt;/code&gt;:	Number of inputs in which entity recognition has failed.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Intent error&lt;/code&gt;:	Number of inputs in which intent recognition has failed.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Option error&lt;/code&gt;:	Number of inputs in which options recognition has failed.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Missing entities overall&lt;/code&gt;:	Ratio of training statements (sentences, phrases or isolated words) in which entity recognition is failed to the total number of statements.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Missing entities right intent&lt;/code&gt;:	Ratio of training statements in which entity recognition is failed but intent recognition is successful to the total number of statements with the intent recognized.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Missing options overall&lt;/code&gt;:	Ratio of training statements in which options recognition is failed to the total number of statements.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Missing options right intent&lt;/code&gt;:	Ratio of training statements in which options recognition is failed but intent recognition is successful to the total number of statements with option recognized.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Perfect&lt;/code&gt;:	Total number of inputs without errors.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Perfect in options&lt;/code&gt;:	Total number of inputs without errors where the first option is right.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Test size&lt;/code&gt;:	Total number of inputs in test set file.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additionally, each time a Pull Request (PR) is generated, a comment appears automatically in the &lt;code&gt;results.json&lt;/code&gt; content in the GitHub repository to ease the reviewing task.&lt;/p&gt;
&lt;p&gt;An example of the &lt;code&gt;results.json&lt;/code&gt; file is included below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;date&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;2021-08-30T09:27:03Z&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;language&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;es-es&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;mp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;accuracy_intent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.9681528662420382&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;accuracy_overall&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.9585987261146497&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;accuracy_perfect_in_options&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;entity_error&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;3&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent_error&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;10&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;missing_entities_overall&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.009554140127388535&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;missing_entities_right_intent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.009868421052631578&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;missing_options_overall&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;missing_options_right_intent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;option_error&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;perfect&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;301&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;perfect_in_options&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;test_size&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;314&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ob&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ES&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;details_language_channelcsv&#34;&gt;details_[language]_[channel].csv&lt;/h4&gt;
&lt;p&gt;One file is generated per each pair language/channel, containing the original training statement, the expected values versus the obtained values for intents, entities and domains after the pipeline execution as well as an additional column with a tag summarizing the error type, with five possible values:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;D: error when recognizing the domain.&lt;/li&gt;
&lt;li&gt;I: error when recognizing the intent.&lt;/li&gt;
&lt;li&gt;E: error when recognizing the entity.&lt;/li&gt;
&lt;li&gt;O: error when recognizing the options.&lt;/li&gt;
&lt;li&gt;W: special tag used when result expected is the first option in recognized result.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This additional column is able to have more than one of these values.
In detail, fields contained in the &lt;code&gt;.csv&lt;/code&gt; file are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;phrase&lt;/code&gt;:	Original statement (sentence, phrase, or isolated word) evaluated.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;different&lt;/code&gt;:	Summary of errors. It could have from one to three letters depending on the errors found. Suitable letters are D (domain), E (entities), and I (intent).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;intent_obtained&lt;/code&gt;:	Intent obtained by the pipeline.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;intent_expected&lt;/code&gt;:	Intent expected as defined in the test set.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;entities_obtained&lt;/code&gt;:	Entities obtained by the pipeline.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;entities_expected&lt;/code&gt;:	Entities expected as defined in the test set.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;options_obtained&lt;/code&gt;:	Options obtained by the pipeline.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;options_expected&lt;/code&gt;:	Options expected as defined in the test set.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;domain_obtained&lt;/code&gt;:	Domain obtained by the pipeline.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;domain_expected&lt;/code&gt;:	Domain expected as defined in the test set.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An example is shown below:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;phrase&lt;/th&gt;
&lt;th&gt;different&lt;/th&gt;
&lt;th&gt;intent_obtained&lt;/th&gt;
&lt;th&gt;intent_expected&lt;/th&gt;
&lt;th&gt;entities_obtained&lt;/th&gt;
&lt;th&gt;entities_expected&lt;/th&gt;
&lt;th&gt;domain_obtained&lt;/th&gt;
&lt;th&gt;domain_expected&lt;/th&gt;
&lt;th&gt;options_obtained&lt;/th&gt;
&lt;th&gt;options_expected&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;/table&gt;
&lt;h4 id=&#34;test_results-by-intent-and-by-channel&#34;&gt;test_results by intent and by channel&lt;/h4&gt;
&lt;p&gt;They are both &lt;code&gt;.txt&lt;/code&gt; and &lt;code&gt;.json&lt;/code&gt; files containing the results of the pipeline performance per each pair language/channel and per intent, with the following format:&lt;/p&gt;
&lt;h5 id=&#34;test_results_by_intent_language_channeljson&#34;&gt;test_results_by_intent_[language]_[channel].json&lt;/h5&gt;
&lt;p&gt;The metrics that contain this file are defined below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;n&lt;/code&gt;:	Number of successful statements.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;total&lt;/code&gt;:	Total number of statements by intent.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;overall&lt;/code&gt;:	Total accuracy by intent.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;intent&lt;/code&gt;:	Accuracy of intents by intent.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;entities&lt;/code&gt;:	Accuracy of entities by intent.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;options&lt;/code&gt;:	Accuracy of options by intent.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;domain&lt;/code&gt;:	Accuracy of domains by intent.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;perfect_in_options&lt;/code&gt;:	Number of successful statements recognized in the first option by intent.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Example of &lt;code&gt;test_results_by_intent_[language]_[channel].json&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.common.greetings&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;n&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;total&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;overall&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;entities&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;options&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;domain&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;perfect_in_options&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id=&#34;test_results_by_intent_language_channeltxt&#34;&gt;test_results_by_intent_[language]_[channel].txt&lt;/h5&gt;
&lt;p&gt;Same fields as the JSON file but written in legible mode.&lt;/p&gt;
&lt;p&gt;Example of &lt;code&gt;test_results_by_intent_[language]_[channel].txt&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;PIPELINE&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;RESULTS&lt;/span&gt;: 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;intent.common.greetings&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;n&lt;/span&gt;:&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Total&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Accuracy&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Overall&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.000000&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Accuracy&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Intent&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.000000&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Accuracy&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Entities&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.000000&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Accuracy&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Options&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.000000&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Accuracy&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Domain&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.000000&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Accuracy&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Perfect&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;in&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;options&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.000000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000&#34;&gt;Test&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Size&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;test_results-by-entity-and-by-channel&#34;&gt;test_results by entity and by channel&lt;/h4&gt;
&lt;p&gt;They are both &lt;code&gt;.txt&lt;/code&gt; and &lt;code&gt;.json&lt;/code&gt; files containing the results of the pipeline performance per each pair language/channel and per entity, with the following format:&lt;/p&gt;
&lt;h5 id=&#34;test_results_by_entity_language_channeljson&#34;&gt;test_results_by_entity_[language]_[channel].json&lt;/h5&gt;
&lt;p&gt;The metrics that contain this file are defined below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;n&lt;/code&gt;:	Number of successful statements.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;total&lt;/code&gt;:	Total number of statements by entity.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;overall&lt;/code&gt;:	Total accuracy by entity.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;intent&lt;/code&gt;:	Accuracy of intents by entity.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;entities&lt;/code&gt;:	Accuracy of entities by entity.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;options&lt;/code&gt;:	Accuracy of options by entity.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;domain&lt;/code&gt;:	Accuracy of domains by entity.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;perfect_in_options&lt;/code&gt;:	Number of successful statements recognized in the first option by entity.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An example is shown below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.audiovisual_film_title&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;n&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;4&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;total&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;4&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;overall&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;entities&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;options&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;domain&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.0&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id=&#34;test_results_by_entity_language_channeltxt&#34;&gt;test_results_by_entity_[language]_[channel].txt&lt;/h5&gt;
&lt;p&gt;Same fields as the .json file but written in legible mode.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;PIPELINE&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;RESULTS&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;BY&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;ENTITIES&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#000&#34;&gt;ent.audiovisual_film_title&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;n&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;4&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Total&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;4&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Accuracy&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Overall&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.000000&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Accuracy&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Intent&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.000000&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Accuracy&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Entities&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.000000&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Accuracy&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Options&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.000000&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Accuracy&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Domain&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.000000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000&#34;&gt;Total&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;uniques&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Entities&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000&#34;&gt;Total&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Entities&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;63-analyze-compatibility-between-global-grammars-and-local-grammars&#34;&gt;6.3. Analyze compatibility between global grammars and local grammars&lt;/h3&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; The current section only applies if both &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/#types&#34;&gt;&lt;strong&gt;global and local grammars&lt;/strong&gt;&lt;/a&gt; are implemented in the NLP recognition process.&lt;/p&gt;
&lt;p&gt;As explained in &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/#types&#34;&gt;Grammars management&lt;/a&gt; the two types of grammars defined in Aura NLP recognition process, global and local, must be aligned. For checking the compatibility between both grammars, you must generate two test set files:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;data/[language]/[channel]/test_grammar/commons/testset.json&lt;/em&gt;&lt;br&gt;
Test set with statements that must be recognized by both grammars (with identical results).&lt;/li&gt;
&lt;li&gt;&lt;em&gt;data/[language]/[channel]/test_grammar/disjoints/testset.json&lt;/em&gt;&lt;br&gt;
Test set with statements that must be only recognized by the global grammar (as the local grammar is a subset of the global grammar).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both tests are JSON files including a list of test phrases, as shown in the example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;push play again&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;turn on the light&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;These tests run through an automatic process and, if some error is detected, it is reported. In this scenario, linguists must check the errors and fix them:&lt;/p&gt;
&lt;h4 id=&#34;errors-in-disjoints-testset&#34;&gt;Errors in disjoints testset&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Local grammar recognizes a global phrase&lt;/strong&gt;&lt;br&gt;
This error occurs when a disjoint testset statement is recognized by the local grammar. An example of this error message for the language &lt;code&gt;es-es&lt;/code&gt;, channel &lt;code&gt;mh&lt;/code&gt; and the statement &amp;ldquo;push play again&amp;rdquo;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;Local&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;grammar&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;recognized&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;a&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;global&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;phrase&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;push play again&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;language&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;es&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;es&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;and&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;channel&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;mh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To resolve this problem, carry out the required modifications over the local grammar in order not to recognize the statement.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Global grammar does not recognize a test statement&lt;/strong&gt;  &lt;br&gt;
This error occurs when a disjoint test set statement is not recognized by the global grammar.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;Error&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;recognizing&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;phrase&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34; push play again &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;by&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;pipeline&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;grammar&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;language&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;es&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;es&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;and&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;channel&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;mh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To resolve this problem, carry out the required modifications over the global grammar in order to recognize the statement.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;errors-in-the-commons-testset&#34;&gt;Errors in the commons testset&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Local grammar does not recognize the statement but global grammar does.&lt;/strong&gt; The program logs the following error message:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;Error&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;recognizing&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;phrase&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;turn on the light&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;by&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;local&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;grammar&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;language&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;es&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;es&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;and&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;channel&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;mh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In order to fix this error, improve the local grammar.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Global and local grammars recognize different intents&lt;/strong&gt;
The program logs the following error message:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;Recognized&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;phrase&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;turn on the&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;by&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;both&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;grammar&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;with&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;different&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;intents&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;Pipeline&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;intent&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;intent.domotics.light_off&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;Local&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;grammar&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;intent&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;intent.domotics.light_on&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In order to fix this error, improve both grammars to make them recognize the same intents.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Global grammar does not recognize the statement  but local grammar does&lt;/strong&gt;
The program logs the following error message:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;Error&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;recognizing&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;phrase&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;turn on the light&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;by&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;pipeline&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;grammar&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;language&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;es&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;es&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;and&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;channel&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;mh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In order to fix this error, improve the global grammar.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;64-launch-and-test-your-pipeline-locally-live-mode&#34;&gt;6.4. Launch and test your pipeline locally (live mode)&lt;/h2&gt;
&lt;p&gt;Another useful functionality for a quick a real-time evaluation of the accuracy of the NLP model is running the pipeline in live mode in local environment.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/live-mode.png&#34; alt=&#34;Live mode&#34;&gt;&lt;/p&gt;
&lt;p&gt;To use this interactive execution approach:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Execute the script:&lt;br&gt;
&lt;em&gt;aura-nlpdata-[country_code]/tools/run_local_pipeline.sh&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Once the script is run, select manually both channel and language.&lt;/li&gt;
&lt;li&gt;After that, insert testing statements representing potential users&amp;rsquo; utterances through the command line in a responsive way.&lt;/li&gt;
&lt;li&gt;Evaluate the response in real time to the input statement: the associated intents, entities and score provided by the system.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; It is important to run this script after the &lt;a href=&#34;#52-execute-the-training-script&#34;&gt;&lt;code&gt;build_local.sh&lt;/code&gt;&lt;/a&gt; (that is, after training the model) to ensure the system has been trained and all the resources have been generated.&lt;/p&gt;
&lt;p&gt;This script neither generates temporary files nor directories and it can be run from the IDE or the OS terminal.&lt;/p&gt;
&lt;h2 id=&#34;7-pull-request-to-release-branch&#34;&gt;7. Pull Request to release branch&lt;/h2&gt;
&lt;p&gt;All the steps in previous sections are developed in a local branch, cloning the NLP master branch.&lt;/p&gt;
&lt;p&gt;Once the NLP model is validated locally, now you must create a Pull Request (PR) to your release branch in order to upload your files and apply for validation to the NLP Global Team.&lt;/p&gt;
&lt;p&gt;Follow the steps explained hereunder to create a Pull Request in the GitHub web application:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Verify current working branch and files to be included in the Pull Request: &lt;code&gt;git status&lt;/code&gt;&lt;br&gt;
If, when executing this command, there are files that should not be uploaded, remove them using &lt;code&gt;git checkout&lt;/code&gt; and the path of the corresponding file that appears in status.&lt;/li&gt;
&lt;li&gt;Add the local files: &lt;code&gt;git add &amp;lt;file_name&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;Use &lt;code&gt;git add -A&lt;/code&gt; to upload all files in your local branch.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;git rm &amp;lt;file1&amp;gt; &amp;lt;file2&amp;gt; &amp;lt;file3&amp;gt;&lt;/code&gt; if you need to remove certain modified files.&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;Commit changes with the command &lt;code&gt;git commit -a &amp;quot;[[&amp;lt;feat&amp;gt;]] change description&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Execute the command &lt;code&gt;git pull&lt;/code&gt; as an optional step to check if, during the execution of these commands, there are modifications in the same path that can produce further errors.&lt;/li&gt;
&lt;li&gt;Push local branch:  &lt;code&gt;git push origin &amp;lt;branch_name&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Create a Pull Request to release branch:
Access to the corresponding directory:
&lt;em&gt;aura-nlpdata-[country_code]/&lt;/em&gt;&lt;br&gt;
And create a Pull Request from this branch to master or to the current release branch.&lt;br&gt;
The title of the PR should start with &lt;code&gt;[[feat]]&lt;/code&gt;, &lt;code&gt;[[fix]]&lt;/code&gt;, or &lt;code&gt;[[release]]&lt;/code&gt; and contain a representative description of the modifications.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Access our &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/auxiliary-processes/create-pull-request/&#34;&gt;best practices for the creation of a Pull Request&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;8-certify-nlp-model-accuracy&#34;&gt;8. Certify NLP model accuracy&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&amp;#x26a0;&amp;#xfe0f; &lt;strong&gt;REMEMBER&lt;/strong&gt;&amp;hellip; If you have used the tool &lt;a href=&#34;../../docs/experiences-builder/tools/abacus-guide/&#34;&gt;ABACUS&lt;/a&gt; for the local training, testing and publication of your NLP model, now you must continue here with the process for its deployment.&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;/table&gt;
&lt;p&gt;When the Pull Request is launched, a validation process starts for the evaluation of the NLP recognition process: the so-named &lt;strong&gt;Continuous Integration (CI)&lt;/strong&gt;, defined as a process for the integration of code into a shared repository and its validation.&lt;br&gt;
The validation comprises the execution of the training script &lt;code&gt;build_local.sh&lt;/code&gt; by the NLP Global Team, that launches two processes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An automatic validation process.&lt;/li&gt;
&lt;li&gt;A manual review of results by the NLP Global Team.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;automatic-generation-of-the-nlp-metrics&#34;&gt;Automatic generation of the NLP metrics&lt;/h3&gt;
&lt;p&gt;The system automatically generates certain metrics files for checking:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Accuracy of the whole pipeline&lt;/li&gt;
&lt;li&gt;Accuracy of specific intents&lt;/li&gt;
&lt;li&gt;Ratio of test set&lt;/li&gt;
&lt;li&gt;Valid format of files&lt;/li&gt;
&lt;li&gt;Modification without permission or by mistake of certain tasks&lt;/li&gt;
&lt;li&gt;Compatibility between local and global grammars&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These metrics will be included in the PR conversation using the &lt;a href=&#34;#41-define-e2e-test-set-files&#34;&gt;E2E files &lt;code&gt;testest.json&lt;/code&gt; and &lt;code&gt;regression.json&lt;/code&gt;&lt;/a&gt; in order to provide a summary of the NLP system quality.&lt;/p&gt;
&lt;h3 id=&#34;review-by-the-nlp-global-team&#34;&gt;Review by the NLP Global Team&lt;/h3&gt;
&lt;p&gt;Complementary, the &lt;strong&gt;NLP Global Team&lt;/strong&gt; carries out a review of results and report the existing problems.&lt;/p&gt;
&lt;p&gt;The setting of an adequate threshold for the NLP system accuracy depends on the use case. Therefore, for a specific use case, the minimum accuracy should be agreed by L-CDO and the NLP Global Team.&lt;/p&gt;
&lt;p&gt;After the Pull Request approval by Aura Global Team, the modifications are ready to be merged.&lt;/p&gt;
&lt;p&gt;It can be very useful for Local Teams to know the process and criteria used by the NLP Global Team to validate the NLP model in order to focus on the critical points.
Discover all this information in &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/auxiliary-processes/nlp-global-team-validation/&#34;&gt;Validation process by the NLP Global Team&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;9-merge-and-generate-your-understanding-package&#34;&gt;9. Merge and generate your understanding package&lt;/h2&gt;
&lt;p&gt;At this stage, after the Pull Request approval, you are ready to merge the Pull Request in GitHub. Modifications are then included in the NLP release branch.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/merge-nlp.jpg&#34; alt=&#34;Merge Pull Request&#34;&gt;&lt;/p&gt;
&lt;p&gt;The system automatically initiates the process for the generation of the new version of the understanding package (artifact): a new Debian package with the version and name of the corresponding Platform release.  This process can last a few hours.&lt;/p&gt;
&lt;p&gt;When the new understanding package is generated, an e-mail is sent to PMOs, communicating that there is a new version available.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/new-nlp-package.png&#34; alt=&#34;Notification of new version of understanding package available&#34;&gt;&lt;/p&gt;
&lt;p&gt;The APE Team is in charge of communicating the OB the name of the new package.&lt;/p&gt;
&lt;p&gt;Now, the Local DevOps Team is responsible of the deployment of the understanding package.&lt;/p&gt;
&lt;h2 id=&#34;10-deploy-the-new-understanding-package&#34;&gt;10. Deploy the new understanding package&lt;/h2&gt;
&lt;p&gt;Once the previous stages are completed, the Local DevOps Team should deploy the NLP artifact with the new or updated trainings.&lt;/p&gt;
&lt;p&gt;Remember that OBs are able to deploy NLP packages through a hot swapping process.&lt;/p&gt;
&lt;p&gt;&amp;#x1f4c4; For both processes, the local DevOps Team should check the document &lt;a href=&#34;../../docs/deployment/installer/#localnlp&#34;&gt;Aura Deployment of NLP packages&lt;/a&gt;.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-normalization-pipelines/narugo/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-normalization-pipelines/narugo/</guid>
      <description>
        
        
        &lt;h1 id=&#34;narugo-normalization-pipeline&#34;&gt;Narugo normalization pipeline&lt;/h1&gt;
&lt;h2 id=&#34;description-and-stages&#34;&gt;Description and stages&lt;/h2&gt;
&lt;p&gt;Narugo is a pipeline used for the normalization of the user&amp;rsquo;s utterance through the execution of the following &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/nlp-normalizers/&#34;&gt;normalizers&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PunctuationNormalizer&lt;/li&gt;
&lt;li&gt;SplitPunctNormalizer&lt;/li&gt;
&lt;li&gt;SpaceNormalizer&lt;/li&gt;
&lt;li&gt;CurrencyNormalizer&lt;/li&gt;
&lt;li&gt;UnicodeNormalizer&lt;/li&gt;
&lt;li&gt;LowercaseNormalizer&lt;/li&gt;
&lt;li&gt;CardinalityNormalizer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/narugo-pipeline.png&#34; alt=&#34;Narugo normalization pipeline&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;This stage requires the following configuration in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;&lt;code&gt;nlp.json&lt;/code&gt; configuration file&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;For the specific language and channel, in the &lt;code&gt;nlp&lt;/code&gt; field of this JSON file, the key &lt;code&gt;normalizer_pipeline_class&lt;/code&gt; must be filled in with the value:
&lt;code&gt;auracog_pipelines.pipelines.normalization.narugo.NarugoPipeline&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;es-es&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;mp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;nlp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;normalizer_pipeline_class&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.normalization.narugo.NarugoPipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages-connectors/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages-connectors/</guid>
      <description>
        
        
        &lt;h1 id=&#34;catalog-of-nlp-connectors&#34;&gt;Catalog of NLP connectors&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;NLP connectors to compose the NLP pipeline&lt;/p&gt;

&lt;/div&gt;

&lt;p&gt;Aura Platform Team has implemented different types connectors to  join NLP stages in order to configure the pipeline.&lt;/p&gt;
&lt;p&gt;Select your intended connector in the left menu. Each of them is characterized by its description, path, files and configuration.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Section&lt;/th&gt;
&lt;th&gt;Content&lt;/th&gt;
&lt;th&gt;Role in the NLP process&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Identification and objective of the stage in the recognition process&lt;/td&gt;
&lt;td&gt;Descriptive purpose of the stage in the recognition process&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Path&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Class path (Python class) of an element (stage or connector)&lt;/td&gt;
&lt;td&gt;The path of each stage of the pipeline must be included in the file &lt;code&gt;pipeline.json&lt;/code&gt; for building up the NLP dynamic pipeline&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;File&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Specific training files and test set files for the NLP stage required to train and validate the NLP model&lt;/td&gt;
&lt;td&gt;Linguists must generate these files for the training and the validation of the NLP model during the data resources definition&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Configuration&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Required configuration for each NLP stage&lt;/td&gt;
&lt;td&gt;Configuration of each stage of the NLP model&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/nlp-normalizers/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/nlp-normalizers/</guid>
      <description>
        
        
        &lt;h1 id=&#34;aura-nlp-normalizers&#34;&gt;Aura NLP normalizers&lt;/h1&gt;
&lt;h2 id=&#34;what-are-aura-nlp-normalizers&#34;&gt;What are Aura NLP normalizers&lt;/h2&gt;
&lt;p&gt;Text normalization is the process of transforming an Aura user&amp;rsquo;s utterance (expressed in natural language) into a standardized one to be more easily recognized by Aura NLP.&lt;/p&gt;
&lt;p&gt;During the normalization process, certain characters are replaced/removed in order to reduce the input diversity that does not provide relevant information to Aura, such as replacing uppercase by lowercase letters, removal of punctuation marks, etc.&lt;/p&gt;
&lt;p&gt;Within Aura NLP, there are different normalization stages which are handled as simple stages, taking part of a pipeline.  Additionally, it is possible to define pipelines composed only by normalization stages suitable to be nested into another pipeline.&lt;/p&gt;
&lt;p&gt;The following sections show the Aura NLP normalizers included in the current catalog.&lt;/p&gt;
&lt;h2 id=&#34;cardinality&#34;&gt;Cardinality&lt;/h2&gt;
&lt;p&gt;The cardinality normalizer replaces ordinal or cardinal numbers expressed in text characters by digits. It cannot be used for percentages. For this purpose, the normalizer uses a fork of the library &lt;a href=&#34;https://github.com/Telefonica/Recognizers-Text&#34;&gt;Microsoft.Recognizers.Text&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Example: &amp;ldquo;Put the second $&amp;rdquo; &amp;ndash;&amp;gt; &amp;ldquo;Put the 2$&amp;rdquo;; &amp;ldquo;$Give me ten results&amp;rdquo; &amp;ndash;&amp;gt; &amp;ldquo;$ Give me 10 results&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;This normalizer does not require any file or configuration.&lt;/p&gt;
&lt;h3 id=&#34;path&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;cardinality_normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;CardinalityNormalizerWrapper&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;currency&#34;&gt;Currency&lt;/h2&gt;
&lt;p&gt;This normalizer provides an appropriate format to the amount and currency in an utterance, separating the currency symbol from the amount with a single space. The implementation of this normalizer can be consulted in
&lt;a href=&#34;https://github.com/Telefonica/Recognizers-Text&#34;&gt;https://github.com/Telefonica/Recognizers-Text&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It is able to read the following currencies: $, € and £.&lt;/p&gt;
&lt;p&gt;Example: &amp;ldquo;1$&amp;rdquo; &amp;ndash;&amp;gt; &amp;ldquo;1 $&amp;rdquo;; &amp;ldquo;$1&amp;rdquo; &amp;ndash;&amp;gt; &amp;ldquo;$ 1&amp;rdquo;; &amp;ldquo;1€&amp;rdquo; &amp;ndash;&amp;gt; &amp;ldquo;1 €&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;This normalizer does not require any file or configuration.&lt;/p&gt;
&lt;h3 id=&#34;path-1&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;currency_normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;CurrencyNormalizerWrapper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;fromconfig&#34;&gt;FromConfig&lt;/h2&gt;
&lt;p&gt;FromConfig normalizer executes the normalization pipeline defined in &lt;a href=&#34;#configuration&#34;&gt;configuration&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This normalizer does not require any file.&lt;/p&gt;
&lt;h3 id=&#34;path-2&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;from_config_normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;FromConfigNormalizerWrapper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;configuration&#34;&gt;Configuration&lt;/h3&gt;
&lt;p&gt;This stage requires the following configuration in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;&lt;code&gt;nlp.json&lt;/code&gt;&lt;/a&gt; file.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;es-es&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;mp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;nlp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;normalizer_pipeline_class&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.normalization.nabro.NabroPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;normalizer_pipeline_class&lt;/code&gt;: in this field, the specific &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-normalization-pipelines&#34;&gt;normalization pipeline&lt;/a&gt; is referred (Nabro, Narugo, Nikko or Noro).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;lowercase&#34;&gt;Lowercase&lt;/h2&gt;
&lt;p&gt;The lowercase normalizer replaces uppercase characters by lowercase ones in the utterance.&lt;/p&gt;
&lt;p&gt;Example: &amp;ldquo;watch the NBA&amp;rdquo; &amp;ndash;&amp;gt; &amp;ldquo;watch the nba&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;This normalizer does not require any file or configuration.&lt;/p&gt;
&lt;h3 id=&#34;path-3&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;lowercase_normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;LowercaseNormalizerWrapper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;punctuation&#34;&gt;Punctuation&lt;/h2&gt;
&lt;p&gt;The punctuation normalizer removes special punctuation characters (¿?¡!,.;:) from the utterance, inserting blank spaces instead.&lt;/p&gt;
&lt;p&gt;Example: &amp;ldquo;How are you? Fine, thanks!&amp;rdquo; &amp;ndash;&amp;gt; &amp;ldquo;How are you Fine thanks&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;This normalizer does not require any file or configuration.&lt;/p&gt;
&lt;h3 id=&#34;path-4&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;punctuation_normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PunctuationNormalizerWrapper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;space&#34;&gt;Space&lt;/h2&gt;
&lt;p&gt;The Space normalizer removes duplicated spaces from the utterance reducing space sequences to a single space.&lt;/p&gt;
&lt;p&gt;Example: &amp;ldquo;How are you  Fine&amp;rdquo; &amp;ndash;&amp;gt; &amp;ldquo;How are you Fine&amp;rdquo;&lt;/p&gt;
&lt;p&gt;This normalizer does not require any file or configuration.&lt;/p&gt;
&lt;h3 id=&#34;path-5&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;space_normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;SpaceNormalizerWrapper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;split-punct&#34;&gt;Split Punct&lt;/h2&gt;
&lt;p&gt;Split Punct normalizer tokenizes the utterance splitting by words and punctuation marks using the &lt;a href=&#34;https://www.nltk.org/api/nltk.tokenize.html#nltk.tokenize.word_tokenize&#34;&gt;NLTK framework&lt;/a&gt;. This framework uses NLTK recommended word tokenizer (currently an improved &lt;a href=&#34;https://www.nltk.org/api/nltk.tokenize.html#nltk.tokenize.treebank.TreebankWordTokenizer&#34;&gt;TreebankWordTokenizer&lt;/a&gt; that uses regular expressions to tokenize the text, together with &lt;a href=&#34;https://www.nltk.org/api/nltk.tokenize.html#nltk.tokenize.punkt.PunktSentenceTokenizer&#34;&gt;PunktSentenceTokenizer&lt;/a&gt; that builds a model for abbreviations, collocations and words starting sentences.&lt;/p&gt;
&lt;p&gt;The model is used to find sentence boundaries. The result is the utterance split by words separated by single spaces.&lt;/p&gt;
&lt;p&gt;Example: &amp;ldquo;Please!!, get out now&amp;hellip; right?&amp;rdquo; &amp;ndash;&amp;gt; &amp;ldquo;Please ! ! , get out now &amp;hellip; right ?&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;This normalizer does not require any file or configuration.&lt;/p&gt;
&lt;h3 id=&#34;path-6&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;split_punct_normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;SplitPunctNormalizerWrapper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;stop-words&#34;&gt;Stop words&lt;/h2&gt;
&lt;p&gt;The stop words normalizer removes stop words, defined as commonly used words such as &amp;ldquo;the&amp;rdquo;, &amp;ldquo;is&amp;rdquo;, &amp;ldquo;at&amp;rdquo;, &amp;ldquo;which&amp;rdquo;, or &amp;ldquo;on&amp;rdquo; from the user&amp;rsquo;s utterance. This normalizer is able to recognize stop words from different languages using the &lt;a href=&#34;https://www.nltk.org/api/nltk.tokenize.html#nltk.tokenize.word_tokenize&#34;&gt;NLTK framework&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Example: &amp;ldquo;its ok, I prefer the first or second option too&amp;rdquo; &amp;ndash;&amp;gt; &amp;ldquo;ok prefer first second option&amp;rdquo;&lt;/p&gt;
&lt;p&gt;This normalizer does not require any file or configuration.&lt;/p&gt;
&lt;h3 id=&#34;path-7&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stop_words_normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;StopWordsNormalizerWrapper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;unicode&#34;&gt;Unicode&lt;/h2&gt;
&lt;p&gt;The Unicode normalizer replaces non-Unicode characters by other characters pre-defined in the Unicode characters list.&lt;/p&gt;
&lt;p&gt;Example: &amp;ldquo;the 1º stop will be in München&amp;rdquo; &amp;ndash;&amp;gt; &amp;ldquo;the 1. stop will be in munchen&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;This normalizer does not require any file or configuration.&lt;/p&gt;
&lt;h3 id=&#34;path-8&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;unicode_normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;UnicodeNormalizerWrapper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;stop-words-from-file&#34;&gt;Stop words from file&lt;/h2&gt;
&lt;p&gt;While the previous normalizer identifies predefined stop words from a database, the current normalizer allows the generation of a customized list of stop words, leading to a more accurate recognition of the user&amp;rsquo;s utterance.&lt;/p&gt;
&lt;p&gt;The stop words from file normalizer requires the edition of the &lt;code&gt;stop_words.json&lt;/code&gt; file to define a list of personalized stop words for each language and channel. This file must be placed at: &lt;br&gt;
&lt;em&gt;aura-nlpdata-[country_code]/data/[language]/[channel]/stop_words.json&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;stop_words.json&lt;/code&gt; file performs the following tasks during the training process:&lt;br&gt;
- Transforms each word to lowercase &lt;br&gt;
- Removes repeated words&lt;/p&gt;
&lt;p&gt;This normalized file is saved in a new file &lt;code&gt;normalized_stop_words.json&lt;/code&gt;, in a temporary directory.&lt;/p&gt;
&lt;p&gt;When Aura receives a request from the user, the behavior of the stop words from file normalizer is shown below for a specific example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;File content of &lt;code&gt;stop_words.json&lt;/code&gt;: [&amp;ldquo;Its&amp;rdquo;, &amp;ldquo;its&amp;rdquo;, &amp;ldquo;I&amp;rdquo;, &amp;ldquo;,&amp;rdquo;, &amp;ldquo;the&amp;rdquo;, &amp;ldquo;or&amp;rdquo;, &amp;ldquo;which&amp;rdquo;]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Utterance: &amp;ldquo;its ok, I prefer the first or second option too&amp;rdquo; &amp;ndash;&amp;gt; &amp;ldquo;ok prefer first second option too&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; When this normalizer is used, the words to be included in the &lt;code&gt;stop_words.json&lt;/code&gt; file must be &lt;strong&gt;already normalized&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; The normalization does not validate if the defined &amp;ldquo;stop word&amp;rdquo; in the file is composed by only one word. Therefore, a &amp;ldquo;stop word&amp;rdquo; could be composed by &lt;strong&gt;more than one word&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id=&#34;path-9&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stop_words_from_file_normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;StopWordsFromFileNormalizerWrapper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;word-replacer-from-file&#34;&gt;Word replacer from file&lt;/h2&gt;
&lt;p&gt;The Word replacer from file normalizer allows the exchange of words in the utterance.&lt;/p&gt;
&lt;p&gt;The word replacer from file normalizer requires the edition of the &lt;code&gt;word_replacer_mapper.json&lt;/code&gt; file to define a mapper containing the final words as a key and the list of words to replace as a value for each language and channel. This file must be placed at:    &lt;br&gt;
&lt;em&gt;aura-nlpdata-[country_code]/data/[language]/[channel]/word_replacer_mapper.json&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;word_replacer_mapper.json&lt;/code&gt; file performs the following tasks during the training process:&lt;br&gt;
- Transforms each word to lowercase &lt;br&gt;
- Removes repeated words in word values&lt;/p&gt;
&lt;p&gt;This normalized file is saved in a new file &lt;code&gt;normalized_word_replacer_mapper.json&lt;/code&gt;, in a temporary directory.&lt;/p&gt;
&lt;p&gt;When Aura receives a request from the user, the behavior of the word replacer from file normalizer is shown below for a specific example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;File content of &lt;code&gt;word_replacer_mapper.json&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;hello&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;hi&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;greetings&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;howdy&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;hey&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;option&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;alternative&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Utterance: &amp;ldquo;howdy, i want the second alternative&amp;rdquo; &amp;ndash;&amp;gt; &amp;ldquo;hello, i want the second option&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; When this normalizer is used, the words to be included in the &lt;code&gt;word_replacer_mapper.json&lt;/code&gt; file must be &lt;strong&gt;already normalized&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; All values should be only composed by one word. If a value contains more than one word, the normalizer raises an error in the training process. If multiple words are allowed, the normalization process is not idempotent.&lt;/p&gt;
&lt;h3 id=&#34;path-10&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;word_replacer_from_file_normalizer_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;WordReplacerFromFileNormalizerWrapper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/utterances-several-entities/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/utterances-several-entities/</guid>
      <description>
        
        
        &lt;h1 id=&#34;recognition-of-utterances-with-several-entities-in-grammars&#34;&gt;Recognition of utterances with several entities in Grammars&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Specific guidelines in the scenario when the user&amp;rsquo;s utterance includes several entities to be recognized by Grammars through the use of roles&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;use-of-roles-for-the-recognition-of-utterances-with-several-entities&#34;&gt;Use of roles for the recognition of utterances with several entities&lt;/h2&gt;
&lt;p&gt;If the user&amp;rsquo;s utterance contains several entities of the same type, it is required to add a role tag to the entity identifier, following the format:
&lt;code&gt;[entity_name:rol_value]&lt;/code&gt;&lt;br&gt;
The role tag is used by the system to identify that there are two entities of the same type but with different roles. &lt;/p&gt;
&lt;p&gt;This process will not affect the final output of the Grammars.
That is, if the entity with the role is &lt;code&gt;ent.audiovisual_sports_team:visitor&lt;/code&gt;, the system will only retrieve the tag &lt;code&gt;ent.audiovisual_sports_team&lt;/code&gt;. &lt;/p&gt;
&lt;p&gt;A practical example of Grammars that use this functionality is shown below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The utterance &amp;ldquo;I would like to see Madrid against Barsa&amp;rdquo; contains two entities of the same type: &lt;code&gt;[ent.audiovisual_sports_team]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;For both entities to be detected correctly, it will be necessary to add the role when defining the name of the entities. For example, the roles of local and visitor could be assigned, resulting &lt;code&gt;[ent.audiovisual_sports_team:local]&lt;/code&gt; and &lt;code&gt;[ent.audiovisual_sports_team:visitor]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Certain considerations must be considered:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In order to recognize two entities of the same type in sequence, there is no need to create two entity graphs with the role tag but one, since the system is capable of discerning between the tagged entity and the untagged one.&lt;/li&gt;
&lt;li&gt;Entity values should be the same in both graphs.&lt;/li&gt;
&lt;li&gt;For better understanding purposes, we suggest using digits to name the entity graph having the role with the name of the role itself. For example:
&lt;code&gt;ent.audiovisual_sports_team:1&lt;/code&gt; -&amp;gt; &lt;code&gt;ent.audiovisual_sports_team_1.grf&lt;/code&gt;&lt;br&gt;
This can be also done using non-digit characters. That is, if the entity &lt;code&gt;ent.audiovisual_sports_team&lt;/code&gt; has the role &amp;ldquo;visitor&amp;rdquo; (&lt;code&gt;ent.audiovisual_sports_team:visitor&lt;/code&gt;), the name of the graph should be &lt;code&gt;ent.audiovisual_sports_team_visitor.grf&lt;/code&gt;.  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/grammars-several-intents.png&#34; alt=&#34;Utterance with several entities in grammars&#34;&gt;&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages-connectors/selection-connectors/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages-connectors/selection-connectors/</guid>
      <description>
        
        
        &lt;h1 id=&#34;selection-connectors&#34;&gt;Selection connectors&lt;/h1&gt;
&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Selector connectors allow, when included on a pipeline, to specify which path of the pipeline is applied depending on a certain parameter.&lt;/p&gt;
&lt;p&gt;Currently, only one selection connector is developed in Aura NLP: Domain selector connector.&lt;/p&gt;
&lt;h2 id=&#34;domain-selector-connector&#34;&gt;Domain selector connector&lt;/h2&gt;
&lt;h3 id=&#34;description&#34;&gt;Description&lt;/h3&gt;
&lt;p&gt;The domain selector connector allows specifying which path of the pipeline is applied depending on the recognized domain. Therefore, it has to be preceded by a domain classifier step.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/domain-selector-connector.png&#34; alt=&#34;Selection connector&#34;&gt;&lt;/p&gt;
&lt;p&gt;In this example, once the Domain Classifier has recognized the domain, the Domain Selector stage comes into play.  In case the recognized domain is &amp;ldquo;domain1&amp;rdquo;, the flow continues to &amp;ldquo;Pipeline1&amp;rdquo;. Otherwise, if domain is &amp;ldquo;domain2&amp;rdquo; or &amp;ldquo;domain3&amp;rdquo;, &amp;ldquo;Pipeline2&amp;rdquo; or &amp;ldquo;Pipeline 3&amp;rdquo; are selected respectively as the following stage.&lt;/p&gt;
&lt;h3 id=&#34;path&#34;&gt;Path&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;joint&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;selectors&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;DomainSelectorPipeline&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;configuration&#34;&gt;Configuration&lt;/h3&gt;
&lt;p&gt;This connector requires a specific configuration with the following fields in the dynamic NLP pipeline &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#1-build-up-the-nlp-dynamic-pipeline&#34;&gt;&lt;code&gt;pipeline.json&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;elements&lt;/code&gt;: definition of every element composing the pipeline (stages and joints). It must include:
&lt;ul&gt;
&lt;li&gt;Element name. In this case, &lt;DomainSelectorPipelineName&gt;.
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;type&lt;/code&gt;: It must be set to joint&lt;/li&gt;
&lt;li&gt;&lt;code&gt;classpath&lt;/code&gt;: path to be included in order to use this stage:
&lt;code&gt;auracog_pipelines.pipelines.joint.selectors.DomainSelectorPipeline&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;links&lt;/code&gt;: links between each specific domain and its corresponding pipeline.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;args&lt;/code&gt; section: dictionary that must be included after the class path with a key named &lt;code&gt;selection_map&lt;/code&gt; that defines a correspondence between domains and different pipelines identified by its position as a child of the pipeline in the &lt;code&gt;links&lt;/code&gt; field.
One of these domains must be &lt;code&gt;default&lt;/code&gt;. In this case, if no domain is established, this path within the pipeline is followed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Note that a non-existent pipeline, or missing &lt;code&gt;default&lt;/code&gt; pipeline results in an error.&lt;/p&gt;
&lt;p&gt;It is always required to check two items:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The correspondence is right (be aware that the index in the &lt;code&gt;selection_map&lt;/code&gt; subsection starts with &lt;code&gt;0&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;The referred pipelines exist in &lt;code&gt;links&lt;/code&gt; section of the &lt;code&gt;pipeline.json&lt;/code&gt; file.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;elements&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;lt;DomainSelectorPipelineName&amp;gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;joint&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.joint.selectors.DomainSelectorPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;selection_map&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;lt;domain1&amp;gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;Index&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;of&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;pipeline&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;desired&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;domain&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;lt;domain2&amp;gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;Index&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;of&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;pipeline&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;desired&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;domain&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&amp;lt;domainN&amp;gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;Index&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;of&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;pipeline&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;desired&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;domain&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;N&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;default&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;Index&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;of&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;pipeline&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;desired&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;other&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;domains&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                               &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In the example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If domain is 1, then pipeline continues with element defined in position 0.&lt;/li&gt;
&lt;li&gt;If domain is 2, then pipeline continues with element defined in position 1.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/</guid>
      <description>
        
        
        &lt;h1 id=&#34;train-aura-to-understand-use-cases-development-over-aura-nlp&#34;&gt;Train Aura to understand: Use cases development over Aura NLP&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Guidelines for every step in the process for &lt;strong&gt;personalized use cases development over Aura NLP&lt;/strong&gt;, in order to make Aura understand the users&amp;rsquo; requests.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Related documents&lt;/strong&gt;&lt;br&gt;
&amp;#x1f4c4;  &lt;a href=&#34;../../docs/components/aura-nlp/&#34;&gt;Aura NLP descriptive documentation&lt;/a&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;process-at-a-glance&#34;&gt;Process at a glance&lt;/h2&gt;
&lt;div class=&#34;td-card-group card-group p-0 mb-4&#34;&gt;
&lt;div class=&#34;td-card card border me-4&#34;&gt;
&lt;div class=&#34;card-header&#34;&gt;
      &lt;strong&gt;Previous requisites&lt;/strong&gt;
    &lt;/div&gt;
&lt;div class=&#34;card-body&#34;&gt;
    &lt;p class=&#34;card-text&#34;&gt;
        
. Get sure your system has the required &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/aura-nlp-prerequisites/nlp-technical-resources/&#34;&gt;technical resources&lt;/a&gt;&lt;br&gt;
. Install the &lt;a href=&#34;../../docs/experiences-builder/tools/nlp-virtual-machine/&#34;&gt;Aura NLP Virtual Machine &lt;br&gt;
. &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/aura-nlp-prerequisites/local-nlpdata-branch/#generate-a-local-branch-for-the-nlp-data-repository&#34;&gt;Generate a local branch &lt;/a&gt; for the NLP data repository 
&lt;br/&gt; 
&lt;/p&gt;
      &lt;/div&gt;
  &lt;/div&gt;

&lt;i class=&#34;fa-solid fa-arrow-right cards-icon&#34;&gt;&lt;/i&gt;

&lt;div class=&#34;td-card card border me-4&#34;&gt;
&lt;div class=&#34;card-header&#34;&gt;
      &lt;strong&gt;Generate NLP model&lt;/strong&gt;
    &lt;/div&gt;
&lt;div class=&#34;card-body&#34;&gt;
    &lt;p class=&#34;card-text&#34;&gt;
        
. Build up the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#1-build-up-the-nlp-dynamic-pipeline&#34;&gt;dynamic pipeline&lt;/a&gt;&lt;br&gt; . Configure the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;NLP model&lt;/a&gt; &lt;br&gt; . Generate &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#3-define-your-data-resources&#34;&gt;training files&lt;/a&gt;, &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#4-define-your-end-to-end-tests&#34;&gt;test set files&lt;/a&gt; and &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#32-generate-dictionaries&#34;&gt;dictionaries&lt;/a&gt; &lt;br&gt;
&lt;br/&gt;
&lt;/p&gt;
      &lt;/div&gt;
  &lt;/div&gt;

&lt;i class=&#34;fa-solid fa-arrow-right cards-icon&#34;&gt;&lt;/i&gt;
&lt;/div&gt;

&lt;div class=&#34;td-card-group card-group p-0 mb-4&#34;&gt;
&lt;div class=&#34;td-card card border me-4&#34;&gt;
&lt;div class=&#34;card-header&#34;&gt;
      &lt;strong&gt;Train NLP model&lt;/strong&gt;
    &lt;/div&gt;
&lt;div class=&#34;card-body&#34;&gt;
    &lt;p class=&#34;card-text&#34;&gt;
        
. &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#5-train-your-understanding-model&#34;&gt;Train the understanding model&lt;/a&gt; in order to make it understand properly the users&#39; requests&lt;br&gt;
&lt;br/&gt; 
&lt;/p&gt;
      &lt;/div&gt;
  &lt;/div&gt;

&lt;i class=&#34;fa-solid fa-arrow-right cards-icon&#34;&gt;&lt;/i&gt;

&lt;div class=&#34;td-card card border me-4&#34;&gt;
&lt;div class=&#34;card-header&#34;&gt;
      &lt;strong&gt;Test NLP model&lt;/strong&gt;
    &lt;/div&gt;
&lt;div class=&#34;card-body&#34;&gt;
    &lt;p class=&#34;card-text&#34;&gt;
        
. Evaluate the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#6-evaluate-e2e-accuracy-locally&#34;&gt;accuracy of the NLP model locally&lt;/a&gt;&lt;br&gt; . If results are satisfactory, it must be also &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#8-certify-nlp-model-accuracy&#34;&gt;validated by Aura Global Team&lt;/a&gt;&lt;br&gt;
&lt;br/&gt;
&lt;/p&gt;
      &lt;/div&gt;
  &lt;/div&gt;

&lt;i class=&#34;fa-solid fa-arrow-right cards-icon&#34;&gt;&lt;/i&gt;

&lt;div class=&#34;td-card card border me-4&#34;&gt;
&lt;div class=&#34;card-header&#34;&gt;
      &lt;strong&gt;Deploy NLP package&lt;/strong&gt;
    &lt;/div&gt;
&lt;div class=&#34;card-body&#34;&gt;
    &lt;p class=&#34;card-text&#34;&gt;
        
. &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#9-merge-and-generate-your-understanding-package&#34;&gt;Merge and generate the NLP package&lt;/a&gt; containing the understanding model &lt;br&gt;
. &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#10-deploy-the-new-understanding-package&#34;&gt;Deploy the new package&lt;/a&gt; to make it available 
&lt;br/&gt;
&lt;/p&gt;
      &lt;/div&gt;
  &lt;/div&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;This section includes the detailed process for the development of use cases over &lt;em&gt;&lt;strong&gt;aura-nlp&lt;/strong&gt;&lt;/em&gt; together with all the complementary stages that &lt;strong&gt;linguists&lt;/strong&gt; and &lt;strong&gt;NLP experts&lt;/strong&gt; need for this purpose.&lt;/p&gt;
&lt;p&gt;The following figure schematically shows the workflow for the development of a use case over Aura NLP, where every stage is fully described in succeeding sections.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Firstly, get sure you fulfil all the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/aura-nlp-prerequisites/&#34;&gt;prerequisites&lt;/a&gt; for the configuration of the NLP development environment.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Afterwards, follow the orderly &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/&#34;&gt;stages in use cases development over Aura NLP&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/complete-nlp-process.png&#34; alt=&#34;Stages for use case development over Aura NLP&#34;&gt;&lt;/p&gt;
&lt;p&gt;If you are interested in a specific process, access directly to its documentation here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/&#34;&gt;Catalog of components for NLP pipelines&lt;/a&gt;: catalog of stages, connectors and normalization pipelines that can be used to compose the NLP pipeline.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-catalogs/&#34;&gt;Aura NLP entities catalogs&lt;/a&gt;: Description of entities catalogs, input for Aura NLP dictionaries.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/&#34;&gt;Aura NLP dictionaries&lt;/a&gt;: Description of dictionaries, used to recognize entities.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/&#34;&gt;Use of Grammars in Aura NLP&lt;/a&gt;: guidelines for using Grammars in an NLP model.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/auxiliary-processes/&#34;&gt;Complementary processes&lt;/a&gt;: processes that may be carried out over external software when developing a use case and procedures followed by the Aura NLP Global Team.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/tools/abacus-guide/abacus-use/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/tools/abacus-guide/abacus-use/</guid>
      <description>
        
        
        &lt;h1 id=&#34;guidelines-for-the-use-of-abacus-100&#34;&gt;Guidelines for the use of Abacus 1.0.0.&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;After the Abacus set-up, learn how to use the tool with our guidelines.&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;open-abacus&#34;&gt;Open Abacus&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open the NLP Virtual Machine.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/abacus-vm.png&#34; alt=&#34;NLP Virtual Machine&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Execute the following commands in the console:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;cd&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;$&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Root_project&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;tools&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;run_web_trainings&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;sh&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/abacus-run.png&#34; alt=&#34;Access to Abacus&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Abacus is now opened.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/abacus-open.png&#34; alt=&#34;Abacus open&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;discover-abacus-main-screen&#34;&gt;Discover Abacus main screen&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/abacus-interface.png&#34; alt=&#34;Abacus interface&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;create-a-new-pull-request&#34;&gt;Create a new Pull Request&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Enter Abacus and select &amp;ldquo;New Pull Request&amp;rdquo; as your working mode.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/abacus-new-pr.png&#34; alt=&#34;New Pull Request&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the main interface, select the channel where your understanding model is.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/abacus-select-channel.png&#34; alt=&#34;Select channel&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/abacus-update-files.png&#34; alt=&#34;Update training and test files&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;
&lt;p&gt;Train your understanding model.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/abacus-train.png&#34; alt=&#34;Train the model&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When the training is finished, select &amp;ldquo;Results&amp;rdquo; in the drop-down menu and access to the results of the accuracy tests.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;End-to-end tests (accuracy of the overall NLP model)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/abacus-results.png&#34; alt=&#34;Results&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Evaluate the accuracy of your model:&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Check in &amp;ldquo;last test&amp;rdquo; the overall accuracy related to the last test performed in the tool.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click on each specific error in &amp;ldquo;last test report&amp;rdquo; to access to detailed information.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use the filters to visualize errors per type, intent obtained or intent expected.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/abacus-accuracy.png&#34; alt=&#34;Evaluate accuracy&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;7&#34;&gt;
&lt;li&gt;
&lt;p&gt;Test your NLP model locally (Abacus simulator).&lt;br&gt;
Once your model is trained, you can use the Simulator to launch and test your pipeline locally and make a real-time evaluation of accuracy in the recognition of a specific statement.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Open the simulator.&lt;/li&gt;
&lt;li&gt;Type a phrase.&lt;/li&gt;
&lt;li&gt;Check how your model recognizes it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/abacus-simulator.png&#34; alt=&#34;Abacus simulator&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When the accuracy is satisfactory, publish your model:&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Press the &amp;ldquo;PUBLISH&amp;rdquo; button.
&lt;img src=&#34;../../images/aura-nlp/abacus-publish-button.png&#34; alt=&#34;Publish model&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create your Pull Request inserting the type, related JIRA issue, title and description and publish it.
&lt;img src=&#34;../../images/aura-nlp/abacus-create-pr.png&#34; alt=&#34;Create Pull Request&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If everything goes right, your PR is published. You can also see the details in Github.&lt;br&gt;
&lt;img src=&#34;../../images/aura-nlp/abacus-end.png&#34; alt=&#34;Pull Request published&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;edit-an-existing-pull-request&#34;&gt;Edit an existing Pull Request&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Enter Abacus and select “Edit existing Pull Request” as your working mode.
&lt;img src=&#34;../../images/aura-nlp/abacus-existing-pr.png&#34; alt=&#34;Abacus existing Pull Request&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select your intended Pull Request. You can open it from Abacus or from GitHub to see its details.   &lt;br&gt;
&lt;img src=&#34;../../images/aura-nlp/abacus-select-pr.png&#34; alt=&#34;Select Pull Request&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Now, you can work over it as explained in &lt;a href=&#34;#create-a-new-pull-request&#34;&gt;Create a new Pull Request&lt;/a&gt; section, from step 2 onwards.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;abacus-additional-information&#34;&gt;Abacus additional information&lt;/h2&gt;
&lt;p&gt;When Abacus is started, the API is available in:
http://127.0.0.1:4000 (*)&lt;/p&gt;
&lt;p&gt;(*) The port is variable, with values in the range: 4000 - 4100&lt;/p&gt;
&lt;p&gt;The API documentation is included in &lt;a href=&#34;../../docs/components/aura-nlp/api-definition/&#34;&gt;&lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt; API definition&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/abacus-info.png&#34; alt=&#34;Additional information&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;abacus-troubleshooting&#34;&gt;Abacus troubleshooting&lt;/h2&gt;
&lt;h3 id=&#34;logs-files&#34;&gt;Logs files&lt;/h3&gt;
&lt;p&gt;All the operations carried out with Abacus are recorded in the logs file: 
&lt;code&gt;${Root_project}/server.log&lt;/code&gt; &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;If an error occurs, Abacus will show this message:
&lt;img src=&#34;../../images/aura-nlp/abacus-error.png&#34; alt=&#34;Abacus error&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Clicking on &amp;ldquo;Download&amp;rdquo;, you can access to the log report and check the error for fixing it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If, the problem persists, contact the Global Support Team and provide them with the report.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When it is solved, press &amp;ldquo;Reload&amp;rdquo;, to continue using Abacus.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;git-conflicts&#34;&gt;Git conflicts&lt;/h3&gt;
&lt;p&gt;If the remote branch has changes that have not been updated in the local working branch, Github detects this situation as a conflict when publishing, and is not able to recognize which are the correct changes.&lt;/p&gt;
&lt;p&gt;The following pop up will appear after clicking on &amp;ldquo;publish&amp;rdquo;.
&lt;img src=&#34;../../images/aura-nlp/abacus-error.png&#34; alt=&#34;Abacus error&#34;&gt;&lt;/p&gt;
&lt;p&gt;Clicking on &amp;ldquo;Download&amp;rdquo;, you will get the file &lt;code&gt;${Root_project}/server.log&lt;/code&gt;, where you can check the errors that have occurred and try to solve them.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;!&lt;/span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;rejected&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;    &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;working&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;branch&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt;  &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&amp;gt;&lt;/span&gt;  &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;working&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;branch&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;fetch&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;first&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;error&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;failed&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;to&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;push&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;some&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;refs&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;to&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;git@github.com:Telefonica/aura-nlpdata-global.git&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Conflicts in &lt;code&gt;server.log&lt;/code&gt; must be resolved locally using the editor:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open a terminal in code editor. Make sure the branch in terminal is the correct working branch.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Move changes from the remote branch to local:&lt;br&gt;
&lt;code&gt;git pull origin &amp;lt;&amp;lt;working-branch&amp;gt;&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/abacus-error-terminal.png&#34; alt=&#34;Error in terminal&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A message with a list of files with conflicts is shown.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Open each file and right-click to access the conflicts resolver.
&lt;img src=&#34;../../images/aura-nlp/abacus-conflicts.png&#34; alt=&#34;Existing conflicts&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Resolve the conflict. You can include texts from the local branch (left) or from the remote one (right) or discard both and copy what is needed.
&lt;img src=&#34;../../images/aura-nlp/abacus-resolve-conflicts.png&#34; alt=&#34;Resolve conflicts&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Once conflicts are resolved, launch the following command to review the status of the local branch and check that all the conflicts are fixed in the response message:&lt;br&gt;
&lt;code&gt;git status&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When all the conflicts are resolved, commit changes:&lt;br&gt;
&lt;code&gt;git commit –m &amp;quot;[[feat]] resolve conflicts: &amp;lt;&amp;lt;description of changes&amp;gt;&amp;gt;&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Push to update changes to the remote branch:&lt;br&gt;
&lt;code&gt;git push origin &amp;lt;&amp;lt;working-branch&amp;gt;&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A  message with all the details will appear.
&lt;img src=&#34;../../images/aura-nlp/abacus-details.png&#34; alt=&#34;Resolution details&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If everything is solved, now restart the web server and continue with the existing Pull Request.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages-connectors/disambiguation-connector/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages-connectors/disambiguation-connector/</guid>
      <description>
        
        
        &lt;h1 id=&#34;disambiguation-connector&#34;&gt;Disambiguation connector&lt;/h1&gt;
&lt;h2 id=&#34;description&#34;&gt;Description&lt;/h2&gt;
&lt;p&gt;The disambiguation connector is a joint stage that allows disambiguation between different pipelines (therefore, between different recognizers).&lt;/p&gt;
&lt;p&gt;The general behavior of this connector is shown as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It executes in parallel the different pipelines.&lt;/li&gt;
&lt;li&gt;When the execution of all the pipelines is finished, the connector will carry out a disambiguation by intents, comparing the top results from the execution of the pipelines.&lt;/li&gt;
&lt;li&gt;However, take into account that, if there is a blacklist of intents, this behavior changes, as explained in the following section.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/disambiguation-connector.png&#34; alt=&#34;Disambiguation connector&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;disambiguation-connector-with-a-blacklist-of-intents&#34;&gt;Disambiguation connector with a blacklist of intents&lt;/h3&gt;
&lt;p&gt;Aura NLP allows the integration of configurable blacklists of intents for a custom behavior of disambiguation.
In this case, &lt;strong&gt;the disambiguation mechanisms will not apply for the intents included in the blacklist&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The use case constructors can edit a blacklist of intents in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;&lt;code&gt;nlp.json&lt;/code&gt; configuration file&lt;/a&gt;, filling the parameter &lt;code&gt;intent_blacklist&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;When there is a blacklist of intents, the disambiguation connector behaves as explained below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It executes in parallel the different pipelines, with their corresponding stages.&lt;/li&gt;
&lt;li&gt;The recognized intents from each pipeline are extracted (unless they have a &lt;code&gt;None&lt;/code&gt; intent).&lt;/li&gt;
&lt;li&gt;If the top scored intent of these pipelines is included in the &lt;code&gt;intent_blacklist&lt;/code&gt; or its score is greater than the &lt;code&gt;exact_match&lt;/code&gt; threshold, then this intent is returned.&lt;/li&gt;
&lt;li&gt;If the top intent is not included in the &lt;code&gt;intent_blacklist&lt;/code&gt;, then the predefined values of the configuration parameters come into play:
&lt;ul&gt;
&lt;li&gt;All the intents between the &lt;code&gt;disambiguation_margin&lt;/code&gt; and the &lt;code&gt;top score&lt;/code&gt;, and not present in the &lt;code&gt;intent_blacklist&lt;/code&gt;, are selected.&lt;/li&gt;
&lt;li&gt;If there is only one intent, it will be returned in a pipeline message.&lt;/li&gt;
&lt;li&gt;If there is more than one intent, a pipeline message with the intent &lt;code&gt;intent_template&lt;/code&gt; and a score of 1.0 is assigned. This pipeline message will contain nor entities, neither domains, but it will contain all the selected intents in pipeline messages as &lt;code&gt;options&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;path&#34;&gt;Path&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;joint&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;disambiguation&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;DisambiguationPipeline&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;This stage requires a specific configuration in the dynamic NLP pipeline &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#1-build-up-the-nlp-dynamic-pipeline&#34;&gt;&lt;code&gt;pipeline.json&lt;/code&gt;&lt;/a&gt;.
The following parameters are required for this stage:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;elements&lt;/code&gt;: definition of every element composing the pipeline (stages and joints). It must include:
&lt;ul&gt;
&lt;li&gt;Element name. In this case, &lt;code&gt;JointDisambiguation&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;type&lt;/code&gt;: It must be set to &lt;code&gt;joint&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;classpath&lt;/code&gt;: path to be included in order to use this stage:
&lt;code&gt;auracog_pipelines.pipelines.joint.disambiguation.DisambiguationPipeline&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;args&lt;/code&gt; section: dictionary with the following fields:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;exact_match&lt;/code&gt;: If the intent with the highest score is greater than this value, the result is this intent. Float number.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;disambiguation_margin&lt;/code&gt;: Margin between the highest score and the lower score considered for the response. Float number.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;intent_template&lt;/code&gt;: Name of the intent that the stage returns when there are multiple options as response. String.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;intent_blacklist&lt;/code&gt;: list of intents that will be removed in case there are other options. If there are no blacklisted intents it will have to be an empty list. List of strings.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See two examples of configuration for the disambiguation connector:&lt;/p&gt;
&lt;details open&gt;
&lt;summary&gt;Disambiguation connector - Example 1&lt;/summary&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Example&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;initial_node_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;JointDisambiguation&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;elements&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;JointDisambiguation&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;joint&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.joint.disambiguation.DisambiguationPipeline&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;exact_match&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.95&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;disambiguation_margin&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent_template&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.disambiguation&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent_blacklist&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.intent1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.intent1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;...]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;OtherStage1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;OtherStage2&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;stage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;classpath&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;links&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;JointDisambiguation&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;OtherStage1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;OtherStage2&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/details&gt;
&lt;details open&gt;
&lt;summary&gt;Disambiguation connector - Example 2&lt;/summary&gt;
&lt;p&gt;Example for a disambiguation margin equal to 0.2&lt;/p&gt;
&lt;p&gt;Input data model&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.88&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label1&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name2&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type2&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.78&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label2&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.search&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.96&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.search&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.96&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.display&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.95&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.launch&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.60&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name3&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type3&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.89&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label3&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name4&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type4&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.76&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label4&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.display&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.94&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.display&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.94&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.launch&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.70&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name5&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type5&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.88&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label5&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name6&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type6&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.78&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label6&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.search&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.81&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.search&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.81&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.display&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.75&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name7&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type7&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.99&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label7&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.launch&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.60&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.launch&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.60&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Output data model  (2 intents fulfil the predefined criteria)&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.disambiguation&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.disambiguation&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1.0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;options&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.88&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label1&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name2&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type2&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.78&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label2&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.search&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.96&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.search&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.96&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.display&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.95&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.launch&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.60&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name3&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type3&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.89&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label3&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name4&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type4&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.76&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label4&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.display&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.94&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.display&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.94&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.launch&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.70&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;query&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;original Phrase&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;channel&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entities&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name5&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type5&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.88&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label5&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;entity&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name6&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;type6&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.78&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;start_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;end_index&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;canon1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;label6&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;top_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.search&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.81&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intents&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.search&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.81&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;intent.tv.display&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;score&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.75&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;domain_result&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/details&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/domain-classifier/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/domain-classifier/</guid>
      <description>
        
        
        &lt;h1 id=&#34;domain-classifier-stage&#34;&gt;Domain Classifier stage&lt;/h1&gt;
&lt;h2 id=&#34;what-is-domain-classifier&#34;&gt;What is Domain Classifier?&lt;/h2&gt;
&lt;p&gt;Aura NLP can include the Domain Classifier stage preceding &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/clu/&#34;&gt;CLU&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The Domain Classifier stage has the objective of providing a coarse and probabilistic classification of intents per pre-defined service domains (TV services, telecom services, etc.).&lt;/p&gt;
&lt;p&gt;Including a Domain Classifier just before the CLU stage allows to have several apps, each of them expert on a specific domain (domain-restricted CLU). Once the user&amp;rsquo;s query is classified in its corresponding domain, it will be finely recognized by the CLU app pointed out by the Domain Classifier.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/domain-classifier.png&#34; alt=&#34;Domain Classifier&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;path&#34;&gt;Path&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;domain_classifier_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;domain_classifier_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;DomainClassifierWrapper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;files&#34;&gt;Files&lt;/h2&gt;
&lt;h3 id=&#34;dispatchertefjson&#34;&gt;dispatcher.tef.json&lt;/h3&gt;
&lt;p&gt;The Domain Classifier requires one training file called &lt;code&gt;dispatcher.tef.json&lt;/code&gt;.
This file has the following fields:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;metadata&lt;/code&gt;: metainformation such as name, modification date, domain or country of the linguistic model under consideration.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;intents&lt;/code&gt;: dictionary, where:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Keys&lt;/code&gt;: domain name&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Values&lt;/code&gt;: list of all the training statements (sentences, phrases or isolated words) under that particular domain.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The defined domains and statements must be the same as the ones used to train CLU in different instances. However, whereas each domain is trained in a different CLU app, the training for the Domain Classifier consists of all the training examples condensed in a single file and, instead of having the intent names as dictionary keys, it will have the domain names as dictionary keys.&lt;/p&gt;
&lt;p&gt;To add a new domain, it is necessary to append it in the &lt;code&gt;instance_map&lt;/code&gt; property of &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/clu/#configuration&#34;&gt;CLU configuration&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition, the training and test set files for the CLU stage must be generated including the new domain and this domain must be included, together with the statements, in the &lt;code&gt;dispatcher.tef.json&lt;/code&gt; file.&lt;/p&gt;
&lt;h3 id=&#34;example&#34;&gt;Example&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;metadata&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Aura Dispatcher&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;version&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;dev&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;date&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;2019-01-21&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intents&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;domain.xxx&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	          &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;training statement 1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;training statement 2&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;training statement 3&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;best-practices&#34;&gt;Best practices&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;It is recommendable to add comments (using double hash &amp;lsquo;## intent_name ##’)  with the intent name, instead of removing it. In this way, it would be easier to know where the training statements of a given intent start from.&lt;/li&gt;
&lt;li&gt;Put intents and utterances in the same order as in the CLU training. In that way, it would be easier to control changes.&lt;/li&gt;
&lt;li&gt;Update the date of the file in order to know when the last modification was made.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;This stage requires the following configuration in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;&lt;code&gt;nlp.json&lt;/code&gt;&lt;/a&gt; file:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;es-es&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;mp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;training-dc&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;model_name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;RandomForest&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;apply_cv&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;n_cv_folds&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;fit_params&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;false&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;model_params&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;tv_ratio&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.2&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;pseudo_seed&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;42&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ngram_min&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ngram_max&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The fields are explained below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;model_name&lt;/code&gt;: name of the algorithm used to train the model. NBayes, Rlogistica and RandomForest are the only values allowed.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;apply_cv&lt;/code&gt;: this field indicates if the training uses cross-validation or not through &lt;code&gt;true&lt;/code&gt;/&lt;code&gt;false&lt;/code&gt; values.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;n_cv_folds&lt;/code&gt;: number of folds for cross-validation.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;fit_params&lt;/code&gt;: this field can have &lt;code&gt;true&lt;/code&gt;/&lt;code&gt;false&lt;/code&gt; values. If &lt;code&gt;true&lt;/code&gt;, at the end of the training a file is created with the params used.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;model_params&lt;/code&gt;: used as optional arguments for the algorithm selected.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tv_ratio&lt;/code&gt;: value between &lt;code&gt;0&lt;/code&gt; and &lt;code&gt;1&lt;/code&gt; indicating the percentage of test statements (sentences, phrases or isolated words) that composes the test set file.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pseudo_seed&lt;/code&gt;: value to initialize the seed in order to split training/test sets.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ngram_min&lt;/code&gt;: minimum ngrams used for internal term frequency.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ngram_max&lt;/code&gt;: maximum ngrams used for internal term frequency.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/aura-nlp-prerequisites/local-nlpdata-branch/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/aura-nlp-prerequisites/local-nlpdata-branch/</guid>
      <description>
        
        
        &lt;h1 id=&#34;generate-a-local-branch-for-the-nlp-data-repository&#34;&gt;Generate a local branch for the NLP data repository&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Discover the structure of Aura NLP data repository and learn how to clone it for working purposes in local environment&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction-to-aura-nlp-data-repository&#34;&gt;Introduction to Aura NLP data repository&lt;/h2&gt;
&lt;p&gt;The GitHub &lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt; data repositories, for uses cases, are defined below for every country:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use cases: &lt;code&gt;aura-nlpdata-[country_code]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both have the same specific structure of folders and files, as shown in the section &lt;a href=&#34;#aura-nlp-data-repository-structure&#34;&gt;Aura NLP data repository structure&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Local NLP experts must work over a local branch, thus cloning the intended global repository, following the steps in section &lt;a href=&#34;#generate-a-local-branch&#34;&gt;Generate a local branch&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In the continuous process for Aura NLP optimization, Aura Global Team offers the possibility of splitting the NLP repository into different repos, for a more efficient way of working. Find the details in section &lt;a href=&#34;#split-aura-nlp-repository&#34;&gt;Split Aura NLP repository&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The following sections show the content of each folder and file in the &lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt; repository, for use cases.&lt;/p&gt;
&lt;p&gt;As an example, access &lt;a href=&#34;https://github.com/Telefonica/aura-nlpdata-es&#34;&gt;https://github.com/Telefonica/aura-nlpdata-es&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;github&#34;&gt;.github&lt;/h3&gt;
&lt;p&gt;GitHub config files&lt;/p&gt;
&lt;h3 id=&#34;configetc&#34;&gt;config/etc&lt;/h3&gt;
&lt;p&gt;This folder includes files for the configuration of the &lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt; model:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;config/etc/&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Modifiable for use cases development?&lt;/th&gt;
&lt;th&gt;Detailed information&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;bootstrap.cfg&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;General purpose config file.&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../docs/components/aura-nlp/nlp-system-configuration/&#34;&gt;NLP system configuration&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;nlp_config/nlp.json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;File that contains the configuration by language and channel for each stage of the pipeline.&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;Configure your NLP model&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;build_catalogs.cfg.tpl&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;File to configure source data for dictionaries. Only required if the NLP model includes stages using dictionaries.&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/&#34;&gt;Guidelines for the generation of dictionaries in Aura NLP&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;api_trainings.cfg.tpl&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;File only used in ABACUS tool. It is a configuration template that will be filled automatically with the values defined in &lt;code&gt;build_local_variables.sh&lt;/code&gt;.&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../docs/experiences-builder/tools/abacus-guide/&#34;&gt;ABACUS documentation&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;env.js.tpl&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;File only used in ABACUS tool. This template will be filled automatically.&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../docs/experiences-builder/tools/abacus-guide/&#34;&gt;ABACUS documentation&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;data&#34;&gt;data/&lt;/h3&gt;
&lt;p&gt;This folder includes the resources and files required for the generation of the &lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt; pipeline and for the training of every NLP stage:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;data/&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Modifiable for use cases development?&lt;/th&gt;
&lt;th&gt;Detailed information&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;pipeline.json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;File for building up the NLP dynamic pipeline&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#1-build-up-the-nlp-dynamic-pipeline&#34;&gt;Build the NLP dynamic pipeline&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Training files&lt;/td&gt;
&lt;td&gt;Specific training files for each NLP stage&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#3-define-your-data-resources&#34;&gt;Define your data resources&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;sdict_items.json&lt;/code&gt; &lt;br&gt; &lt;code&gt;sdict_aliases.json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Dictionary files automatically generated per language and channel&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/&#34;&gt;Guidelines for the generation of dictionaries in Aura NLP&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;delivery&#34;&gt;delivery&lt;/h3&gt;
&lt;p&gt;Internal folder containing scripts and resources related with Continuous Integration.&lt;/p&gt;
&lt;p&gt;⚠️ Do not to modify this folder when developing new use cases.&lt;/p&gt;
&lt;h3 id=&#34;pipeline_eval&#34;&gt;pipeline_eval&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;pipeline_eval/&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Modifiable for use cases development?&lt;/th&gt;
&lt;th&gt;Detailed information&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;pipeline_eval/ob/[country_code]/resources/[language]/[channel]/&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;end-to-end tests for evaluation of the pipeline accuracy per country, language and channel&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#4-define-your-end-to-end-tests&#34;&gt;Define your E2E tests&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;tools&#34;&gt;tools&lt;/h3&gt;
&lt;p&gt;Scripts for local training and testing of the &lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt; model:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;tools/&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Used for use cases development?&lt;/th&gt;
&lt;th&gt;Detailed information&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;build_local_variables.sh.tpl&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;File for configuration purposes, specifically for the definition of CLU and other connection parameters.&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#51-set-up-configuration-properties&#34;&gt;Set up configuration properties&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;build_local.sh&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Script that automatically generates the local training environment and results files.&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#52-execute-the-training-script&#34;&gt;Execute the training script&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;build_local_testset.sh&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Script for the definition of specific E2E testsets files for an isolated stage. Currently, available for the OpenAI embeddings stage.&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#42-define-stage-specific-e2e-test-set-files&#34;&gt;Define stage-specific E2E testset files&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;run_local_pipeline.sh&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Script used to test the system in a live mode during the pipeline launching stage.&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#6-evaluate-e2e-accuracy-locally&#34;&gt;Launch and test your pipeline locally&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;build_local_catalogs.sh&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Script used to generate dictionaries using local catalogs data.&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/&#34;&gt;Guidelines for the generation of dictionaries in Aura NLP&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;run_web_training.sh&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Script used to run ABACUS tool.&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../docs/experiences-builder/tools/abacus-guide/&#34;&gt;ABACUS documentation&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;import_nlpdata_tools.sh&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Auxiliar script used by other scripts. This script must not be executed by the user.&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;&amp;hellip;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;#x2139;&amp;#xfe0f; Now, all the scripts need to connect with the centralized repository in Github &lt;em&gt;aura-nlp-tools&lt;/em&gt;, so it is necessary that your Github user have read access to it. Ask the APE Team to get this permission.&lt;/p&gt;
&lt;h3 id=&#34;catalogs&#34;&gt;catalogs&lt;/h3&gt;
&lt;p&gt;Folder required just in case the &lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt; uses manual catalogs.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;catalogs/&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Used for use cases development?&lt;/th&gt;
&lt;th&gt;Detailed information&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;catalogs/[language]/[channel]/&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;Files for the manual update of catalogs&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-catalogs/&#34;&gt;Guidelines for the generation or update of entities catalogs&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;validation&#34;&gt;validation&lt;/h3&gt;
&lt;p&gt;Configuration files for different validators.&lt;/p&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; These files must not be modified.&lt;/p&gt;
&lt;h3 id=&#34;gitignore&#34;&gt;gitignore&lt;/h3&gt;
&lt;p&gt;Config file containing files to be ignored by the version control system.&lt;/p&gt;
&lt;h3 id=&#34;codeowners&#34;&gt;CODEOWNERS&lt;/h3&gt;
&lt;p&gt;Config file indicating which user or group is the code owner responsible for merging the code.&lt;/p&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; This file must not be modified.&lt;/p&gt;
&lt;h3 id=&#34;configtxt&#34;&gt;config.txt&lt;/h3&gt;
&lt;p&gt;File containing branch name of current working release, used in different scripts.&lt;/p&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; This file must not be modified.&lt;/p&gt;
&lt;h3 id=&#34;requirementstxt&#34;&gt;requirements.txt&lt;/h3&gt;
&lt;p&gt;File containing Python module dependencies. These dependencies are installed automatically during the training process.&lt;/p&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; This file must not be modified.&lt;/p&gt;
&lt;h2 id=&#34;generate-a-local-branch&#34;&gt;Generate a local branch&lt;/h2&gt;
&lt;p&gt;The GitHub interaction allows the generation of local branches from the master branch.&lt;/p&gt;
&lt;p&gt;Local NLP experts must carry out the NLP customization over the local branch, that is a clone of the NLP GitHub repository and, afterwards, create a Pull Request (PR) to push the local branch to master or release branch of the corresponding Aura release.&lt;/p&gt;
&lt;p&gt;For this purpose, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Create the working directory:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;mkdir&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;p&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;~&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/Telefonica&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;cd&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;~&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/Telefonica &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In order to clone the &lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt; data project (Step 3), generate an SSH key and add it to your Github account.&lt;br&gt;
For this purpose, follow the instructions in &lt;a href=&#34;https://docs.github.com/es/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent&#34;&gt;Github documentation&lt;/a&gt; or access to the document &lt;a href=&#34;../../docs/experiences-builder/tools/nlp-virtual-machine/#ssh-configuration-guidelines&#34;&gt;SSH configuration guidelines&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Clone the &lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt; data project of your country. The repository URL follows the next pattern:
&lt;em&gt;&lt;a href=&#34;https://github.com/Telefonica/aura-nlpdata-%5Bcountry_code%5D-%5Boptional:channelName).git&#34;&gt;https://github.com/Telefonica/aura-nlpdata-[country_code]-[optional:channelName).git&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Where &lt;code&gt;[country_code]&lt;/code&gt; is the acronym of a specific country, for example: &lt;code&gt;es&lt;/code&gt;, &lt;code&gt;br&lt;/code&gt;, &lt;code&gt;de&lt;/code&gt;, &lt;code&gt;gb&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In order to clone the repository, it is possible to use some git client as &lt;strong&gt;GitKraken&lt;/strong&gt; or it can be done directly from a console running the command:&lt;br&gt;
&lt;code&gt;git clone &amp;lt;url_repo&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The project should be cloned in the folder where the above command was executed and the folder should have the same name as the repository: &lt;br&gt;
&lt;code&gt;git clone git@github.com:Telefonica/aura-nlpdata-[country_code].git&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Once the repository is cloned in the local machine, create a new git branch every time modifications need to be made concerning new use cases implementation, bug fixing, etc.&lt;/p&gt;
&lt;p&gt;The name of the branch should start with one of the next reserved words, depending on the modification purpose, followed by a slash and a brief description:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;feat/&lt;/code&gt;: new functionalities (for example, feat/weather_forecast_UC_#56624)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;fix/&lt;/code&gt;: bugs or non-relevant modifications (for example: fix/balance_light_on_#117076)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;release/&lt;/code&gt;: release synchronization&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The command to create this new branch must follow this pattern:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;cd&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;~&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;/Telefonica/aura-nlpdata-gb&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;git&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;checkout&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;b&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;[feat|fix|release]/&amp;lt;change_description&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Find here detailed information regarding &lt;a href=&#34;https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716&#34;&gt;Semantic Commit Messages&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;split-aura-nlp-repository&#34;&gt;Split Aura NLP repository&lt;/h2&gt;
&lt;p&gt;As a recommendation, the OB&amp;rsquo;s &lt;code&gt;aura-nlpdata&lt;/code&gt; repository can be split by groups of channels with similar uses cases. This provides a greater flexibility and independence to constructors.&lt;/p&gt;
&lt;p&gt;At the same time, this functionality allows optimizing the training times, as only the pipelines of the repositories that undergo modifications will be retrained.&lt;/p&gt;
&lt;p&gt;In this scenario, the format of the repository name must be: &lt;code&gt;aura-nlpdata-[country_code]-[repo_name]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;If OBs want to organize their NLP repo in this way, they must contact with Aura Global Team.&lt;/p&gt;
&lt;p&gt;Finally, it is possible to allocate dedicated processing capacity of the C.I, system, if necessary, but only after a joint analysis with Aura Global Team.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/developers-workspace/general-operation-system/hot-swapping/hot-swapping-processes/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/developers-workspace/general-operation-system/hot-swapping/hot-swapping-processes/</guid>
      <description>
        
        
        &lt;h1 id=&#34;hot-swapping-processes-in-aura&#34;&gt;Hot swapping processes in Aura&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Key processes that can be done over Aura without service outage&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;1-update-of-locales-hot-swapping-of-poeditor-texts&#34;&gt;1. Update of locales: Hot swapping of POEditor texts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;If locales belong to &lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt; (&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/aura-response/aura-response-poeditor/&#34;&gt;Generation or update of locales through POEditor when developing a use case&lt;/a&gt;):&lt;br&gt;
Hot swapping is done through the &lt;a href=&#34;../../docs/developers-workspace/install-configure/aura-configuration-updater/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-updater&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If locales belong to &lt;em&gt;&lt;strong&gt;aura-groot&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;aura-authentication-api&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;aura-bridge&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;aura-bridge-outbound&lt;/strong&gt;&lt;/em&gt;:
Hot swapping is done through the guidelines &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/manage-locales/&#34;&gt;&lt;em&gt;&lt;strong&gt;Manage locales in Aura&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By doing so, the update of locales will be available without the need to wait for the next Aura Platform release.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of both processes over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 1 in table.&lt;/p&gt;
&lt;h2 id=&#34;2-update-of-nlp-packages&#34;&gt;2. Update of NLP packages&lt;/h2&gt;
&lt;p&gt;When developing a use case over &lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt;, the understanding model including the trainings and test set files &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#10-deploy-the-new-understanding-package&#34;&gt;must be deployed&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If OBs are interested in the update of an NLP package through a &lt;strong&gt;hot swapping process&lt;/strong&gt;, the local DevOps Team can execute two different procedures, which are equivalent in terms of outcome and impact on the system. Therefore, OBs have the freedom to choose whichever process they prefer.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Through &lt;em&gt;&lt;strong&gt;aurak8s installer&lt;/strong&gt;&lt;/em&gt;: &lt;a href=&#34;../../docs/deployment/installer/#localnlp&#34;&gt;Local NLP deployment&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Through the use of &lt;em&gt;&lt;strong&gt;Aura Operator&lt;/strong&gt;&lt;/em&gt;: &lt;a href=&#34;../../docs/deployment/installer/#nlptraining&#34;&gt;NlpTraining&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;By doing so, the updated NLP package will be available without the need to wait for the next Aura Platform release.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of both processes over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 2 in table.&lt;/p&gt;
&lt;h2 id=&#34;3-modify-tv-use-cases&#34;&gt;3. Modify TV use cases&lt;/h2&gt;
&lt;p&gt;Certain modifications in TV use cases (channels mapping, specific experiences, etc.) can be executed through a hot swapping process. They correspond to experiences that are managed by the &lt;em&gt;&lt;strong&gt;User_helper&lt;/strong&gt;&lt;/em&gt; component and, specifically, by the &lt;em&gt;&lt;strong&gt;M+ Resolution&lt;/strong&gt;&lt;/em&gt; module, that resolves TV use cases calling different APIs.&lt;/p&gt;
&lt;p&gt;If OBs are interested in the update of a TV use case through a &lt;strong&gt;hot swapping process&lt;/strong&gt;, the local DevOps Team can execute two different procedures, which are equivalent in terms of outcome and impact on the system. Therefore, OBs have the freedom to choose whichever process they prefer.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Through &lt;em&gt;&lt;strong&gt;aurak8s installer&lt;/strong&gt;&lt;/em&gt;: &lt;a href=&#34;../../docs/deployment/installer/#local-resolutionresources-deployment&#34;&gt;Local ResolutionResources deployment&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Through the use of &lt;em&gt;&lt;strong&gt;Aura Operator&lt;/strong&gt;&lt;/em&gt;: &lt;a href=&#34;../../docs/deployment/installer/#resolutionresources&#34;&gt;ResolutionResources&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of both processes over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 3 in table.&lt;/p&gt;
&lt;h2 id=&#34;4-channels-handling&#34;&gt;4. Channels handling&lt;/h2&gt;
&lt;p&gt;The execution of changes in the configuration of channels can be done through a hot swapping process using the &lt;a href=&#34;../../docs/components/aura-configuration-api/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-api&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; component.&lt;/p&gt;
&lt;p&gt;This process is fully described in the document &lt;a href=&#34;../../docs/developers-workspace/channels-management/update-channels-configuration/&#34;&gt;Update channels configuration&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of this process over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 4 in table.&lt;/p&gt;
&lt;h2 id=&#34;5-skills-handling&#34;&gt;5. Skills handling&lt;/h2&gt;
&lt;p&gt;The hot swapping processes that can be executed in the framework of skills management are included in the document &lt;a href=&#34;https://technicaldocs.auracognitive.com/master/docs/developers-workspace/skills-management/hot-swapping/&#34;&gt;Hot swapping processes in Aura distributed architecture&lt;/a&gt; and include adding a new skill to &lt;em&gt;&lt;strong&gt;aura-root&lt;/strong&gt;&lt;/em&gt;, modifying it or deleting an existing one.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of this process over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 5 in table.&lt;/p&gt;
&lt;h2 id=&#34;6-applications-handling&#34;&gt;6. Applications handling&lt;/h2&gt;
&lt;p&gt;The execution of changes in the configuration of &lt;strong&gt;applications&lt;/strong&gt;, the components in charge of the communitation of a channel, service or skill with &lt;em&gt;&lt;strong&gt;aura-gateway-api&lt;/strong&gt;&lt;/em&gt; for the connection with an external service, can be done through a hot swapping process using the &lt;a href=&#34;../../docs/components/aura-configuration-api/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-api&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; component.
This process is fully described in the document &lt;a href=&#34;../../docs/developers-workspace/aura-gateway-api-management/hot-swapping-application/&#34;&gt;Hot swapping processes in Aura Applications Configurations&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of this process over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 7 in table.&lt;/p&gt;
&lt;h2 id=&#34;7-add-new-local-dialog-in-aura-bot&#34;&gt;7. Add new local dialog in aura-bot&lt;/h2&gt;
&lt;p&gt;The deployment of a new local dialog over a specific Aura Platform release can be done through a hot swapping process, following the guidelines &lt;a href=&#34;../../docs/deployment/installer/#localdeployment&#34;&gt;Local modules deployment&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of this process over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 8 in table.&lt;/p&gt;
&lt;h2 id=&#34;8-update-of-libraries-and-dialogs-configuration&#34;&gt;8. Update of libraries and dialogs configuration&lt;/h2&gt;
&lt;p&gt;Aura allows making changes in certain &lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt; configuration related to libraries, dialogs and channels through hot swapping processes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;contextFilters&lt;/code&gt; of the intents in &lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt; dialogs&lt;/li&gt;
&lt;li&gt;Scopes and purposes in &lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt; libraries and dialogs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These processes can be done using the &lt;a href=&#34;../../docs/developers-workspace/install-configure/aura-configuration-updater/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-updater&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of this process over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 9 in table.&lt;/p&gt;
&lt;h2 id=&#34;9-add-static-resources-in-a-use-case&#34;&gt;9. Add static resources in a use case&lt;/h2&gt;
&lt;p&gt;When developing a use cases, aura response can &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/aura-response/graphic-resources/&#34;&gt;include static resources&lt;/a&gt; such as visual components (cards), such as icons, images, diagrams, etc.&lt;/p&gt;
&lt;p&gt;If required, the update of these resources can be done through a &lt;strong&gt;hot swapping process&lt;/strong&gt;, following the guidelines included &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/aura-response/graphic-resources/#hot-swapping-of-static-resources&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;These processes can also be done using the &lt;a href=&#34;../../docs/developers-workspace/install-configure/aura-configuration-updater/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-updater&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Doing that, the updated static resources will be available in the period between one release and the consecutive one.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of this process over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 10 in table.&lt;/p&gt;
&lt;h2 id=&#34;10-review-indexes-definitions&#34;&gt;10. Review indexes definitions&lt;/h2&gt;
&lt;p&gt;Due to the continuous evolution of the Aura Platform, it is possible that the indexes definitions of the different components need to be reviewed and updated. This process can be done through a &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/aura-make-up&#34;&gt;&lt;em&gt;&lt;strong&gt;make-up&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; process.&lt;/p&gt;
&lt;p&gt;If required, the update of these indexes can be done through a &lt;strong&gt;hot swapping process&lt;/strong&gt;, uploading a new index definition file to Azure Blob Storage, in the container &lt;strong&gt;aura-configuration/AURA-VERSION&lt;/strong&gt; and then executing the &lt;em&gt;&lt;strong&gt;make-up&lt;/strong&gt;&lt;/em&gt; process of the corresponding component.&lt;/p&gt;
&lt;p&gt;Follow the guidelines &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/aura-make-up/#manage-mongodb-indexes&#34;&gt;Manage MongoDB Indexes&lt;/a&gt; to understand how to define a new index file.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of this process over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 11 in table.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/aura-nlp/nlp-system-configuration/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/aura-nlp/nlp-system-configuration/</guid>
      <description>
        
        
        &lt;h1 id=&#34;nlp-system-configuration&#34;&gt;NLP system configuration&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Internal configuration of Aura NLP system: operational configuration and configuration of NLP stages&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The configuration of the NLP system is organized in two different purposes, each of them supported by one configuration file:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;NLP operational configuration&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Internal configuration for NLP system&lt;/li&gt;
&lt;li&gt;Not modifiable by OBs&lt;/li&gt;
&lt;li&gt;Based on the file &lt;code&gt;bootstrap.cfg&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;For descriptive purposes, it is included below&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;NLP stages configuration&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Configuration of each stage composing the NLP pipeline&lt;/li&gt;
&lt;li&gt;Configurable when developing an NLP model for a specific use case&lt;/li&gt;
&lt;li&gt;Based on the file &lt;code&gt;nlp.json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The practical process for editing the &lt;code&gt;nlp.json&lt;/code&gt; pipeline when developing a use case is included in &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;Configure your NLP model&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;nlp-operational-configuration-bootstrapcfg&#34;&gt;NLP operational configuration: bootstrap.cfg&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;bootstrap.cfg&lt;/code&gt; file contains operational config sections for Aura NLP (ports, URIs, usernames, passwords, etc.).&lt;/p&gt;
&lt;p&gt;This file can be found in the path:&lt;br&gt;
&lt;em&gt;aura-nlpdata-[country_code]/config/etc/bootstrap.cfg&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; When developing a use case, NLP engineers or linguists &lt;strong&gt;should not modify this file&lt;/strong&gt;. If any modification is required, it must be approved by the Aura Platform Team.&lt;/p&gt;
&lt;p&gt;The file follows the general structure shown hereunder:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;working_directory&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;stages_folder&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;tmp&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;logging&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;handlers&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;loggers&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;root&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;country&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;langs&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;country_mapper&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;channels&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;channel_list&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;             &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;prefix&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;fb&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;whatsapp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;id&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;269d6-f052-4d2e-8f66-f59a9f31eff9&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;platform&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;platform&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;ES&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;azure_models&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;container_url&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;$&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;AZURE_NLP_MODELS_URL&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Moreover, it is required to include in this file other different sections belonging to specific stages or databases used.
The fields included in each section are described below.&lt;/p&gt;
&lt;h3 id=&#34;working-directory&#34;&gt;Working directory&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;working_directory&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;stages_folder&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;tmp&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The main fields are explained below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;stages_folder&lt;/code&gt;: Main directory for the different stages.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;logging&#34;&gt;Logging&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;logging&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;handlers&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;hdl1&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;class&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;logging.StreamHandler&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;formatter&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;console&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;level&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;INFO&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;loggers&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;nlp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;level&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;INFO&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;handlers&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;hdl1&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;filters&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;root&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;level&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;INFO&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;handlers&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;hdl1&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The main fields are explained below. However, for more details, developers are kindly requested to read the &lt;a href=&#34;https://docs.python.org/3.9/library/logging.config.html&#34;&gt;General Python logging documentation&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;handlers&lt;/code&gt;: This field configures a dictionary with different logging handlers. Each key is the name of a handler, and it is composed by the next parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;class&lt;/code&gt;: It is configured with Python logging handlers (See &lt;a href=&#34;https://docs.python.org/3.9/library/logging.handlers.html#module-logging.handlers&#34;&gt;Python documentation&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;formatter&lt;/code&gt;: It configures the format of logs. It must be filled with the labels &lt;code&gt;json&lt;/code&gt;, &lt;code&gt;string&lt;/code&gt;, &lt;code&gt;console&lt;/code&gt; or &lt;code&gt;simple&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;level&lt;/code&gt;: Level of the logging event. It must be filled with the labels &lt;code&gt;INFO&lt;/code&gt;, &lt;code&gt;ERROR&lt;/code&gt;, &lt;code&gt;WARN&lt;/code&gt; or &lt;code&gt;DEBUG&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;loggers&lt;/code&gt;: The corresponding value is a Python dictionary in which each key is a logger name and each value is a dictionary describing how to configure the corresponding Logger instance:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;level&lt;/code&gt; (optional parameter): Level of the logger.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;handlers&lt;/code&gt; (optional parameter): List of IDs of the handlers for this logger.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;filters&lt;/code&gt; (optional parameter): List of IDs of the filters for this logger.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;root&lt;/code&gt;: Configuration for the root logger.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;level&lt;/code&gt; (optional parameter): Level of the logger.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;handlers&lt;/code&gt; (optional parameter): List of IDs of the handlers for this logger.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;country-langs--channels--platform&#34;&gt;Country-langs / channels / platform&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;country&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;langs&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;country_mapper&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;es-es&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;country_name&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;Spain&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;language_name&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;Spanish&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;alpha2&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;es&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;alpha3&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;esp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;culture&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;es-es&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;channels&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;channel_list&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;prefix&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;movistar-plus&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;id&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;60f0ffda-e58a-4a96-aad9-d42be70b7b42&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;platform&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;platform&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;ES&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The main fields are explained below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;country_mapper&lt;/code&gt;: Mapper with a list of fields that specifies the allowed languages based on the ISO-639 code.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;channel_list&lt;/code&gt;: List of available channels. This field must contain three parameters for each channel. This information is already configured for every OB.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;prefix&lt;/code&gt;: Prefix of the channel.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;name&lt;/code&gt;: Name of the channel.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;id&lt;/code&gt;: ID of the channel.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;platform&lt;/code&gt;: Allowed platform.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;clu&#34;&gt;CLU&lt;/h3&gt;
&lt;p&gt;The &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/clu/&#34;&gt;CLU&lt;/a&gt; stage requires a specific operational configuration:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;CLU&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;base_url&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;https&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//${RESOURCE_NAME_CLU}.cognitiveservices.azure.com
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;base_url_api&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;https&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//${RESOURCE_NAME_CLU}.cognitiveservices.azure.com
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;api_version&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2023&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;04&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;01&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_retry_codes&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;429&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;500&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_max_attempts&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_sleep_time&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_time_out&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;60&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_time_out_recognizer&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;60&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_retry_codes_recognizer&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;429&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;500&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_max_attempts_recognizer&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_sleep_time_recognizer&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0.5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_raise_when_retry_limit_exceeded_recognizer&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The main fields are explained below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;base_url&lt;/code&gt;: Base URL for CLU service.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;base_url_api&lt;/code&gt;: Base URL for CLU API service.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;api_version&lt;/code&gt;: CLU API version.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_retry_codes&lt;/code&gt;: Response status code, if more requests than the limit have been sent.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_max_attemps&lt;/code&gt;: Maximum number of HTTP requests allowed.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_sleep_time&lt;/code&gt;: Timeout between HTTP requests.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_time_out&lt;/code&gt;: Time in seconds for raising a timeout exception when HTTP request does not return a response for
training API requests.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_time_out_recognizer&lt;/code&gt;: Time in seconds for raising a timeout exception when HTTP request does not return a
response for CLU recognizer.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_retry_codes_recognizer&lt;/code&gt;: Set of response status codes that will retry CLU recognizer request.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_max_attemps_recognizer&lt;/code&gt;: Maximum number of attempts that will be performed in CLU recognizer request when there
is an exception by timeout or connection error or a request code defined in &lt;code&gt;http_retry_codes_recognizer&lt;/code&gt; is set.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_sleep_time_recognizer&lt;/code&gt;: Time to wait between HTTP CLU recognizer requests.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_raise_when_retry_limit_exceeded_recognizer&lt;/code&gt;: Boolean (true/false) value to inform if an exception must be
re-raised when it happens and the maximum number of retries is exceeded.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;openai-embeddings&#34;&gt;OpenAI Embeddings&lt;/h3&gt;
&lt;p&gt;The &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/openai-embeddings/&#34;&gt;OpenAI Embeddings&lt;/a&gt; stage configuration allows to have different databases per each combination of language and channel.&lt;/p&gt;
&lt;p&gt;Some of these values will be configured by the installer aurak8s, such as &lt;code&gt;base_url_api&lt;/code&gt;.&lt;br&gt;
It is also necessary to enable its configuration in aurak8s installer, following the instructions in the &lt;a href=&#34;../../docs/deployment/installer/#enableopenai&#34;&gt;Enable OpenAI deployment&lt;/a&gt; section.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;openai_embeddings_recognizer&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;azure_token_base_url&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;https&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//login.microsoftonline.com
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;management_url&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;https&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//management.azure.com
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;management_api_version&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2023&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;05&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;01&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_retry_codes&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;429&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;500&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_max_attempts&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_sleep_time&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_time_out&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;30&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;base_url_api&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;https&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//test.openai.azure.com/openai
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;base_api_version&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2023&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;05&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;15&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_time_out_recognizer&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;20&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_retry_codes_recognizer&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;429&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;500&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_max_attempts_recognizer&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_sleep_time_recognizer&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_raise_when_retry_limit_exceeded_recognizer&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;sku_name&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Standard&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;sku_capacity&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;120&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;qdrant&lt;/span&gt;:&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;instance&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;url&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;http&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//hotname:6333
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;api_key&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;api&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;test&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;shard_number&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;replication_factor&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;chunk_size&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;30&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;exponential_sleep&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;max_exponential_sleep_time&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;120&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The associated fields are defined below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;azure_token_base_url&lt;/code&gt;: Base URL to get oauth token.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;management_url&lt;/code&gt;: Azure URL where the embedding OpenAI model will be deployed.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;management_api_version&lt;/code&gt;: Version of the embedding OpenAI model in Azure.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_retry_codes&lt;/code&gt;: Response status code to retry request.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_max_attemps&lt;/code&gt;: Maximum number of HTTP requests allowed.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_sleep_time&lt;/code&gt;: Timeout for each attempt when we retry any HTTP request.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_time_out&lt;/code&gt;: Time in seconds for raising a timeout exception when HTTP request does not return a response for OpenAI embeddings training API requests.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;base_url_api&lt;/code&gt;: Base URL for OpenAI embeddings service.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;base_api_version&lt;/code&gt;: OpenAI embeddings version.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_time_out_recognizer&lt;/code&gt;: Time in seconds for raising a timeout exception when HTTP request does not return a response for OpenAI embeddings recognizer.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_retry_codes_recognizer&lt;/code&gt;: Set of response status codes that will retry OpenAI embeddings recognizer request.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_max_attemps_recognizer&lt;/code&gt;: Maximum number of attempts that will be performed in OpenAI embeddings recognizer request when there is an exception by timeout or connection error or a request code defined in &lt;code&gt;http_retry_codes_recognizer&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_sleep_time_recognizer&lt;/code&gt;: Time to wait between HTTP OpenAI embeddings recognizer requests.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_raise_when_retry_limit_exceeded_recognizer&lt;/code&gt;: Boolean (true/false) value to inform if an exception must be re-raised when it happens and the maximum number of retries is exceeded.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sku_name&lt;/code&gt;: Name of the resource model representing the SKU.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sku_capacity&lt;/code&gt;: Capacity of Tokens per Minute Rate Limit (Thousands).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;url&lt;/code&gt;: URL for Qdrant service.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;api_key&lt;/code&gt;: Key needed to connect with Qdrant service.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;shard_number&lt;/code&gt;: Number of shards for Qdrant service.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;replication_factor&lt;/code&gt;: Replication factor for Qdrant service.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;chunk_size&lt;/code&gt;: Number of embeddings to be sent in each request to the Qdrant service.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;exponential_sleep&lt;/code&gt;: Boolean (true/false) value to inform if the exponential sleep is enabled. By default, it is False.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;max_exponential_sleep_time&lt;/code&gt;: Maximum time in seconds for the exponential sleep. By default, it is 120 seconds.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;base_url_api&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;https&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//internal.com/
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_retry_codes&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;429&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;500&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_max_attempts&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_sleep_time&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_time_out&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;30&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;http_retry_codes&lt;/code&gt;: Response status code to retry request.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_max_attempts&lt;/code&gt;: Maximum number of HTTP requests allowed.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_sleep_time&lt;/code&gt;: Timeout for each attempt when we retry any HTTP request.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;azure-models&#34;&gt;Azure models&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;azure_models&lt;/code&gt; configuration is detailed below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;azure_models&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;container_url&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;$&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;AZURE_NLP_MODELS_URL&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;container_url&lt;/code&gt;: URL for the Azure NLP models container.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;embeddings-domain-classifier&#34;&gt;Embeddings Domain Classifier&lt;/h3&gt;
&lt;p&gt;The &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/embeddings-classifier/&#34;&gt;Embeddings Domain Classifier&lt;/a&gt; stage configuration allows the use of different databases per each combination of language and channel.&lt;/p&gt;
&lt;p&gt;Some of these values will be configured by the installer aurak8s, such as &lt;code&gt;base_url_api&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;It is also necessary to enable its configuration in aurak8s installer, following the instructions in the &lt;a href=&#34;../../docs/deployment/installer/#enableopenai&#34;&gt;Enable OpenAI deployment&lt;/a&gt; section.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;openai_embeddings_domain_classifier&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;azure_token_base_url&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;https&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//login.microsoftonline.com
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;management_url&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;https&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//management.azure.com
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;management_api_version&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2023&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;05&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;01&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_retry_codes&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;429&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;500&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_max_attempts&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_sleep_time&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_time_out&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;30&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;base_url_api&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;https&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//test.openai.azure.com/openai
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;base_api_version&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2023&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;05&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;15&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_time_out_domain_classifier&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;20&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_retry_codes_domain_classifier&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;429&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;500&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_max_attempts_domain_classifier&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_sleep_time_domain_classifier&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;http_raise_when_retry_limit_exceeded_domain_classifier&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;sku_name&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Standard&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;sku_capacity&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;120&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;qdrant&lt;/span&gt;:&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;instance&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;url&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;http&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;//hotname:6333
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;api_key&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;api&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;test&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;shard_number&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;replication_factor&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;chunk_size&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;30&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;exponential_sleep&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;max_exponential_sleep_time&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;120&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The associated fields are defined below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;azure_token_base_url&lt;/code&gt;: Base URL to get oauth token.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;management_url&lt;/code&gt;: Azure URL where the embedding OpenAI model will be deployed.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;management_api_version&lt;/code&gt;: Version of the embedding OpenAI model in Azure.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_retry_codes&lt;/code&gt;: Response status code to retry request.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_max_attemps&lt;/code&gt;: Maximum number of HTTP requests allowed.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_sleep_time&lt;/code&gt;: Timeout for each attempt when we retry any HTTP request.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_time_out&lt;/code&gt;: Time in seconds for raising a timeout exception when HTTP request does not return a response for OpenAI embeddings training API requests.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;base_url_api&lt;/code&gt;: Base URL for OpenAI embeddings service.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;base_api_version&lt;/code&gt;: OpenAI embeddings version.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_time_out_domain_classifier&lt;/code&gt;: Time in seconds for raising a timeout exception when HTTP request does not return a response for embeddings domain classifier.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_retry_codes_domain_classifier&lt;/code&gt;: Set of response status codes that will retry embeddings domain classifier request.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_max_attempts_domain_classifier&lt;/code&gt;: Maximum number of attempts that will be performed in embeddings domain classifier request when there is an exception by timeout or connection error or a request code defined in &lt;code&gt;http_retry_codes_domain_classifier&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_sleep_time_domain_classifier&lt;/code&gt;: Time to wait between HTTP embeddings domain classifier requests.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;http_raise_when_retry_limit_exceeded_domain_classifier&lt;/code&gt;: Boolean (true/false) value to inform if an exception must be re-raised when it happens and the maximum number of retries is exceeded.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sku_name&lt;/code&gt;: Name of the resource model representing the SKU.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sku_capacity&lt;/code&gt;: Capacity of Tokens per Minute Rate Limit (Thousands).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;url&lt;/code&gt;: URL for Qdrant service.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;api_key&lt;/code&gt;: Key needed to connect with Qdrant service.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;shard_number&lt;/code&gt;: Number of shards for Qdrant service.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;replication_factor&lt;/code&gt;: Replication factor for Qdrant service.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;chunk_size&lt;/code&gt;: Number of embeddings to be sent in each request to the Qdrant service.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;exponential_sleep&lt;/code&gt;: Boolean (true/false) value to inform if the exponential sleep is enabled. By default, it is False.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;max_exponential_sleep_time&lt;/code&gt;: Maximum time in seconds for the exponential sleep. By default, it is 120 seconds.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-normalization-pipelines/naeba/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-normalization-pipelines/naeba/</guid>
      <description>
        
        
        &lt;h1 id=&#34;naeba&#34;&gt;Naeba&lt;/h1&gt;
&lt;h2 id=&#34;description-and-stages&#34;&gt;Description and stages&lt;/h2&gt;
&lt;p&gt;Naeba is a pipeline used for the normalization of the user&amp;rsquo;s utterance through the execution of the following &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/nlp-normalizers/&#34;&gt;normalizers&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PunctuationNormalizer&lt;/li&gt;
&lt;li&gt;SplitPunctNormalizer&lt;/li&gt;
&lt;li&gt;SpaceNormalizer&lt;/li&gt;
&lt;li&gt;CurrencyNormalizer&lt;/li&gt;
&lt;li&gt;LowercaseNormalizer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/naeba-pipeline.png&#34; alt=&#34;Naeba normalization pipeline&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;This stage requires the following configuration in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;&lt;code&gt;nlp.json&lt;/code&gt; configuration file&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;For the specific language and channel, in the &lt;code&gt;nlp&lt;/code&gt; field of this JSON file, the key &lt;code&gt;normalizer_pipeline_class&lt;/code&gt; must be filled in with the value:
&lt;code&gt;auracog_pipelines.pipelines.normalization.naeba.NaebaPipeline&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;es-es&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;mp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;nlp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;normalizer_pipeline_class&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.normalization.naeba.NaebaPipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/</guid>
      <description>
        
        
        &lt;h1 id=&#34;components-for-nlp-pipelines&#34;&gt;Components for NLP pipelines&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Current catalog of &lt;strong&gt;stages&lt;/strong&gt;, &lt;strong&gt;connectors&lt;/strong&gt; and &lt;strong&gt;normalization pipelines&lt;/strong&gt; existing in the Aura Platform release that can be used to compose the NLP pipeline&lt;/p&gt;

&lt;/div&gt;

&lt;p&gt;Aura NLP pipelines are the basis for the generation of an understanding model.&lt;/p&gt;
&lt;p&gt;Linguists must design their  pipeline through the most appropriate combination of stages for the recognition of intents and entities in the use case and join these stages through different types of connectors in order to set a specific behavior in the pipeline flow. They can also use nested normalization pipelines in order to homogenize the input request.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/&#34;&gt;Catalog of NLP stages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages-connectors/&#34;&gt;Catalog of NLP connectors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-normalization-pipelines/&#34;&gt;Catalog of NLP normalization pipelines&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-normalization-pipelines/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-normalization-pipelines/</guid>
      <description>
        
        
        &lt;h1 id=&#34;catalog-of-nlp-normalization-pipelines&#34;&gt;Catalog of NLP normalization pipelines&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Catalog of NLP normalization pipelines to compose the NLP pipeline&lt;/p&gt;

&lt;/div&gt;

&lt;p&gt;Aura Platform Team has implemented a set of &lt;strong&gt;normalization pipelines&lt;/strong&gt; in order to be nested in the NLP model pipeline. They are built joining different &lt;strong&gt;normalization stages (normalizers)&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;In every use case, it is necessary to choose the most adequate normalization pipeline.&lt;/p&gt;
&lt;p&gt;For example, if numbers are expected to be expressed with text characters (i.e., &amp;ldquo;one&amp;rdquo;), it is useful to include the normalization stage CardinalityNormalizer to turn them into digits (&amp;ldquo;1&amp;rdquo;).&lt;/p&gt;
&lt;p&gt;Another example refers to the fact that written requests are required. In this situation, it can be important to include a normalization stage that reduces transcription mistakes.&lt;/p&gt;
&lt;p&gt;Select your intended normalization pipeline in the left menu. Each of them is characterized by its description and configuration.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Section&lt;/th&gt;
&lt;th&gt;Content&lt;/th&gt;
&lt;th&gt;Role in the NLP process&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Identification and objective of the stage in the recognition process&lt;/td&gt;
&lt;td&gt;Descriptive purpose of the stage in the recognition process&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Configuration&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Required configuration for each NLP stage&lt;/td&gt;
&lt;td&gt;Configuration of each stage of the NLP model&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/auxiliary-processes/create-pull-request/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/auxiliary-processes/create-pull-request/</guid>
      <description>
        
        
        &lt;h1 id=&#34;best-practices-for-the-generation-of-a-pull-request&#34;&gt;Best practices for the generation of a Pull Request&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;This process is required once the NLP model is fully developed and tested in local environment and it&amp;rsquo;s time to create a Pull Request to the corresponding release branch : &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#7-pull-request-to-release-branch&#34;&gt;Pull Request to release branch&lt;/a&gt;.&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;best-practices&#34;&gt;Best practices&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;When creating a Pull Request, include the NLP Global Team as reviewers of the process and, likewise, notify the APE Team.&lt;/li&gt;
&lt;li&gt;It is mandatory to create reduced PRs (per use case, per bug, etc.) in order to speed up the validation process.&lt;/li&gt;
&lt;li&gt;Do not modify configuration files during the Pull Request, excepting in case the pipeline has been changed or if any configuration adjustment is required for the system&amp;rsquo;s proper performance. If configuration files have been modified locally for testing purposes, get sure that they are not uploaded in the PR in order to avoid conflicts.&lt;/li&gt;
&lt;li&gt;It is recommended to specify different tasks in the PR, so the review progress can be marked:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/pull-request.png&#34; alt=&#34;Pull Request content&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It is recommended to make a backup for those PRs modifying files that may conflict with other ones, or for large Pull Requests.&lt;/li&gt;
&lt;li&gt;If the use case is going to be available in different channels, check that the content and order of the training files is the same.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/tools/abacus-guide/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/tools/abacus-guide/</guid>
      <description>
        
        
        &lt;h1 id=&#34;abacus-100-user-guide&#34;&gt;Abacus 1.0.0. user guide&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Learn how to use Abacus, the tool for the training, testing and certification of the NLP model in Aura through an agile and efficient process&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;whats-abacus&#34;&gt;What&amp;rsquo;s Abacus?&lt;/h2&gt;
&lt;p&gt;Abacus is a web tool that eases the management of understanding models in Aura. Using Abacus, you can get a higher efficiency and autonomy, leading to a more agile certification of your NLP trainings.&lt;/p&gt;
&lt;p&gt;Linguists or NLP experts can use Abacus to train, test and certify a full NLP understanding model in a specific channel and verify that Aura is able to understand properly.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/abacus-intro.png&#34; alt=&#34;Abacus&#34;&gt;&lt;/p&gt;
&lt;p&gt;With Abacus, you can certify your NLP model in four steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Upload my NLP training&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Train &amp;amp; test the full understanding model&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Live mode: Iterate and test&lt;/strong&gt;&lt;br&gt;
Check your accuracy and iterate your model&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Publish your model&lt;/strong&gt;&lt;br&gt;
Publish your branch in Github transparently&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;limitations-of-abacus-version-100&#34;&gt;Limitations of Abacus version 1.0.0.&lt;/h2&gt;
&lt;h2 id=&#34;id1&#34;&gt;Abacus journey map&lt;/h2&gt;
&lt;p&gt;The following image shows the main steps in your process for using Abacus. Access the guidelines for each step in the following documents:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/abacus-guide/abacus-setup/&#34;&gt;Abacus initial set-up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/abacus-guide/abacus-use/&#34;&gt;Abacus operation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/abacus-journey.png&#34; alt=&#34;Abacus journey&#34;&gt;&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/aura-nlp/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/aura-nlp/</guid>
      <description>
        
        
        &lt;h1 id=&#34;aura-nlp&#34;&gt;Aura NLP&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt; is the component in charge of processing, analyzing and understanding human natural language. Discover throughout these documents key descriptive documentation regarding this component.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-regular fa-bullseye fa-xl&#34; style=&#34;color: #3a13fb;&#34;&gt;&lt;/i&gt; Shared component between &lt;em&gt;&lt;strong&gt;Aura Virtual Assistant&lt;/strong&gt;&lt;/em&gt; and &lt;em&gt;&lt;strong&gt;ATRIA&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Related documents&lt;/strong&gt;&lt;br&gt;
&lt;i class=&#34;fa-regular fa-file-lines fa-xl&#34; style=&#34;color: #0d5de7;&#34;&gt;&lt;/i&gt; &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/&#34;&gt;Use cases development over Aura NLP&lt;/a&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;what-is-aura-nlp&#34;&gt;What is Aura NLP?&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt; (Natural Language Processing) is the module of Aura Cognitive Services in charge of processing and understanding human natural language in simplified use cases.&lt;/p&gt;
&lt;p&gt;Aura&amp;rsquo;s interaction with users is based on the &lt;a href=&#34;../../docs/components/aura-nlp/nlp-concepts/#intent&#34;&gt;&lt;strong&gt;intent&lt;/strong&gt;&lt;/a&gt; &amp;amp; &lt;a href=&#34;../../docs/components/aura-nlp/nlp-concepts/#entity&#34;&gt;&lt;strong&gt;entity&lt;/strong&gt;&lt;/a&gt; model: a user&amp;rsquo;s request expressed in natural language is understood by Aura in terms of identifying the user&amp;rsquo;s intent and the associated entities.&lt;/p&gt;
&lt;p&gt;An NLP model contains three &lt;a href=&#34;../../docs/components/aura-nlp/nlp-concepts/#aura-nlp-basic-components-stages-connectors-and-pipelines&#34;&gt;basic components&lt;/a&gt;: &lt;strong&gt;stages&lt;/strong&gt;, &lt;strong&gt;connectors&lt;/strong&gt; and &lt;strong&gt;pipelines&lt;/strong&gt;. Stages provide different methods for the recognition of intents and entities in the user&amp;rsquo;s utterance. They are linked through different types of connectors composing an &lt;strong&gt;NLP pipeline&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;When developing a use case, linguists or NLP experts must build up the NLP model and &lt;strong&gt;train&lt;/strong&gt; it, that is, teach Aura to understand. Afterwards, the model is tested through an ongoing and cyclical process until its accuracy is good enough in terms of recognition of the use case intent and entities.&lt;/p&gt;
&lt;p&gt;Throughout this section, you can access to detailed information, both descriptive and practical, regarding Aura NLP:&lt;/p&gt;
&lt;p&gt;&amp;#x1f4c4; &lt;a href=&#34;../../docs/components/aura-nlp/nlp-concepts/&#34;&gt;Aura NLP basic concepts and components&lt;/a&gt;. Key concepts that must be known by linguists in order to manage Aura NLP.&lt;br&gt;
&amp;#x1f4c4; &lt;a href=&#34;../../docs/components/aura-nlp/nlp-system-configuration/&#34;&gt;Configuration of the NLP system&lt;/a&gt;. Description of NLP operational configuration (internal) and introduction to the configuration of NLP stages.&lt;br&gt;
&amp;#x1f4c4; &lt;a href=&#34;../../docs/components/aura-nlp/api-definition/&#34;&gt;API definition&lt;/a&gt;&lt;br&gt;
&amp;#x1f4c4; Moreover, access our practical guidelines for NLP experts and linguists: &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/&#34;&gt;Train Aura to understand: Use cases development over Aura NLP&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;overview-of-intent-and-entities-recognition&#34;&gt;Overview of intent and entities recognition&lt;/h2&gt;
&lt;p&gt;Aura&amp;rsquo;s conversational process with the user is composed of three overall stages: the user makes a request to Aura; Aura recognizes the user&amp;rsquo;s intent and associated entities; Aura provides the user with the requested answer or service.&lt;/p&gt;
&lt;p&gt;Two are the main actors in the process: while &lt;a href=&#34;../../docs/components/aura-bot-platform/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; is the component in charge of handling the conversational flow with the user, Aura NLP is responsible for the understanding process, which is schematically shown below.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Aura user asks for a service/request (utterance) through a specific channel.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt; receives the request and handles it. For its understanding, &lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt; summons &lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt; recognizes the intents and associated entities in the user request and sends the information back to &lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/recognition-process.png&#34; alt=&#34;Recognition of intents and entities&#34;&gt;&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/intro-catalogs/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/intro-catalogs/</guid>
      <description>
        
        
        &lt;h1 id=&#34;generation-of-aura-nlp-catalogs&#34;&gt;Generation of Aura NLP catalogs&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Entities catalogs are the input for the Aura NLP dictionaries, used to recognize entities from the users&amp;rsquo; utterances.&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Catalogs in Aura are knowledge bases of &lt;a href=&#34;../../docs/components/aura-nlp/nlp-concepts/#entity&#34;&gt;entities&lt;/a&gt;. These catalogs are the input for the generation of &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/&#34;&gt;Aura NLP dictionaries&lt;/a&gt; to be included in an NLP model.&lt;/p&gt;
&lt;p&gt;Discover in the current documents:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#types-of-catalogs-in-aura-nlp&#34;&gt;Existing types of entities catalogs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#generation&#34;&gt;Guidelines for the catalogs generation or update&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;types-of-catalogs-in-aura-nlp&#34;&gt;Types of catalogs in Aura NLP&lt;/h2&gt;
&lt;p&gt;There are two types of catalogs, at least one of them is required:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#automatic-catalogs&#34;&gt;Automatic catalogs&lt;/a&gt;: data from Kernel URM&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#manual-catalogs&#34;&gt;Manual catalogs&lt;/a&gt;: data in &lt;em&gt;catalogs/&lt;/em&gt; folder&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;automatic-catalogs&#34;&gt;Automatic catalogs&lt;/h3&gt;
&lt;p&gt;Telefonica Kernel URM is a database that includes data from different key content such as film title, documental title, TV series title, TV shows, actors&amp;rsquo; name, directors&amp;rsquo; name, etc.&lt;/p&gt;
&lt;p&gt;Aura can connect to the URM and automatically download the URM content when the NLP dictionaries (&lt;code&gt;sdict&lt;/code&gt; files) are generated. You can indicate in the configuration whether to take data from Azure or AWS.&lt;/p&gt;
&lt;p&gt;Data that can be downloaded from the URM correspond to the section &lt;code&gt;urm_type_entities&lt;/code&gt; in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;nlp.json configuration file&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;audiovisual_director&lt;/li&gt;
&lt;li&gt;audiovisual_actor&lt;/li&gt;
&lt;li&gt;audiovisual_documental_title&lt;/li&gt;
&lt;li&gt;audiovisual_film_title&lt;/li&gt;
&lt;li&gt;audiovisual_tvshow_title&lt;/li&gt;
&lt;li&gt;audiovisual_tvseries_title&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The URM database should be continuously updated, in order to show the most recent content and scheduled programs (for instance, new films or series in Movistar + catalog).&lt;/p&gt;
&lt;p&gt;As NLP dictionaries automatically include the data from the URM database, two situations are found that can lead to the generation of manual catalogs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The URM must be completed with &lt;strong&gt;the very latest content&lt;/strong&gt; that can be offered to the user and must be recognized by Aura. In case a relevant entity is missing, the catalog must be updated manually.&lt;/li&gt;
&lt;li&gt;Linguists can detect &lt;strong&gt;mistakes in URM data&lt;/strong&gt;: wrong formats, typos, missing aliases, etc. To overcome this problem, the manual updating of catalogs is required.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;manual-catalogs&#34;&gt;Manual catalogs&lt;/h3&gt;
&lt;p&gt;Catalogs can be updated manually in the &lt;em&gt;catalogs/&lt;/em&gt; folder, included in Aura NLP data directory:   &lt;em&gt;aura-nlpdata-[country_code]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This folder contains, categorized by language and channel, all the files required for the manual updating of entities.&lt;/p&gt;
&lt;p&gt;The final goal is to complete the dictionaries with entities that should be recognized by the NLP system (when a NER stage is used) and to complete and/or refine data from URM (in case this source is used).&lt;/p&gt;
&lt;p&gt;The detailed process to update manual catalogs is included in &lt;a href=&#34;#generation&#34;&gt;Guidelines for the generation or update of entities catalogs&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/catalogs-folder.png&#34; alt=&#34;Catalogs folder&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;generation&#34;&gt;Guidelines for the generation or update of manual catalogs&lt;/h2&gt;
&lt;p&gt;As explained before, apart from automatic catalogs, that provides data from Kernel URM database, manual catalogs can be also generated to complete the automatic ones with new entities or correct mistakes.&lt;/p&gt;
&lt;p&gt;The following sections include the orderly guidelines for the generation or update of manual entities catalogs.&lt;/p&gt;
&lt;h3 id=&#34;1-identify-content&#34;&gt;1. Identify content&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Identify content to be updated in dictionaries: very latest content that must be included in dictionaries and recognized by Aura (for instance, new films or series in Movistar+ catalog).&lt;/li&gt;
&lt;li&gt;Check if this content (entities) are included in the URM database:
&lt;ul&gt;
&lt;li&gt;These specific entities are missing&lt;/li&gt;
&lt;li&gt;Any mistake is detected in URM data regarding these entities (wrong formats, typos, missing aliases, etc.)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;2-access-the-catalogs-folder-and-edit-it&#34;&gt;2. Access the catalogs/ folder and edit it&lt;/h3&gt;
&lt;p&gt;Access the &lt;em&gt;catalogs/&lt;/em&gt; folder in:
&lt;em&gt;aura-nlpdata-[country_code]/catalogs&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/tmp-catalogs-folder.png&#34; alt=&#34;Catalogs/ folder&#34;&gt;&lt;/p&gt;
&lt;p&gt;Now, you should edit the different files, each one with its corresponding data as shown in the following sections.&lt;/p&gt;
&lt;h4 id=&#34;21-auth-folder&#34;&gt;2.1. auth/ folder&lt;/h4&gt;
&lt;p&gt;Working directory:
&lt;em&gt;aura-nlpdata-[country_code]/catalogs/[language]/[channel]/auth/&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;auth/&lt;/em&gt; folder contains multiple JSON files including &lt;strong&gt;prioritized content&lt;/strong&gt; that are added to the &lt;code&gt;sdict_item.json&lt;/code&gt; and &lt;code&gt;sdict_aliases.json&lt;/code&gt; dictionaries.&lt;/p&gt;
&lt;p&gt;Follow these steps to edit the &lt;em&gt;auth/&lt;/em&gt; folder:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Organize data into different JSON files by entity types (for example, one file for time entities and another for tv entities).&lt;/li&gt;
&lt;li&gt;It is mandatory that files names have the format:
&lt;code&gt;&amp;lt;file_name&amp;gt;.ent.json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Add a file named &lt;code&gt;most_relevant_content.ent.json&lt;/code&gt; for those key entities that must be recognized with 100% accuracy related to these fields:
&lt;ul&gt;
&lt;li&gt;Film title &amp;gt; &lt;code&gt;ent.audiovisual_film_title&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Documental title &amp;gt; &lt;code&gt;ent.audiovisual_documental_title&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;TV series title &amp;gt; &lt;code&gt;ent.audiovisual_tvseries_title&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;TV shows &amp;gt; &lt;code&gt;ent.audiovisual_tvshows_title&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Add a JSON file for organizing any other entity type or topic (for example, &lt;code&gt;movistar+_sports.ent.json&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Edit each JSON file:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;metadata&lt;/code&gt; field should include the following fields:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;format&lt;/code&gt;: specification of format used in file.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;name&lt;/code&gt;: representative name to identify the content of the file.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;version&lt;/code&gt;: this should be updated when changing the file.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Keys: entity types&lt;/li&gt;
&lt;li&gt;Values: list of entities&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If the item is a string, it is considered a canon and deleted from the rest of the entity types where it is found.&lt;/li&gt;
&lt;li&gt;If it is a list, the first element of the list is considered a canon and the rest of values are aliases for this canon. The canon is deleted from the rest of the entity types where it is found and aliases are removed from the &lt;code&gt;sdict_aliases.json&lt;/code&gt; dictionary.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;metadata&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;format&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;tef:dict:entity&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;AURA Movistar XXX&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;version&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;1.0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.audiovisual_sports_team&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Real Madrid&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;el Real Madrid|comment&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;##el Real Madrid&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Madrid&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Sevilla|comment&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;el Sevilla&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Sevilla club de fútbol&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Sevilla futbol club&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Best practices&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Comments can be added, since the script ignores them:
&lt;ol&gt;
&lt;li&gt;Adding &amp;ldquo;##&amp;rdquo; before a value. (&amp;quot;## Spanish Football Teams&amp;quot;)&lt;/li&gt;
&lt;li&gt;Adding &amp;ldquo;|&amp;rdquo; in a value or entity type, the text after this symbol is not considered as part of the entity (&amp;ldquo;el Real Madrid|comment&amp;rdquo;)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Maintain correct indentation to ease catalogs reading.&lt;/li&gt;
&lt;li&gt;Declared entities, canons and aliases should be ordered alphabetically.&lt;/li&gt;
&lt;li&gt;Capitalize: first letter for proper nouns, titles, teams, companies, etc. (&amp;ldquo;The Wedding Date&amp;rdquo;); acronyms (&amp;ldquo;Chelsea FC&amp;rdquo;).&lt;/li&gt;
&lt;li&gt;Write punctuation correctly within values. For example, &amp;ldquo;Chelsea F C&amp;rdquo; could be written also as &amp;ldquo;Chelsea F.C.&amp;rdquo;. Do not include both forms because it could cause a duplicate due to normalization process.&lt;/li&gt;
&lt;li&gt;If the language includes words with diacritical marks, write values correctly.&lt;/li&gt;
&lt;li&gt;Check that the canon is the expected in case the API expects a specific one.&lt;/li&gt;
&lt;li&gt;Compare canon/alias included in catalogs to avoid overlaps and conflicts.&lt;/li&gt;
&lt;li&gt;Avoid duplicates.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;22-add-folder&#34;&gt;2.2. add/ folder&lt;/h4&gt;
&lt;p&gt;Working directory:
&lt;em&gt;aura-nlpdata-[country_code]/catalogs/[language]/[channel]/add/&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;add/&lt;/em&gt; folder contains multiple JSON files including &lt;strong&gt;additional or non-prioritized content&lt;/strong&gt; to be added to the &lt;code&gt;sdict_item.json&lt;/code&gt; and &lt;code&gt;sdict_aliases.json&lt;/code&gt; dictionaries. It is used to complement information in dictionaries.
In case there is non-prioritized content, this folder will be empty.&lt;/p&gt;
&lt;p&gt;Follow these steps to edit the &lt;em&gt;add/&lt;/em&gt; folder:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Organize data into different JSON files by entity types (for example, one file for time entities and another for tv entities).&lt;/li&gt;
&lt;li&gt;It is mandatory that files names have the format:
&lt;code&gt;&amp;lt;file_name&amp;gt;.ent.json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Edit each JSON file:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;metadata&lt;/code&gt; field should include the following fields:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;format&lt;/code&gt;: specification of format used in file.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;name&lt;/code&gt;: representative name to identify the content of the file.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;version&lt;/code&gt;: this should be updated when changing the file.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Keys: entity types&lt;/li&gt;
&lt;li&gt;Values: list of entities&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If the item is a string, it is considered a canon and added to  &lt;code&gt;sdict_items&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;If it is a list:
&lt;ol&gt;
&lt;li&gt;The first element of the list is considered a canon and added to &lt;code&gt;sdict_items.json&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The rest of values are aliases and are included in &lt;code&gt;sdict_aliases&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;metadata&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;format&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;tef:dict:entity&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;AURA Movistar XXX&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;version&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;1.0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.audiovisual_sports|comment&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;GOLF&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Golf&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;tennis|comment&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;##tenis&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;tenis&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ten&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Best practices&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Best practices for the &lt;a href=&#34;#21-auth-folder&#34;&gt;auth/ folder&lt;/a&gt; also apply to add/ folder.&lt;/p&gt;
&lt;h4 id=&#34;23-precedencejson-file&#34;&gt;2.3. precedence.json file&lt;/h4&gt;
&lt;p&gt;Working directory:
&lt;em&gt;aura-nlpdata-[country_code]/catalogs/[language]/[channel]/precedence.json&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;precedence.json&lt;/code&gt; file establishes the priority of an entity type over the rest in the &lt;code&gt;sdict_items.json&lt;/code&gt; dictionary.&lt;/p&gt;
&lt;p&gt;Follow these steps to edit the &lt;code&gt;precedence.json&lt;/code&gt; file:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Edit the file including:
&lt;ul&gt;
&lt;li&gt;Keys: entity type&lt;/li&gt;
&lt;li&gt;Values: list of entity types over which the key prevails.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If the entity &amp;ldquo;Real Madrid&amp;rdquo; is present in both &lt;code&gt;ent.audiovisual_documental_title&lt;/code&gt; and &lt;code&gt;ent.audiovisual_sports_team&lt;/code&gt;, and we want soccer teams to have priority over documentaries, it has to be defined in precedence.json like this:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.audiovisual_sports_team&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.audiovisual_documental_title&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Doing this way, &amp;ldquo;Real Madrid&amp;rdquo; of the entity type ent.audiovisual_documental_title would be eliminated.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Best practices&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Entities declared should be ordered alphabetically.&lt;/li&gt;
&lt;li&gt;Be careful to maintain the required JSON format.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;24-skipjson-file&#34;&gt;2.4. skip.json file&lt;/h4&gt;
&lt;p&gt;Working directory:
&lt;em&gt;aura-nlpdata-[country_code]/catalogs/[language]/[channel]/skip.json&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;skip.json&lt;/code&gt; file defines conflicting items that must be eliminated from &lt;code&gt;sdict_items.json&lt;/code&gt; and &lt;code&gt;sdict_aliases.json&lt;/code&gt; dictionaries.&lt;/p&gt;
&lt;p&gt;Follow these steps to edit the &lt;code&gt;skip.json&lt;/code&gt; file:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;skip_items_in_entity&lt;/code&gt;: dictionary, where:
&lt;ul&gt;
&lt;li&gt;Keys: entity type&lt;/li&gt;
&lt;li&gt;Values: list with entities to be deleted from that type of entity. Values defined here affect just canons.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;skip_items_in_all_entities&lt;/code&gt;: list of values which will be removed from all types of entities where included. It affects to canons and aliases.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;skip_items_in_entity&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.audiovisual_film_title&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;            
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;telefono&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;the movie&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;la resistencia&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.audiovisual_tvseries_title&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;            
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;cine&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;director&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;pelicula&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;skip_items_in_all_entities&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;            
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;El peliculon&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;dummy alias&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;dummy del&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Best practices&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Entities declared should be ordered alphabetically.&lt;/li&gt;
&lt;li&gt;Values inside entities should be ordered alphabetically.&lt;/li&gt;
&lt;li&gt;Be careful to maintain the required JSON format.&lt;/li&gt;
&lt;li&gt;Include values as they are found in dictionaries, respecting capitalization, diacritical marks, etc. The system deletes not only these values but also their normalized version.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/grammars/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/grammars/</guid>
      <description>
        
        
        &lt;h1 id=&#34;grammars-stage&#34;&gt;Grammars stage&lt;/h1&gt;
&lt;h2 id=&#34;description-of-grammars&#34;&gt;Description of Grammars&lt;/h2&gt;
&lt;p&gt;Grammars provide an exact and lightweight utterance&amp;rsquo;s recognition method that offers a &lt;strong&gt;deterministic approach&lt;/strong&gt;: specific utterances from the users are recognized if they are included in Grammars.&lt;/p&gt;
&lt;p&gt;This approach makes Grammars interesting for Aura NLP, due to the existence of specific utterances from Aura users that must be recognized by Aura (such as common utterances from users or difficult ones that are hardly recognized by an intent recognition stage such as CLU).&lt;/p&gt;
&lt;p&gt;Find detailed information regarding Grammars in &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/&#34;&gt;Use of Grammars in Aura NLP model&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/&#34;&gt;Introduction to Grammars&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/grammars-generation/&#34;&gt;Guidelines for the generation and testing of Grammars in Unitex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/utterances-several-entities/&#34;&gt;Recognition of utterances with several entities in Grammars&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;path&#34;&gt;Path&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;grammar_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;pygrape_grammar_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PygrapeGrammarWrapper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;files&#34;&gt;Files&lt;/h2&gt;
&lt;p&gt;This stage needs the following training files for each language and channel:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dico: &lt;code&gt;.dic&lt;/code&gt; files. These files include standardized content and must not be modified.&lt;/li&gt;
&lt;li&gt;Grammar: &lt;code&gt;.grf&lt;/code&gt; files, generated by Unitex.&lt;/li&gt;
&lt;li&gt;[&lt;code&gt;entity_extraction_mapper.json&lt;/code&gt;]&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition, if &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/#types&#34;&gt;&lt;strong&gt;local grammars&lt;/strong&gt;&lt;/a&gt; are used, you must generate two additional files in order to evaluate the compatibility between the global and the local grammars. These two files are placed in the &lt;code&gt;test_grammar&lt;/code&gt; folder:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;commons/testset.json&lt;/code&gt;. This file is used for checking that both grammars, global and local, recognize the same test set statements. You must fill in the test set with key statements, as shown in the following example:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;call 600586375&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;turn on the light&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;disjoints/testset.json&lt;/code&gt;. This file is used for checking that the test set statements are only recognized by the global grammar (if the statements do not apply to the local grammar scope). You must fill in the test set with key statements, as shown in the following example:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;watch coco on tv&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;This stage requires one of the following configurations per channel in the &lt;code&gt;nlp.json&lt;/code&gt; file:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Use this configuration to define a single intent prefix with a pre-defined string.
In this example, the string &lt;code&gt;intent&lt;/code&gt; is defined as the intent prefix in the &lt;code&gt;mp&lt;/code&gt; channel.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;es-es&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;mp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;grammar&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent_prefix&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use this configuration to define a list of possible intent prefixes for the intent name.
The items passed inside the list &lt;code&gt;intent_matches&lt;/code&gt; can be explicit strings or regular expressions written in string
format that the intent name must start with, according to the pattern passed in the regex. In order to define a regex
for the intent prefix, start the string with the keyword &lt;code&gt;regex:&lt;/code&gt; and then add the regular expression.&lt;br&gt;
In this example, the strings &lt;code&gt;tef.int.&lt;/code&gt; or &lt;code&gt;intent.&lt;/code&gt; are the two possible intent prefixes that the intent name must
start with in the &lt;code&gt;mp&lt;/code&gt; channel.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;es-es&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;mp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;grammar&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent_matches&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;regex:^tef\\.int\\.[a-z]+$&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;There are two mutually exclusive allowed parameters per channel in the configuration file. They are defined below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;intent_prefix&lt;/code&gt;: prefix to be added to the intent determined by the grammar.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;intent_matches&lt;/code&gt;: a list of strings with possible prefixes to be added to the intent determined by the grammar.
The strings passed can be explicit strings or regex written in string format. If a regex is passed, it must contain
the keyword &lt;code&gt;regex:&lt;/code&gt; at the beginning of the string to be processed as a regular expression.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-normalization-pipelines/nikko/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-normalization-pipelines/nikko/</guid>
      <description>
        
        
        &lt;h1 id=&#34;nikko-normalization-pipeline&#34;&gt;Nikko normalization pipeline&lt;/h1&gt;
&lt;h2 id=&#34;description-and-stages&#34;&gt;Description and stages&lt;/h2&gt;
&lt;p&gt;Nikko is a pipeline used for the normalization of the user&amp;rsquo;s utterance through the execution of the following &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/nlp-normalizers/&#34;&gt;normalizers&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PunctuationNormalizer&lt;/li&gt;
&lt;li&gt;SplitPunctNormalizer&lt;/li&gt;
&lt;li&gt;SpaceNormalizer&lt;/li&gt;
&lt;li&gt;CurrencyNormalizer&lt;/li&gt;
&lt;li&gt;UnicodeNormalizer&lt;/li&gt;
&lt;li&gt;LowercaseNormalizer&lt;/li&gt;
&lt;li&gt;CardinalityNormalizer&lt;/li&gt;
&lt;li&gt;PunctuationNormalizer&lt;/li&gt;
&lt;li&gt;SpaceNormalizer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/nikko-pipeline.png&#34; alt=&#34;Nikko normalization pipeline&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;This stage requires the following configuration in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;&lt;code&gt;nlp.json&lt;/code&gt; configuration file&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;For the specific language and channel, in the &lt;code&gt;nlp&lt;/code&gt; field of this JSON file, the key &lt;code&gt;normalizer_pipeline_class&lt;/code&gt; must be filled in with the value:
&lt;code&gt;auracog_pipelines.pipelines.normalization.nikko.NikkoPipeline&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;es-es&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;mp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;nlp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;normalizer_pipeline_class&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.normalization.nikko.NikkoPipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/auxiliary-processes/nlp-global-team-validation/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/auxiliary-processes/nlp-global-team-validation/</guid>
      <description>
        
        
        &lt;h1 id=&#34;review-of-a-pull-request-by-nlp-global-team&#34;&gt;Review of a Pull Request by NLP Global Team&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Procedure followed by the NLP Global Team in order to validate the Pull Request including the NLP model&lt;/p&gt;
&lt;p&gt;This process is done once the Pull Request is launched, for the evaluation of the NLP model by the NLP Global Team: &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#review-by-the-nlp-global-team&#34;&gt;Certify NLP model accuracy: review by the NLP Global Team&lt;/a&gt;.&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The review of the Pull Request including the NLP model carried out by the NLP Global Team includes the processes explained in the following sections.&lt;/p&gt;
&lt;p&gt;It can be very useful for Local Teams to know these processes and criteria used by the NLP Global Team in order to focus on the critical points.&lt;/p&gt;
&lt;h2 id=&#34;categories-of-errors-and-problems&#34;&gt;Categories of errors and problems&lt;/h2&gt;
&lt;p&gt;Detected errors are classified into three categories:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;BLOCK&lt;/strong&gt;: Blocking task. It must be resolved in order to approve and merge the PR.
In case there are certain blockers to be modified, the system dismisses the GitHub Pull Request and publishes a comment describing the problem and indicating the procedure to resolve it. This case requires &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#5-train-your-understanding-model&#34;&gt;re-training the NLP model&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;NON-BLOCK&lt;/strong&gt;: Mandatory but non-blocking task. It must be resolved following the guidelines and best practices in the current or in further PRs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SUGG&lt;/strong&gt;: Not mandatory but recommended modifications that should be taken into account even for subsequent PRs. For them, it is recommended to inform the NLP Global Team whether the suggestion is taken into account or not.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The setting of an adequate threshold for the NLP system accuracy depends on the use case. Therefore, for a specific use case, the minimum accuracy should be agreed by L-CDO and the NLP Global Team.&lt;/p&gt;
&lt;h2 id=&#34;best-practices-for-the-pull-request-validation&#34;&gt;Best practices for the Pull Request validation&lt;/h2&gt;
&lt;p&gt;These best practices should be followed both by the NLP Global Team and the local linguists, if they participate in the validation process.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Take into account the following icons that indicate different status to reviewers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#x1f44d; It indicates that the reported problem has been visualized and will be included in further commits.&lt;/li&gt;
&lt;li&gt;&amp;#x1f440; It indicates that linguists have gone over the comment but it is not resolved yet. In this situation, linguists must include an explanatory text with the justification of this status (for example, to be resolved later; disagreement; etc.)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Comments should be launched from the corresponding file or from the general screen (conversation). For its resolution, click Resolve conversation or select Hide from the drop-down menu. Afterwards, select the option Resolved.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If the comment cannot be resolved, it is edited and substituted by &amp;ldquo;OK&amp;rdquo;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In general, reviewers are in charge of changing the comment status to Resolved.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Comments should be as clarifying as possible by including screenshots or other references.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In case a comment resolution is pending, the local developer must be informed and it is recommended to change the status to still pending.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If the answer to a comment by the reviewer is not clearly understood, the local team can contact him.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If modifications affect to several channels, changes can be uploaded to one channel and, afterwards, copied to the other channels.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Comparation of branches:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In case of merging of a large PR, it is recommended to compare the corresponding branches to avoid information to be lost. For this purpose, Pycharm can be useful.&lt;/li&gt;
&lt;li&gt;The tool compare allows this comparison, just by selecting the folder/file with the right bottom, selecting the option Git and compare with branch and then clicking on the branch to be compared.&lt;/li&gt;
&lt;li&gt;The different files appear in different colors: existing files in blue, added files in green and deleted ones in grey. By clicking on a file, a new window is opened showing the differences between branches.&lt;/li&gt;
&lt;li&gt;It is also possible to compare branches and versions from Github:
&lt;a href=&#34;https://github.com/Telefonica/%5BREPO%5D&#34;&gt;https://github.com/Telefonica/[REPO]&lt;/a&gt; /compare/&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For the PR review, it is recommended the use of REGEX. Some examples are included below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Finding duplicates: 	^(.&lt;em&gt;?)$\s+?^(?=.&lt;/em&gt;^\1$)&lt;/li&gt;
&lt;li&gt;No space after an entity: 	[ent.[a-z_]+][a-z]+&lt;/li&gt;
&lt;li&gt;No space before an entity: 	[a-z]+[ent.[a-z_]+]&lt;/li&gt;
&lt;li&gt;No extra spaces after values: 	\h+$&lt;/li&gt;
&lt;li&gt;Sentences missing: 	&amp;quot;\¿[a-záéíóúñ _[].]+&amp;quot;&lt;/li&gt;
&lt;li&gt;Sentences missing: 	&amp;quot;[a-záéíóúñ _[].]+?&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The PR is reviewed by different members of the team, within an ongoing process.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;most-frequent-comments-in-the-review-process&#34;&gt;Most frequent comments in the review process&lt;/h2&gt;
&lt;p&gt;The following table includes some of the most frequent comments that are reported during the review of the Pull Requests by the NLP Global Team, organized by category.&lt;/p&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; Please, take the following tables as merely indicative in terms of the category where each comment is included as, depending on the specific scenario and the use case specifications, a comment can be moved from one category (“block”, “non-block” or “sugg”) to another.&lt;/p&gt;
&lt;h3 id=&#34;review-of-clu-training-and-testset&#34;&gt;Review of CLU training and testset&lt;/h3&gt;
&lt;p&gt;The following best practices are valid for the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/clu/&#34;&gt;CLU&lt;/a&gt; intent recognition stage.&lt;/p&gt;
&lt;h4 id=&#34;entities&#34;&gt;Entities&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Block&lt;/th&gt;
&lt;th&gt;non-block&lt;/th&gt;
&lt;th&gt;Sugg&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Ill-formed (incorrect name, missing ‘[‘, blank space missing before/after the entity; blank space before ‘:’ in the entity name)&lt;/td&gt;
&lt;td&gt;Alphabetic order missing (by type and by value)&lt;/td&gt;
&lt;td&gt;Structuring of training and test set files in blocks (for example, verbs, use cases, entities, etc.)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Value declared in phraselist but not tagged in training set&lt;/td&gt;
&lt;td&gt;“Cosmetic changes”: uppercase letters, question marks, unnecessary blank spaces, accents&lt;/td&gt;
&lt;td&gt;New values for entities&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Values with an incorrect entity&lt;/td&gt;
&lt;td&gt;Indentation&lt;/td&gt;
&lt;td&gt;Suggestions on phrases for training and test set files&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Repeated values in two entities&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Suggestions on new entities&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Repeated values for a specific entity&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Suggestions on patterns for the test set file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Value tagged but not declared in a phraselist&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Typographical errors (if not on purpose), missing words&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Values representativeness: as far as possible, the training set must contain all the different values of entities. At least, it must include a representative list of them&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id=&#34;intents&#34;&gt;Intents&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Block&lt;/th&gt;
&lt;th&gt;non-block&lt;/th&gt;
&lt;th&gt;Sugg&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Intent name not agreed by the Global Team&lt;/td&gt;
&lt;td&gt;Alphabetic order missing (by type and by value)&lt;/td&gt;
&lt;td&gt;Structuring of training and test set files in blocks (for example, verbs, use cases, entities, etc.)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;All intents not represented in the training set and testset files&lt;/td&gt;
&lt;td&gt;“Cosmetic changes”: uppercase letters, question marks, unnecessary blank spaces, accents&lt;/td&gt;
&lt;td&gt;New values for entities&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Overlap between intents&lt;/td&gt;
&lt;td&gt;Indentation&lt;/td&gt;
&lt;td&gt;Suggestions on phrases for training and test set files&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Phrases with out-of-scope intent&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Suggestions on new entities&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Typographical errors, missing words&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Suggestions on patterns for the test set file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Repeated phrases&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Illogical phrases&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Unfulfillment of ratio 80%-20% for training-test statements&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id=&#34;files&#34;&gt;Files&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Block&lt;/th&gt;
&lt;th&gt;non-block&lt;/th&gt;
&lt;th&gt;Sugg&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Ill-formed json files&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Not updated date&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Different information between channels (between shared intents)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Modification on configuration files (except to agreed changes)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;review-of-e2e-testset&#34;&gt;Review of E2E testset&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Block&lt;/th&gt;
&lt;th&gt;non-block&lt;/th&gt;
&lt;th&gt;Sugg&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Ill-formed json files&lt;/td&gt;
&lt;td&gt;“Cosmetic changes”: uppercase letters, question marks, unnecessary blank spaces, accents&lt;/td&gt;
&lt;td&gt;Structuring of training and test set files in blocks (for example, verbs, use cases, entities, etc.)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Wrong position of entities&lt;/td&gt;
&lt;td&gt;Lack of representativeness of the different structures&lt;/td&gt;
&lt;td&gt;New values for entities&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Incorrect tags&lt;/td&gt;
&lt;td&gt;Alphabetic order missing (by domain, intent &amp;amp; utterance)&lt;/td&gt;
&lt;td&gt;Suggestions on phrases for training and test set files&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Not represented intent&lt;/td&gt;
&lt;td&gt;“Default” domain&lt;/td&gt;
&lt;td&gt;Suggestions on new entities&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Wrong order for keys: phrase, domain, intent, entities&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Suggestions on patterns for the test set file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Typographical errors (if not on purpose), missing words&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Accuracy lower than 80% (by default value set by Aura Global Team)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Result validation: Review of results from the PR, identification of errors and improvement suggestions&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Regression file: Bugs or specific phrases not included in the &lt;code&gt;testset.json&lt;/code&gt; file that must be recognized&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Canonical phrase not included in E2E testset&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Unfulfillment for recommended number of testing statements in the E2E test set: &lt;br&gt; - 20 statements (CLU); &lt;br&gt; - 30 statements (CLU + Grammar); &lt;br&gt; - 3 statements (Grammar)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/</guid>
      <description>
        
        
        &lt;h1 id=&#34;generation-of-aura-nlp-dictionaries&#34;&gt;Generation of Aura NLP dictionaries&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Aura NLP dictionaries are knowledge bases used to recognize entities from the users&amp;rsquo; utterances.&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;process-at-a-glance&#34;&gt;Process at a glance&lt;/h2&gt;
&lt;div class=&#34;td-card-group card-group p-0 mb-4&#34;&gt;
&lt;div class=&#34;td-card card border me-4&#34;&gt;
&lt;div class=&#34;card-header&#34;&gt;
      &lt;strong&gt;Update &lt;br&gt; catalogs&lt;/strong&gt;
    &lt;/div&gt;
&lt;div class=&#34;card-body&#34;&gt;
    &lt;p class=&#34;card-text&#34;&gt;
        
. Firstly, check if catalogs must be updated to include the latest content. &lt;br&gt;
. If required, &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-catalogs/&#34;&gt;update catalogs manually&lt;/a&gt;.
&lt;br/&gt; 
&lt;/p&gt;
      &lt;/div&gt;
  &lt;/div&gt;

&lt;i class=&#34;fa-solid fa-arrow-right cards-icon&#34;&gt;&lt;/i&gt;

&lt;div class=&#34;td-card card border me-4&#34;&gt;
&lt;div class=&#34;card-header&#34;&gt;
      &lt;strong&gt;Generate &lt;br&gt;dictionaries&lt;/strong&gt;
    &lt;/div&gt;
&lt;div class=&#34;card-body&#34;&gt;
    &lt;p class=&#34;card-text&#34;&gt;
        
. Check that your NLP model is &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/#2-configure-the-nlp-model-to-use-dictionaries&#34;&gt;configured to use dictionaries&lt;/a&gt;&lt;br&gt;
. &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/#4-run-the-script-for-the-generation-of-dictionaries&#34;&gt;Run the script&lt;/a&gt; and generate both items and aliases dictionaries
&lt;br/&gt;
&lt;/p&gt;
      &lt;/div&gt;
  &lt;/div&gt;

&lt;i class=&#34;fa-solid fa-arrow-right cards-icon&#34;&gt;&lt;/i&gt;

&lt;div class=&#34;td-card card border me-4&#34;&gt;
&lt;div class=&#34;card-header&#34;&gt;
      &lt;strong&gt;Entities &lt;br&gt;in Grammars&lt;/strong&gt;
    &lt;/div&gt;
&lt;div class=&#34;card-body&#34;&gt;
    &lt;p class=&#34;card-text&#34;&gt;
        
. &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/#5-add-new-entities-in-dictionaries-to-the-grammars-stage&#34;&gt;Add new entities in dictionaries to the Grammars model&lt;/a&gt; to get sure that these entities are recognized with 100% accuracy. 
&lt;br&gt;
&lt;br/&gt; 
&lt;/p&gt;
      &lt;/div&gt;
  &lt;/div&gt;

&lt;i class=&#34;fa-solid fa-arrow-right cards-icon&#34;&gt;&lt;/i&gt;

&lt;div class=&#34;td-card card border me-4&#34;&gt;
&lt;div class=&#34;card-header&#34;&gt;
      &lt;strong&gt;Retrain &lt;br&gt;NLP model&lt;/strong&gt;
    &lt;/div&gt;
&lt;div class=&#34;card-body&#34;&gt;
    &lt;p class=&#34;card-text&#34;&gt;
        
. &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#5-train-your-understanding-model&#34;&gt;Retrain &lt;/a&gt; the understanding model &lt;br&gt;
. &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#6-evaluate-e2e-accuracy-locally&#34;&gt; Validate it &lt;/a&gt;&lt;br&gt;
. &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#9-merge-and-generate-your-understanding-package&#34;&gt;Merge and generate&lt;/a&gt; the NLP package &lt;br&gt;
. &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#10-deploy-the-new-understanding-package&#34;&gt;Deploy&lt;/a&gt; the updated package
 &lt;br&gt;
&lt;br/&gt;
&lt;/p&gt;
      &lt;/div&gt;
  &lt;/div&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The recognition of entities in the Aura NLP model is based on dictionaries: knowledge bases of &lt;a href=&#34;../../docs/components/aura-nlp/nlp-concepts/#entity&#34;&gt;entities&lt;/a&gt; that are included in the NLP model as part of stages for the recognition of entities in the user&amp;rsquo;s utterance.&lt;/p&gt;
&lt;p&gt;Currently, these stages are &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/standard-ner/&#34;&gt;Standard NER&lt;/a&gt;, &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/gazetteer-ner/&#34;&gt;Gazetteer NER&lt;/a&gt; and &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/nlp-adapters/#entity-tagger-adapter&#34;&gt;Entity Tagger Adapter&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Dictionaries are generated automatically from &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-catalogs/&#34;&gt;catalogs&lt;/a&gt;, during the NLP flow, when developing a use case.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/catalogs-dictionaries.png&#34; alt=&#34;Generation of dictionaries from catalogs&#34;&gt;&lt;/p&gt;
&lt;p&gt;Discover in the current documents:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#types&#34;&gt;Existing types of dictionaries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#generation&#34;&gt;Guidelines for the generation or update of dictionaries&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;types&#34;&gt;Types of dictionaries in Aura NLP&lt;/h2&gt;
&lt;p&gt;There are two types of dictionaries defined in Aura:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Items dictionary&lt;/strong&gt;: it includes all the different values in its canonical form for each entity type. The canonical question is defined as the most common way to mention a specific entity. This file distinguishes by entity types.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Alias dictionary&lt;/strong&gt;:  it includes the canonical value of a given concept (those found in items dictionary) and its list of aliases, that is, the most significant alternative names of an entity canon. This file does not distinguish by entity types.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For example, a TV use case can include the following dictionaries:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Items dictionary: ent.audiovisual_actor: [Robert de Niro, Dustin Hoffman; Al Pacino, …]&lt;/li&gt;
&lt;li&gt;Alias dictionary: Robert de Niro: [De Niro, Robert Niro, Robert Deniro, …]&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aura NLP uses two dictionaries for entities recognition:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Items dictionary: &lt;code&gt;sdict_items.json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Alias dictionary: &lt;code&gt;sdict_aliases.json&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;items-dictionary&#34;&gt;Items dictionary&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;sdict_items.json&lt;/code&gt; consists of a dictionary whose keys are the names of all the entity types and the value of each key includes a list with the canonical values of those entities. All canonical forms should be contemplated in this file.&lt;br&gt;
This file is automatically generated based on the data from manual catalogs and data from URM.&lt;/p&gt;
&lt;p&gt;An example of &lt;code&gt;sdict_items.json&lt;/code&gt; dictionary is shown below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.audiovisual_actor&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Angelina Jolie&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Brad Pitt&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Cate Blanchett&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Jennifer Anniston&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Jennifer Lawrence&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Morgan Freeman&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;alias-dictionary&#34;&gt;Alias dictionary&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;sdict_aliases.json&lt;/code&gt; contains all the possible values (aliases) for an entity. These aliases are different ways to refer to the same value.&lt;br&gt;
The dictionary keys are the canonical value of a given concept (those found in the &lt;code&gt;sdict_items.json&lt;/code&gt; file) and their value is a list of aliases, meaning all the potential ways of referring to that concept. This file does not distinguish by entity types. &lt;br&gt;
The alias dictionary is automatically generated based on the data from manual catalogs and data from URM.&lt;/p&gt;
&lt;p&gt;Examples of the &lt;code&gt;sdict_aliases.json&lt;/code&gt; dictionary are shown below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;#0&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;0&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;zero&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;the zero&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;The Mandalorian&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;De Mandalorian&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;De Mandaloriano&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;El Mandalorian&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;El Mandaloriano&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Mandalorian&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Mandaloriano&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;el mandalorian&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;el mandaloriano&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;te mandalorian&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;   
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;the mandalorian&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;…&lt;/span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;generation&#34;&gt;Generation of Aura NLP dictionaries&lt;/h2&gt;
&lt;p&gt;When developing a use case in Aura, if it requires the recognition of entities, the NLP model must include any of the entities recognition stages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/standard-ner/&#34;&gt;Standard NER&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/gazetteer-ner/&#34;&gt;Gazetteer NER&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/nlp-adapters/#entity-tagger-adapter&#34;&gt;Entity Tagger Adapter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In these stages, as part of the step for &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#3-define-your-data-resources&#34;&gt;defining data resources&lt;/a&gt;, where all the training files required for every specific stage must be generated, the sdict dictionaries must be included.&lt;/p&gt;
&lt;p&gt;For this purpose, follow these steps:&lt;/p&gt;
&lt;h3 id=&#34;1-check-if-content-in-catalogs-is-updated-and-complete&#34;&gt;1. Check if content in catalogs is updated and complete&lt;/h3&gt;
&lt;p&gt;Manual catalogs are one of the inputs for NLP dictionaries.&lt;/p&gt;
&lt;p&gt;At this stage, you have to check if their content is totally updated or if it is required to generate a newer version to include the very latest content (for instance, new films or series in Movistar+).&lt;/p&gt;
&lt;p&gt;Discover &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-catalogs/&#34;&gt;how to generate or update content in manual catalogs in Aura&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; If the catalogs content is identical in different channels, the dictionaries can be generated just for one channel and then copied to the rest of them.&lt;/p&gt;
&lt;h3 id=&#34;2-configure-the-nlp-model-to-use-dictionaries&#34;&gt;2. Configure the NLP model to use dictionaries&lt;/h3&gt;
&lt;p&gt;Dictionaries require a specific configuration, that must be set during the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;configuration of the NLP model&lt;/a&gt;, with two differentiated stages:&lt;/p&gt;
&lt;h4 id=&#34;21-dictionaries-configuration-in-nlpjson-file&#34;&gt;2.1. Dictionaries configuration in nlp.json file&lt;/h4&gt;
&lt;p&gt;If dictionaries are used, specific sections must be included in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;&lt;code&gt;nlp.json&lt;/code&gt;&lt;/a&gt; file, placed in the path:
&lt;em&gt;aura-nlpdata-[country_code]/config/etc/nlp_config/nlp.json&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;urm_type_entities&lt;/code&gt;: from all the URM entities in the catalogs, it indicates which ones must be downloaded.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;headers_ignore&lt;/code&gt;: list with all the headers to be ignored.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ner&lt;/code&gt;: this section is required as the &lt;code&gt;StandardNer&lt;/code&gt; class is instantiated when building the catalogs:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;n_context_words&lt;/code&gt;: number of context words used in the BILOU algorithm.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;phone_number_entity_type&lt;/code&gt;: type of entity to be assigned to an entity recognizer as phone number.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;test-test&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;test_channel&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;training-sner&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;urm_type_entities&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.audiovisual_director&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.audiovisual_actor&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.audiovisual_documental_title&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.audiovisual_film_title&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.audiovisual_tvshow_title&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.audiovisual_tvseries_title&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;headers_ignore&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;metadata&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ner&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;n_context_words&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;3&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;                    
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;phone_number_entity_type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.phonenumber&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;22-dictionaries-configuration-in-build_catalogscfgtpl&#34;&gt;2.2. Dictionaries configuration in build_catalogs.cfg.tpl&lt;/h4&gt;
&lt;p&gt;The file &lt;code&gt;build_catalogs_cfg.tpl&lt;/code&gt; is only required if the dictionaries &lt;code&gt;sdict_item.json&lt;/code&gt; and &lt;code&gt;sdict_aliases.json&lt;/code&gt; are generated from the manual catalogs in three specific stages: Standard NER, Gazetteer NER, and Entity Tagger Adapter.&lt;/p&gt;
&lt;p&gt;It is placed on the path:&lt;br&gt;
&lt;em&gt;aura-nlpdata-[country_code]/config/etc/build_catalogs.cfg.tpl&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Edit this file to indicate, for each language and channel, if URM data is to be downloaded and used as source for the generation of dictionaries.&lt;/p&gt;
&lt;p&gt;For this purpose, the following fields must be filled, depending on the &lt;a href=&#34;#4-run-the-script-for-the-generation-of-dictionaries&#34;&gt;script used&lt;/a&gt; for the generation of dictionaries:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If the &lt;strong&gt;new global script&lt;/strong&gt; &lt;code&gt;build_local_catalogs_etl.sh&lt;/code&gt; is used, the following parameters must be filled:&lt;br&gt;
&lt;i class=&#34;fa-solid fa-circle-info&#34; style=&#34;color: #3267c3;&#34;&gt;&lt;/i&gt;  &lt;strong&gt;Recommended method&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;urm_mapper&lt;/code&gt;: dictionary that indicates, for each language and channel, if it has to download the URM.&lt;/li&gt;
&lt;li&gt;To connect to API URM:
&lt;ul&gt;
&lt;li&gt;$API_URM_ENDPOINT&lt;/li&gt;
&lt;li&gt;$USER_KERNEL_ACCESS_TOKEN&lt;/li&gt;
&lt;li&gt;$PASSWORD_KERNEL_ACCESS_TOKEN
&lt;br&gt;&lt;br&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If the &lt;strong&gt;original script&lt;/strong&gt; &lt;code&gt;build_local_catalogs.sh&lt;/code&gt; is used, the following parameters must be filled:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;urm_mapper&lt;/code&gt;: dictionary that indicates, for each language and channel, if it has to download the URM.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;resources_provider&lt;/code&gt;: provider, that can be &lt;code&gt;aws&lt;/code&gt; or &lt;code&gt;azure&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;container&lt;/code&gt;: folder that includes the data to be downloaded. It can be &lt;code&gt;$AWS_S3_BUCKET&lt;/code&gt; or &lt;code&gt;$AZURE_CONTAINER&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;key&lt;/code&gt; and &lt;code&gt;secret&lt;/code&gt;: these fields correspond to provider credentials.
&lt;ul&gt;
&lt;li&gt;To connect to AWS, you need:
&lt;ul&gt;
&lt;li&gt;$AWS_ACCESS_KEY&lt;/li&gt;
&lt;li&gt;$AWS_SECRET_KEY&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;To connect to Azure, you need:
&lt;ul&gt;
&lt;li&gt;$AZURE_ACCOUNT_NAME&lt;/li&gt;
&lt;li&gt;$AZURE_SAS_TOKEN
&lt;br&gt;&lt;br&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;catalogs&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;resources_provider&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;aws&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;container&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;$AWS_S3_BUCKET&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;or&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;$AZURE_CONTAINER&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;urm_mapper&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;es-es&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;mp&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;urm&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;stb&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;urm&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;stbh&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;urm&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;la_global&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;urm&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;aws&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;key&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;$AWS_ACCESS_KEY&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;secret&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;$AWS_SECRET_KEY&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;azure&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;account_name&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;$AZURE_ACCOUNT_NAME&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;sas_token&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;$AZURE_SAS_TOKEN&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;direct_sql&lt;/span&gt;:&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;instance&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;base_url&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;$&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;API_URM_ENDPOINT&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;user&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;$&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;USER_KERNEL_ACCESS_TOKEN&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;password&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;$&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;PASSWORD_KERNEL_ACCESS_TOKEN&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;3-set-up-specific-configuration-variables-for-dictionaries&#34;&gt;3. Set up specific configuration variables for dictionaries&lt;/h3&gt;
&lt;p&gt;Before training your understanding model, it is required to &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#51-set-up-configuration-properties&#34;&gt;set up the configuration properties&lt;/a&gt;. Check the general process in the previous link.&lt;/p&gt;
&lt;p&gt;If dictionaries are included in the model, there are certain additional variables required for the execution of the dictionaries script, which are enumerated below.&lt;/p&gt;
&lt;p&gt;Moreover, the last six variables must only be defined when data from URM is included for the generation of the dictionaries.&lt;/p&gt;
&lt;p&gt;Remember that you need to indicate the name of the &lt;code&gt;CATALOGS_RESOURCES_PROVIDER&lt;/code&gt; provider and the container where the data is. Then, you only need the credentials of the chosen provider:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;export CHANNEL_LIST&lt;/code&gt;:	list of channels where dictionaries are generated. For example: &lt;code&gt;export CHANNEL_LIST=&amp;quot;la_global mh mp&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;export LANGUAGE&lt;/code&gt;: language for the generation of files. For example: export LANGUAGE=&amp;ldquo;es-es&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;export AZURE_CATALOGS_ACCOUNT_NAME&lt;/code&gt;:	Azure account name where the data is.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;export AZURE_CATALOGS_TOKEN&lt;/code&gt;: Azure SAS token.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;export AWS_CATALOGS_ACCESS_KEY&lt;/code&gt;:	AWS Access Key credential.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;export AWS_CATALOGS_SECRET_KEY&lt;/code&gt;:	AWS Secret Key credential.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;export CATALOGS_RESOURCES_CONTAINER&lt;/code&gt;: Container or bucket name.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;export CATALOGS_RESOURCES_PROVIDER&lt;/code&gt;:	Provider name, &lt;code&gt;aws&lt;/code&gt; or &lt;code&gt;azure&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;export API_URM_ENDPOINT&lt;/code&gt;: Endpoint of URM API.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;export USER_KERNEL_ACCESS_TOKEN&lt;/code&gt;: Username Kernel Access Token.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;export PASSWORD_KERNEL_ACCESS_TOKEN&lt;/code&gt;: Password Kernel Access Token.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;4-run-the-script-for-the-generation-of-dictionaries&#34;&gt;4. Run the script for the generation of dictionaries&lt;/h3&gt;
&lt;p&gt;There are two alternatives to generate dictionaries:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use the &lt;strong&gt;new global script&lt;/strong&gt; that makes use of the URM content datasets uploaded to the &lt;strong&gt;Kernel&lt;/strong&gt; platform:&lt;br&gt;
&lt;i class=&#34;fa-solid fa-circle-info&#34; style=&#34;color: #3267c3;&#34;&gt;&lt;/i&gt;  &lt;strong&gt;Recommended method&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Run the global script &lt;code&gt;build_local_catalogs_etl.sh&lt;/code&gt;, located at:&lt;br&gt;
&lt;em&gt;aura-nlpdata-[country_code]/tools/build_local_catalogs_etl.sh&lt;/em&gt;
&lt;br&gt;&lt;br&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Use the &lt;strong&gt;original script&lt;/strong&gt; that downloaded the information from the previously chosen URM containers:
&lt;ul&gt;
&lt;li&gt;Run the original script &lt;code&gt;build_local_catalogs.sh&lt;/code&gt;, located at:&lt;br&gt;
&lt;em&gt;aura-nlpdata-[country_code]/tools/build_local_catalogs.sh&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;After the script execution, the NLP dictionaries &lt;code&gt;sdict_items.json&lt;/code&gt; and &lt;code&gt;sdict_aliases.json&lt;/code&gt; are automatically generated in:&lt;br&gt;
&lt;em&gt;/aura-nlpdata-[country_code]/data/[language]/[channel]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;You can create a Pull Request directly and see changes in comparison with the previous files.&lt;/p&gt;
&lt;p&gt;Complementary, they are also placed in the temporary folder &lt;em&gt;tmp_catalogs&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/tmp-catalogs-folder.png&#34; alt=&#34;Generation of dictionaries in tmp_catalogs&#34;&gt;&lt;/p&gt;
&lt;p&gt;You can also check the downloaded data from URM in the &lt;em&gt;urm_bucket&lt;/em&gt; folder inside tmp_catalogs.&lt;/p&gt;
&lt;h3 id=&#34;5-best-practices-for-checking-dictionaries&#34;&gt;5. Best practices for checking dictionaries&lt;/h3&gt;
&lt;p&gt;Once the dictionaries are generated, there are certain checks that should be done:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Check that values that have been added and removed from catalogs are updated in &lt;code&gt;sdict_items.json&lt;/code&gt; and &lt;code&gt;sdict_aliases.json&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Check that all the canons that have been included in the catalogs appear in &lt;code&gt;sdict_items.json&lt;/code&gt; and all the aliases appear in &lt;code&gt;sdict_aliases.json&lt;/code&gt; with its corresponding canon.&lt;/li&gt;
&lt;li&gt;Check  that, at least, all the aliases of a canon that have been included in the catalogs appear in &lt;code&gt;sdict_aliases.json&lt;/code&gt; under the expected canon.&lt;/li&gt;
&lt;li&gt;Check that there are no unwanted duplicates. It is highly recommendable to check that the same canon (or normalized one) does not appear in different entities to avoid possible overlaps. For these situations, use the catalogs&amp;rsquo; &lt;code&gt;skip.json&lt;/code&gt; file for skipping values from dicts and use the &lt;code&gt;precedence.json&lt;/code&gt; file to prioritize an entity type.&lt;/li&gt;
&lt;li&gt;Once both &lt;code&gt;sdict_items.json&lt;/code&gt; and &lt;code&gt;sdict_aliases.json&lt;/code&gt; have been generated, all the values that were added to the catalogs should be tested in your local environment to check that they retrieve their corresponding canon, entity type and label. In case there is an error, check what it is due to and make the necessary modifications. This step should be repeated until the result is the expected one.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;5-add-new-entities-in-dictionaries-to-the-grammars-stage&#34;&gt;5. Add new entities in dictionaries to the Grammars stage&lt;/h3&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; Of application just in case Grammars stage is included in the NLP model.&lt;/p&gt;
&lt;p&gt;If you want to assure that new entities included in dictionaries are recognized with 100% accuracy, they must be included in the Grammar stage.&lt;/p&gt;
&lt;p&gt;The NLP stage Grammars has specific guidelines for the generation of the required files through the software Unitex: &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/grammars-generation/&#34;&gt;Guidelines for the generation of Grammars in Unitex&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Take into account that input data for the Grammars stage should be normalized first.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/aura-nlp-tutorials/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/aura-nlp-tutorials/</guid>
      <description>
        
        
        &lt;h1 id=&#34;aura-nlp-tutorials&#34;&gt;Aura NLP tutorials&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Tutorials for the development of a use case over &lt;em&gt;&lt;strong&gt;aura-nlp&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;index-of-tutorials&#34;&gt;Index of tutorials&lt;/h2&gt;
&lt;p&gt;COMING SOON&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/global-use-cases/video-use-cases/tv-content-get-info/nlp-config-obs/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/global-use-cases/video-use-cases/tv-content-get-info/nlp-config-obs/</guid>
      <description>
        
        
        &lt;h1 id=&#34;nlp-configuration-by-ob&#34;&gt;NLP configuration by OB&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;NLP configuration by OB for the &lt;strong&gt;TV content get info&lt;/strong&gt; use case&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The current document includes the configuration of the NLP model for the &lt;strong&gt;TV content get info&lt;/strong&gt; use case in the OBs where it is available.&lt;/p&gt;
&lt;h2 id=&#34;brazil&#34;&gt;Brazil&lt;/h2&gt;
&lt;p&gt;The &lt;em&gt;aura-nlpdata&lt;/em&gt; repository structure in Brazil is organized by channel: &lt;em&gt;aura-nlpdata-br-[channel]&lt;/em&gt;. Each repository will contain the files for the available use cases in this channel.&lt;/p&gt;
&lt;p&gt;The following configuration corresponds to the &lt;strong&gt;STB channel&lt;/strong&gt;, which is included in the repository: &lt;a href=&#34;https://github.com/Telefonica/aura-nlpdata-br-stb&#34;&gt;https://github.com/Telefonica/aura-nlpdata-br-stb&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;intent&#34;&gt;Intent&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;intent.tv.content_get_info&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;entities&#34;&gt;Entities&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_actor&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_actor&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_best&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_channel&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_director&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_documental_title&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_film_title&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_genre&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_most_watched&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_releases&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_sports&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_sports_circuit&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_sports_player_driver&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_sports_player_rider&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_sports_season&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_sports_season_motor&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_sports_team&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_sports_unit&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_subgenre&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_tv_episode_number&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_tv_season_number&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_tvseries_title&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_tvshow_title&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.device_mobile&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.device_tv&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.time_instant&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.time_interval&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.time_interval_future&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.time_interval_past&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;pipeline-stages&#34;&gt;Pipeline stages&lt;/h3&gt;
&lt;p&gt;The following stages of STB&amp;rsquo;s pipeline have been used to develop this UC:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PygrapeGrammarWrapper&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;EntityTaggerAdapterWrapper&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The whole &lt;code&gt;pipeline.json&lt;/code&gt;file is available at: &lt;a href=&#34;https://github.com/Telefonica/aura-nlpdata-br-stb/blob/master/data/pt-br/stb/pipeline.json&#34;&gt;https://github.com/Telefonica/aura-nlpdata-br-stb/blob/master/data/pt-br/stb/pipeline.json&lt;/a&gt;&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/global-use-cases/video-use-cases/tv-move-backwards/nlp-config-obs/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/global-use-cases/video-use-cases/tv-move-backwards/nlp-config-obs/</guid>
      <description>
        
        
        &lt;h1 id=&#34;nlp-configuration-by-ob&#34;&gt;NLP configuration by OB&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;NLP configuration by OB for the &lt;strong&gt;TV move backwards&lt;/strong&gt; use case&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The current document includes the configuration of the NLP model for the &lt;strong&gt;TV move backwards&lt;/strong&gt; use case in the OBs where it is available.&lt;/p&gt;
&lt;h2 id=&#34;brazil&#34;&gt;Brazil&lt;/h2&gt;
&lt;p&gt;The &lt;em&gt;aura-nlpdata&lt;/em&gt; repository structure in Brazil is organized by channel: &lt;em&gt;aura-nlpdata-br-[channel]&lt;/em&gt;. Each repository will contain the files for the available use cases in this channel.&lt;/p&gt;
&lt;p&gt;The following configuration corresponds to the &lt;strong&gt;STB channel&lt;/strong&gt;, which is included in the repository: &lt;a href=&#34;https://github.com/Telefonica/aura-nlpdata-br-stb&#34;&gt;https://github.com/Telefonica/aura-nlpdata-br-stb&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;intent&#34;&gt;Intent&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;intent.tv.move_backwards&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;entities&#34;&gt;Entities&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_genre&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.time_length_sec&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.time_length_min&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.time_length_hour&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.time_instant&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;pipeline-stages&#34;&gt;Pipeline stages&lt;/h3&gt;
&lt;p&gt;The following stages of STB&amp;rsquo;s pipeline have been used to develop this UC:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PygrapeGrammarWrapper&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;EntityTaggerAdapterWrapper&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The whole &lt;code&gt;pipeline.json&lt;/code&gt;file is available at: &lt;a href=&#34;https://github.com/Telefonica/aura-nlpdata-br-stb/blob/master/data/pt-br/stb/pipeline.json&#34;&gt;https://github.com/Telefonica/aura-nlpdata-br-stb/blob/master/data/pt-br/stb/pipeline.json&lt;/a&gt;&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/global-use-cases/video-use-cases/tv-move-forwards/nlp-config-obs/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/global-use-cases/video-use-cases/tv-move-forwards/nlp-config-obs/</guid>
      <description>
        
        
        &lt;h1 id=&#34;nlp-configuration-by-ob&#34;&gt;NLP configuration by OB&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;NLP configuration by OB for the &lt;strong&gt;TV move forwards&lt;/strong&gt; use case&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The current document includes the configuration of the NLP model for the &lt;strong&gt;TV move forwards&lt;/strong&gt; use case in the OBs where it is available.&lt;/p&gt;
&lt;h2 id=&#34;brazil&#34;&gt;Brazil&lt;/h2&gt;
&lt;p&gt;The &lt;em&gt;aura-nlpdata&lt;/em&gt; repository structure in Brazil is organized by channel: &lt;em&gt;aura-nlpdata-br-[channel]&lt;/em&gt;. Each repository will contain the files for the available use cases in this channel.&lt;/p&gt;
&lt;p&gt;The following configuration corresponds to the &lt;strong&gt;STB channel&lt;/strong&gt;, which is included in the repository: &lt;a href=&#34;https://github.com/Telefonica/aura-nlpdata-br-stb&#34;&gt;https://github.com/Telefonica/aura-nlpdata-br-stb&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;intent&#34;&gt;Intent&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;intent.tv.move_forwards&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;entities&#34;&gt;Entities&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ent.audiovisual_genre&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.time_length_sec&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.time_length_min&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.time_length_hour&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.time_instant&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;pipeline-stages&#34;&gt;Pipeline stages&lt;/h3&gt;
&lt;p&gt;The following stages of STB&amp;rsquo;s pipeline have been used to develop this UC:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PygrapeGrammarWrapper&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;EntityTaggerAdapterWrapper&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The whole &lt;code&gt;pipeline.json&lt;/code&gt;file is available at: &lt;a href=&#34;https://github.com/Telefonica/aura-nlpdata-br-stb/blob/master/data/pt-br/stb/pipeline.json&#34;&gt;https://github.com/Telefonica/aura-nlpdata-br-stb/blob/master/data/pt-br/stb/pipeline.json&lt;/a&gt;&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/global-use-cases/video-use-cases/tv-none/nlp-config-obs/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/global-use-cases/video-use-cases/tv-none/nlp-config-obs/</guid>
      <description>
        
        
        &lt;h1 id=&#34;nlp-configuration-by-ob&#34;&gt;NLP configuration by OB&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;NLP configuration by OB for the &lt;strong&gt;TV None&lt;/strong&gt; use case&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The current document includes the configuration of the NLP model for the &lt;strong&gt;TV None&lt;/strong&gt; use case in the OBs where it is available.&lt;/p&gt;
&lt;h2 id=&#34;brazil&#34;&gt;Brazil&lt;/h2&gt;
&lt;p&gt;The &lt;em&gt;aura-nlpdata&lt;/em&gt; repository structure in Brazil is organized by channel: &lt;em&gt;aura-nlpdata-br-[channel]&lt;/em&gt;. Each repository will contain the files for the available use cases in this channel.&lt;/p&gt;
&lt;p&gt;The following configuration corresponds to the &lt;strong&gt;STB channel&lt;/strong&gt;, which is included in the repository: &lt;a href=&#34;https://github.com/Telefonica/aura-nlpdata-br-stb&#34;&gt;https://github.com/Telefonica/aura-nlpdata-br-stb&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;intent&#34;&gt;Intent&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;intent.tv.none&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;entities&#34;&gt;Entities&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;No use specific entities to obtain results.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;pipeline-stages&#34;&gt;Pipeline stages&lt;/h3&gt;
&lt;p&gt;The following stages of STB&amp;rsquo;s pipeline have been used to develop this UC:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;CluRecognizerWrapper&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The whole &lt;code&gt;pipeline.json&lt;/code&gt;file is available at: &lt;a href=&#34;https://github.com/Telefonica/aura-nlpdata-br-stb/blob/master/data/pt-br/stb/pipeline.json&#34;&gt;https://github.com/Telefonica/aura-nlpdata-br-stb/blob/master/data/pt-br/stb/pipeline.json&lt;/a&gt;&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/global-use-cases/video-use-cases/tv-vod-epg-information/nlp-config-obs/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/global-use-cases/video-use-cases/tv-vod-epg-information/nlp-config-obs/</guid>
      <description>
        
        
        &lt;h1 id=&#34;nlp-configuration-by-ob&#34;&gt;NLP configuration by OB&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;NLP configuration by OB for the &lt;strong&gt;TV VOD EPG information&lt;/strong&gt; use case&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The current document includes the configuration of the NLP model for the &lt;strong&gt;TV VOD EPG information&lt;/strong&gt; use case in the OBs where it is available.&lt;/p&gt;
&lt;h2 id=&#34;brazil&#34;&gt;Brazil&lt;/h2&gt;
&lt;p&gt;The &lt;em&gt;aura-nlpdata&lt;/em&gt; repository structure in Brazil is organized by channel: &lt;em&gt;aura-nlpdata-br-[channel]&lt;/em&gt;. Each repository will contain the files for the available use cases in this channel.&lt;/p&gt;
&lt;p&gt;The following configuration corresponds to the &lt;strong&gt;STB channel&lt;/strong&gt;, which is included in the repository: &lt;a href=&#34;https://github.com/Telefonica/aura-nlpdata-br-stb&#34;&gt;https://github.com/Telefonica/aura-nlpdata-br-stb&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;intent&#34;&gt;Intent&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;intent.tv.vod_epg_information&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;entities&#34;&gt;Entities&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ent.device_tv&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.device_mobile&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ent.device_phone&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;pipeline-stages&#34;&gt;Pipeline stages&lt;/h3&gt;
&lt;p&gt;The following stages of STB&amp;rsquo;s pipeline have been used to develop this UC:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;ExactMatchRecognizerWrapper&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;PygrapeGrammarWrapper&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;EntityTaggerAdapterWrapper&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The whole &lt;code&gt;pipeline.json&lt;/code&gt;file is available at: &lt;a href=&#34;https://github.com/Telefonica/aura-nlpdata-br-stb/blob/master/data/pt-br/stb/pipeline.json&#34;&gt;https://github.com/Telefonica/aura-nlpdata-br-stb/blob/master/data/pt-br/stb/pipeline.json&lt;/a&gt;&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/standard-ner/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/standard-ner/</guid>
      <description>
        
        
        &lt;h1 id=&#34;standard-ner-stage&#34;&gt;Standard NER stage&lt;/h1&gt;
&lt;h2 id=&#34;what-is-standard-ner&#34;&gt;What is Standard NER?&lt;/h2&gt;
&lt;p&gt;Standard Named Entity Recognition (Standard NER) is a process based on &lt;strong&gt;machine learning&lt;/strong&gt; for information extraction that seeks to locate and classify named entities in a text into pre-defined categories.&lt;/p&gt;
&lt;p&gt;The input for Standard NER is the normalized user&amp;rsquo;s utterance. It searches for entities in the utterance and categorizes the recognized words in pre-defined categories (labelling).&lt;/p&gt;
&lt;p&gt;The first step when using Standard NER is the creation of &lt;strong&gt;dictionaries of entities&lt;/strong&gt; that are knowledge bases (KB) used to train the NER to recognize, extract and label entities from the user&amp;rsquo;s utterance.  Once the NER is properly trained, it will act as an intelligent system able to think by itself and recognize entities not previously existing in the dictionaries.&lt;/p&gt;
&lt;p&gt;Moreover, Standard NER takes into account the &lt;strong&gt;entity context&lt;/strong&gt; (considering not only the analysis of the isolated word but also the left and right words).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Which movies do you have with Clint Eastwood as actor?&lt;/li&gt;
&lt;li&gt;Which movies do you have with Clint Eastwood as director?&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;standard-ner-training-flow&#34;&gt;Standard NER training flow&lt;/h3&gt;
&lt;p&gt;The training process for Standard NER is schematically shown in the figure below.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/ner-bilou.png&#34; alt=&#34;Standard NER training process&#34;&gt;&lt;/p&gt;
&lt;p&gt;Aura Standard NER uses the &lt;strong&gt;BILOU tagging scheme&lt;/strong&gt; for encoding information in a set of labels. BILOU encodes the Beginning, Inside and Last token of multi-token chunks while differentiates them from unit-length chunks.&lt;/p&gt;
&lt;p&gt;The feature extraction phase extracts features from tokens, therefore helping their characterization and recognition. This process uses diverse ways to discriminate tokens with the purpose of extracting named entities: Cases; Numbers; Part of speech (PoS); Dictionary entries; Word itself. The feature extraction can also use features from adjacent words in order to take into account the entity context in the decision-making.&lt;/p&gt;
&lt;p&gt;When the tokens are recognized as pre-defined entities, Standard NER replaces these tokens by labels. Therefore, the output generated is the user&amp;rsquo;s utterance tagged in the following way:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Standard NER input&lt;/th&gt;
&lt;th&gt;Standard NER output&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;I want to watch the movie The   Matrix&lt;/td&gt;
&lt;td&gt;I want   to watch the [ent.audiovisual_genre] [ent.audiovisual_film_title]&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Standard NER is also capable of recognizing multi-token entities. (i.e., &amp;ldquo;Out of Africa&amp;rdquo;).  However, Standard NER has a limitation: It can recognize an entity composed of a maximum of 6 tokens.&lt;/p&gt;
&lt;h2 id=&#34;path&#34;&gt;Path&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;ner_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;standard_ner_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;StandardNerWrapper&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;files&#34;&gt;Files&lt;/h2&gt;
&lt;p&gt;The Standard NER stage requires the generation of the following training files:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/domain-classifier/#dispatchertefjson&#34;&gt;&lt;code&gt;dispatcher.tef.json&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sdict_items&lt;/code&gt;: &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/#items-dictionary&#34;&gt;Items dictionary&lt;/a&gt; including the canonical values of entities.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sdict_aliases&lt;/code&gt;: &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/#alias-dictionary&#34;&gt;Alias dictionary&lt;/a&gt; including the aliases for an entity.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#entity_extraction_mapperjson&#34;&gt;&lt;code&gt;entity_extraction_mapper.json&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;entity_extraction_mapperjson&#34;&gt;entity_extraction_mapper.json&lt;/h3&gt;
&lt;p&gt;This file allows the selection and configuration of which stage is in charge of the entities&amp;rsquo; extraction.&lt;/p&gt;
&lt;p&gt;For this purpose, the file &lt;code&gt;entity_extraction_mapper.json&lt;/code&gt; must be created in the folder:   &lt;em&gt;aura-nlpdata-[country_code]/data&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;It has the following format:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Keys: entity types&lt;/li&gt;
&lt;li&gt;Values: stages in charge of the entity extraction&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;default&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;standard_ner&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;grammar&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;clu&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;gazetteer_ner&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.audiovisual_film_title&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;clu&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In the previous example the format indicates that, in the NLP recognition process, four stages are in charge of the entity extraction: Standard NER, Grammar, CLU and Gazetteer NER. But for a specific entity type, &lt;code&gt;ent.audiovisual_film_title&lt;/code&gt;, the entity extraction is only done by CLU, and the stages Standard NER, Gazetteer NER and Grammar ignore it.&lt;/p&gt;
&lt;p&gt;The name of the corresponding stage must be defined as shown in the example above.
The &lt;code&gt;default&lt;/code&gt; key is not mandatory. If a specific entity type is not declared specifically or there is no &lt;code&gt;default&lt;/code&gt; key within the &lt;code&gt;entity_extraction_mapper.json&lt;/code&gt; file, then every entity of this type is discarded.&lt;/p&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;This stage requires the following configuration in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;&lt;code&gt;nlp.json&lt;/code&gt;&lt;/a&gt; file.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;es-es&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ner&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;n_context_words&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;3&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;phone_number_entity_type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;ent.phonenumber&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The Standard NER config is distributed between the &lt;code&gt;training-sner section&lt;/code&gt; (config fields for the training stage) and the &lt;code&gt;ner&lt;/code&gt; section (fields for the production phase), with the following fields:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;apply_cv&lt;/code&gt;: this field indicates if the training uses cross-validation or not through (true/false).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;n_cv_folds&lt;/code&gt;: number of folds for cross-validation.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;fit_params&lt;/code&gt;: this field can have &lt;code&gt;true&lt;/code&gt;/&lt;code&gt;false&lt;/code&gt; values. If true, at the end of the training a file is created with the params used.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;model_params&lt;/code&gt;: used as optional arguments for the algorithm selected.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;algorithm&lt;/code&gt;: name of the training algorithm, with the next allowed values:&lt;/li&gt;
&lt;li&gt;&lt;code&gt;lbfgs&lt;/code&gt;: gradient descent using the L-BFGS method&lt;/li&gt;
&lt;li&gt;&lt;code&gt;l2sgd&lt;/code&gt;: stochastic Gradient Descent with L2 regularization term&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ap&lt;/code&gt;: averaged Perceptron&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pa&lt;/code&gt;: passive Aggressive (PA)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;arow&lt;/code&gt;: adaptive Regularization of Weight Vector (AROW)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;verbose&lt;/code&gt;: boolean value to enable trainer verbose mode.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;max_iterations&lt;/code&gt;: integer value with the maximum number of iterations for optimization algorithms.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tv_ratio&lt;/code&gt;: value between 0 and 1 indicating the percentage of statements (sentences, phrases or isolated words) that composes the test set file.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pseudo_seed&lt;/code&gt;: value to initialize the seed in order to split training/test sets.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;explore_n_features&lt;/code&gt;: parameter used for the model evaluation.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;repeat&lt;/code&gt;: parameter of BILOU algorithm that defines the number of repetitions for each value.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;n_context_words&lt;/code&gt;: number of context words used in the BILOU algorithm.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;phone_number_entity_type&lt;/code&gt;: type of entity to be assigned to an entity recognizer as phone number.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additionally, for the configuration of dictionaries, two aditional fields can be included optionally:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;urm_type_entities&lt;/code&gt;: from all the URM entities, in this section developers should indicate which ones they want to be downloaded.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;headers_ignore&lt;/code&gt;: list with all the headers to be ignored.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/gazetteer-ner/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/gazetteer-ner/</guid>
      <description>
        
        
        &lt;h1 id=&#34;gazetteer-ner-stage&#34;&gt;Gazetteer NER stage&lt;/h1&gt;
&lt;h2 id=&#34;what-is-gazetteer-ner&#34;&gt;What is Gazetteer NER?&lt;/h2&gt;
&lt;p&gt;Gazetteer NER is a stage defined in the NLP recognition process as an alternative engine to NER for entities recognition. This stage is based on &lt;strong&gt;deterministic entity detection&lt;/strong&gt;: it recognizes entities only based on their presence in the dictionaries, matching terms in the dictionaries with a user&amp;rsquo;s utterance.&lt;/p&gt;
&lt;p&gt;Moreover, Gazetteer NER has been designed with entity-level discrimination capabilities, therefore enhancing its selectiveness by allowing it to detect only instances for a given entity type.&lt;/p&gt;
&lt;p&gt;Gazetteer NER stage can appear in a pipeline in parallel to &lt;strong&gt;Standard NER&lt;/strong&gt; (merging both results according to a fixed criteria) or sequentially (letting one engine detect entities not covered by the previous NER engine).&lt;/p&gt;
&lt;p&gt;This stage is also capable of recognizing multi-token entities. (i.e &amp;ldquo;Out of Africa&amp;rdquo;).  However, it has a limitation, as Gazetteer NER can recognize an entity composed of a maximum of 6 tokens.&lt;/p&gt;
&lt;h2 id=&#34;path&#34;&gt;Path&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;auracog_pipelines&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;stage_wrappers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;ner_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;gazetteer_ner_wrapper&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;GazetteerNerWrapper&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;files&#34;&gt;Files&lt;/h2&gt;
&lt;p&gt;The Gazetteer NER stage requires the generation of the following training files:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sdict_items&lt;/code&gt;: &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/#items-dictionary&#34;&gt;Items dictionary&lt;/a&gt; including the canonical values of entities.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sdict_aliases&lt;/code&gt;: &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/#alias-dictionary&#34;&gt;Alias dictionary&lt;/a&gt; including the aliases for an entity.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/standard-ner/#entity_extraction_mapperjson&#34;&gt;&lt;code&gt;entity_extraction_mapper.json&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;No configuration is required for the Gazetteer NER in the &lt;code&gt;nlp.json&lt;/code&gt; file.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/</guid>
      <description>
        
        
        &lt;h1 id=&#34;use-of-grammars-in-aura-nlp&#34;&gt;Use of Grammars in Aura NLP&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;This section includes the description of Grammars, a deterministic recognition method used in Aura NLP for the recognition of the users&amp;rsquo; utterances, their role in the NLP model and practical processes regarding how to use this stage in the understanding process&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;what-are-grammars&#34;&gt;What are Grammars?&lt;/h2&gt;
&lt;p&gt;Grammars are a tool that provides an exact and lightweight utterance&amp;rsquo;s recognition method through a deterministic approach. Grammar uses probabilistic formalisms to recognize specific utterances from the users and to identify how to interpret them.&lt;/p&gt;
&lt;p&gt;Aura NLP include Grammars as a stage that can be included in the NLP pipeline. It use has key limitations due to the large burden of building the language model, as Grammars are only able to recognize exact utterances. However, because of it, they constitute an interesting segment within Aura NLP, due to the existence of specific utterances produced by Aura&amp;rsquo;s users that &lt;strong&gt;must&lt;/strong&gt; be recognized by Aura (such as common utterances from users or difficult ones that are hardly recognized by CLU).&lt;/p&gt;
&lt;p&gt;Discover in the documents:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Detailed description of Grammars: &lt;a href=&#34;#engines&#34;&gt;Grammars engines&lt;/a&gt;, &lt;a href=&#34;#types&#34;&gt;types of Grammars&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/grammars-generation/&#34;&gt;Guidelines for the generation of Grammars in Unitex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/grammars/utterances-several-entities/&#34;&gt;Recognition of utterances with several entities in Grammars&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;engines&#34;&gt;Grammars engines: GrapeNLP and Unitex/GramLab&lt;/h2&gt;
&lt;p&gt;GrapeNLP is used by Aura NLP for intent recognition and entity extraction using grammars. This grammar engine is based on handcrafted grammars which describe in an exact manner the sentences that are to be recognized and the output information that is to be generated for each one, in our case, the intent the sentence corresponds to and the entities to extract.&lt;/p&gt;
&lt;p&gt;Linguists should develop by hand the grammar that exactly recognizes the required sentences. Just in the case of ambiguity (multiple interpretations defined in the grammar for the same sentence), GrapeNLP uses a heuristic approach in order to choose one of the interpretations: the one that in the grammar uses more restrictive linguistic conditions.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/grammar-graph.png&#34; alt=&#34;Example of Grammars graphs&#34;&gt;&lt;/p&gt;
&lt;p&gt;The core of GrapeNLP is implemented in C++ and includes a Python module to facilitate its integration with Python programs. It can analyse around 2700 sentences per second in an average computer and can be run in Ubuntu, Alpine, MacOS and Android. Moreover, it is open source and LPGL licensed, thus it can be used in commercial products.&lt;/p&gt;
&lt;p&gt;GrapeNLP does not include a grammar editor. Instead, we use the editor included in the &lt;strong&gt;Unitex / GramLab platform&lt;/strong&gt;.
Unitex / GramLab is also LGPL licensed and can be installed in Windows, Linux and MacOs machines.
The grammars created with Unitex are represented with graphs organized in connected boxes that linguists can easily create and update manually. Each box contains a set of possibilities for each token from the user&amp;rsquo;s utterance. The combination of different connected boxes provides a full variability of sentences to be recognized. The system also allows the generation of sub-grammars for specific Aura domains or for certain intents.&lt;/p&gt;
&lt;p&gt;Once the grammars have been developed in Unitex, the grammar engine goes through all the graph paths from the beginning (left side) and compares box by box the user&amp;rsquo;s utterance with the grammar to evaluate the matching.&lt;/p&gt;
&lt;p&gt;At the end of each path, a score is specified corresponding to the highest score among all the feasible paths. The output is a set of labels together with a start and end index and a score. The output is presented as a .json format.&lt;/p&gt;
&lt;p&gt;It is important to bear in mind that, currently, grammars are used in Aura mainly for intents recognition. The grammar engine only provides recognized entities that have previously been labelled in the graphs.
As another example of Grammars, the utterance &amp;ldquo;I would like to watch the film Frozen&amp;rdquo; provides the following output:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;PipelineMessage&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;OriginalMessage&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;phrase&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;I would like to watch the film Frozen&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;normalized_phrase&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;i would like to watch the film frozen&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;normalized_presentable_phrase&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;I would like to watch the film Frozen&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;annotated_phrase&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39; i would like to watch the film frozen&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;intent&lt;/span&gt;:  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;intent.tv.search&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;score&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;1.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;entities&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;Entity&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Frozen&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Type&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;ent.audiovisual_film_title&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Score&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;1.0&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Start&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;index&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;31&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;End&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;index&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;37&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Canon&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;frozen&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Label&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;None&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Deep&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;Links&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;None&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note that, even though GrapeNLP does not make use of statistical methods or probabilities, the resulting .json includes a score field. This has been added for homogeneity with the machine learning workflow, but it is always hardcoded to 1.0 (since GrapeNLP performs exact matching, the probability is 100%). The machine learning pipeline never returns a score of 1.0, thus this field can be used for knowing whether the sentence was recognized by GrapeNLP or by an intent recognition stage (CLU, etc.).&lt;/p&gt;
&lt;p&gt;&amp;#x1f4c4; For more information regarding the use of Grammars for language recognition, please check the &lt;a href=&#34;https://unitexgramlab.org/&#34;&gt;Unitex User Manual&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;types&#34;&gt;Global and local grammars&lt;/h2&gt;
&lt;p&gt;There are two types of grammars defined in Aura NLP recognition process, both based on the Grammars engine that offer a different performance depending on the location where they are executed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Global grammars&lt;/strong&gt;: defined and executed in Aura back-end.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Local grammars&lt;/strong&gt;: they are a subset of the Global grammar.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The understanding process is carried out locally, in the channel side, for an agile resolution of the process, therefore allowing a significant latency reduction. It is available for a selected set of use cases.&lt;/p&gt;
&lt;p&gt;Global and local grammars must be aligned, so there are no differences in the E2E understanding process (for instance, the same user input must provide the same result in terms of NLP recognition both global and local grammars).&lt;/p&gt;
&lt;p&gt;Channels can automatically update their local grammars based on the grammar backend information. Moreover, the channel needs to be able to share the information with the global backend in terms of logs and KPIs.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/create-kernel-app/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/create-kernel-app/</guid>
      <description>
        
        
        &lt;h1 id=&#34;kernel-configuration-for-urm-global-script&#34;&gt;Kernel configuration for URM Global script&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Guidelines for the configuration of the script URM Global in &lt;strong&gt;Kernel&lt;/strong&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt; dictionaries can now be generated and configured using the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/intro-dictionaries/#:~:text=If%20the%20new%20global%20script%20build_local_catalogs_etl.sh&#34;&gt;URM Global script &lt;code&gt;build_local_catalogs_etl.sh&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In order to have a correct behavior for the URM data extraction used in the global script, it is necessary to execute the tasks defined in the following sections, that are a particularization of the general guidelines &amp;ldquo;Kernel configuration: General steps&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;1-check-apis-publication-in-kernel&#34;&gt;1. Check APIs publication in Kernel&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Check that the &lt;em&gt;&lt;strong&gt;directsql:query&lt;/strong&gt;&lt;/em&gt; API is published in &lt;strong&gt;Kernel&lt;/strong&gt;: &lt;a href=&#34;https://developers.baikalplatform.com/apis/&#34;&gt;List of available APIS on Telefónica Kernel&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If not, follow the guidelines in the document &lt;a href=&#34;../../docs/atria/technical-guidelines/kernel-api-publication/&#34;&gt;Publish an API in &lt;strong&gt;Kernel&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;2-check-datasets-publication-in-kernel&#34;&gt;2. Check datasets publication in Kernel&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Check that the required datasets for the configuration of the URM Global script are published in &lt;strong&gt;Kernel&lt;/strong&gt;: &lt;a href=&#34;https://developers.baikalplatform.com/datasets/&#34;&gt;List of available datasets on Telefónica &lt;strong&gt;Kernel&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;D_Gbl_Video_Content_Type&lt;/li&gt;
&lt;li&gt;Video_Content&lt;/li&gt;
&lt;li&gt;D_Gbl_Video_Staff_Role&lt;/li&gt;
&lt;li&gt;Video_Content_Staff_Rel&lt;/li&gt;
&lt;li&gt;D_Video_Staff_Role&lt;/li&gt;
&lt;li&gt;D_Video_Staff&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;3-create-a-kernel-application&#34;&gt;3. Create a Kernel application&lt;/h2&gt;
&lt;p&gt;A &lt;strong&gt;Kernel&lt;/strong&gt; application with the name &lt;strong&gt;aura-cognitive-trainings&lt;/strong&gt; must be created and configured with specific scopes.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ask the &lt;strong&gt;Kernel&lt;/strong&gt; Team to create the new application in &lt;strong&gt;Kernel&lt;/strong&gt;:
&lt;code&gt;&amp;quot;id&amp;quot;: &amp;quot;aura-cognitive-trainings&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once the app is created, two parameters will be provided for securely accessing:
- &lt;code&gt;client_id&lt;/code&gt;: unique identifier of the consuming app acting as &lt;strong&gt;Kernel&lt;/strong&gt; API client.
- &lt;code&gt;client_secret&lt;/code&gt;: password.&lt;/p&gt;
&lt;h2 id=&#34;4-assign-purposescopes-to-the-application&#34;&gt;4. Assign purpose/scopes to the application&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;No purpose is required, as datasets do not include personal information.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ask the &lt;strong&gt;Kernel&lt;/strong&gt; Team to assign the following scopes to the application:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;data:Video_Content:read&lt;/li&gt;
&lt;li&gt;data:Video_Content_Staff_Rel:read&lt;/li&gt;
&lt;li&gt;data:D_Video_Staff:read&lt;/li&gt;
&lt;li&gt;data:D_Video_Content_Category:read&lt;/li&gt;
&lt;li&gt;data:D_Video_Staff_Role:read&lt;/li&gt;
&lt;li&gt;data:D_Video_Age_Rating:read&lt;/li&gt;
&lt;li&gt;data:D_Gbl_Video_Content_Category:read&lt;/li&gt;
&lt;li&gt;data:D_Gbl_Video_Staff_Role:read&lt;/li&gt;
&lt;li&gt;data:D_Gbl_Video_Content_Type:read&lt;/li&gt;
&lt;li&gt;data:D_Gbl_Video_Age_Rating:read&lt;/li&gt;
&lt;li&gt;directsql:query&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;5-add-other-required-fields&#34;&gt;5. Add other required fields&lt;/h2&gt;
&lt;p&gt;Provide the &lt;strong&gt;Kernel&lt;/strong&gt; Team with other necessary fields, as shown in the code snippet.&lt;/p&gt;
&lt;p&gt;The final file for the configuration of the application, including all the above-mentioned parameters, is shown below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Data consumption for Aura Cognitive Trainings&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;grant_types&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;authentication&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;client_credentials&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;scopes&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;data:Video_Content:read&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;data:Video_Content_Staff_Rel:read&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;data:D_Video_Staff:read&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;data:D_Video_Content_Category:read&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;data:D_Video_Staff_Role:read&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;data:D_Video_Age_Rating:read&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;data:D_Gbl_Video_Content_Category:read&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;data:D_Gbl_Video_Staff_Role:read&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;data:D_Gbl_Video_Content_Type:read&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;data:D_Gbl_Video_Age_Rating:read&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;directsql:query&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;             &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;purposes&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;api&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;directsql:query&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Aura cognitive application to consumption data of the kernel&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;raw_dataset_read&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;tags&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;encrypt_access_tokens&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;aura-cognitive-trainings&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;requires_authorization_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;client_type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;CONFIDENTIAL&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;legal_entity_id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;telefonica&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;redirect_uris&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/developers-workspace/monitoring/metrics/nlp-metrics/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/developers-workspace/monitoring/metrics/nlp-metrics/</guid>
      <description>
        
        
        &lt;h1 id=&#34;aura-nlp-metrics&#34;&gt;Aura NLP metrics&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;List of metrics available in Aura NLP&lt;/p&gt;
&lt;p&gt;These metrics are stored since Heroes (7.0.0.) release&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;http_request_duration_seconds&#34;&gt;http_request_duration_seconds&lt;/h2&gt;
&lt;p&gt;This &lt;strong&gt;Prometheus&lt;/strong&gt; metric is modelled as a summary where its value is the spent time until the remote host responds to an HTTP request.&lt;/p&gt;
&lt;p&gt;Note that the value is a float number rounded to its third decimal. It is stored as a &lt;a href=&#34;https://prometheus.io/docs/concepts/metric_types/#summary&#34;&gt;Summary&lt;/a&gt; in &lt;strong&gt;Prometheus&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;This metric is intended to store the duration of outgoing requests in seconds.&lt;/p&gt;
&lt;p&gt;Labels:&lt;/p&gt;
&lt;p&gt;All label values are strings.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;method&lt;/code&gt;: HTTP method used by the request being stored (&lt;code&gt;GET&lt;/code&gt;, &lt;code&gt;POST&lt;/code&gt;, &lt;code&gt;PUT&lt;/code&gt;, &lt;code&gt;DELETE&lt;/code&gt;, etc.).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;path&lt;/code&gt;: HTTP path of the incoming request.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;status_code&lt;/code&gt;: the responded HTTP status code (as a string).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Value:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Request duration in seconds.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;outgoing_request_duration_seconds&#34;&gt;outgoing_request_duration_seconds&lt;/h2&gt;
&lt;p&gt;This &lt;strong&gt;Prometheus&lt;/strong&gt; metric is a modelled as a summary where the value is the spent time until the remote host responds to an HTTP request.&lt;/p&gt;
&lt;p&gt;Note the value is a float number rounded to its third decimal. It is stored as a &lt;a href=&#34;https://prometheus.io/docs/concepts/metric_types/#summary&#34;&gt;Summary&lt;/a&gt; in &lt;strong&gt;Prometheus&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;This metric is intended to store the duration of outgoing requests in seconds.&lt;/p&gt;
&lt;p&gt;Labels:&lt;/p&gt;
&lt;p&gt;All label values are strings.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;method&lt;/code&gt;: HTTP method (&lt;code&gt;GET&lt;/code&gt;, &lt;code&gt;POST&lt;/code&gt;; etc.), a string in uppercase.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;host&lt;/code&gt;: remote host that will receive the outgoing request.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;path&lt;/code&gt;: HTTP path of the outgoing request.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;status&lt;/code&gt;: the responded HTTP status code (as a string).&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/auxiliary-processes/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/auxiliary-processes/</guid>
      <description>
        
        
        &lt;h1 id=&#34;complementary-processes-in-the-development-process&#34;&gt;Complementary processes in the development process&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Processes over external software that may be required when developing a use case over Aura NLP and best practices&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;This section includes certain processes that may be carried out over &lt;strong&gt;external software&lt;/strong&gt; when developing a use case in order to obtain credentials from these software, best practices for the generation of Pull Requests and procedures followed by the Aura NLP Global Team.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/auxiliary-processes/azure-credentials-clu/&#34;&gt;How to obtain Azure credentials for CLU&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/auxiliary-processes/create-pull-request/&#34;&gt;Best practices for the generation of a Pull Request&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/auxiliary-processes/nlp-global-team-validation/&#34;&gt;Review of a Pull Request by NLP Global Team&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-normalization-pipelines/noro/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-normalization-pipelines/noro/</guid>
      <description>
        
        
        &lt;h1 id=&#34;noro-normalization-pipeline&#34;&gt;Noro normalization pipeline&lt;/h1&gt;
&lt;h2 id=&#34;description-and-stages&#34;&gt;Description and stages&lt;/h2&gt;
&lt;p&gt;Noro is a pipeline used for the normalization of the user&amp;rsquo;s utterance through the execution of the following &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/nlp-pipeline-components-catalog/nlp-stages/nlp-normalizers/&#34;&gt;normalizers&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PunctuationNormalizer&lt;/li&gt;
&lt;li&gt;SplitPunctNormalizer&lt;/li&gt;
&lt;li&gt;SpaceNormalizer&lt;/li&gt;
&lt;li&gt;CurrencyNormalizer&lt;/li&gt;
&lt;li&gt;UnicodeNormalizer&lt;/li&gt;
&lt;li&gt;LowercaseNormalizer&lt;/li&gt;
&lt;li&gt;WordReplacerFromFileNormalizer&lt;/li&gt;
&lt;li&gt;CardinalityNormalizer&lt;/li&gt;
&lt;li&gt;PunctuationNormalizer&lt;/li&gt;
&lt;li&gt;SpaceNormalizer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../images/aura-nlp/noro-pipeline.png&#34; alt=&#34;Noro normalization pipeline&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;This stage requires the following configuration in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#2-configure-your-nlp-model&#34;&gt;&lt;code&gt;nlp.json&lt;/code&gt; configuration file&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;For the specific language and channel, in the &lt;code&gt;nlp&lt;/code&gt; field of this JSON file, the key &lt;code&gt;normalizer_pipeline_class&lt;/code&gt; must be filled in with the value:&lt;br&gt;
&lt;code&gt;auracog_pipelines.pipelines.normalization.noro.NoroPipeline&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;es-es&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;mp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;nlp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;normalizer_pipeline_class&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;auracog_pipelines.pipelines.normalization.noro.NoroPipeline&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
  </channel>
</rss>
