<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Aura – </title>
    <link>/docs/experiences-builder/development-use-cases/nlp-uc-development/</link>
    <description>Recent content on Aura</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    
	  <atom:link href="/docs/experiences-builder/development-use-cases/nlp-uc-development/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <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/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/</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/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/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/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/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>
    
  </channel>
</rss>
