This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

TV VOD EPG information use case

TV VOD EPG information use case

Global use case developed by Aura Platform Team that allows users to get VOD EPG information about the playing content.

Introduction

The TV VOD EPG information use case is a global experience designed and developed by Aura Global Team that allows Telefónica customers to ask Aura about what they are watching on TV at that specific moment using a vocal interface. The use case answers with the name of the TV content being broadcasted.

  • A user interacts with Aura through a normalized video channel
  • She asks about the content currently playing: “What am I watching?”, “What’s on?”
  • Aura recognizes the request and provides back to the channel the information required to answer the request

Find additional information in following the documents:

Specifications

Kernel API

In order to resolve the user’s request, Aura uses Video Contents normalized Kernel API.

Request-response model

TV VOD EPG information use case is adapted to the new request-response normalized model v3.

Available channels

TV VOD EPG information use case could be available for any channel that implements normalized v3 request-response model including TV related data.

Currently, STB channels in BR are already available.

Display features

Currently, the normalized TV VOD EPG information use case includes basic VOD EPG information features for content:

  • VOD EPG information by content

Therefore, the questions could be of this type: “What am I watching?” “Which actors are involved?”

Use case development

The TV VOD EPG information use case development includes these components:

Understanding features

  • TV VOD EPG information use case intent: intent.tv-vod_epg_information

  • TV VOD EPG information use case entities:

Entity Example
ent.device_tv “¿Qué estoy viendo en la tele?”
ent.device_mobile “¿Qué estoy viendo en el móvil?”
ent.device_phone “¿Qué estoy viendo en el teléfono?”

In order to understand users’ requests (utterances), Aura is trained with:

  • NLP expression to recognize the user’s utterance and detect the user’s intention.

Use case logic

Once Aura has recognized the user’s utterance based on NLP components, the use case should be resolved based on:

1 - Dialog configuration

Configuration of the generic dialog for TV VOD EPG information use case

How the generic dialog must be configured for this use case

Specific configuration

The TV VOD EPG information use case is triggered by the generic dialog v3. For this use case, the required specific configuration is set below:

{
    "id": "generic-dialog-v3",
    "channelDataVersion": "v3",
    "triggerConditions": [
        {
            "intent": "intent.tv.vod_epg_information",
            "settings": {
                "locales": {
                    "error": [
                        "core:flc.answer.error"
                    ]
                },
                "payloadType" : "tv",
                "functions" : {
                    "params" : [
                        "currentIntent",
                        "persistentData"
                    ],
                    "algorithm" : "const entityType = currentIntent?.entities?.[0]?.type; switch (entityType) { case 'ent.device_tv': case 'ent.device_mobile': case 'ent.device_phone': persistentData.dialogData.dialogSetting.forcedIntentResult = { name: 'MEDIA.SHEET_TV', entities: [ { type: entityType, entity: currentIntent.entities?.[0]?.entity } ] }; break; default: persistentData.dialogData.dialogSetting.forcedIntentResult = { name: 'MEDIA.SHEET_SECOND_SCREEN', entities: [] }; break; }"
                }
            }
        }
    ],
    "onlyIn": [
        "set-top-box"
    ]
}

Specific values

Key Value Description
triggerConditions[?].settings.functions.params String[] Params for algorithm
triggerConditions[?].settings.functions.algorithm String Logic to get intentResult by entities

2 - TV VOD EPG information plugin

TV VOD EPG information plugin

Complex Logic Framework plugin for the TV VOD EPG information use case

Introduction

The TV VOD EPG information plugin resolves the request from a user getting information about the TV content broadcasted in this specific moment

It includes some key steps described in the following sections.

Validate input request

This step validates that the input request fulfills all the requirements from the input schema.

If the input data has an error, the resource returned is:
tv:video.model-validation.request.error.

Get VOD EPG information about a playing content

The VOD EPG information about a playing content is based in the catalog type and content id.

To retrieve content information stage follows the steps set below:

Video query API

We will make a query to Video Contents normalized Kernel API to retrieve content.

To make this API call, several parameters are needed, which are described below:

  • user_id: Input data[aura_user][user_id]
  • access_token: Input data[aura_user][access_token]
  • catalog_type: Input data[app_context][playing][catalog_type] where “vod” is “VOD”, “l7d” and “record” is “L7D”, and “live” is “LIVE”.
  • administrative_number: Input data[app_context][user][account_number]
  • content_id: Input data[app_context][playing][content_id]
  • scopes: Input data[aura_user][scopes]
  • purposes: Input data[aura_user][purposes]
  • device_type: Input data[app_context][device][type]

