<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Aura – </title>
    <link>/docs/developers-workspace/monitoring/aura-analytics/</link>
    <description>Recent content on Aura</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    
	  <atom:link href="/docs/developers-workspace/monitoring/aura-analytics/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: </title>
      <link>/docs/developers-workspace/monitoring/aura-analytics/architecture/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/developers-workspace/monitoring/aura-analytics/architecture/</guid>
      <description>
        
        
        &lt;h1 id=&#34;aura-analytics-11-architecture&#34;&gt;Aura Analytics 1.1. architecture&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Technical architecture of Aura Analytics 1.1.&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;architecture-description&#34;&gt;Architecture description&lt;/h2&gt;
&lt;p&gt;The following figure shows a full overview of Aura Analytics Dashboard architecture and operation, which is also described below:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../../images/developers-workspace/monitoring/aura-analytics/architecture.jpg&#34; alt=&#34;Aura Analytics architecture&#34;&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt; Aura logs generated in local instance are converted to datasets and transferred to local &lt;strong&gt;Kernel&lt;/strong&gt; via the standard procedure and with the established frequency (typically, daily).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt; Once there, the “Active listening” process flow fires up daily. Through a specialized process that runs on an Aura local instance and with access to the stored datasets in the &lt;strong&gt;Kernel&lt;/strong&gt; local storage space:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PII (Personally Identifiable Information) is removed or encrypted.&lt;/li&gt;
&lt;li&gt;The result is transferred to a bucket/blob set up for this task and managed by Global Aura team.&lt;/li&gt;
&lt;li&gt;Here, the PPDs (Privacy-Preserving Datasets) are created. Currently, only &lt;code&gt;MESSAGE&lt;/code&gt;, &lt;code&gt;RECOGNIZER&lt;/code&gt; and API datasets are involved in this process.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In order to convert PII data to PPD, every field in these datasets can be:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a. Not transferred.&lt;/li&gt;
&lt;li&gt;b. Pseudo-anonymized. In this situation, the field is transformed through a cryptographic hashing process using a &lt;em&gt;secret&lt;/em&gt; set up by  the OB.&lt;/li&gt;
&lt;li&gt;c. Anonymized fragments of the field (e.g., credit card number, email, etc.). The field is processed to detect specific patterns and replaces them with a specific tag (&lt;code&gt;idemail&lt;/code&gt;, &lt;code&gt;idpassport&lt;/code&gt;, etc.). The list of anonymization strings is agreed with each OB.&lt;/li&gt;
&lt;li&gt;d. Transferred as is.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt; After that, the &lt;strong&gt;Raw PPD Datasets&lt;/strong&gt; stored in bucket/blog managed by the Global Team are processed generating clean PPD Datasets in order to adapt them to the analytics tools.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt; From that space, the clean PPD Datasets can be:&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Accessed by the Aura Global Team that use them for several tasks, with the purpose of evaluating Aura quality and taking the best decisions regarding to product evolution:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Perform analytics on Aura behavior and prototype Analytics Dashboard features&lt;/li&gt;
&lt;li&gt;Improve Aura Platform capabilities (e.g., adapting machine learning models)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Accessed by a Local Aura Team, ingesting the data to a dedicated server managed by the OB with analytics and data visualization capabilities. In order to do that, the Aura Global Team provides a component with the &lt;strong&gt;ELK (elasticsearch, logstash &amp;amp; kibana)&lt;/strong&gt; preconfigured with a set of dashboards that can be deployed and adapted by the OB team.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;i class=&#34;fa-regular fa-file-lines fa-xl&#34; style=&#34;color: #0d5de7;&#34;&gt;&lt;/i&gt;  All the code involved in this process can be found in &lt;a href=&#34;https://github.com/Telefonica/aura-log-processing/tree/master/kpi&#34;&gt;Github&lt;/a&gt;. Particularly:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/Telefonica/aura-log-processing/tree/master/kpi/ppd-creator&#34;&gt;PPD RAW creation package&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/Telefonica/aura-log-processing/tree/master/kpi/ppd-cleaner&#34;&gt;Conversion from PPD RAW to PPD Clean&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/Telefonica/aura-log-processing/blob/master/kpi/ppd-creator/src/ppd_creator/kpi_utils.py#L113&#34;&gt;Pseudo-anonymization function for identifiers&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/Telefonica/aura-log-processing/tree/master/kpi/ppd-creator/src/ppd_creator/colproc/utanon&#34;&gt;Utterance anonymization&lt;/a&gt; (agreed individually for ES and UK)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/developers-workspace/monitoring/aura-analytics/ob-analytics/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/developers-workspace/monitoring/aura-analytics/ob-analytics/</guid>
      <description>
        
        
        &lt;h1 id=&#34;ob-analytics&#34;&gt;OB analytics&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Description of the OB &lt;strong&gt;OB Analytics subsystem&lt;/strong&gt; that can be managed by OBs.&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;OB Analytics subsystem&lt;/strong&gt; is an optional component in the dataflow, which enables the management of clean PPDs (Privacy-Preserving Datasets) by LCDOs for the analysis of Aura behavior.&lt;/p&gt;
