<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Aura – </title>
    <link>/docs/components/global-use-cases/video-use-cases/tv-search/</link>
    <description>Recent content on Aura</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    
	  <atom:link href="/docs/components/global-use-cases/video-use-cases/tv-search/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/global-use-cases/video-use-cases/tv-search/tv-search-dialog/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/global-use-cases/video-use-cases/tv-search/tv-search-dialog/</guid>
      <description>
        
        
        &lt;h1 id=&#34;configuration-of-the-generic-dialog-for-tv-search-use-case&#34;&gt;Configuration of the generic-dialog for TV search use case&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;How the &lt;em&gt;&lt;strong&gt;generic-dialog&lt;/strong&gt;&lt;/em&gt; must be configured for this use case&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;specific-configuration&#34;&gt;Specific configuration&lt;/h2&gt;
&lt;p&gt;The TV search use case is triggered by the &lt;a href=&#34;../../../../../docs/components/global-use-cases/generic-dialog/generic-dialog-v3&#34;&gt;&lt;em&gt;&lt;strong&gt;generic-dialog-v3&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;.
For this use case, the required specific configuration is set 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;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;generic-dialog-v3&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/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;channelDataVersion&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;v3&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/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;triggerConditions&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;intent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.tv.search&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;settings&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;locales&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;error&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;core:flc.answer.error&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;needTvResolution&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;payloadType&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;tv&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/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;onlyIn&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;movistar-plus&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;set-top-box&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;h2 id=&#34;specific-values&#34;&gt;Specific values&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:left&#34;&gt;Key&lt;/th&gt;
&lt;th style=&#34;text-align:left&#34;&gt;Value&lt;/th&gt;
&lt;th style=&#34;text-align:left&#34;&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;triggerConditions[?].settings.needTvResolution&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;true&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Get resolution from resolution api&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/global-use-cases/video-use-cases/tv-search/tv-search-plugin/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/global-use-cases/video-use-cases/tv-search/tv-search-plugin/</guid>
      <description>
        
        
        &lt;h1 id=&#34;tv-search-plugin&#34;&gt;TV search plugin&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Complex Logic Framework plugin for the TV search use case&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The TV search plugin resolves the request from a user searching a video content.&lt;/p&gt;