VOD EPG information response

When a user requests for getting playing EPG information about a specific content, the following possible scenarios can occur for the response:

a. Receive a content with the EPG information and the request contain devices entities (ent.device_tv, ent.device_mobile, ent.device_phone). The returned resource is tv:tv.moreInfoTvDetail

b. Receive a content with the EPG information and the request does not contain any devices entities (ent.device_tv, ent.device_mobile, ent.device_phone). The returned resource is tv:carousel.info.contentDetail

c. Not received or not found in API any content with the EPG information and the request does not contain any devices entities (ent.device_tv, ent.device_mobile, ent.device_phone). The returned resource is tv:tv.moreInfoTvNotAllowed

d. Not received or not found in API any content with the EPG information and the request contain devices entities (ent.device_tv, ent.device_mobile, ent.device_phone). The returned resource is tv:tv.more_info.notAllowed

e. Receive an API error. The returned resource is tv:video.api.answer.error

Response

The response follows this response schema.

Where:

  • intent: input intent.

  • entities: input entities.

  • result_intent: This field is always MEDIA.SHEET_TV except when the resource is tv:carousel.info.contentDetail or tv:tv.more_info.notAllowed. In this case this field is MEDIA.SHEET_SECOND_SCREEN.

  • resources: List of response resources that includes three main parameters:

    • type: Type of the response resource.
    • name: Name of the response resource. Example: tv:tv.moreInfoTvDetail
    • params: This field returns any required parameter in the resource.
  • payload: Information provided by the Kernel API, when we make the VOD EPG information request. For this case, If we receive a response, it is a value and then this field includes the following parameters:

    • type: details
    • data: It returns the information provided by the Kernel API.
  • status: Final status request. This field includes the following parameters:

    • code: Status code.
    • message: Status message, which describes the status code.
    • params: Parameter that sends details of status. This field does not appear if it is empty.
  • actions: Actions to follow with the result of request.

  • conditions: Condition for the actions to be applied.

3 - TV VOD EPG information resources

TV VOD EPG information use case resources

Resources used by the TV VOD EPG information use case

The TV VOD EPG information use case will use three different types of resources:

Specific resources for the use case: tv.vod_epg_information

The resources associated to the TV VOD EPG information plugin are defined below:

Specific resources for tv.vod_epg_information use case Definition Example Managed by Scope
tv:tv.moreInfoTvDetail Resource returned when content is retrieved with some device entities (ent.device_tv, ent.device_mobile, ent.device_phone) Esto es lo que se está reproduciendo en la televisión tv.vod_epg_information plugin Use case-specific
tv:carousel.info.contentDetail Resource returned when content is retrieved without any device entity (ent.device_tv, ent.device_mobile, ent.device_phone) Aquí tienes más detalles tv.vod_epg_information plugin Use case-specific
tv:tv.moreInfoTvNotAllowed No resource returned when content is retrieved with some device entities (ent.device_tv, ent.device_mobile, ent.device_phone) Vaya, parece que no puedo darte más información de lo que estás viendo en la televisión tv.vod_epg_information plugin Use case-specific
tv:tv.more_info.notAllowed No resource returned when content is retrieced without any device entity (ent.device_tv, ent.device_mobile, ent.device_phone) Vaya, parece que no puedo hacer eso tv.vod_epg_information plugin Use case-specific

4 - NLP configuration by OB

NLP configuration by OB

NLP configuration by OB for the TV VOD EPG information use case

Introduction

The current document includes the configuration of the NLP model for the TV VOD EPG information use case in the OBs where it is available.

Brazil

The aura-nlpdata repository structure in Brazil is organized by channel: aura-nlpdata-br-[channel]. Each repository will contain the files for the available use cases in this channel.

The following configuration corresponds to the STB channel, which is included in the repository: https://github.com/Telefonica/aura-nlpdata-br-stb

Intent

intent.tv.vod_epg_information

Entities

  • ent.device_tv
  • ent.device_mobile
  • ent.device_phone

Pipeline stages

The following stages of STB’s pipeline have been used to develop this UC:

  • “ExactMatchRecognizerWrapper”
  • “PygrapeGrammarWrapper”
  • “EntityTaggerAdapterWrapper”

The whole pipeline.jsonfile is available at: https://github.com/Telefonica/aura-nlpdata-br-stb/blob/master/data/pt-br/stb/pipeline.json