&lt;p&gt;In order to work with &lt;strong&gt;OB Analytics subsystem&lt;/strong&gt;, the following items must be fulfilled:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt; The legal agreement for log management and creation of PPDs must be signed between the OB and Aura Global Team.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt; The mechanism for PPD creation and transfer must be installed. This requires the deployment of a piece of software (provided by Aura Global Team) inside the OB cloud, with access to the repository (AWS bucket or Azure Blob Storage) holding Aura logs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt; A virtual machine must be deployed on the OB cloud to hold the OB Dashboard. This virtual server must be provisioned by the OB on the same cloud environment (provider and region, e.g., AWS West Europe) than the &lt;strong&gt;Kernel&lt;/strong&gt; cloud, but separated from it in terms of access rights (placing it in the same cloud enables saving transfer costs from the cloud provider for PPD access).&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;architecture-and-installation&#34;&gt;Architecture and installation&lt;/h2&gt;
&lt;p&gt;The basic infrastructure of the &lt;strong&gt;OB Analytics subsystem&lt;/strong&gt; consists on a &lt;strong&gt;Virtual Machine&lt;/strong&gt; that is fed with the extracted and cleaned PPDs. This virtual machine is set up with a proposed stack of tools based on the open-source ELK framework (See figure in &lt;a href=&#34;../../../../docs/developers-workspace/monitoring/aura-analytics/architecture/&#34;&gt;Architecture document&lt;/a&gt;).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Elastic Search&lt;/strong&gt;: indexing database.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Logstash&lt;/strong&gt;: ingester for PPD data, configured to upload the anonymized clean PPD tables into Elastic Search.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Kibana&lt;/strong&gt;: visualization tool offering dashboards and panels created over Elastic Search data.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The OB is required to set up the base VM, for which an &lt;strong&gt;Ubuntu 18.04 system&lt;/strong&gt; is advised.&lt;/p&gt;
&lt;p&gt;On top of this base system, Aura Global Team provides an installation kit that includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The pre-processing and ingesting configuration for feeding clean PPD data into logstash.&lt;/li&gt;
&lt;li&gt;The indexing configuration for Elastic Search.&lt;/li&gt;
&lt;li&gt;Certain prototype dashboards and panels for Kibana.&lt;/li&gt;
&lt;li&gt;Basic security provisions (providing web-based secure access to the dashboard).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once installed, the system automatically ingests any new clean PPD being produced, so that the index and dashboards remain up to date.&lt;/p&gt;
&lt;p&gt;In principle, the PPD creation process specifies daily production, since Aura logs are sent to &lt;strong&gt;Kernel&lt;/strong&gt; once a day. This means that information about Aura behavior and user actions on one given day will be available in the dashboards on the following day.&lt;/p&gt;
&lt;p&gt;The provided system and installed dashboards are only visualization examples for clean PPDs. The system allows the creation of additional panels that may provide complementary insights on clean PPD elements and OBs are encouraged to explore data as they see fit.&lt;/p&gt;
&lt;p&gt;Dashboards can be exported and reimported in a different system, so in addition to the LCDO team adding new analysis features, it is possible to provide later updates to the OB Analytics system. These updates can be provided by the Aura Global Team or shared between OBs.&lt;/p&gt;
&lt;p&gt;Outside the dashboard stack, it is also possible to process clean PPD with alternative tools (PPDs are essentially CSV files with a defined structure, so they can be processed with a variety of tools).&lt;/p&gt;
&lt;h2 id=&#34;kibana-dataflow&#34;&gt;Kibana dataflow&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;Aura Analytics dashboard&lt;/strong&gt; follows a standard ELK deployment:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;An Elastic Search index has been created. It is called &lt;code&gt;aura-message-COUNTRY&lt;/code&gt;, and its index schema contains a cleaned version of the &lt;code&gt;AURA MESSAGE&lt;/code&gt; table (which registers input and output messages). For details on the fields that this index contains, go to the document &lt;a href=&#34;../../../../docs/developers-workspace/monitoring/aura-analytics/data-model/&#34;&gt;Data model&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A Logstash configuration ingests into this index the cleaned sets of datapoints that are produced daily as a result of the transfer and processing of Aura logs. This is usually done in the early morning (which will then upload data for the previous day).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A Kibana index pattern has been created, matching the uploaded Elastic Search index.
An Elastic Search index is how the data is stored inside the DB; a Kibana index pattern is how it is visualized in the interface. Typically, Kibana index patterns match Elastic Search indices, but it is, for example, possible to create a Kibana index pattern that matches more than one Elastic Search index and hence combines different data sources.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A small set of visualizations have been pre-installed in Kibana over that index pattern, as a means to get a default peek on the index data. See the section &lt;a href=&#34;#preinstalled-visual-elements&#34;&gt;preinstalled visual elements&lt;/a&gt; to check them.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This configuration is deployed on the Kibana default space (the only one available on a freshly created Aura Analytics dashboard). If there is the need to create additional spaces, to better organize visualizations, then the Elastic Search index pattern needs to be installed into those additional spaces.&lt;/p&gt;
&lt;h2 id=&#34;preinstalled-visual-elements&#34;&gt;Preinstalled visual elements&lt;/h2&gt;
&lt;p&gt;Kibana offers many possibilities to visualize the ingested data and there are many resources and tutorials around explaining its mechanics. We therefore refer to the &lt;a href=&#34;https://www.elastic.co/guide/en/kibana/index.html&#34;&gt;official Kibana documentation&lt;/a&gt;, or tutorials available on the web, for generic information.&lt;/p&gt;
&lt;p&gt;In the particular case of the Aura Analytics deployment, there is an Elastic Search index that gets automatically ingested daily. It is called &lt;code&gt;Aura-message-COUNTRY&lt;/code&gt; and contains a cleaned version of the &lt;code&gt;AURA MESSAGE&lt;/code&gt; table (which registers input and output messages).&lt;/p&gt;
&lt;p&gt;Over this index, three types of panels/visualizations have been preinstalled, to provide a starting point:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Discover panel&lt;/li&gt;
&lt;li&gt;Visualizations&lt;/li&gt;
&lt;li&gt;Dashboards&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These preinstalled elements are described in the following subsections. To access them, select the appropriate icon in the left navigation panel.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../../images/developers-workspace/monitoring/aura-analytics/elastic-search-index.png&#34; alt=&#34;Elastic search index&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;discover-panel&#34;&gt;Discover panel&lt;/h3&gt;
&lt;p&gt;The &lt;strong&gt;Discover panel&lt;/strong&gt; in Kibana is an essential tool where one can perform queries to an Elastic Search index (and save those searches if desired), and explore users’ interactions with Aura in detail log by log, these being filtered by:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt; Search terms or conditions&lt;/li&gt;
&lt;li&gt; A time interval&lt;/li&gt;
&lt;li&gt; Additional filters applied to the query results&lt;/li&gt;
&lt;li&gt; A set of index fields to show in the result table&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These 4 steps are represented in the following figure:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../../images/developers-workspace/monitoring/aura-analytics/discover-panel.png&#34; alt=&#34;Discover panel&#34;&gt;&lt;/p&gt;
&lt;p&gt;As shown in the previous figure, the starting point is the Elastic Search index holding all the data. The three first steps in the chain reduces the amount of data handled, by pruning out elements that do not satisfy the defined condition. The fourth step is just a display adjustment: on the final dataset, define which of the available fields will be shown on the output table that appears in the panel. However, the retrieved data contains all fields (clicking on any of the rows will show them).&lt;/p&gt;
&lt;p&gt;In the Aura Dashboard default set, there is one Discover panel preinstalled. It is called &lt;strong&gt;question-answer pairs&lt;/strong&gt; and has the following characteristics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A blank query (i.e., provide all the results)&lt;/li&gt;
&lt;li&gt;A time interval for the last 7 days&lt;/li&gt;
&lt;li&gt;A “only user” filter: it filters out all intents that correspond to non-user queries (suggestions, help commands from the client application, etc.)&lt;/li&gt;
&lt;li&gt;A visualization that includes: the timestamp, the (cleaned) user message, the detected aura intent, associated entities (if applicable), the dialog that was invoked and Aura’s response&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This figure shows a snapshot of this panel. To load it, select the Discover tool in the left navigation bar and then click on the “Open” menu option in the top menu bar. A list of saved panels will be shown, together with the already mentioned “question-answer pairs”.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../../images/developers-workspace/monitoring/aura-analytics/question-answer-pairs-panel.png&#34; alt=&#34;question-answer pairs panel&#34;&gt;&lt;/p&gt;
&lt;p&gt;Once the panel is loaded, each one of the aforementioned four elements can be freely modified. For example, the interface allows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adding new filters with the &amp;ldquo;+Add Filters&amp;rdquo; button&lt;/li&gt;
&lt;li&gt;Deactivating the current filters by pressing over the predefined filter and clicking over the &amp;ldquo;Temporarily Disable&amp;rdquo; option&lt;/li&gt;
&lt;li&gt;Modifying the query interval with the &amp;ldquo;calendar&amp;rdquo; button or &amp;ldquo;Dates Box&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Adding a specific query on a given index field(s) by using the &amp;ldquo;Search Box&amp;rdquo;, instead of the (default) blank query.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discover panels can be saved as named objects, to be later loaded at will. So, if needed, any panel (a modified panel or a newly created one) can be saved with a new name to have it available for later loading.&lt;/p&gt;
&lt;h3 id=&#34;visualizations&#34;&gt;Visualizations&lt;/h3&gt;
&lt;p&gt;A total of 7 visualizations come preinstalled with the base Aura Dashboard. The list can be obtained from the &amp;ldquo;visualizations&amp;rdquo; item in the left menu bar, as shown in the figure, and they are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Three “Stats” type visualizations, which provide general statistics on platform usage.&lt;/li&gt;
&lt;li&gt;Four “User” type visualizations, which provide insights on user behavior.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../../../images/developers-workspace/monitoring/aura-analytics/visualizations.png&#34; alt=&#34;Visualizations&#34;&gt;&lt;/p&gt;
&lt;p&gt;Note that this distinction between “User” and “Stats” is purely conceptual and based on the fields that have been used to generate the visualizations that, from the point of view of Kibana, are all regular visualizations. Those visualizations can be instantly loaded by clicking on their names. But they can also be integrated into dashboards, as described in the next section.&lt;/p&gt;
&lt;h3 id=&#34;dashboards&#34;&gt;Dashboards&lt;/h3&gt;
&lt;p&gt;A dashboard in &lt;strong&gt;Kibana&lt;/strong&gt; is essentially a spatial arrangement of visualizations. For example, to construct a dashboard, just place visualizations into a page, resizing them as required, so they can be observed in a single place.&lt;/p&gt;
&lt;p&gt;It is interesting to know that in a dashboard all visualizations are linked. So that if, for example, time interval is changed, or a filter is added using the interface, these modifications affect all visualizations in the dashboard and all of them get updated.&lt;/p&gt;
&lt;p&gt;Elements in the dashboard visualizations can also generate &lt;strong&gt;instant filters&lt;/strong&gt; by clicking on graphs or table elements. Those filters are then added to the top of the page as a filter and, therefore, can then be modified or removed.&lt;/p&gt;
&lt;p&gt;The Aura Analytics default installation preloads two dashboards. Those are available for selection when we click on the &amp;ldquo;dashboard&amp;rdquo; icon in the left navigation bar:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../../images/developers-workspace/monitoring/aura-analytics/default-dashboards.png&#34; alt=&#34;Default dashboards&#34;&gt;&lt;/p&gt;
&lt;p&gt;There are different types of dashboards, described in the following sections.&lt;/p&gt;
&lt;h4 id=&#34;system-dashboard&#34;&gt;System dashboard&lt;/h4&gt;
&lt;p&gt;This dashboard integrates the three predefined “Stats” visualizations (generic statistics):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A timeline of interactions (user messages sent and answered), segmented by channel&lt;/li&gt;
&lt;li&gt;A heatmap of interactions by weekday and time of day (hour)&lt;/li&gt;
&lt;li&gt;A bar graph classifying the interactions produced in the period by detected intent&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following figure shows a screenshot of this dashboard:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../../images/developers-workspace/monitoring/aura-analytics/system-dashboard.png&#34; alt=&#34;System dashboard&#34;&gt;&lt;/p&gt;
&lt;h4 id=&#34;user-dashboard&#34;&gt;User dashboard&lt;/h4&gt;
&lt;p&gt;The user dashboard contains the four visualizations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Most Frequent User Utterances: list of the most frequent user&amp;rsquo;s sentences (in the time interval and filter active at the moment). It uses the &lt;a href=&#34;../../../../docs/developers-workspace/monitoring/aura-analytics/data-model/#usrmsgsig&#34;&gt;&lt;code&gt;usrMsgSig&lt;/code&gt; field&lt;/a&gt; to group together very similar utterances.&lt;/li&gt;
&lt;li&gt;Aura Answer Groups: list of the most frequent answers that Aura generates, grouped by the semantic categories in &lt;a href=&#34;../../../../docs/developers-workspace/monitoring/aura-analytics/data-model/#auramsggroup&#34;&gt;&lt;code&gt;AuraMsgGroup&lt;/code&gt;&lt;/a&gt; field.&lt;/li&gt;
&lt;li&gt;Words per query: distribution of sizes for the user messages, measured as number of words in the utterance and segmented by channel.&lt;/li&gt;
&lt;li&gt;Tag cloud: set of most frequent user utterances, as a tag cloud in which the font size represents the utterance frequency. The &lt;a href=&#34;../../../../docs/developers-workspace/monitoring/aura-analytics/data-model/#message_usr_norm&#34;&gt;&lt;code&gt;MESSAGE_USR_NORM&lt;/code&gt; field&lt;/a&gt; is used for its representation, so it contains normalized utterances.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The next screenshots show the dashboard with all these visualizations (it is a large dashboard, so typically it needs scrolling to visualize all its components).&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../../images/developers-workspace/monitoring/aura-analytics/user-dashboard.png&#34; alt=&#34;User dashboard&#34;&gt;&lt;/p&gt;
&lt;p&gt;Note that those four visualizations are linked as they correspond to the same subset of the data (as given by filters and time interval) but they are NOT linked at the individual item level (i.e., a given most frequent user utterance in the left table does not correspond to any specific Aura answer in the right bar graph).&lt;/p&gt;
&lt;p&gt;Instead, the dashboard can be manipulated by selecting one specific item in any of the visualization and this will create a filter for the others. For instance, as the following image shows, if we select &lt;code&gt;&amp;lt;CHURN&amp;gt;&lt;/code&gt; in the Aura answer group visualization, we can see in the others the user utterances that led Aura to generate that answer (i.e., an answer about contract cancelation).&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../../images/developers-workspace/monitoring/aura-analytics/answer-groups-user-dashboard.png&#34; alt=&#34;Aura answer groups in User dashboard&#34;&gt;&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/developers-workspace/monitoring/aura-analytics/data-model/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/developers-workspace/monitoring/aura-analytics/data-model/</guid>
      <description>
        
        
        &lt;h1 id=&#34;aura-analytics-data-model&#34;&gt;Aura Analytics data model&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Data model of Aura Analytics 1.1. that can be used as the base for building new elements&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;New elements can be built (or the current elements modified) by making use of the available fields in Kibana through the ingested Elastic Search index.&lt;/p&gt;
&lt;p&gt;In this document, we provide a reference of the schema that the index follows, so that it can be used to build such new visualizations, or to better understand the existing ones.&lt;/p&gt;
&lt;p&gt;Elements in the &lt;code&gt;Aura-message&lt;/code&gt; data model have 3 different types:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Numeric&lt;/strong&gt;: single numbers, integer or real. Suitable for numerical statistics, such as averages, or for plotting variation across time in graphs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Keyword&lt;/strong&gt;: they are opaque strings, i.e., terms that cannot be searched within (it is not possible to look for words inside a keyword field). They can, however, be used to create some term-level queries, such as prefix queries (find all instances that begin with) and they usually work great for aggregations, since most of them are categorical variables (fields that only have a limited number of possible values) and can therefore be bucketed and counted.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Text&lt;/strong&gt;: these fields are divided into separate terms (words), and some pre-processing is done to them before indexing to improve access though an Elastic Search analyzer. Text fields cannot be used in aggregated visualizations, since they cannot be grouped. They are most useful for queries, because they allow searching for fragments (only a few words) and fuzzy searches.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;fields-list&#34;&gt;Fields list&lt;/h4&gt;
&lt;p&gt;The following table lists all the fields available in the &lt;code&gt;Aura-message-COUNTRY&lt;/code&gt; Elastic Search index, together with their type and a brief description.&lt;/p&gt;
&lt;p&gt;The most relevant ones include a more detailed description in the section &lt;a href=&#34;#fields-explanations&#34;&gt;fields explanations&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Note that some fields of &lt;strong&gt;text&lt;/strong&gt; type have a mirror field of type &lt;strong&gt;keyword&lt;/strong&gt;, with the same content. Having the same data indexed in two different ways at the same time (as text and as keyword) enables to perform different types of analysis by choosing the right field.&lt;/p&gt;
&lt;p&gt;The &amp;ldquo;Raw&amp;rdquo; column indicates if this field is already present in the Aura raw PPD files:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Yes&lt;/code&gt;: field contained in raw PPDs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;No&lt;/code&gt;: generated field, produced when creating clean PPDs. They can be recognized as lowercase fields.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Partial&lt;/code&gt;: It exists in the raw PPDs, but in a somehow different shape.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Raw&lt;/th&gt;
&lt;th&gt;Contents&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CORR_ID&lt;/td&gt;
&lt;td&gt;keyword&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;Unique identifier for each interaction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VERSION_ID&lt;/td&gt;
&lt;td&gt;keyword&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;Aura Platform version&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CHANNEL_CD&lt;/td&gt;
&lt;td&gt;keyword&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;Identifier for the channel this interaction corresponds to&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;STATUS_CD&lt;/td&gt;
&lt;td&gt;keyword&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;Internal code related to operation status&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#aura_id_global&#34;&gt;AURA_ID_GLOBAL&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;keyword&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;(Mostly) unique identifier for the user&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#aura_id&#34;&gt;AURA_ID&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;keyword&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;(Mostly) local identifier for the user&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;INTENT&lt;/td&gt;
&lt;td&gt;keyword&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;Detected user intent, including “system” intents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#message_usr&#34;&gt;MESSAGE_USR&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;text&lt;/td&gt;
&lt;td&gt;partial&lt;/td&gt;
&lt;td&gt;Text request sent by the user&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#message_usr_norm&#34;&gt;MESSAGE_USR_NORM&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;text&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;A normalized version of MESSAGE_USR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MESSAGE_USR_NORM.keyword&lt;/td&gt;
&lt;td&gt;keyword&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;A keyword version of MESSAGE_USR_NORM, to enable aggregating on it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#message_aura&#34;&gt;MESSAGE_AURA&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;text&lt;/td&gt;
&lt;td&gt;partial&lt;/td&gt;
&lt;td&gt;Text message sent by AURA to the user&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MESSAGE_AURA.keyword&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;partial&lt;/td&gt;
&lt;td&gt;Keyword version of MESSAGE_AURA, to enable aggregating on it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#modality_cd_usr&#34;&gt;MODALITY_CD_USR&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;text&lt;/td&gt;
&lt;td&gt;partial&lt;/td&gt;
&lt;td&gt;Modality of the user message&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MODALITY_CD_AURA&lt;/td&gt;
&lt;td&gt;text&lt;/td&gt;
&lt;td&gt;partial&lt;/td&gt;
&lt;td&gt;Modality of Aura response&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ENTITIES&lt;/td&gt;
&lt;td&gt;text&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;Comma-separated list of the entities recognized in the user message&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#dialog_id&#34;&gt;DIALOG_ID&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;text&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;Identifier for the dialog that produced Aura response&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DIALOG_ID.keyword&lt;/td&gt;
&lt;td&gt;keyword&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;Keyword version of &lt;code&gt;DIALOG_ID&lt;/code&gt;, to enable aggregating on it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#duration_nu&#34;&gt;DURATION_NU&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;number&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;Elapsed time, in ms, between the reception of the user message and the moment the response is generated to be sent to the channel&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#usertype&#34;&gt;userType&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;keyword&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;A single char identifier that characterizes the user as a test user&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;usrMsgWc&lt;/td&gt;
&lt;td&gt;number&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;Message word count: number of words contained in the user message&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#usrmsgsig&#34;&gt;usrMsgSig&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;keyword&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;Message signature: a string that helps clustering user messages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;#auramsggroup&#34;&gt;AuraMsgGroup&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;keyword&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;Cluster the Aura response belongs to&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;weekday&lt;/td&gt;
&lt;td&gt;number&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;Day of the week the interaction happened (0=Monday to 6=Sunday)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;hour&lt;/td&gt;
&lt;td&gt;number&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;(Integer) hour the interaction happened&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;country&lt;/td&gt;
&lt;td&gt;keyword&lt;/td&gt;
&lt;td&gt;partial&lt;/td&gt;
&lt;td&gt;Two-letter code for the country&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;sesId&lt;/td&gt;
&lt;td&gt;keyword&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#session-information&#34;&gt;Session information&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;sesSize&lt;/td&gt;
&lt;td&gt;number&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#session-information&#34;&gt;Session information&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;sesDuration&lt;/td&gt;
&lt;td&gt;number&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#session-information&#34;&gt;Session information&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id=&#34;fields-explanations&#34;&gt;Fields explanations&lt;/h4&gt;
&lt;p&gt;This subsection contains more detailed descriptions of some of the key fields in the schema.&lt;/p&gt;
&lt;h5 id=&#34;aura_id_global&#34;&gt;AURA_ID_GLOBAL&lt;/h5&gt;
&lt;p&gt;This element (mostly) uniquely identifies the user generating the interaction.&lt;/p&gt;
&lt;p&gt;Note the concrete value of this field is not the same as the actual identifier used within Aura and uploaded to &lt;strong&gt;Kernel&lt;/strong&gt;: for privacy reasons, the identifier was hashed when generating the PPD and has no resemblance to the original one. The correspondence is however maintained across time, so it is possible to analyse user behavior.&lt;/p&gt;
&lt;p&gt;The “mostly” qualifier reflects one quirk of the original Aura identifier: it is generated with a dependence to the authentication method used by the channel, so if two channels follow different authentication methods (e.g., MobileConnect vs. User/Password) then the &lt;code&gt;AURA_ID_GLOBAL&lt;/code&gt; identifier for the same user will be different. In summary:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The identifier stays the same for a given user across time.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Different users will not have the same identifier.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;But the same user could produce two different identifiers if connected to two channels that use a different authentication method.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id=&#34;aura_id&#34;&gt;AURA_ID&lt;/h5&gt;
&lt;p&gt;This is a “local” identifier, i.e., one that is generated inside the channel according to specific channel characteristics and it is not tied as much as &lt;code&gt;AURA_ID_GLOBAL&lt;/code&gt; to user authentication.&lt;/p&gt;
&lt;p&gt;Its main disadvantage is its transient nature: the same user, on the same channel, could generate different &lt;code&gt;AURA_ID&lt;/code&gt; strings when connecting different times on a different session. Therefore, for user accounting and tracing, &lt;code&gt;AURA_ID_GLOBAL&lt;/code&gt; is usually preferred.&lt;/p&gt;
&lt;p&gt;However, there are instances in which &lt;code&gt;AURA_ID&lt;/code&gt; works better, namely for anonymous access (when the user is not authenticated). This depends on the channel:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the &lt;strong&gt;WhatsApp channel&lt;/strong&gt;, the initial use of the channel will be anonymous from the Aura side (i.e., no authentication is done), hence &lt;code&gt;AURA_ID_GLOBAL&lt;/code&gt; will also be empty (at least until the user authenticates, which depends on the use case). But in this channel, &lt;code&gt;AURA_ID&lt;/code&gt; has a permanent value, linked to the WhatsApp user, so here it is a good substitute for a persistent id, even for unauthenticated users.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id=&#34;message_usr&#34;&gt;MESSAGE_USR&lt;/h5&gt;
&lt;p&gt;This field includes the message sent by the user.&lt;/p&gt;
&lt;p&gt;It has been partially processed to enhance anonymization by removing some standard identifiers contained in it with &lt;code&gt;&amp;lt;idxxx&amp;gt;&lt;/code&gt; strings (e.g., phone numbers appear as &lt;code&gt;&amp;lt;idphone&amp;gt;&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Removal is done mostly through regular expressions, so there might be occasional glitches (such as identifying as phone a number that does not really correspond to a phone, just because it follows the phone number pattern).&lt;/p&gt;
&lt;p&gt;&lt;code&gt;MESSAGE_USR&lt;/code&gt; is a field of &lt;code&gt;text&lt;/code&gt; type. As such, it is searchable: it is possible to search for specific words the user might have said.&lt;/p&gt;
&lt;p&gt;Furthermore, it has been processed through an ElasticSearch analyzer adapted to the specific language used. This means that searches are able to match related words (e.g., plural versions of a singular query word, or verb conjugations). Phrase searches are also possible (by using double quotes around the phrase). If a phrase (several words) is used as a query without the quotes, ElasticSearch interprets it as a query for any of the words, so it will return all data elements that contain any of the words in the query.&lt;/p&gt;
&lt;p&gt;In Kibana, more sophisticated text searches can be made by switching Lucene query syntax: proximity queries (words close to each other), fuzzy searches (query words allowing typos), wildcards, etc.&lt;/p&gt;
&lt;h5 id=&#34;message_usr_norm&#34;&gt;MESSAGE_USR_NORM&lt;/h5&gt;
&lt;p&gt;This is a normalized version of &lt;code&gt;MESSAGE_USR&lt;/code&gt;, in which the user text has been streamlined by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Converting all the sentence to lowercase&lt;/li&gt;
&lt;li&gt;Removing all punctuation&lt;/li&gt;
&lt;li&gt;Removing any extra spaces&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Furthermore, this field is not processed through a language-dependent analyzer as &lt;code&gt;MESSAGE_USR&lt;/code&gt; is, so queries on this field must match words exactly. It is still a &lt;code&gt;text&lt;/code&gt; type field. However, the same query language can be used.&lt;/p&gt;
&lt;h5 id=&#34;message_aura&#34;&gt;MESSAGE_AURA&lt;/h5&gt;
&lt;p&gt;This contains the text message generated by Aura and sent to the user as response to the user query. It is a &lt;code&gt;text&lt;/code&gt; type field, so it is possible to search for specific words in it.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt;&lt;br&gt;
In the current version of &lt;strong&gt;Aura KPIs logs&lt;/strong&gt;, this field only contains the text response. Some Aura use cases do not generate a purely textual message, but a more elaborated one (e.g., a card with text and graphics). These complex answers are inserted as attachments into Aura’s response to the channel and since attachments are not logged into the &lt;code&gt;MESSAGE&lt;/code&gt; field, this field will appear empty in those cases. So, an empty &lt;code&gt;MESSAGE_AURA&lt;/code&gt; field does not necessarily mean that Aura did not provide an answer. As an alternative for those situations, looking at the &lt;code&gt;DIALOG_ID&lt;/code&gt; field (or &lt;code&gt;INTENT&lt;/code&gt;) may give a hint of the type of answer that Aura delivered.&lt;/p&gt;
&lt;h5 id=&#34;modality_cd_usr&#34;&gt; MODALITY_CD_USR&lt;/h5&gt;
&lt;p&gt;This field contains the modality in which the user sent the message.&lt;/p&gt;
&lt;p&gt;It is a slightly transformed field because there are some variations across Aura versions and, in order to unify it, the modalities are consolidated into only four different keywords: audio (spoken message), text (written free-text message) o form (commands sent via automatic processing or menus).&lt;/p&gt;
&lt;h5 id=&#34;dialog_id&#34;&gt; DIALOG_ID&lt;/h5&gt;
&lt;p&gt;This field contains the identifier for the user case dialog module at the &lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt; Framework that was selected to construct the Aura response.&lt;/p&gt;
&lt;p&gt;Dialog identifiers have two components (library  and dialog) separated by a colon e.g., &lt;code&gt;services:service-usage&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This field uses a custom analyser that splits the identifier at the colon, generating two terms. This makes possible to construct queries with one of the terms, e.g., “give me all the elements for the domain services”. But being a &lt;code&gt;text&lt;/code&gt; field makes it impossible to do aggregations on it, so it cannot be used for statistics like bar charts (use &lt;code&gt;DIALOG_ID.keyword&lt;/code&gt; for that).&lt;/p&gt;
&lt;h4 id=&#34;duration_nu&#34;&gt;DURATION_NU&lt;/h4&gt;
&lt;p&gt;This number reflects the time that took Aura to understand, process and respond to the user message. It is the difference (in milliseconds) between the timestamp of the moment the user message was received and the timestamp in which Aura’s response was finalized and sent to the channel.&lt;/p&gt;
&lt;p&gt;Note that it is not a complete end-to-end delay time from the user’s point of view, since it does not include either the time it took the request to arrive to Aura through the channel or the time it took the response to travel back through the channel and get rendered at the client application (those times are outside Aura, and as such not registered by it).&lt;/p&gt;
&lt;h4 id=&#34;session-information&#34;&gt;Session Information&lt;/h4&gt;
&lt;p&gt;Session information includes the fields: &lt;code&gt;sesId&lt;/code&gt;, &lt;code&gt;sesSize&lt;/code&gt;, &lt;code&gt;sesDuration&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;These fields are generated by running a process over the time series formed by interactions from each user at each channel.&lt;/p&gt;
&lt;p&gt;A session is automatically identified as a consecutive list of such user&amp;rsquo;s interactions, each separated from the next by a time interval shorter than 5 minutes. Once each session is identified, it is tabulated and labelled with three fields:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt; &lt;code&gt;sesId&lt;/code&gt;: string, forming a unique identifier for the session. It should be considered as an opaque identifier and the guarantee is that no other session in the data stream carries the same identifier.&lt;br&gt;
As an aside, interactions that do not correspond to actual user interactions (because no user could be identified or because the datapoint corresponds to an interaction not triggered by the user) are all labelled with a &lt;code&gt;&amp;lt;void&amp;gt; sesId&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt; &lt;code&gt;sesSize&lt;/code&gt;: number of interactions this session contains. This is labelled only for the first interaction in the session, all other interactions carry a &lt;code&gt;0&lt;/code&gt; in this field. Non-sessions such as the ones with &lt;code&gt;&amp;lt;void&amp;gt; sesId&lt;/code&gt; will be left empty. This facilitates computing averages or other statistics on valid sessions, by just first filtering out all zero and empty values.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt; &lt;code&gt;sesDuration&lt;/code&gt;: time duration for each session, counted from the instant the first user message was received, to the instant the last Aura message was sent. For single-interaction sessions its value will be the same as &lt;code&gt;DURATION_NU&lt;/code&gt;, for multiple interactions it will contain the time interval between all of them.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;As with &lt;code&gt;sesSize&lt;/code&gt;, only the first interaction in a session is annotated with &lt;code&gt;sesDuration&lt;/code&gt;; the remaining interactions will be assigned a &lt;code&gt;0&lt;/code&gt; value (and interactions that do not correspond to a session will be left empty). Therefore, to compute statistics on &lt;code&gt;sesDuration&lt;/code&gt;, remove the &lt;code&gt;0&lt;/code&gt; and empty values first.&lt;/p&gt;
&lt;h4 id=&#34;usertype&#34;&gt;userType&lt;/h4&gt;
&lt;p&gt;This field may be used, in certain cases, to help identify rows that do not correspond to real users but to test users (internal users that belong to test/QA teams and whose behaviour is, therefore, not representative of actual Aura users).&lt;/p&gt;
&lt;p&gt;The field contains a single character, which is &lt;code&gt;s&lt;/code&gt; for standard (real) users, and can be &lt;code&gt;Q&lt;/code&gt; or &lt;code&gt;T&lt;/code&gt; for QA/Test users respectively (there are also lowercased versions &lt;code&gt;q&lt;/code&gt; and &lt;code&gt;t&lt;/code&gt;, referring to unconfirmed test users).&lt;/p&gt;
&lt;p&gt;Note that test user identification is not available on every country, since it depends on having a register of the &lt;code&gt;AURA_GLOBAL_ID&lt;/code&gt; identifiers that QA/Test users authenticate and this is not always available.&lt;/p&gt;
&lt;h4 id=&#34;usrmsgsig&#34;&gt;usrMsgSig&lt;/h4&gt;
&lt;p&gt;This field is not useful by itself. Instead, it is intended to be used to help grouping together very similar user utterances. It does so by generating a signature of the utterance that is (hopefully) insensitive to small variations in the sentence.&lt;/p&gt;
&lt;p&gt;This is an experimental field; it might change if we reach a variant that is better suited for its purpose.&lt;/p&gt;
&lt;p&gt;The way to generate this signature is by following these steps with the utterance:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Start with the normalized utterance (i.e., &lt;code&gt;MESSAGE_USR_NORM&lt;/code&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Perform stemming (removal of word suffixes) on all the words. This makes bills and bill the same word.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Substitute words from a fixed list of very common, uninformative tokens (stopwords) by an asterisk. For example, this converts both “get my bill” and “get the bill” to the same phrase “get * bill”.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Group words in sets of 3 elements (trigrams) and sort them alphabetically. This removes the global structure of the sentence, while retaining local structure.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The resulting string is a non-understandable version of the original utterance (hence, it cannot be used by itself), but the fact that several very similar utterances produce the same signature helps cluster those utterances. An example is one of the preinstalled visualizations &amp;ldquo;Most Frequent User Utterances&amp;rdquo; which uses this field to group very similar utterances.&lt;/p&gt;
&lt;p&gt;Another example is provided in the following figure, which shows message utterances generating the same signature:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../../images/developers-workspace/monitoring/aura-analytics/message-utterances.png&#34; alt=&#34;Message utterances&#34;&gt;&lt;/p&gt;
&lt;p&gt;As it can be seen, the signature is the same for “how can I upgrade” and “when can I upgrade”, “when does my contract end” and “when is my contract ending”, and “live chat” &amp;amp; “live chats”. So, they would be counted together when aggregating by signature.&lt;/p&gt;
&lt;p&gt;The procedure has its limitations and, as explained, it is experimental, so we are trying to improve it, but it can already alleviate a bit the inherent variability in user expressions.&lt;/p&gt;
&lt;h4 id=&#34;auramsggroup&#34;&gt;AuraMsgGroup&lt;/h4&gt;
&lt;p&gt;Messages produced by Aura are as generated by its text resource database. In some cases, the same category of message produces different output texts, maybe because the message includes some user-dependent parameter or because the text database contains several variants of the same text (and Aura picks one at random).&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;AuraMsgGroup&lt;/code&gt; field is a keyword field that helps categorize Aura answer by abstracting away some of this variation. It classifies the response given by Aura into two types of elements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Generic group&lt;/strong&gt;: a name such as &lt;code&gt;&amp;lt;NONE&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;GREETING&amp;gt;&lt;/code&gt; or &lt;code&gt;&amp;lt;NOTFOUND&amp;gt;&lt;/code&gt;, which corresponds to a response category (see Table 3)&lt;!-- table 3--&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Truncated answer&lt;/strong&gt;: for answers that do not have a defined generic group, as a fallback the literal answer text is inserted, after substituting all numbers in it with a placeholder and truncating it (i.e., retain only the first characters).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following table contains the generic groups defined so far. They correspond to the most frequent Aura messages. It is country-dependent, since it also depends on the use cases deployed in each country. As said above, responses not falling into these groups will be assigned a truncated version of the response text.&lt;/p&gt;
&lt;p&gt;Note that th emost frequent Aura messages list can be enlarged with time. Also, the correspondence between Aura messages and groups is not static, if the text database is updated with new variants, it will be necessary to also update the translation table in the PPD cleaner process that generates this field.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Group&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;EMPTY&lt;/td&gt;
&lt;td&gt;No textual answer from Aura (see note in Section &lt;a href=&#34;#message_aura&#34;&gt;MESSAGE_AURA&lt;/a&gt; for the usual meaning of no text answer)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NONE&lt;/td&gt;
&lt;td&gt;Aura says it did not understand the user utterance&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ERR&lt;/td&gt;
&lt;td&gt;There was a processing error of some kind at Aura side, and the request could not be fulfilled&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GREETING&lt;/td&gt;
&lt;td&gt;Aura is greeting the user&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GOODBYE&lt;/td&gt;
&lt;td&gt;Aura is acknowledging a conversation end&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;YOU-ARE-WELCOME&lt;/td&gt;
&lt;td&gt;Aura is accepting a compliment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CHURN&lt;/td&gt;
&lt;td&gt;Aura recognizes the user intention to terminate a contract&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NOTFOUND&lt;/td&gt;
&lt;td&gt;Aura tried to search for some bit of data concerning the user query, and could not find it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CANNOT&lt;/td&gt;
&lt;td&gt;Aura cannot fulfil the user request because of insufficient information (in the query, or on user data)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BILL-INFO&lt;/td&gt;
&lt;td&gt;The user requested information about her bill, and Aura is returning it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DATA-INFO&lt;/td&gt;
&lt;td&gt;The user requested information about her data usage, and Aura is returning it&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;i class=&#34;fa-regular fa-thumbtack fa-xl&#34; style=&#34;color: #ffac4d;&#34;&gt;&lt;/i&gt;: The list can be enlarged with time. Also, the correspondence between Aura messages and groups is not static, if the text database is updated with new variants, it will be necessary to also update the translation table in the PPD cleaner process that generates this field.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/developers-workspace/monitoring/aura-analytics/annex-dataset-fields-detail/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/developers-workspace/monitoring/aura-analytics/annex-dataset-fields-detail/</guid>
      <description>
        
        
        &lt;h1 id=&#34;annex-dataset-fields-detail&#34;&gt;Annex: Dataset fields detail&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Explanation of the process that each field of the data model is going through towards a clean PPD&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The objective of the following tables is to explain the process that each field is going through within this flow:&lt;/p&gt;
&lt;p&gt;
&lt;div class=&#34;warning&#34; style=&#39;background-color:#cce5ff; color: #273746; border-left: solid #FEFDD8 4px; border-radius: 10px; padding:0.1em;&#39;&gt;
&lt;span&gt;
&lt;p style=&#39;margin-top:0em; text-align:left&#39;&gt;
&lt;p style=&#39;margin-left:2em;&#39;&gt;
AURA DATASET &lt;i class=&#34;fa-solid fa-square-caret-right&#34;&gt;&lt;/i&gt;   PPD_RAW   &lt;i class=&#34;fa-solid fa-square-caret-right&#34;&gt;&lt;/i&gt;   PPD_CLEAN  &lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Each cell of the table explains the process that the data field is undergoing in this specific moment before it gets to the concrete stage (table column).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For example, the field &lt;code&gt;GLOBAL_AURA_ID&lt;/code&gt; is undergoing a &amp;ldquo;hashing&amp;rdquo; before it gets stored in &lt;code&gt;PPD_RAW&lt;/code&gt;. After this, the &amp;ldquo;hashed data&amp;rdquo; is progressed without any further processing to &lt;code&gt;PPD_CLEAN&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tables used in the Active Listening process are described in the following sections. They belong to the &lt;a href=&#34;../../../../docs/components/kpi-entities/aura-entities-definition/&#34;&gt;&lt;strong&gt;Aura Entities database&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Columns &amp;ldquo;FIELD&amp;rdquo; and &amp;ldquo;DESCRIPTION&amp;rdquo;: instances managed by the OB&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Columns &amp;ldquo;PPD RAW&amp;rdquo; and &amp;ldquo;PPD CLEAN&amp;rdquo;: instances managed by Aura Global Team&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;message-dataset&#34;&gt;MESSAGE dataset&lt;/h3&gt;
&lt;p&gt;Message dataset (stored in local &lt;strong&gt;Kernel&lt;/strong&gt;)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;COLUMNS &amp;ldquo;field&amp;rdquo; and &amp;ldquo;description&amp;rdquo;: instances managed by the OB&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;COLUMNS &amp;ldquo;PPD raw&amp;rdquo; and &amp;ldquo;PPD clean&amp;rdquo;: instances managed by Aura Global Team&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;FIELD                &lt;/th&gt;
&lt;th&gt;DESCRIPTION  &lt;/th&gt;
&lt;th&gt;PPD RAW      &lt;/th&gt;
&lt;th&gt;PPD CLEAN&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;USER_ID              &lt;/td&gt;
&lt;td&gt;Unique user ID in the OB systems&lt;/td&gt;
&lt;td&gt;NOT &lt;br&gt; transferred&lt;/td&gt;
&lt;td&gt; NOT &lt;br&gt; transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;MSG_DT                &lt;/td&gt;
&lt;td&gt;Timestamp of the data    &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;MSG_ID                &lt;/td&gt;
&lt;td&gt;Unique ID of the message          &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;NOT &lt;br&gt; transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;ACTION_CD            &lt;/td&gt;
&lt;td&gt;Code of the action that produces the data      &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;NOT &lt;br&gt; transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;AURA_ID              &lt;/td&gt;
&lt;td&gt;User logging ID in Aura. The user will have a new &lt;code&gt;Aura_id&lt;/code&gt; each time she logs in Aura.&lt;/td&gt;
&lt;td&gt;Hashed&lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;PHONE_ID              &lt;/td&gt;
&lt;td&gt;Phone number of the user   &lt;/td&gt;
&lt;td&gt;NOT &lt;br&gt; transferred&lt;/td&gt;
&lt;td&gt;NOT &lt;br&gt; transferred             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;CHANNEL_CD            &lt;/td&gt;
&lt;td&gt;Code of the channel where the action happened      &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;SUBSCRIPTION_CD      &lt;/td&gt;
&lt;td&gt;Code of the subscription type of the user in the OB  &lt;/td&gt;
&lt;td&gt;       &lt;/td&gt;
&lt;td&gt;NOT &lt;br&gt; transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;DOMAIN_CD            &lt;/td&gt;
&lt;td&gt;Code of the domain where the action happened            &lt;/td&gt;
&lt;td&gt;   &lt;/td&gt;
&lt;td&gt;NOT &lt;br&gt; transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;CATEGORY_CD          &lt;/td&gt;
&lt;td&gt;Code of the category where the action happened  &lt;/td&gt;
&lt;td&gt;           &lt;/td&gt;
&lt;td&gt;NOT &lt;br&gt; transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;COUNTRY_CD            &lt;/td&gt;
&lt;td&gt;Code of the country&lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt;NOT &lt;br&gt; transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;CORR_ID              &lt;/td&gt;
&lt;td&gt;Correlator ID of the request that produces this data        &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;IS_CACHED            &lt;/td&gt;
&lt;td&gt;Shows if the entity content was already cached or not    &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt;NOT &lt;br&gt; transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;STATUS_CD            &lt;/td&gt;
&lt;td&gt;Status code of the action, if meaningful   &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;REASON                &lt;/td&gt;
&lt;td&gt;Result of the action in error case, code of the error  &lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;NOT &lt;br&gt; transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;VERSION_ID            &lt;/td&gt;
&lt;td&gt;Aura version that produces this data    &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;LANG_CD              &lt;/td&gt;
&lt;td&gt;Language configured by the user for communication  &lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt;NOT &lt;br&gt; transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;TZ_CD                &lt;/td&gt;
&lt;td&gt;Timezone where the communication happened&lt;/td&gt;
&lt;td&gt; &lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;DURATION_NU          &lt;/td&gt;
&lt;td&gt;Duration in milliseconds of the action    &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;MESSAGE              &lt;/td&gt;
&lt;td&gt;Content of the message  &lt;/td&gt;
&lt;td&gt;Anonymized    &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;DIALOG_ID            &lt;/td&gt;
&lt;td&gt;Id of the dialog where the message happens  &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;CONVERSATION_ID      &lt;/td&gt;
&lt;td&gt;Id of the conversation where the message happens      &lt;/td&gt;
&lt;td&gt;       &lt;/td&gt;
&lt;td&gt;NOT &lt;br&gt; transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;td&gt;WIN_RECOGNIZER_CD    &lt;/td&gt;
&lt;td&gt;Code of the recognizer that wins for this message      &lt;/td&gt;
&lt;td&gt;     &lt;/td&gt;
&lt;td&gt;NOT &lt;br&gt; transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;td&gt;WIN_RECOGNIZER_SCORE_NU&lt;/td&gt;
&lt;td&gt;Score of the recognizer that wins for this message      &lt;/td&gt;
&lt;td&gt;     &lt;/td&gt;
&lt;td&gt;NOT &lt;br&gt; transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;INTENT                &lt;/td&gt;
&lt;td&gt;Selected intent       &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;26&lt;/td&gt;
&lt;td&gt;ENTITIES              &lt;/td&gt;
&lt;td&gt;List of entities determined by the recognizer    &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;td&gt;MODALITY_CD          &lt;/td&gt;
&lt;td&gt;How does the user communicate with Aura       &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;28&lt;/td&gt;
&lt;td&gt;AURA_ID_GLOBAL        &lt;/td&gt;
&lt;td&gt;Identifies the same &lt;code&gt;user_id&lt;/code&gt; logged with the same authentication method&lt;/td&gt;
&lt;td&gt;Hashed&lt;/td&gt;
&lt;td&gt;   &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;29&lt;/td&gt;
&lt;td&gt;ACCOUNT_NUMBER        &lt;/td&gt;
&lt;td&gt;Unique account number of the user            &lt;/td&gt;
&lt;td&gt;  NOT &lt;br&gt; transferred             &lt;/td&gt;
&lt;td&gt;NOT &lt;br&gt; transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;recognizer-dataset&#34;&gt;RECOGNIZER dataset&lt;/h3&gt;
&lt;p&gt;Recognizer dataset stored in local &lt;strong&gt;Kernel&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Columns &amp;ldquo;FIELD&amp;rdquo; and &amp;ldquo;DESCRIPTION&amp;rdquo;: instances managed by the OB&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Columns &amp;ldquo;PPD RAW&amp;rdquo; and &amp;ldquo;PPD CLEAN&amp;rdquo;: instances managed by Aura Global Team&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;FIELD                  &lt;/th&gt;
&lt;th&gt;DESCRIPTION      &lt;/th&gt;
&lt;th&gt;PPD RAW      &lt;/th&gt;
&lt;th&gt;PPD CLEAN&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;USER_ID                &lt;/td&gt;
&lt;td&gt;Unique user ID in the OB systems  &lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;td&gt;NOT transferred             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;RECOGNIZER_DT          &lt;/td&gt;
&lt;td&gt;Timestamp of the data  &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;RECOGNIZER_ID          &lt;/td&gt;
&lt;td&gt;Unique ID of the recognizer  &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;ACTION_CD              &lt;/td&gt;
&lt;td&gt;Code of the action that produces the data  &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;AURA_ID                &lt;/td&gt;
&lt;td&gt;User logging ID in Aura. The user will have a new &lt;code&gt;Aura_id&lt;/code&gt; each time she logs in Aura.&lt;/td&gt;
&lt;td&gt;Hashed&lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;PHONE_ID              &lt;/td&gt;
&lt;td&gt;Phone number of the user  &lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;td&gt;NOT transferred &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;CHANNEL_CD            &lt;/td&gt;
&lt;td&gt;Code of the channel where the action happened  &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;DOMAIN_CD              &lt;/td&gt;
&lt;td&gt;Code of the domain where the action happened   &lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt; NOT transferred      &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;CATEGORY_CD            &lt;/td&gt;
&lt;td&gt;Code of the category where the action happened   &lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt; NOT transferred  &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;COUNTRY_CD            &lt;/td&gt;
&lt;td&gt;Code of the country              &lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt; NOT transferred         &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;CORR_ID                &lt;/td&gt;
&lt;td&gt;Correlator ID of the request that produces this data  &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;           &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;IS_CACHED              &lt;/td&gt;
&lt;td&gt;Shows if the entity content was already cached or not&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;NOT transferred     &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;STATUS_CD              &lt;/td&gt;
&lt;td&gt;Status code of the action, if meaningful&lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;REASON                &lt;/td&gt;
&lt;td&gt;Result of the action in error case, code of the error  &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;VERSION_ID            &lt;/td&gt;
&lt;td&gt;Aura version that produces this data   &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;LANG_CD                &lt;/td&gt;
&lt;td&gt;Language configured by the user for communication&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;NOT transferred             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;TZ_CD                  &lt;/td&gt;
&lt;td&gt;Timezone where the communication happened  &lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt; NOT transferred            &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;DURATION_NU            &lt;/td&gt;
&lt;td&gt;Duration in milliseconds of the action  &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;SCORE_NU              &lt;/td&gt;
&lt;td&gt;Score returned by the recognizer      &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;INPUT                  &lt;/td&gt;
&lt;td&gt;User input sent to the recognizer. Null if incoming message is an AuraCommand&lt;/td&gt;
&lt;td&gt;Anonymized&lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;OUTPUT                &lt;/td&gt;
&lt;td&gt;Complete output generated by the recognizer&lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;INTENT                &lt;/td&gt;
&lt;td&gt;Intent returned by the recognizer   &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;td&gt;ENTITIES              &lt;/td&gt;
&lt;td&gt;Entities returned by the recognizer due to the intent&lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;td&gt;COMMON_THRESHOLD_NU    &lt;/td&gt;
&lt;td&gt;Common threshold used to determine the best answer of all recognizers  &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;THRESHOLD              &lt;/td&gt;
&lt;td&gt;Specific threshold of the specific recognizer being executed&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt; NOT transferred            &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;26&lt;/td&gt;
&lt;td&gt;EXPECTED_INTENT        &lt;/td&gt;
&lt;td&gt;Intent expected to be returned by the recognizer&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt; NOT transferred            &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;td&gt;EXPECTED_ENTITIES      &lt;/td&gt;
&lt;td&gt;Entities expected to be returned by the recognizer due to the intent    &lt;/td&gt;
&lt;td&gt;       &lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;28&lt;/td&gt;
&lt;td&gt;AURA_ID_GLOBAL        &lt;/td&gt;
&lt;td&gt;Identifies the same &lt;code&gt;user_id&lt;/code&gt; logged with the same authentication method&lt;/td&gt;
&lt;td&gt;Hashed&lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;29&lt;/td&gt;
&lt;td&gt;ACCOUNT_NUMBER        &lt;/td&gt;
&lt;td&gt;Unique account number of the user   &lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;td&gt;NOT transferred             &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;This Markdown table can be directly used in your GitHub Markdown files.  &lt;/p&gt;
&lt;h3 id=&#34;api-dataset&#34;&gt;API dataset&lt;/h3&gt;
&lt;p&gt;API request dataset (stored in local &lt;strong&gt;Kernel&lt;/strong&gt;)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Columns &amp;ldquo;FIELD&amp;rdquo; and &amp;ldquo;DESCRIPTION&amp;rdquo;: instances managed by the OB&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Columns &amp;ldquo;PPD RAW&amp;rdquo; and &amp;ldquo;PPD CLEAN&amp;rdquo;: instances managed by Aura Global Team&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#  &lt;/th&gt;
&lt;th&gt;FIELD           &lt;/th&gt;
&lt;th&gt;DESCRIPTION    &lt;/th&gt;
&lt;th&gt;PPD RAW      &lt;/th&gt;
&lt;th&gt;PPD CLEAN&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1  &lt;/td&gt;
&lt;td&gt;USER_ID              &lt;/td&gt;
&lt;td&gt;Unique user ID in the OB systems                                  &lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;td&gt;NOT transferred             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2  &lt;/td&gt;
&lt;td&gt;REQUEST_DT          &lt;/td&gt;
&lt;td&gt;Timestamp of the data                                            &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3  &lt;/td&gt;
&lt;td&gt;REQUEST_ID          &lt;/td&gt;
&lt;td&gt;Unique ID of the request                                          &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4  &lt;/td&gt;
&lt;td&gt;ACTION_CD            &lt;/td&gt;
&lt;td&gt;Code of the action that produces the data                        &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5  &lt;/td&gt;
&lt;td&gt;AURA_ID              &lt;/td&gt;
&lt;td&gt;User logging ID in Aura. The user will have a new Aura_id each time she logs in Aura&lt;/td&gt;
&lt;td&gt;Hashed&lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6  &lt;/td&gt;
&lt;td&gt;PHONE_ID            &lt;/td&gt;
&lt;td&gt;Phone number of the user                                          &lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7  &lt;/td&gt;
&lt;td&gt;CHANNEL_CD          &lt;/td&gt;
&lt;td&gt;Code of the channel where the action happened                    &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8  &lt;/td&gt;
&lt;td&gt;DOMAIN_CD            &lt;/td&gt;
&lt;td&gt;Code of the domain where the action happened                    &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9  &lt;/td&gt;
&lt;td&gt;CATEGORY_CD          &lt;/td&gt;
&lt;td&gt;Code of the category where the action happened                  &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;COUNTRY_CD          &lt;/td&gt;
&lt;td&gt;Code of the country                                              &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;CORR_ID              &lt;/td&gt;
&lt;td&gt;Correlator ID of the request that produces this data            &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;IS_CACHED            &lt;/td&gt;
&lt;td&gt;Shows if the entity content was already cached or not            &lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;td&gt;NOT transferred             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;STATUS_CD            &lt;/td&gt;
&lt;td&gt;Status code of the API request                                    &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;REASON              &lt;/td&gt;
&lt;td&gt;Result of the action in error case, code of the error            &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;VERSION_ID          &lt;/td&gt;
&lt;td&gt;Aura version that produces this data                              &lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;LANG_CD              &lt;/td&gt;
&lt;td&gt;Language configured by the user for communication                &lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;   NOT transferred          &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;TZ_CD                &lt;/td&gt;
&lt;td&gt;Timezone where the communication happened                        &lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;DURATION_NU          &lt;/td&gt;
&lt;td&gt;Duration in milliseconds of the action                            &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;HOST                &lt;/td&gt;
&lt;td&gt;Host of the API                                                  &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;PATH                &lt;/td&gt;
&lt;td&gt;Specific path of the API being called                            &lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;  NOT transferred           &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;HTTP_STATUS          &lt;/td&gt;
&lt;td&gt;HTTP status of the server response                                &lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt; NOT transferred            &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;RESPONSE            &lt;/td&gt;
&lt;td&gt;Response body                                                    &lt;/td&gt;
&lt;td&gt;Anonymized    &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;td&gt;AURA_ID_GLOBAL      &lt;/td&gt;
&lt;td&gt;Identifies the same user_id logged with the same authentication method&lt;/td&gt;
&lt;td&gt;Hashed&lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;td&gt;ACCOUNT_NUMBER      &lt;/td&gt;
&lt;td&gt;Unique account number of the user        &lt;/td&gt;
&lt;td&gt;NOT transferred&lt;/td&gt;
&lt;td&gt;NOT transferred             &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;REQUEST              &lt;/td&gt;
&lt;td&gt;Request body                                                    &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;td&gt;             &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
  </channel>
</rss>