&lt;p&gt;It includes some key steps described in the following sections.&lt;/p&gt;
&lt;h2 id=&#34;validate-input-request&#34;&gt;Validate input request&lt;/h2&gt;
&lt;p&gt;This step validates that the input request fulfills all the requirements from the &lt;a href=&#34;../../../../../docs/components/complex-logic-framework/clf-global-plugins/input-validation-swagger/&#34;&gt;input schema&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If the input data has an error the resource returned is:
&lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/global-resources/#common-resources-for-video-use-cases&#34;&gt;&lt;code&gt;tv:video.model-validation.request.error&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;filter-invalid-entities&#34;&gt;Filter invalid entities&lt;/h2&gt;
&lt;p&gt;The TV search plugin executes the step for entities validation listed below and prepares data before resolving the request:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Check that season/episode entity contains a number. In other case, it removes this entity.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;entertainment-search&#34;&gt;Entertainment Search&lt;/h2&gt;
&lt;p&gt;The search of video content is based in the received entities.&lt;/p&gt;
&lt;p&gt;The search stage follows the following steps:&lt;/p&gt;
&lt;h3 id=&#34;build-the-search_query-param&#34;&gt;Build the &lt;code&gt;search_query&lt;/code&gt; param&lt;/h3&gt;
&lt;p&gt;The search builds a &lt;code&gt;search_query&lt;/code&gt; param using label values of entities to prioritize the searched video content. If the label value is &lt;code&gt;null&lt;/code&gt; for an entity, then the &lt;code&gt;canon&lt;/code&gt; value is used.&lt;/p&gt;
&lt;p&gt;Entities used to search are grouped by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Title entities&lt;/strong&gt;: &lt;code&gt;ent.audiovisual_documental_title&lt;/code&gt;, &lt;code&gt;ent.audiovisual_film_title&lt;/code&gt;, &lt;code&gt;ent.audiovisual_tvseries_title&lt;/code&gt; and &lt;code&gt;ent.audiovisual_tvshows_title&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Participant entities&lt;/strong&gt;: &lt;code&gt;ent.audiovisual_actor&lt;/code&gt; and &lt;code&gt;ent.audiovisual_director&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Genre entities&lt;/strong&gt;: &lt;code&gt;ent.audiovisual_genre&lt;/code&gt; and &lt;code&gt;ent.audiovisual_subgenre&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The priority to search using these entities is described as follows:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;If there are &lt;strong&gt;title entities&lt;/strong&gt; and other entities, then the &lt;code&gt;search_query&lt;/code&gt; parameter is built only using title entities.
&lt;ul&gt;
&lt;li&gt;For instance: &lt;code&gt;title: (&amp;quot;Matrix&amp;quot; OR &amp;quot;La princesa prometida&amp;quot;)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If there are &lt;strong&gt;participant entities&lt;/strong&gt; and other entities, then the &lt;code&gt;search_query&lt;/code&gt; parameter is built only using participant entities.
&lt;ul&gt;
&lt;li&gt;All entities (&lt;code&gt;ent.audiovisual_actor&lt;/code&gt; and &lt;code&gt;ent.audiovisual_director&lt;/code&gt;) are used for fields &lt;code&gt;actor&lt;/code&gt; and &lt;code&gt;director&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;For instance: &lt;code&gt;actor: (&amp;quot;Tom Cruise&amp;quot; OR &amp;quot;Martin Scorsese&amp;quot;) OR director: (&amp;quot;Tom Cruise&amp;quot; OR &amp;quot;Martin Scorsese&amp;quot;)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If there are &lt;strong&gt;genre entities&lt;/strong&gt; and other entities, then the &lt;code&gt;search_query&lt;/code&gt; parameter is built only using genre entities.
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;ent.audiovisual_genre&lt;/code&gt; is used with the field &lt;code&gt;content_category&lt;/code&gt; and the &lt;code&gt;ent.audiovisual_subgenre&lt;/code&gt; with field &lt;code&gt;genre&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;For instance: &lt;code&gt;content_category: (&amp;quot;MOV&amp;quot; OR &amp;quot;SER&amp;quot; OR &amp;quot;DOC&amp;quot;) AND genre: (&amp;quot;TE&amp;quot; OR &amp;quot;AC&amp;quot;)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If there are not any entities allowed, then a query param to search is not built.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;With this prioritization, the system builds a &lt;code&gt;search_query&lt;/code&gt; param that will be used to call the API video query for searching purposes.&lt;/p&gt;
&lt;h3 id=&#34;api-video-query&#34;&gt;API video query&lt;/h3&gt;
&lt;p&gt;After preparing the &lt;code&gt;search_query&lt;/code&gt; parameter, we will make a query to the Telefonica Kernel video API by searching through all the possible fields with the remaining words.
To make this API call, several parameters are needed, which are described below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;user_id&lt;/code&gt;: Input &lt;code&gt;data[aura_user][user_id]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;administrative_number&lt;/code&gt;: Input &lt;code&gt;data[app_context][user][account_number]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;access_token&lt;/code&gt;: Input &lt;code&gt;data[aura_user][access_token]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scopes&lt;/code&gt;: Input &lt;code&gt;data[aura_user][scopes]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;purposes&lt;/code&gt;: Input &lt;code&gt;data[aura_user][purposes]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;device_type&lt;/code&gt;: Input &lt;code&gt;data[app_context][device][type]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;catalog_types&lt;/code&gt;: List of allowed catalog types. The value can now be a list of catalog types provided by the device, as long as the values are one of the following predefined identifiers: &lt;code&gt;VOD&lt;/code&gt;, &lt;code&gt;LIVE&lt;/code&gt;, &lt;code&gt;L7D&lt;/code&gt;, &lt;code&gt;LCH&lt;/code&gt;, &lt;code&gt;LSR&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;search_query&lt;/code&gt;: String with a custom search query based in the received entities.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;show_series&lt;/code&gt;: &lt;code&gt;series&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;profile&lt;/code&gt;: Input &lt;code&gt;data[app_context][user][video_profile_name]&lt;/code&gt;.
This field may not be implemented in certain cases and this could give the error &lt;code&gt;501 Not Implemented&lt;/code&gt; in the video API according to the documentation.
To prevent this problem we should send this field only when input data has this value.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;commercialization_types&lt;/code&gt;: List made by &lt;code&gt;SVOD&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;max_quality&lt;/code&gt;: Input &lt;code&gt;data[app_context][device][max_quality]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;search-response&#34;&gt;Search response&lt;/h3&gt;
&lt;p&gt;When performing a search, the following possible scenarios can occur for the response received by the search:&lt;/p&gt;
&lt;p&gt;a. Receive an API error.  The returned resource is &lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/global-resources/#common-resources-for-video-use-cases&#34;&gt;&lt;code&gt;tv:video.api.answer.error&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;b. Receive no results at all. Then, it executes the &lt;a href=&#34;#contingency-search&#34;&gt;contingency search&lt;/a&gt; if it isn&amp;rsquo;t disabled by configuration. If it is disabled by &lt;a href=&#34;../../../../../docs/components/complex-logic-framework/clf-configuration/#disabling-contingency-or-fallback-modes-for-tv-search-use-case&#34;&gt;configuration&lt;/a&gt;, the returned resource is &lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/tv-search/resources/#specific-resources-for-the-use-case-tvsearch&#34;&gt;&lt;code&gt;tv:video.search.no-results&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;c. Receive a single result by searching for one title entity. The returned resource is &lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/tv-search/resources/#specific-resources-for-the-use-case-tvsearch&#34;&gt;&lt;code&gt;tv:video.search.by-title.simple-result&lt;/code&gt;&lt;/a&gt; and params with the value of the title searched for.&lt;/p&gt;
&lt;p&gt;d. Receive several results by searching for one title entity. The returned resource is &lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/tv-search/resources/#specific-resources-for-the-use-case-tvsearch&#34;&gt;&lt;code&gt;tv:video.search.by-title.multiple-results&lt;/code&gt;&lt;/a&gt; and params with the value of the title searched for.&lt;/p&gt;
&lt;p&gt;e. Receive a single result by searching for one actor/director entity. The returned resource is &lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/tv-search/resources/#specific-resources-for-the-use-case-tvsearch&#34;&gt;&lt;code&gt;tv:video.search.by-participant.simple-result&lt;/code&gt;&lt;/a&gt; and params with the value of the participant searched for.&lt;/p&gt;
&lt;p&gt;f. Receive several results by searching for one actor/director entity. The returned resource is &lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/tv-search/resources/#specific-resources-for-the-use-case-tvsearch&#34;&gt;&lt;code&gt;tv:video.search.by-participant.multiple-results&lt;/code&gt;&lt;/a&gt; and params with the value of the participant searched for.&lt;/p&gt;
&lt;p&gt;g. Receive a single result by searching for one genre entity. The returned resource is &lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/tv-search/resources/#specific-resources-for-the-use-case-tvsearch&#34;&gt;&lt;code&gt;tv:video.search.by-genre.simple-result&lt;/code&gt;&lt;/a&gt; and params with the value of the genre searched for.&lt;/p&gt;
&lt;p&gt;h. Receive several results by searching for one genre entity. The returned resource is &lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/tv-search/resources/#specific-resources-for-the-use-case-tvsearch&#34;&gt;&lt;code&gt;tv:video.search.by-genre.multiple-results&lt;/code&gt;&lt;/a&gt; and params with the value of the genre searched for.&lt;/p&gt;
&lt;p&gt;i. Receive a single result by searching for one genre and one subgenre entity. The returned resource is &lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/tv-search/resources/#specific-resources-for-the-use-case-tvsearch&#34;&gt;&lt;code&gt;tv:video.search.by-subgenre.simple-result&lt;/code&gt;&lt;/a&gt; and params with the value of the genre and subgenre searched for.&lt;/p&gt;
&lt;p&gt;j. Receive several results by searching for one genre and one subgenre entity. The returned resource is &lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/tv-search/resources/#specific-resources-for-the-use-case-tvsearch&#34;&gt;&lt;code&gt;tv:video.search.by-subgenre.multiple-results&lt;/code&gt;&lt;/a&gt; and params with the value of the genre and subgenre searched for.&lt;/p&gt;
&lt;p&gt;k. Receive a single result in all other cases. The returned resource is &lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/tv-search/resources/#specific-resources-for-the-use-case-tvsearch&#34;&gt;&lt;code&gt;tv:video.search.by-default.simple-result&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;l. Receive several results in all other cases. The returned resource is &lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/tv-search/resources/#specific-resources-for-the-use-case-tvsearch&#34;&gt;&lt;code&gt;tv:video.search.by-default.multiple-results&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;contingency-search&#34;&gt;Contingency search&lt;/h2&gt;
&lt;p&gt;The contingency search is a more in-depth search to get, at least, one response. This search uses the entire utterance in every search field.&lt;/p&gt;
&lt;p&gt;Contingency search is based on the following steps:&lt;/p&gt;
&lt;h3 id=&#34;normalization-section&#34;&gt;Normalization section&lt;/h3&gt;
&lt;p&gt;When a request is made by the user, it is possible to find certain words with no real value for Aura, so the system is not able to redirect them to obtain a response. For this reason, a list of forbidden words known as &amp;ldquo;ignore-words&amp;rdquo; will be declared, which will be eliminated.&lt;/p&gt;
&lt;p&gt;The first step is to transform the entire utterance received as input to lowercase, removing all non-alphanumeric characters and separators. Once the utterance has been normalized, the words that belong to the list of &amp;ldquo;ignore-words&amp;rdquo; are eliminated.&lt;/p&gt;
&lt;p&gt;This list is declared in a resource file called &lt;code&gt;normalizer_rules.json&lt;/code&gt;. This file can be found in the following path:
&lt;em&gt;src.aura_clf_video.resources.[language].normalizer_rules.json&lt;/em&gt;
Where [&lt;code&gt;language&lt;/code&gt;] must be replaced by each language, for example: &lt;code&gt;es-es&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If the language does not have the normalizer rule defined, it will be redirected to a default folder:
&lt;em&gt;src.aura_clf_video.resources.default.normalizer_rules.json&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If, for example, the language is Spanish, the path to the resource where the normalization rules are defined will be:
&lt;em&gt;src.aura_clf_video.resources.es-es.normalizer_rules.json&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Normalizer rules structure
It is a dictionary where all the items are declared in a list as shown below:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{
  &amp;#34;ignore_items&amp;#34;: [
    &amp;#34;ignore item 1&amp;#34;,
    &amp;#34;ignore item 2&amp;#34;
  ]
}
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Validation of resource content&lt;br&gt;
The normalization is done sequentially, a previous rule cannot affect a succeeding one.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The utterance is &amp;ldquo;ok aura some&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;We define &amp;ldquo;aura&amp;rdquo; and also &amp;ldquo;ok aura&amp;rdquo; in the &amp;ldquo;ignore-words&amp;rdquo; list.&lt;/li&gt;
&lt;li&gt;If we remove &amp;ldquo;aura&amp;rdquo; firstly from the original utterance, we obtain the following normalized utterance: &amp;ldquo;ok some&amp;rdquo;. In this case, &amp;ldquo;ok aura&amp;rdquo; does not have any effect.&lt;/li&gt;
&lt;li&gt;In short, the correct order should be: first, remove &amp;ldquo;ok aura&amp;rdquo; and, after that, remove &amp;ldquo;aura&amp;rdquo;. In this case, we will obtain the final utterance as &amp;ldquo;some&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;ldquo;Ignore-words&amp;rdquo; will be automatically validated in order to prevent this behavior in every Pull Request.&lt;/p&gt;
&lt;p&gt;If after normalization the normalized phrase is empty, the resource returned is:
&lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/tv-search/resources/#specific-resources-for-the-use-case-tvsearch&#34;&gt;&lt;code&gt;tv:video.search.contingency.no-results&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;api-video-query-1&#34;&gt;API video query&lt;/h3&gt;
&lt;p&gt;After normalizing, we will query the Telefonica Kernel video API by searching through all possible fields with the remaining words.&lt;/p&gt;
&lt;p&gt;To make this API call, a series of parameters are going to be needed, which are described below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;user_id&lt;/code&gt;: Input &lt;code&gt;data[aura_user][user_id]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;administrative_number&lt;/code&gt;: Input &lt;code&gt;data[app_context][user][account_number]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;access_token&lt;/code&gt;: Input &lt;code&gt;data[aura_user][access_token]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scopes&lt;/code&gt;: Input &lt;code&gt;data[aura_user][scopes]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;purposes&lt;/code&gt;: Input &lt;code&gt;data[aura_user][purposes]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;device_type&lt;/code&gt;: Input &lt;code&gt;data[app_context][device][type]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;catalog_types&lt;/code&gt;: List of allowed catalog types. The value can now be a list of catalog types provided by the device, as long as the values are one of the following predefined identifiers: &lt;code&gt;VOD&lt;/code&gt;, &lt;code&gt;LIVE&lt;/code&gt;, &lt;code&gt;L7D&lt;/code&gt;, &lt;code&gt;LCH&lt;/code&gt;, &lt;code&gt;LSR&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;search_query&lt;/code&gt;: Is a joint of the normalized phrase by &lt;code&gt;OR&lt;/code&gt; operator. Use this format to search by any fields. Example: &amp;ldquo;La resistencia Shameless&amp;rdquo; the &lt;code&gt;search_query&lt;/code&gt; is &amp;ldquo;(La OR resistencia OR Shameless)&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;show_series&lt;/code&gt;: &lt;code&gt;series&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;profile&lt;/code&gt;: Input &lt;code&gt;data[app_context][user][video_profile_name]&lt;/code&gt;. This field may not be implemented in some cases and this could give the error &lt;code&gt;501 Not Implemented&lt;/code&gt; in the video API according to the documentation.
To prevent this problem, we should send this field only when input data has this value.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;commercialization_types&lt;/code&gt;: List made by &lt;code&gt;SVOD&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;max_quality&lt;/code&gt;: Input &lt;code&gt;data[app_context][device][max_quality]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;current_region&lt;/code&gt;: Input &lt;code&gt;data[app_context][location][currentRegion]&lt;/code&gt; if exists. Otherwise, do not use this param.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;contingency-search-response&#34;&gt;Contingency search response&lt;/h3&gt;
&lt;p&gt;When performing a contingency search, there are four possible scenarios for the response received by the search:&lt;/p&gt;
&lt;p&gt;a. Receive an API error.  The returned resource is &lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/global-resources/#common-resources-for-video-use-cases&#34;&gt;&lt;code&gt;tv:video.api.answer.error&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;b. Receive no results at all. The returned resource is &lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/tv-search/resources/#specific-resources-for-the-use-case-tvsearch&#34;&gt;&lt;code&gt;tv:video.search.contingency.no-results&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;c. Receive a single result. The returned resource is &lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/tv-search/resources/#specific-resources-for-the-use-case-tvsearch&#34;&gt;&lt;code&gt;tv:video.search.contingency.single-result&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;d. Receive several results. The returned resource is &lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/tv-search/resources/#specific-resources-for-the-use-case-tvsearch&#34;&gt;&lt;code&gt;tv:video.search.contingency.multiple-results&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;response&#34;&gt;Response&lt;/h2&gt;
&lt;p&gt;The response follows this &lt;a href=&#34;../../../../../docs/components/complex-logic-framework/clf-global-plugins/#input-validation-video-plugin&#34;&gt;response schema&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;intent&lt;/code&gt;: input intent.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;entities&lt;/code&gt;: input entities.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;result_intent&lt;/code&gt;: This field is always &lt;code&gt;MEDIA.SEARCH&lt;/code&gt; because it is the response associated to this domain.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;resources&lt;/code&gt;: List of response resources that includes three main parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;type&lt;/code&gt;: Type of the response resource.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;name&lt;/code&gt;: Name of the response resource. Example: &lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/tv-search/resources/#specific-resources-for-the-use-case-tvsearch&#34;&gt;&lt;code&gt;tv:video.search.contingency.single-result&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;params&lt;/code&gt;: This field returns any required parameter in the resource.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;payload&lt;/code&gt;: Information provided by the Kernel API, when we make the search request.
If we receive a response. This field includes the following parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;type&lt;/code&gt;: The value of this field depends on the type of data included in the field &lt;code&gt;data&lt;/code&gt; (info returned by the API):
&lt;ul&gt;
&lt;li&gt;If it is a value: &lt;code&gt;details&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;If it is a list: &lt;code&gt;content_list&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;data&lt;/code&gt;: It returns the information provided by the Kernel API.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;status&lt;/code&gt;: Final status request. this field includes field the following parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;code&lt;/code&gt;: Status code.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;message&lt;/code&gt;: Status message, which describes the status code.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;params&lt;/code&gt;: Parameter that sends details of status. This field does not appear if it is empty.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;actions&lt;/code&gt;: Actions to follow with the result of request.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;conditions&lt;/code&gt;: Condition for the actions to be applied.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/global-use-cases/video-use-cases/tv-search/resources/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/global-use-cases/video-use-cases/tv-search/resources/</guid>
      <description>
        
        
        &lt;h1 id=&#34;tv-search-use-case-resources&#34;&gt;TV search use case resources&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Resources used by the TV search use case&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The TV search use case will use three different types of resources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/global-resources/#aura-platform-global-resources&#34;&gt;Aura Platform global resources&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../../../../docs/components/global-use-cases/video-use-cases/global-resources/#common-resources-for-video-use-cases&#34;&gt;Common resources for video use cases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#specific-resources-for-the-use-case-tvsearch&#34;&gt;Specific resources for the use case: tv.search&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;specific-resources-for-the-use-case-tvsearch&#34;&gt;Specific resources for the use case: tv.search&lt;/h2&gt;
&lt;p&gt;The resources associated to the TV search plugin are defined below:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Specific resources for tv.search use case&lt;/th&gt;
&lt;th&gt;Definition&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;th&gt;Managed by&lt;/th&gt;
&lt;th&gt;Scope&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tv:video.search.by-title.simple-result&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Resource returned when the search finds one result by searching for one title entity&lt;/td&gt;
&lt;td&gt;He encontrado esto sobre $title&lt;/td&gt;
&lt;td&gt;tv.search plugin&lt;/td&gt;
&lt;td&gt;Use case-specific&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tv:video.search.by-title.multiple-results&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Resource returned when the search finds more than one result by searching for one title entity&lt;/td&gt;
&lt;td&gt;He encontrado estos contenidos sobre $title&lt;/td&gt;
&lt;td&gt;tv.search plugin&lt;/td&gt;
&lt;td&gt;Use case-specific&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tv:video.search.by-participant.simple-result&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Resource returned when the search finds one result by searching for one actor/director entity&lt;/td&gt;
&lt;td&gt;En este contenido participa $participant&lt;/td&gt;
&lt;td&gt;tv.search plugin&lt;/td&gt;
&lt;td&gt;Use case-specific&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tv:video.search.by-participant.multiple-results&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Resource returned when the search finds more than one result by searching for one actor/director entity&lt;/td&gt;
&lt;td&gt;En estos contenidos participa $participant&lt;/td&gt;
&lt;td&gt;tv.search plugin&lt;/td&gt;
&lt;td&gt;Use case-specific&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tv:video.search.by-genre.simple-result&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Resource returned when the search finds one result by searching for one genre entity&lt;/td&gt;
&lt;td&gt;Mira lo que he encontrado sobre $genre&lt;/td&gt;
&lt;td&gt;tv.search plugin&lt;/td&gt;
&lt;td&gt;Use case-specific&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tv:video.search.by-genre.multiple-results&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Resource returned when the search finds more than one result by searching for one genre entity&lt;/td&gt;
&lt;td&gt;Estos son los contenidos que he encontrado sobre $genre&lt;/td&gt;
&lt;td&gt;tv.search plugin&lt;/td&gt;
&lt;td&gt;Use case-specific&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tv:video.search.by-subgenre.simple-result&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Resource returned when the search finds one result by searching for one genre and one subgenre entity&lt;/td&gt;
&lt;td&gt;Mira lo que he encontrado sobre $genre de $subgenre&lt;/td&gt;
&lt;td&gt;tv.search plugin&lt;/td&gt;
&lt;td&gt;Use case-specific&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tv:video.search.by-subgenre.multiple-results&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Resource returned when the search finds more than one result by searching for one genre and one subgenre entity&lt;/td&gt;
&lt;td&gt;Estos son los contenidos que he encontrado sobre $genre de $subgenre&lt;/td&gt;
&lt;td&gt;tv.search plugin&lt;/td&gt;
&lt;td&gt;Use case-specific&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tv:video.search.by-default.simple-result&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Resource returned when the search finds one result&lt;/td&gt;
&lt;td&gt;Aquí tienes este contenido&lt;/td&gt;
&lt;td&gt;tv.search plugin&lt;/td&gt;
&lt;td&gt;Use case-specific&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tv:video.search.by-default.multiple-results&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Resource returned when the search finds more than one result&lt;/td&gt;
&lt;td&gt;Aquí tienes estos contenidos&lt;/td&gt;
&lt;td&gt;tv.search plugin&lt;/td&gt;
&lt;td&gt;Use case-specific&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tv:video.search.contingency.no-results&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Resource returned when the contingency search does not find any result&lt;/td&gt;
&lt;td&gt;No he encontrado nada&lt;/td&gt;
&lt;td&gt;tv.search plugin&lt;/td&gt;
&lt;td&gt;Use case-specific&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tv:video.search.contingency.single-result&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Resource returned when the contingency search finds one result&lt;/td&gt;
&lt;td&gt;Este es el resultado que he encontrado&lt;/td&gt;
&lt;td&gt;tv.search plugin&lt;/td&gt;
&lt;td&gt;Use case-specific&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tv:video.search.contingency.multiple-results&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Resource returned when the contingency search finds more than one result&lt;/td&gt;
&lt;td&gt;Estos son los resultados que he encontrado&lt;/td&gt;
&lt;td&gt;tv.search plugin&lt;/td&gt;
&lt;td&gt;Use case-specific&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tv:video.search.no-results&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Resource when the contingency search is disabled and does not find any result&lt;/td&gt;
&lt;td&gt;No he encontrado lo que dices&lt;/td&gt;
&lt;td&gt;tv.search plugin&lt;/td&gt;
&lt;td&gt;Use case-specific&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

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


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

&lt;/div&gt;

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

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