• Nenhum resultado encontrado

Sistemas de recomendação colaborativo para a geração assistida de grades de programação utilizando interatividade em emissoras de TVDI

N/A
N/A
Protected

Academic year: 2021

Share "Sistemas de recomendação colaborativo para a geração assistida de grades de programação utilizando interatividade em emissoras de TVDI"

Copied!
75
0
0

Texto

(1)

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA

Leonardo Farage Freitas

SISTEMAS DE RECOMENDAÇÃO COLABORATIVO PARA A GERAÇÃO ASSISTIDA DE GRADES DE PROGRAMAÇÃO UTILIZANDO INTERATIVADADE EM

EMISSORAS DE TVDI

Florianópolis 2014

(2)
(3)

Leonardo Farage Freitas

SISTEMAS DE RECOMENDAÇÃO COLABORATIVO PARA A GERAÇÃO ASSISTIDA DE GRADES DE PROGRAMAÇÃO UTILIZANDO INTERATIVADADE EM

EMISSORAS DE TVDI

Dissertação submetida ao Programa de Pós-graduação em Ciência da Com-putação para a obtençăo do Grau de Mestre em Ciência da Computação. Orientador: Prof. Dr. rer.nat. Aldo von Wangenheim

Florianópolis 2014

(4)
(5)

Leonardo Farage Freitas

SISTEMAS DE RECOMENDAÇÃO COLABORATIVO PARA A GERAÇÃO ASSISTIDA DE GRADES DE PROGRAMAÇÃO UTILIZANDO INTERATIVADADE EM

EMISSORAS DE TVDI

Esta Dissertação foi julgada aprovada para a obtenção do Título de “Mestre em Ciência da Computação”, e aprovada em sua forma final pelo Programa de Pós-graduação em Ciência da Computação.

Florianópolis, 03 de outubro 2014.

Prof. Dr. Ronaldo dos Santos Mello

Coordenador do Programa de Pós-graduaçao em Ciência da Computação

Prof. Dr. rer.nat. Aldo von Wangenheim Orientador

Banca Examinadora:

Membro 1 Presidente

(6)
(7)

A quem o trabalho é dedicado, se é que o é (opcional)

(8)
(9)

AGRADECIMENTOS

Gostaria de agradecer a todos os envolvidos com o trabalho, principalmente a Heloisa Simon, meus pais e irmãos.

(10)
(11)

Life’s simple, you make choices and you don’t look back.

(12)
(13)

RESUMO

O desenvolvimento da grade de programação de uma emissora de televi-são é um grande desafio. Emissoras devem transmitir sua programação de acordo com as preferências de seus telespectadores. O contato entre o diretor de programação e seus telespectadores é pequeno ou inexistente, tornando a tarefa de compreender a preferência dos telespectadores di-fícil. Utilizar o advento da interatividade na televisão digital no Brasil juntamente com um sistema de recomendação aumenta o canal entre o diretor e os telespectadores. A proposta do trabalho é apresentar um sistema com capacidade de receber estas avaliações sobre os conteú-dos transmiticonteú-dos e reverter estas avaliações em recomendações do que transmitir ao realizar o desenvolvimento da grade de programação. Palavras-chave: sistemas de recomendação, grade de programação te-levisiva, técnicas de filtragem colaborativa, televisão digital interativa, scheduling, emissoras públicas

(14)
(15)

ABSTRACT

Development of a programming table of a broadcasting company is a challenge. These companies shoud broadcast according to its viewers’ preferences. The contact between the programming director and its viewers is small or nonexistent, turning the task of understanding the viewers’ preferences hard. Using the advent of interactive applicati-ons on digital television in Brasil together with a recommender system could broad this channel of communication between the director and its viewers. Our work proposes a system capable of receiving these evaluations about the content broadcasted and reverting them into re-commendations to what broadcast at the developing of the schedule. Keywords: recommendation systems, television scheduler, collabora-tive filtering technique, interaccollabora-tive digital television, public broadcas-ting companies

(16)
(17)

LISTA DE FIGURAS

Figura 1 Modelo de dayparting. . . 31 Figura 2 As possíveis classificações indicativas no Brasil (MACEDO ANNA PAULA U. DE A. BRANCO, 2012;REIS, 2013) . . . 33 Figura 3 Relational database vs Graph database: on data relati-onship. Copyright(JOUILI; VANSTEENBERGHE, 2013) . . . 39 Figura 4 Comparison between . . . 40 Figura 5 Tela de apresentação das recomendações do TV Predic-tor (KRAUSS; GEORGE; ARBANOWSKI, 2013) . . . 46 Figura 6 Lista de recomendações do sistema TiVo . . . 47 Figura 7 Overview do processo de recomendação do trabalho de Engelbert et al. (2011a) . . . 49 Figura 8 Arquitetura do sistema proposto no trabalho Engelbert et al. (2011a) . . . 49 Figura 9 Overview do sistema proposto e suas interações . . . 51 Figura 10 Visualização de resultado da consulta cypher no sistema de administração do Neo4J. . . 58 Figura 11 Captura de tela do módulo de gerência mostrando uma grade de programação desenvolvida pelo sistema de recomendação. 60

(18)
(19)

LISTA DE TABELAS

Tabela 1 Os três grupos do DC e seus elementos . . . 34 Tabela 2 String de busca utilizada para a revisão . . . 44

(20)
(21)

LISTA DE ABREVIATURAS E SIGLAS

EPG Guia de programação eletrônico . . . 32

DC Dublin Core . . . 35

DAG Direct Acyclic Graph . . . 40

PDR Personal Digital Recorders . . . 46

BT Blocos de Tempo. . . 52

FC Técnica de Filtragem Colaborativa . . . 53

(22)
(23)
(24)
(25)

SUMÁRIO 1 INTRODUÇĂO . . . 25 1.1 CONTEXTUALIZAÇÃO DO PROBLEMA . . . 25 1.2 PROPOSTA . . . 26 1.3 OBJETIVOS . . . 27 1.3.1 Objetivo Geral . . . 27 1.3.2 Objetivos Específicos . . . 27 2 FUNDAMENTAÇÃO TEÓRICA . . . 29 2.1 EMISSORAS DE TELEVISÃO . . . 29 2.1.1 Emissoras de Televisão Públicas e Universitárias . . . 30 2.1.2 Scheduling e a grade de programação . . . 30 2.1.3 Guia de Programação Eletronico - EPG . . . 32 2.2 CLASSIFICAÇÃO INDICATIVA . . . 32 2.3 BIBLIOTECAS MULTÍMIDIA . . . 34 2.3.1 Dublin Core . . . 35 2.4 SISTEMAS DE RECOMENDAÇÃO . . . 35 2.4.1 Técnicas de Recomendação Colaborativa . . . 37 2.5 BANCO DE DADOS BASEADOS EM GRAFOS . . . 39 3 TRABALHOS RELACIONADOS . . . 43 3.1 SISTEMAS DE RECOMENDAÇÃO EM TELEVISÃO . . . 43 3.1.1 Soluções em aparelhos de televisão . . . 45 3.1.2 Soluções em set-top boxes . . . 47 3.1.3 Soluções em IPTV . . . 48 3.1.4 Conclusões . . . 50 4 VISÃO GERAL DO SISTEMA . . . 51 4.1 SISTEMA DE RECOMENDAÇÃO COLABORATIVO . . . 52 4.1.1 Recomendação de novos conteúdos . . . 53 4.1.2 Recomendação de conteúdo avaliado . . . 54 4.1.3 Recomendação de conteúdo com restrição de tempo 55 4.2 MÓDULO DE GERÊNCIA DE GRADE DE

PROGRAMA-ÇÃO . . . 55 4.3 MÓDULO DE AVALIAÇÃO DE CONTEÚDO . . . 55 5 DESENVOLVIMENTO DO PROTÓTIPO . . . 57 5.1 DESENVOLVIMENTO DO MÓDULO DE

RECOMENDA-ÇÃO . . . 57 5.1.1 Webservice de recomendação . . . 59 5.2 DESENVOLVIMENTO DO MÓDULO DE GERENCIA DE

(26)

5.3 TESTES . . . 60 6 CONCLUSÕES . . . 63 6.1 TRABALHOS FUTUROS . . . 63 7 AGRADECIMENTOS . . . 65 8 DIREITOS AUTORAIS . . . 67 REFERĘNCIAS . . . 69

(27)

25

1 INTRODUÇĂO

A manipulação da enorme quantidade de conteúdo de um canal de televisão pode se tornar um desafio ao se tentar oferecer os conteú-dos mais interessantes respeitando as preferências conteú-dos telespectadores. Como dito em (LIN et al., 1997), a programação da televisão é uma ciência e uma arte que deve avaliar a qualidade e o apelo de novos conteúdos.

Os responsáveis pela programação precisam ter conhecimento de todo o conteúdo disponível e estar ciente da censura em relação à ade-quação para o público, levando em conta questões como quantidade de violência, conteúdo adulto, etc. Canais de televisão de pequeno porte, tais como canais universitários, não possuem grandes estruturas e podem não possuir uma quantidade grande de conteúdo disponível, criando a necessidade dos responsáveis por montar a programação pre-cisarem repetir conteúdo e mesclá-los com novos conteúdos.

Existem diversas soluções no mercado que auxiliam os telespec-tadores a escolherem o que assistir. O TiVo1 é uma destas soluções,

utilizando todos os canais disponiveis ao telespectador como base e criando um grade de programação personalizada ao telespectador.

Estas soluções utilizam sistemas de recomendação para criar as grades personalizadas. No entanto, existem poucas soluções que focam em auxiliar o diretor de programação em emissoras de televisão a criar grades com apelo aos seus telespectadores. Sistemas de recomendação utilizam técnicas de filtragem para realizar recomendações baseadas em cima de metadados dos produtos, usuários ou ambos (ZHANG; ZHENG, 2005).

Utilizar a interatividade disponivel na TV digital brasileira como forma de obter as sugestões dos telespectadores, abre a possibilidade de diretores de programação utilizarem estas sugestões no desenvolvimento da grade de programação.

1.1 CONTEXTUALIZAÇÃO DO PROBLEMA

Existem diversos tipos de emissoras de televisão: grandes re-des de emissoras, pequenas emissoras, emissoras comunitárias e ainda emissoras universitárias. Para haver a transmissão de seu conteúdo 1TiVo é um aparelho de DVR capaz de gravar e transmitir a programação dis-ponivel de sua televisão. (TIVO, 2014)

(28)

26

uma emissora deve investir em equipamentos. Ainda, há a necessidade de haver investimento no conteúdo a ser transmitido, estes conteúdos podem ser adquiridos de diversas formas, como através de produção própria, parceria com produtoras locais e compra de direitos de trans-missão de conteúdo produzido por grandes produtoras.

Com o conteúdo disponivel a emissora passa a realizar o desen-volvimento da grade de programação. O desendesen-volvimento da grade de programação deve levar em conta o número de repetições (reprises) do conteúdo, sua censura de acordo com o horário a ser exibido e diversas outras questões. Havendo pouca organização na emissora sobre a utili-zação destes conteúdos pode acarretar no uso indevido ou aumento no número de reprises. Sistemas para auxiliar na gerencia da biblioteca existem, mas possuem um elevado custo.

A televisão digital interativa possibilita as emissoras alcançarem seus telespectadores de forma mais direta utilizando aplicações inte-rativas com informações suplementares sobre o conteúdo sendo trans-mitido, realizar questionários para colher opiniões e também abrir um canal direto pela televisão pelo qual o telespectador possa avaliar a programação. Utilizar a opinião dos telespectadores na produção da programação aumenta as chances da emissora alcançar níveis elevados de audiência. Mas trabalhar com estes dados sem a ajuda de um sis-tema de tratamento dos dados é difícil.

1.2 PROPOSTA

Este trabalho propõe um modelo de sistema composto de um gerenciador de biblioteca de conteúdo, um sistema de avaliação de pro-gramação e um sistema de geração de grade de propro-gramação. A biblio-teca deve permitir ao usuário incluir novos conteúdos, editar seus dados e excluir-lós. Através do sistema de avaliação, podendo ser implemen-tado utilizando a plataforma interativa da emissora ou através de sites na internet, os telespectadores poderão avaliar a programação transmi-tida. E utilizando o sistema de geração de grade, o usuário (neste caso o diretor de programação da emissora), poderá desenvolver a grade de programação com o auxilio de um sistema de recomendação que irá uti-lizar as avaliações dos telespectadores como um dos parâmetros para a seleção do conteúdo a ser incluído na grade.

A implantação do modelo do sistema prevê um aumento na pro-dutividade do diretor de programação, diminuição do número de re-prises de conteúdos por falta de organização e uma programação mais

(29)

27

atrativa para seus telespectadores.

1.3 OBJETIVOS

1.3.1 Objetivo Geral

Desenvolver uma solução para auxiliar emissoras de televisão desenvolverem a grade de programação de forma automática ou semi-assistida. O desenvolvimento da grade de programação deve utilizar as preferências dos telespectadores como base para a seleção dos progra-mas inseridos.

1.3.2 Objetivos Específicos

Objetivo I: Analisar as diferentes soluções propostas na literatura para geração de grade de programação ou artefatos similares; Objetivo II: Realizar uma proposta de sistema com capacidade de

auxiliar diretores de programação no desenvolvimento da grade de programação;

Objetivo III: Desenvolver um protótipo do sistema proposto para fins de teste na geração da grade de programação de forma automá-tica.

(30)
(31)

29

2 FUNDAMENTAÇÃO TEÓRICA

Neste capitulo serão abordados os conceitos necessários para a compreensão do trabalho aqui proposto. No decorrer deste capítulo serão apresentados conceitos sobre emissoras de televisão, seus modelos públicos e universitários e será apresentada a técnica de scheduling. Também serão descritos os conceitos de sistemas de recomendação e bancos de dados baseado em grafos.

2.1 EMISSORAS DE TELEVISÃO

Uma emissora de televisão, é uma empresa com capacidade de transmitir ondas de rádio frequência contendo sons e imagens (vídeo). Para realizar a transmissão de forma legal, a empresa deve receber a concessão da frequência de seu canal, concedida pela Governo Brasi-leiro(COMUNICAçõES, 2012). Existem três modalidades de concessões para emissoras de televisão:

Geradoras São as estações principais, que centralizam a transmissão de conteúdo em âmbito nacional. Um exemplo de geradora é a Rede Globo, que é dona de cinco geradoras - em Belo Horizonte, Brasília, Recife, Rio de Janeiro e São Paulo - sendo a geradora do Rio de Janeiro a centralizadora dos conteúdos produzido pelas demais;

Afiliadas Estão instaladas nas capitais que não têm geradoras e em cidades de médio porte. As emissoras afiliadas repassam o sinal de uma emissora, mas também, por lei, necessitam preencher parte de sua grade de programação com conteúdo regional. A Rede Globo possui 116 afiliadas, onde são produzidos os jornais locais, entre outros programas;

Retransmissoras Localizadas em cidades menores. Estas emissoras somente repetem o sinal das emissoras afiliadas ou geradoras, sem adicionar nada à transmissão. Estas emissoras são utilizadas para ampliar o alcance de cobertura das emissoras gerados e afiliadas.

(32)

30

2.1.1 Emissoras de Televisão Públicas e Universitárias

Existem diversos modelos de emissoras de televisão públicas no mundo, sendo os modelos mais conhecidos: a britânica British Bro-adcasting Company (BBC), a americana Public BroBro-adcasting Service (PBS) e a japonesa Nippon H¯os¯o Ky¯okai (NHK) (CARRATO, 2005). Como emissoras públicas, todas elas recebem financiamento do governo. No Brasil, as emissoras públicas surgiram 14 anos após surgir a primeira emissora de televisão privada. As emissoras públicas desde então não tiveram os mesmos avanços que sua contra-parte privada. Enquanto as emissoras privadas aumentavam investimentos em equi-pamentos, qualidade de produção e alcance do sinal, foi somente em 1988 que as emissoras públicas obtiveram a licença para expandir o alcance de seu sinal (CARRATO, 2005).

Em 1995, com a implantação da Lei do Cabo, houve uma po-pularização das emissoras públicas em universidades, conhecidas como Emissoras de Televisão Universitárias (CALLIGARO, 2010), existindo dois formatos: com transmissão aberta e com transmissão via cabo. Apesar de haver um crescimento no interesse em emissoras universitá-rias, o custo de preparação e manutenção de seus equipamentos ainda é um agravante. Calligaro (2010) levanta a questão da manutenção finan-ceira em emissoras universitárias: As emissoras com transmissão aberta somente podem receber recursos comprovadamente vindos de univer-sidades. As emissoras com transmissão via cabo podem ainda receber recursos externos, mas somente através de patrocínios de programas.

A dificuldade na captação de recursos faz com que equipamentos fiquem defasados, cabendo as universidades as quais as emissoras es-tão sediadas desenvolverem soluções alternativas para contornar estes problemas e torna-las mais competitivas.

2.1.2 Scheduling e a grade de programação

Em uma emissora de televisão existem uma ou mais pessoas res-ponsáveis por desenvolver a grade de programação desta emissora. Para estas pessoas é dado o nome de diretor de programação, ou scheduler (ORLEBAR, 2013). O diretor de programação utiliza a técnica de sche-duling para fazer o trabalho dele (ELLIS, 2000;ORLEBAR, 2013).

Scheduling é a principal técnica de administração de uma emis-sora de televisão, ela é de certo modo a arte de selecionar e combinar programas (ORLEBAR, 2013). É utilizando esta técnica que o diretor de

(33)

31

Figura 1 – Modelo de dayparting.

programação define a grade de programação a ser transmitida e guia o telespectador de programa a programa (ELLIS, 2000;ORLEBAR, 2013). A grade de programação é formada por blocos de 30 minutos. Cada um destes blocos é composto por um programa principal e propagandas. Para realizar a técnica de Scheduling de forma bem sucedida, o dire-tor de programação deve compreender o público-alvo de sua emissora. Alcançar esta compreensão demanda estudos, já que para realizar a téc-nica deve haver uma cuidadosa analise demográfica deste público (LIN et al., 1997), tendo como grande desafio decidir a qualidade da grade de programação (GIVON; GROSFELD-NIR, 2008).

Usualmente, as grades de programação sofrem poucas alterações, pois são formadas de blocos de programas semanais ou diários com conteúdos pré-definidos a serem transmitidos, tais como jornais diários e episódios de séries e novelas. Alterações na estrutura geralmente são realizadas semestralmente ou anualmente inserindo novos programas (ELLIS, 2000; HOREN, 1980). Mas ainda que a estrutura da grade de programação de uma emissora sofra pequenas alterações durante o ano,

(34)

32

toda semana novas decisões devem ser tomadas, pois é preciso decidir quais filmes, documentários ou desenhos devem ser transmitidos, entre outros demais conteúdos (HOREN, 1980).

As emissoras utilizam há muitos anos o modelo de Dayparting(BEYERS, 2004). O Dayparting é de acordo com Beyers (2004) um consolidado modelo utilizado por emissoras de televisão para definir diferentes pro-gramas em diferentes horários do dia. O modelo de dayparting é uti-lizado para auxiliar na escolha da programação e também na seleção de propagandas. A figura 1 mostra um exemplo de uma grade de pro-gramação diária dividida em um modelo de dayparting. No Brasil, o horário da noite é considerado o Horário Nobre, por possuir maior audi-ência, e ele é um exemplo de um bloco do dayparting. O Horário Nobre acontece das 19h às 00h, com pico maior entre às 20h e às 22:30h.

Cada bloco do dayparting contém um número variável de ho-ras consecutivas. Em cada um dos blocos, diretores de programação selecionam conteúdos similares assim atraindo o público que estiver assistindo a televisão naquele horário. De certa forma, o modelo de dayparting serve como uma bússola para estes profissionais.

O modelo de dayparting pode variar de uma emissora para outra, já que o público-alvo de uma emissora pode ser diferente do público de outra emissora(BEYERS, 2004), por exemplo um canal de notícia e um canal infantil.

2.1.3 Guia de Programação Eletronico - EPG

O guia de programação eletrônico (EPG - Electronic Program Guide) surgiu com a televisão digital, possibilitando a emissora trans-mitir junto com seu sinal, a programação completa do seu canal. O EPG, além de exibir ao telespectador os programas que estão por vir, também possibilita que sejam visualizadas informações mais completas sobre cada um dos programas. Estas informações usualmente são: tí-tulo, ano de produção, gêneros, estúdio de produção, tempo total, entre outras informações.

2.2 CLASSIFICAÇÃO INDICATIVA

A classificação indicativa, ou censura, surgiu como uma forma de controlar o conteúdo transmitido nos canais de televisão, principal-mente em relação as crianças e adolescentes (REIS, 2013; OLIVEIRA;

(35)

33

OLIVEIRA, 2012). Além deste controle sobre o conteúdo audiovisual, a censura também é utilizada como uma forma de preparar o teles-pectador o que esperar do programa (MACEDO ANNA PAULA U. DE A. BRANCO, 2012). No Brasil, a classificação indicativa é atribuida levando-se em conta a faixa de idade do público-alvo, horário e lu-gar de exibição (neste caso, para eventos culturais em espaços físicos) (GOMES, 2013). Dentro destes paramêtros é definido a classificação do conteúdo dentre as possíveis classificações apresentadas na figura 2.

Todo conteúdo antes de ser liberado para ser apresentado, deve passar pela Secretaria Nacional de Justiça. Esta secretaria é a respon-sável por definir a classificação destes conteúdos e é definida observando o nível de: violência, sexo e nudez e drogas (MACEDO ANNA PAULA U. DE A. BRANCO, 2012;GOMES, 2013). Cada um destes paramêtros pos-sui uma lista a ser seguida para definir a classificação do paramêtro, e ao final deste estudo o conteúdo recebe a maior censura (MACEDO ANNA PAULA U. DE A. BRANCO, 2012).

Figura 2 – As possíveis classificações indicativas no Brasil (MACEDO ANNA PAULA U. DE A. BRANCO, 2012;REIS, 2013)

(36)

34

Tabela 1 – Os três grupos do DC e seus elementos

Conteúdo Propriedade Intelectual Instanciação

Título Criador Data

Palavra-chave Editor Formato

Categoria Colaborador Identificador

Descrição Direitos Acesso

Tipo Idioma

Fonte Relação

Contato Cobertura

2.3 BIBLIOTECAS MULTÍMIDIA

Uma biblioteca digital, para manter sua organização, necessita de informações sobre cada um de seus itens. Estas informações são usualmente chamadas de metadados (metadata em inglês). O termo metadado significa dados sobre determinados dados (WEIBEL, 1997; SOUZA; VENDRUSCULO; MELO, 2000) e é o termo utilizado na internet para o resultado de sistemas de catalogação de dados e descrição de recursos.

Técnicas de organização de bibliotecas existem há muito tempo, e surgiram com a tentativa de facilitar o acesso as informações. Com o crescimento dos dados multimídia necessitou-se utilizar métodos de organização de bibliotecas tradicionais também nas bibliotecas multi-mídia (LINFOOT; COUGHLIN; COWELL, 2009b;SOUZA; VENDRUSCULO; MELO, 2000) devido a grande quantidade de acesso. Por exemplo, a Biblioteca Pública da Internet1 recebe 8 milhões de visitas diárias e 22

milhões de page views ao ano (KHOO; MACDONALD; PARK, 2012). Com este crescimento no acesso, geração de informações e neces-sidade de descrever melhor as informações, foi necessário criar padrões de metadados para organizar as grandes quantidades de conteúdo e também facilitar a comunicação entre bibliotecas digitais ( WESTER-MANN; KLAS, 2003). Surgiram diversos padrões, sendo o Dublin Core, o Material Exchange Format (MXF) e o MPEG-7 os mais utilizados (LINFOOT; COUGHLIN; COWELL, 2009a).

(37)

35

2.3.1 Dublin Core

O Dublin Core (DC) é um padrão de descrição de recursos desen-volvido pela Dublin Core Metadata Initiative. O DC é definido como um conjunto de elementos de metadados (SOUZA; VENDRUSCULO; MELO, 2000). Este conjunto foi planejado para facilitar a descrição de recursos e dados multimídia.

A expectativa com a criação do DC foi de facilitar autores, mesmo sem o conhecimento de sistemas de catalogação, serem capa-zes de descrever seus dados, de forma que pudessem ficar mais visíveis em sistemas de busca (SOUZA; VENDRUSCULO; MELO, 2000). O DC foi composto inicialmente por 15 elementos de descrição, sendo eles: Título, Assunto, Descrição, Tipo, Fonte, Relação, Cobertura, Criador, Editor, Contribuidor, Direitos, Data, Formato, Identificador, Língua. A partir de 2005, padrão recebeu mais 7 elementos de descrição ( INI-TIATIVE, 2014). A tabela ?? apresenta estes elementos e a que tipo de informação ele está relacionado.

Ainda que o padrão possua todos estes elementos, o DC permite que o autor escolha utilizar todos os elementos, utilizar alguns dos elementos propostos ou até adicionar elementos de acordo com suas ne-cessidades (SOUZA; VENDRUSCULO; MELO, 2000). Isso possibilita uma troca de informação mais fácil entre bibliotecas distintas.

2.4 SISTEMAS DE RECOMENDAÇÃO

Na década de 1990, os sistemas de recomendação ganharam mais atenção no meio científico com a publicação de estudos de filtragem colaborativa (PARK et al., 2012a). Sistemas de recomendação vem pro-vando sua utilidade em diversas áreas, tais como e-commerce, ferra-mentas de pesquisa e um promissor futuro na área de televisão e en-tretenimento(ZHANG; ZHENG, 2005). Em geral, sistemas de recomen-dação têm o objetivo de predizer as preferências dos usuários baseados em seus hábitos e/ou gosto. Estes dados sobre seus usuários podem ser adquiridos de formas explicitas e/ou implicitas(CHANG; IRVAN; TE-RANO, 2013a;ENGELBERT et al., 2011b;PARK et al., 2012a;BOBADILLA et al., 2013).

Para funcionar de forma adequada, os sistemas de recomenda-ção aplicam técnicas de aprendizado de máquinas. Estas técnicas de-finem filtros sobre as preferências de seus usuários, tal que os filtros são utilizados para predizer a avaliação do usuário sobre um certo

(38)

36

item(GHAZANFAR; PRÜGEL-BENNETT; SZEDMAK, 2012).

Os sistemas de recomendação trabalham utilizando um conjunto de usuários, U = u1, u2, ..., un, e um conjunto de itens, I = i1, i2, ..., im.

Cada usuário, u1∈ U , possui um profile com avaliações dadas a itens.

Baseando-se nas avaliações de um usuário ativo, onde uαé um usuário

ativo e Ruα é o conjunto contendo as avaliações feitas pelo usuário, o

sistema realiza predições/recomendações de itens que o usuário pode gostar(ZHANG; ZHENG, 2005).

Os sistemas de recomendação podem ser divididos nas seguintes categorias: baseadas em conteúdo, colaborativas e híbridas(PARK et al., 2012a;BOBADILLA et al., 2013). Esta divisão se dá de acordo com as técnicas de filtragem utilizadas pelo sistema de recomendação.

Sistemas de recomendação que utilizam técnicas de filtragem ba-seadas em conteúdo são geralmente chamados pelo mesmo nome da técnica. Esta técnica gera recomendações baseada nas escolhas feitas pelo usuário no passado. Estas escolhas podem ser compras, avalia-ções, entre outras, mas sempre sendo ações do usuário sobre os itens do sistema(PARK et al., 2012a;BOBADILLA et al., 2013). As técnicas de filtragem baseadas em conteúdo podem ser aplicadas em diversos domí-nios, como recomendação de páginas da web e notícias, recomendações de programas de televisão e também na área de vendas(LARSEN, 2013). A desvantagem dos sistemas de recomendação baseados em con-teúdo é a sua super especialização (overspecialization)(ADOMAVICIUS; TUZHILIN, 2005; LARSEN, 2013). A super especialização ocorre pela forma que o sistema gera as recomendações, utilizando somente um usuário como parâmetro. Desta forma, o sistema acaba recomendando itens muito similares e pode acontecer de raramente fazer a recomen-dações de novos itens(ADOMAVICIUS; TUZHILIN, 2005).

Os sistemas de recomendação colaborativos utilizam as técnicas de filtragem também chamadas de colaborativas. As técnicas colabo-rativas se espelham na forma como as pessoas fazem descobertas de novas itens, sendo a partir de amigos e conhecidos com preferências pa-recidas(BOBADILLA et al., 2013;ANDRADE; ALMEIDA, 2013;SU; KHOSH-GOFTAAR, 2009). Da mesma forma que as pessoas o fazem, o sistema busca usuários com preferências similares do usuário ativo e recomenda novos itens que estes usuários tenha interagido de forma positiva.

Por vezes os sistemas precisam utilizar mais de uma técnica de filtragem. Para estes sistemas, é dado o nome de sistemas de recomen-dação híbridos. Sistemas híbridos geralmente utilizam técnicas colabo-rativas combinadas com técnicas baseadas em conteúdo. Estas combi-nações buscam utilizar as melhores características de cada técnica para

(39)

37

sobrepujar suas desvantagens(BOBADILLA et al., 2013).

A grande desvantagem dos sistemas de recomendação é o pro-blema de Cold Start (partida a frio)(ZHANG; ZHENG, 2005; PARK et al., 2012a; BOBADILLA et al., 2013). O problema de cold start ocorre quando não é possível gerar recomendações por falta de avaliações ou dados de relação entre usuários e itens(LIU et al., 2014; BOBADILLA et al., 2013). De acordo com Bobadilla et al. (2013), podemos dividir este problema em três tipos: nova comunidade, novo item e novo usuário.

O tipo nova comunidade ocorre no início do uso do sistema, quando ainda não existem dados o suficiente para realizar recomenda-ções. Um meio de resolver o problema é realizar pesquisas com os usuá-rios ao se cadastrarem no sistema, ou incentivar os usuáusuá-rios a avaliarem os itens de forma que o sistema possa alcançar a quantidade necessária de avaliações para realizar recomendações(LIU et al., 2014; BOBADILLA et al., 2013;LIKA; KOLOMVATSOS; HADJIEFTHYMIADES, 2014).

O tipo novo item aparece quando novos itens são inseridos no sistema e estes itens não possuem avaliações iniciais. Por não possuir avaliações estes itens não são recomendados. Por não serem recomenda-dos não são apresentarecomenda-dos aos usuários e sem as avaliações recomenda-dos usuários o problema entra em um ciclo vicioso(LIU et al., 2014; BOBADILLA et al., 2013; LIKA; KOLOMVATSOS; HADJIEFTHYMIADES, 2014). Este é o menor dos problemas do cold start, já que usualmente é possível usuário descobrirem itens por outros meios e assim realizar avaliações.

O tipo novo usuário representa uma das maiores dificuldades entre os três tipos mencionados. Pois quando um novo usuário entra no sistema, este não possui interação com o sistema o suficiente para receber recomendações precisas, consequentemente concluindo que o sistema não gera recomendações boas o suficiente(BOBADILLA et al., 2013).

2.4.1 Técnicas de Recomendação Colaborativa

As técnicas de filtragem colaborativas são muito utilizadas e tam-bém muito conhecidas(KRAUSS; GEORGE; ARBANOWSKI, 2013). Estas técnicas surgiram naturalmente para superar a super especialização das técnicas baseadas em conteúdo. Estas técnicas utilizam as informações de um usuário ativo e informações de usuários similares. Estes usuários similares são chamados de vizinhos. Estas informações são utilizadas para predizer a relevância de um item para o usuário ativo(ANDRADE; ALMEIDA, 2013; SU; KHOSHGOFTAAR, 2009;XIA et al., 2013).

(40)

38

Um vizinho é definido como Auα,uj = {uj∈ U ∧ i ∈ I|ruα,i> 0 ∧

ruj,i> 0}. De uma forma mais simples, filtros colaborativos funcionam

de forma similar ao processo social de amigos recomendarem conteúdos a outros amigos, neste caso vizinhos(ANDRADE; ALMEIDA, 2013; SU; KHOSHGOFTAAR, 2009).

Para realizar a predição das possíveis avaliações que um usuá-rio pode dar a um item, seus vizinhos são utilizados como base para esta predição. Isto se dá calculando da similaridade entre o usuário e seus vizinhos. Existem diversos métodos disponíveis para realizar este cálculo, mas o mais utilizado em sistemas de recomendação colabora-tivos é o Pearson Correlation(KRAUSS; GEORGE; ARBANOWSKI, 2013; ANDRADE; ALMEIDA, 2013;SU; KHOSHGOFTAAR, 2009;CACHEDA et al., 2011;CHANG; IRVAN; TERANO, 2013a;PARK et al., 2012b;ZANKER; FEL-FERNIG; FRIEDRICH, 2011). A similaridade entre os usuários é definida pelo coeficiente de Pearson (equação 2.1):

sim(a, u) = P i∈Ia∩Iu (ra,i− ¯ra)(ru,i− ¯ru) r P i∈Ia∩Iu (ra,i− ¯ra)2 P i∈Ia∩Iu (ru,i− ¯ru)2 . (2.1)

Os valores possíveis para o coeficiente de Pearson vai de −1 a +1. Quanto mais próximo de −1 o valor do coeficiente estiver, mais distintos os usuários são. Quanto mais próximo de +1, mais similares eles são. O valor 0 significa a ausência de qualquer correlação ou similaridade entre os usuários(CACHEDA et al., 2011).

Para a seleção dos vizinhos a serem utilizados como parametros para indicar novos conteúdos para o usuário, existem duas técnicas mais comuns: limiar de correlação e número máximo de vizinhos(CACHEDA et al., 2011). A técnica de limiar de correlação define um valor o qual é utilizado para restringir o número de vizinhos utilizados, tal que os vizinhos que não ultrapassarem este limiar são descartados. A técnica de número máximo de vizinhos um número, k, é definido como máximo de vizinhos a serem utilizados, retornando os primeiros k vizinhos de seu conjunto de vizinhos.

Possuindo um conjunto de vizinhos o sistema realiza a predição utilizando um algoritmo de predição. Uma forma simples, mas efetiva, de alcançar o valor da predição de um item é utilizando o algoritmo de Soma ponderada da avaliação dos outros (em inglês, Weighted Sum of Others’ Ratings)(SU; KHOSHGOFTAAR, 2009):

(41)

39 Pa,u= ¯ra+ P u∈U (ru,i− ¯ru) ∗ sim(a, u) P u∈U |sim(a, u)| . (2.2)

Tal que ¯ra e ¯ru são as médias de todas as avaliações realizadas

pelos usuários a e u. sim(a, u) é o coeficiente de Pearson entre os usuários a e u. Os valores ¯ra,i e ¯ru,i devem existir, restringindo o uso

da equação 4.3 somente entre usuários que tenham avaliado o item i. Utilizando estas técnicas um sistema de recomendação colaborativo consegue gerar recomendações a seus usuários.

2.5 BANCO DE DADOS BASEADOS EM GRAFOS

Figura 3 – Relational database vs Graph database: on data relati-onship. Copyright(JOUILI; VANSTEENBERGHE, 2013)

Na década de 80 e inicio da década de 90, os banco de dados em grafos foram muito pesquisados mas perderam sua importância com o surgimento de outras implementações de banco de dados(ANGLES; GUTIERREZ, 2008). Com a volta da necessidade de manipular infor-mações em modelos de grafos este modelo voltou a ganhar sua rele-vância. Quando existe a necessidade de manipular as relações entre dados de qualquer tipo, a capacidade de entender e analisar grafos des-tes dados conectados é uma peça chave para uma boa performance do

(42)

40

sistema(ROBINSON; WEBBER; EIFREM, 2013;VICKNAIR et al., 2010). Uma ótima maneira de representar e consultar dados conecta-dos é utilizando banco de daconecta-dos em grafos, especialmente sistemas de recomendação que contém uma quantidade significativa de dados co-nectados.(ROBINSON; WEBBER; EIFREM, 2013; VICKNAIR et al., 2010). Quando trabalhando com dados altamente relacionados e complicados a performance de um banco de dados relacional diminui consideravel-mente(JOUILI; VANSTEENBERGHE, 2013; VICKNAIR et al., 2010). Ao passo que diversas tabelas são utilizadas, a relação entre estes dados tem de ser restaurada em tempo de consulta aumentando considera-velmente o número de chamadas join necessárias(JOUILI; VANSTEEN-BERGHE, 2013). A figura 3 mostra exemplos de consultas para recupe-rar amigos de amigos de um banco relacional e um banco baseado em grafos.

Na pesquisa desenvolvida por Vicknair et al. (2010) foi realizada uma comparação entre o banco de dados baseado em grafo Neo4J e o banco de dados relacional MySQL quando a necessidade de atravessar um grafo aciclico (Direct Acyclic Graph, ou DAG). A comparação é realizada sobre o tempo de consulta quando atravessando até profundi-dade 4 (S4) e até a profundiprofundi-dade 128 (S128) utilizando quatro pacotes de dados contendo 1000, 5000, 10000 e 100000 strings de 32kb. A figura 4 apresenta os resultados em um gráfico de barras.

Figura 4 – Comparison between

(43)

pos-41

suem vantagem sobre a performance quando atravessando grafos, mas sofrem quando há a necessidade de recuperar nodos orfãos. Como siste-mas de recomendação utilizam dados altamente relacionados para gerar suas recomendações, o uso de um banco de dados baseado em grafos é uma ótima escolha quando necessário recuperar as relações entre seus usuários e produtos.

(44)
(45)

43

3 TRABALHOS RELACIONADOS

Neste capítulo são apresentados alguns trabalhos relacionados resultado de uma revisão realizada sobre quatro bibliotecas digitais utilizadas no campo da Ciência da Computação. As bibliotecas foram a ACM Digital Library1, IEEEXplore2, Science Direct3 e a Springer

Link4.

Para a string de pesquisa foram levantadas palavras-chaves re-lacionadas com o trabalho, mostradas na tabela 2. Cada um dos tra-balhos escolhidos conterá uma breve explicação sobre seus objetivos e conclusões.

3.1 SISTEMAS DE RECOMENDAÇÃO EM TELEVISÃO

Por um lado, o aumento no número de canais disponíveis aos telespectadores trouxe mais opções aos telespectadores - mas por ou-tro lado, telespectadores podem achar difícil encontrar programas rele-vantes aos seus interesses, e encontrá-los sem assistência torna-se uma árdua tarefa(CHANG; IRVAN; TERANO, 2013b; ZHANG; ZHENG, 2005; ENGELBERT et al., 2011a). Para ajudar nesta tarefa, sistemas de reco-mendação vem tornando-se cada mais importante e sendo adotado em diversas plataformas e soluções(CHANG; IRVAN; TERANO, 2013b; ALI; STAM, 2004; ÁVILA; ZORZO, 2011; KRAUSS; GEORGE; ARBANOWSKI, 2013; ENGELBERT et al., 2011a; GIBBS et al., 2009;LAI et al., 2011; SO-TELO; JOSKOWICZ; SOLLA, 2012;ZHANG; ZHENG, 2005).

Pesquisas em sistemas de recomendação aplicados a solucionar esta tarefa propõem diversas formas em como auxiliar os telespecta-dores na tarefa de encontrarem os programas mais adequados a suas preferências. As soluções propostas visam suas soluções diretamente em seus aparelhos de televisão(KRAUSS; GEORGE; ARBANOWSKI, 2013; LAI et al., 2011;ZHANG; ZHENG, 2005), através da utilização de platafor-mas smarts. Outras propostas utilizam set-top boxes(ALI; STAM, 2004; ÁVILA; ZORZO, 2011; KRAUSS; GEORGE; ARBANOWSKI, 2013; ENGEL-BERT et al., 2011a; ZHANG; ZHENG, 2005) para solucionar o problema, utilizando a plataforma de interatividade da televisão digital. Ainda,

1link ACM 2link IEEEXplore 3link Science Direct 4link springer link

(46)

44

Tabela 2 – String de busca utilizada para a revisão

String de busca

(((television programs) OR (tv programs) OR (te-levision channels) OR (tv channels)) AND ((recom-mender system) OR (recommendation system) OR (filtering technique) OR (recommendation techni-que)) AND ((broadcasting network) OR (broadcas-ter) OR (broadcasting company))

algumas destas soluções propõem a aplicação dos sistemas sobre servi-ços de IPTV(KIM et al., 2011; GIBBS et al., 2009) ou trabalhando com os canais disponíveis ao telespectador, formando uma base para gerar uma grade de programação na internet com a qual o telespectador pode usar para guia para saber o que assistir(GIBBS et al., 2009; MARTINEZ et al., 2009).

Todas estas soluções e pesquisas propõem recomendações uti-lizando multiplos canais e sistemas on-demand para o telespectador. Mas pouco têm se pesquisado em como aplicar estes sistemas de reco-mendação voltadas para as emissoras de televisão, para auxiliá-las na geração de suas grades de programação (SOTELO; JOSKOWICZ; SOLLA, 2012), otimizando a forma com que administram seus conteúdos. Da mesma forma como pouco se tem pesquisado para gerar recomendações para um grupo de telespectadores que está assistindo TV naquele mo-mento, ao mesmo tempo. Entender qual é o melhor conteúdo para ser transmitido para esse grupo de pessoas.

O desafio para as emissoras é o de saber qual programa deve ir ao ar, já que somente um programa pode ir ao ar a qualquer instante e todos os telespectadores estarão recebendo o mesmo conteúdo. A apli-cação de sistemas de recomendação no domínio da emissora de televisão significa que os sistemas não podem utilizar a preferência de um único telespectador como base para a recomendação, mas sim, a de todos os telespectadores ao mesmo tempo. O sistema deve sugerir ao diretor de programação conteúdos/programas que melhor se encaixem junto aos conjunto de seus telespectadores.

(47)

45

3.1.1 Soluções em aparelhos de televisão

O trabalho Krauss, George e Arbanowski (2013) apresenta uma solução desenvolvida pelo Fraunhofer Institute for Open Communica-tion Systems (FOKUS). Esta solução é desenvolvida sobre a plataforma de televisão híbrida, ou SmartTVs como é mais conhecida. O estudo tem o nome de TV Predictor, e busca solucionar a tarefa de apresen-tar programas de interesse aos telespectadores utilizando um sistema de recomendação. Este sistema faz uso de um conjunto de critérios. Estes critérios para realizar as recomendações correspondem ao com-portamento do telespectadores ao assistir televisão, isso ocorre de forma implícita.

Mas ainda que a proposta do trabalho Krauss, George e Arba-nowski (2013) receba as informações de comportamento dos telespec-tadores, eles ainda podem avaliar a programação através do aplicativo interativo desenvolvido na plataforma smart. A figura 5 mostra a tela do sistema ao que o telespectador pressiona o botão de interatividade da televisão. Na tela do sistema são apresentados os programas recomen-dados ao telespectador. Estas recomendações são produzidas utilizando um sistema de recomendação híbrido formado por técnicas de filtragem baseada em conteúdo e colaborativa.

Os autores do trabalho Krauss, George e Arbanowski (2013) con-cluem que os usuários devem ser incentivados a utilizar o sistema de avaliação para receberem melhores recomendações, e uma forma de in-centivo é utilizar o modelo de gamification no processo de avaliação. Ainda, eles concluem que incluir a assistência humana no processo de recomendação no caso do trabalho, os administradores do sistema -pode ajudar a diversificar as recomendações, evitando a super especia-lização por parte das avaliações dos usuários.

A proposta do trabalho Lai et al. (2011) é a de ampliar a utilidade dos EPGs em televisores adicionando recomendações aos telespectado-res. De acordo com os autores, os televisores atuais não suportam o processamento necessário para realizar recomendações diretamente nos aparelhos, sendo necessário remover este gargalo movendo o sistema de recomendação para o modelo de cloud computing. O sistema recu-pera as informações dos telespectadores de forma implicita, utilizando o tempo total que o programa foi assistido como forma de avaliação.

Utilizando o modelo de cloud computing, o trabalho Lai et al. (2011) propõe a utilização de um sistema de recomendação colabora-tivo utilizando algoritmos de k-próximos vizinhos. Estes vizinhos são agrupados em clusters. Para definir os grupos, o tempo total que os

(48)

te-46

Figura 5 – Tela de apresentação das recomendações do TV Predic-tor (KRAUSS; GEORGE; ARBANOWSKI, 2013)

lespectadores assistiram cada um dos programas é utilizado como peso. Este peso define a qual grupo cada usúario pertence.

Com os usuários definidos em cada um dos grupos, a proposta de sistema do trabalho Lai et al. (2011) recomenda ao usuário outros programas populares assistidos por seus vizinhos de cluster. Os autores concluem que para haver recomendações de grande relevância, o sistema necessita de considerável quantidade de dados e tempo de computação. Com o aumento dos canais disponiveis ao telespectador e o ad-vento dos PDRs (Personal Digital Recorders - em português Grava-dores Pessoais Digitais) ampliando a capacidade de acompanhar mais canais, o trabalho Zhang e Zheng (2005) apresenta uma plataforma de recomendação baseada em conteúdos. Os dados dos conteúdos são ar-mazenados e adquiridos utilizando o padrão de metadado TV-Anytime. Para realizar as recomendações, o sistema combina um modelo de ló-gica nebulosa (lóló-gica fuzzy ) para modelar as preferências do usuário de forma implicita. O modelo nebuloso analisa as ações do telespectador e o tempo que expende assistindo cada programa.

(49)

47

3.1.2 Soluções em set-top boxes

O trabalho Ali e Stam (2004) propõem um sistema de recomen-dação em cima da plataforma TiVo. O TiVo é um PDR comercial onde o sistema modela as preferências do usuário, utilizando este modelo para recomendar e gravar programas que o telespectador pode gostar. O sistema captura as avaliações do usuário explicatamente e implicita-mente. A captura explicita acontece quando o telespectador utiliza os botões thumbs up e thumbs down situados no controle remoto do TiVo. A captura implicita da avaliação ocorre quando o usuário volun-tariamente decide gravar um programa, recebendo um thumbs up pelo sistema. Os autores discutem a necessidade de capturar o tempo de visualização do programa como uma forma mais concreta de avaliar a preferência pelo programa. Utilizando os dados de usuários e avalia-ções destes usuários armazenados nos servidores da TiVo, os autores implementaram um sistema de recomendação colaborativo utilizando o algoritmo k-próximos vizinhos e a equação de correlação de Pearson para recomendar programas para seu telespectador.

(50)

48

A proposta dos autores do trabalho Ávila e Zorzo (2011) é am-pliar as funcionalidades do EPG em auxiliar o telespectador em navegar no canais de televisão disponiveis. Utilizando a plataforma GINGA, desenvolvida no Brasil, um módulo de recomendação é implementado. Este módulo é dividido em cinco submódulos: local agent, scheduler agente, filter agent, mining agent e data agent. Cada um dos submódu-los realizam uma tarefa especifica. O local agent monitora as interações do telespectador e o controle remoto, armazenando estas interações em uma base de dados sendo tratados como dados implicitos.

O scheduler agent é responsável por periodicamente realizar os processos de mineração dos dados, já que este processo tem um alto custo de processamento. Este processo ocorre a cada 24 horas no pe-ríodo de standby, usualmente a noite. O mining agent é o responsável por realizar o processo de mineração dos dados quando requisitado pelo scheduler agent. Os dados utilizados são enviados ao filter agent e data agent que são os responsáveis por filtrar e desenvolver recomendações que são armazenadas na base de dados do usuário de forma que poderá ser acessado a qualquer hora.

Na proposta do trabalho Engelbert et al. (2011a) foi desenvol-vido um sistema de recomendação sobre um PVR. Este sistema utiliza um motor de recomendação alimentado pelos modelos dos telespecta-dores. Estes modelos são gerados alimentados por avaliações implicitas e explicitas. A figura 7 mostra o fluxo do sistema no PVR e a figura 8 apresenta a arquitetura do sistema.

O modelo adaptativo (adaptive profile) é executado continua-mente utilizando as avaliações implicitas do telespectador. Estas ava-liações são feitas sobre o comportamento do telespectador, como a du-ração que o telespectador assistiu um programa. A forma explicita de recuperar avaliações do usuário não foi mencionado no trabalho.

3.1.3 Soluções em IPTV

A proposta Kim et al. (2011) observa que os telespectadores es-tão atualmente submersos em uma quantidade enorme de conteúdo, e mesmo com funcionalidades como pesquisar por conteúdos de seu interesses, os telespectadores não sabem que palavras utilizar nestas pesquisas. A partir desta observação, os autores propõem a utilização de técnicas de filtragem colaborativa para realizar recomendações aos telespectadores. Este sistema, diferentemente do sistema colaborativo tradicional, não necessita de avaliações explicitas. O sistema proposto

(51)

49

Figura 7 – Overview do processo de recomendação do trabalho de En-gelbert et al. (2011a)

Figura 8 – Arquitetura do sistema proposto no trabalho Engelbert et al. (2011a)

utiliza de formas de obtenção implícitas da preferência dos telespec-tadores. Para realizar as recomendações, o sistema proposto por Kim et al. (2011), agrupa os usuários em vizinhanças. Estas vizinhanças

(52)

50

são formadas utilizando os gêneros dos conteúdos assistidos pelos usuá-rios. A partir destas vizinhanças, um sistema colaborativo é utilizado para realizar as recomendações utilizando um modelo de ranqueamento através da técnica de Best Model (BM).

3.1.4 Conclusões

A pesquisa por trabalhos relacionados resultou em estudos com foco em auxiliar o telespectador a encontrar os programas mais relevan-tes levando as suas preferências e de outros telespectadores como base. As técnicas mais utilizadas foi a de filtragem colaborativa. As formas de obtenção das preferências dos telespectadores foram implementadas de forma explicitas ou implícitas, em alguns casos das duas formas.

Todos os trabalhos citados neste capitulo focaram seus estudos em formas de auxiliar o telespectador navegar entre os diversos canais disponíveis a ele. Não foram encontrados trabalhos que tenha levantado a questão de utilizar sistemas de recomendação para auxiliar a emissora, e sua equipe de scheduling, em desenvolver a grade de programação. Ainda que este foco não tenha sido encontrado na pesquisa, os trabalhos mostraram a necessidade de organizar os conteúdos disponíveis para os telespectadores, visto que o aumento da oferta destes programas faz com que os telespectadores não encontrem possíveis programas que gostariam de assistir.

(53)

51

4 VISÃO GERAL DO SISTEMA

Figura 9 – Overview do sistema proposto e suas interações

Uma emissora possui uma única grade de programação transmi-tida via broadcasting, portanto sua grade deve conter a melhor pro-gramação de acordo com a preferência de seus telespectadores, com o intuito de ser a mais atrativa possível. É proposto neste trabalho uma abordagem para a escolha automática do conteúdo para a geração da grade de programação. Esta abordagem visa gerar a grade utilizando a melhor seleção de conteúdo do ponto de vista do telespectador e tam-bém da emissora, utilizando sistemas de recomendações. A abordagem visa também otimizar a reutilização de conteúdo, de modo a reprisá-los no melhor intervalo de tempo e no melhor horário, de acordo com os público-alvo daquele horário.

Para solucionar este problema, foi desenvolvido um sistema de recomendação colaborativo baseando em avaliações fornecidas pelos te-lespectadores. Diferente dos sistemas de recomendações tradicionais, este não recomenda itens para um único usuário, e sim, um conjunto de usuários que são agrupados em intervalos de tempo, explicado em

(54)

52

detalhes na seção seguinte.

Para fornecer uma solução completa para a emissora de televisão, além do algoritmo de recomendação foi desenvolvido uma ferramenta para gerenciar a grada de programação. Este módulo permite que o diretor de programação visualize um calendário semanal e preencha os horários da programação, selecionando conteúdos de uma biblioteca de vídeos ou utilizando o algoritmo de recomendação do conteúdo.

Para coletar o feedback dos telespectadores com relação à pro-gramação que está sendo transmitida, foi desenvolvido um aplicativo interativo que é enviado via broadcasting para o telespectador respon-der na sua própria televisão.

4.1 SISTEMA DE RECOMENDAÇÃO COLABORATIVO

O módulo de recomendação é a parte do sistema responsável por auxiliar o diretor de programação na seleção de conteúdos a se-rem transmitidos. Estes conteúdos são selecionados utilizando como base as avaliações dos telespectadores, recebidas através do módulo de avaliação de conteúdo.

O sistema de recomendação deve utilizar a preferência de todos os seus telespectadores, porém precisa fazer a recomendação como se fosse para um único usuário, pois somente existe uma única grade de programação, ou seja, um único conteúdo à ser recomendado, e este precisa agradar o maior número de telespectadores. De acordo com a literatura, entende-se que telespectadores de determinada hora do dia tem gostos similares. Por exemplo: telespectadores do período da manhã tem perfis diferentes de telespectadores do final da noite. Deste modo, o sistema agrupa os telespectadores de um mesmo horário como se fosse o mesmo usuário do sistema de recomendação.

O sistema abstrai as preferências dos telespectadores definindo Blocos de Tempo (BT) como usuários do sistema de recomendação. Um BT armazena somente uma avaliação para cada um dos conteúdos ao qual ele possui relação. Esta avaliação é o resultado da média de todas as avaliações dos telespectadores para um conteúdo x no BT em questão.

O sistema de recomendação prioriza a escolha de conteúdos nunca transmitidos. Quando não estiverem disponíveis mais conteúdos iné-ditos, o sistema passa a priorizar os conteúdos com melhor avaliação no BT. Para que isto aconteça, o sistema é dividido em duas etapas, sendo que a segunda etapa somente é executada se não houver sucesso

(55)

53

na primeira etapa. A primeira etapa utiliza técnica de filtragem cola-borativa (FC) para prever avaliações de conteúdos nunca transmitidos no horário pertencente ao BT. A segunda etapa utiliza um método de seleção ponderada para selecionar conteúdos já transmitidos neste BT. Ainda, quando o usuário requisitar recomendações para os espa-ços em branco deixados por ele, o sistema realiza a recomendação nor-malmente mas ao invés de retornar uma recomendação, retorna uma lista. Esta lista é composta por conteúdos que possam ser encaixados no espaço em branco.

4.1.1 Recomendação de novos conteúdos

Uma particularidade deste sistema de recomendação é que os horários e os conteúdos televisivos possuem censura. Logo, não é possí-vel recomendar um conteúdo para um horário se o conteúdo tiver uma censura maior que a permitida.

Para realizar a recomendação de novos conteúdos, o sistema re-cupera todos os conteúdos que se encaixam nos requisitos do BT ativo (uα), ou seja, o BT que deseja receber a recomendação. Estes

requi-sitos são: a censura para o BT e se não houve transmissão/avaliação ao conteúdo. Para realizar estas novas avaliações, o conjunto Kuα

con-tendo os k-top vizinhos do conjunto Nuα é utilizado sobre o conjunto

Iuα contendo todos os conteúdos válidos aos requisitos.

Iuα= {i ⊆ I, ruα,i∈ R/ uα∧ ageuα ≥ agei}. (4.1)

Nuα= {uj ⊆ U, i ⊆ Iuα|sim(uα, uj) > 0}. (4.2)

O sistema percorre cada um de seus vizinhos, contidos no con-junto Kuα, e utiliza o valor sim(uα, u) como peso na equação 4.3. A

equação 4.3 retorna as possíveis avaliações do BT uα sobre os itens.

O sistema então recomenda um dos itens do conjunto Iuα de forma

aleatória utilizando a avaliação prevista como peso.

Pa,i= ¯ra+ P u∈U (ru,i− ¯ru) ∗ sim(a, u) P u∈U |sim(a, u)| . (4.3)

(56)

54

4.1.2 Recomendação de conteúdo avaliado

Como pequenas emissoras de televisão podem não conter uma biblioteca de conteúdos extensa, a segunda parte do sistema de reco-mendação é utilizada quando novos conteúdos não existem, isto é, todos os conteúdos possíveis ao BT atual já foram transmitidos pelo menos uma vez. O método utiliza pesos para selecionar aleatoriamente con-teúdos transmitidos previamente. Essa seleção mantém as chances de conteúdos melhor avaliados serem selecionados, mas também trabalha com as chances de conteúdos transmitidos a muito tempo.

O peso de cada um dos conteúdos contidos no conjunto é definido utilizando a equação 4.4, onde a variavel uαé o BT ativo e i o conteúdo

ao qual o peso será atribuido. wuα,j é o peso resultante, onde ruα,ié o

valor da avaliação dada por uαpara o conteúdo i. tié o número de dias

desde a última vez que o conteúdo foi transmitido e T é a soma total do tempo de todos os conteúdos disponíveis no sistema. T é atualizado toda vez que um novo conteúdo é adicionado ao sistema.

wuα,i= ruα,i∗

ti

T (4.4)

O peso resultante da equação 4.4 é utilizado como a probabili-dade que um conteúdo tem de ser selecionado. Neste caso, os conteúdos com maiores chances serão aqueles que possuírem uma avaliação alta (ruα,i) e com sua última transmissão ocorrida em um tempo mais

dis-tante (ti). Para realizar a seleção é utilizado uma seleção ponderada

sobre os pesos. O algoritmo 1 apresenta a forma de seleção aleatória do conteúdo utilizando seu peso como probabilidade.

Algorithm 1 Algoritmo de seleção aleatória de conteúdo

1: procedure Selecionar conteúdo aleatóriamente(int[] array de pesos, int soma total dos pesos)

2: randNumber ← random(1, somatotaldospesos) 3: auxSum ← 0

4: i ← 0

5: while auxSum < randNumber do 6: auxSum ← auxSum + array[i + +]

(57)

55

4.1.3 Recomendação de conteúdo com restrição de tempo

Como um passo anterior aos dois passos definidos anteriormente, o sistema pode restringir a pesquisa por conteúdo pelo seu tempo de duração quando o processo de recomendação tiver como objetivo pre-encher lacunas deixadas propositalmente pelo usuário. Isto pode vir acontecer quando o usuário completa manualmente horários com con-teúdos definidos pela equipe de scheduling.

Quando este passo é executado, o sistema utiliza a duração da lacuna como forma de restrição na seleção dos conteúdos disponivéis para recomendação. Se não houver conteúdo que se encaixe nesta res-trição, o usuário é avisado e a seleção deve ser feita de forma manual ou suas seleções devem ser revistas.

4.2 MÓDULO DE GERÊNCIA DE GRADE DE PROGRAMAÇÃO

Este módulo é utilizado pelo diretor de programação e sua equipe. Através do módulo de gerência da grade de programação, o usuário pode visualizar e editar a grade de programação, além de receber as re-comendações. A visualização se dá por meio de uma grade em formato semanal, mostrando os sete dias da semana como colunas e os horários de todos os dias em linhas. O diretor de programação seleciona um intervalo de tempo do dia e então seleciona um vídeo na biblioteca de vídeos, mostrando em destaque os conteúdos novos, nunca exibidos.

O sistema de recomendação irá funcionar após o diretor de pro-gramação selecionar os seus vídeos para determinados períodos, e deixar lacunas na programação. Nestas lacunas irão aparecer as recomenda-ções. Por exemplo, o diretor preencheu os horários com os programas que vão ao ar semanalmente, por exemplo um programa matinal, os jornais do meio-dia e da noite e mais uma série que vai ao ar a terça à noite. Todos os outros horários, deixados em branco por ele, vão ser preenchidos com as recomendações, com base nas avaliações dos usuários.

4.3 MÓDULO DE AVALIAÇÃO DE CONTEÚDO

O sistema utiliza este módulo para coletar de forma explícita as avaliações de seus telespectadores. Este módulo é responsável por receber e processar as avaliações dadas pelos usuários ao conteúdo sendo

(58)

56

transmitido no momento da avaliação. Este módulo é composto de duas partes: uma aplicação de televisão interativa e um serviço responsável por processar e disponibilizar a avaliação para utilização do módulo de recomendação.

Como a proposta do trabalho foi realizada no Brasil, presume-se que a aplicação presume-será depresume-senvolvida utilizando a plataforma GINGA1.

Esta aplicação permite aos telespectadores avaliem o conteúdo trans-mitido a qualquer instante através de seu televisor (com suporte ao GINGA) utilizando o botão interativo de seu controle remoto.

Para que seja simples para os telespectadores utilizarem a apli-cação interativa, definiu-se que as avaliações da programação são base-adas em 5 estrelas selecionáveis através das setas do controle remoto. O usuário não precisa se identificar, pois o sistema cadastra a sua ava-liação de acordo com a hora em que foi feito esta avaava-liação.

1GINGA é o middleware usada pelas aplicações interativas no padrão SBTVD (Sistema Brasileiro de Televisão Digital).

(59)

57

5 DESENVOLVIMENTO DO PROTÓTIPO

Neste capitulo serão apresentados os passos realizados para o desenvolvimento do protótipo do sistema de scheduling automatizado. Para a implementação, foram utilizadas as seguintes ferramentas: Neo4J, Neo4JPHP, dhtmlx e MySQL.

Neo4J é um banco de dados baseado em grafos. Nele são ar-mazenados todos os Blocos de Tempo (BT), uma cópia dos conteúdos (programas) contidos na biblioteca e as relações entre estes conteúdos e os BTs - no caso as avaliações. É através deste banco de dados que o sistema de recomendação realiza o processo de retornar listas de re-comendação. O Neo4J utiliza a linguagem de Cypher para realizar consultas.

O Neo4JPHP é um adaptador desenvolvido na linguagem PHP capaz de realizar chamadas (requisições/consultas) ao Neo4J. No pro-cesso de desenvolvimento do protótipo, este adaptador foi utilizado para criar um webservice com o objetivo de fazer a ligação entra os módulos de recomendação e o módulo de gerência de programação.

A biblioteca javascript dhtmlx possibilita de forma simples criar uma aplicação de calendário. Com diversas formas de customização e fácil conexão com banco de dados MySQL e SQLite. Possibilita apre-sentar o calendário de forma diária, semanal, mensal e anual. Fácil de instalar na aplicação web, esta biblioteca foi utilizada para apresentar a grade de programação de forma semanal.

O banco de dados MySQL é um dos bancos relacionais mais utilizados no mundo. No protótipo ele é utilizado para armazenar as grades de programação e a biblioteca de conteúdos. É na instância do banco de dados MySQL ao qual o dhtmlx se conecta para recuperar as grades de programação a serem apresentadas ao usuário - no caso o diretor de programação.

5.1 DESENVOLVIMENTO DO MÓDULO DE RECOMENDAÇÃO

Para o desenvolvimento do módulo de recomendação do protó-tipo foi utilizado o NEO4J como base de dados. O NEO4J é um banco de dados baseado em grafos. A utilização de um banco de dados base-ado em grafos para a implementação do sistema de recomendação foi tomada por entender que um sistema de recomendação é feito de re-lações entre usuários-usuários, conteúdo-conteúdo e usuários-conteúdo.

(60)

58

Sendo um banco de dados baseado em grafos melhor preparado a lidar com estes tipos de dados.

O módulo é composto de três tipos de dados: horário, filme, gênero e dayparting. O tipo horário é composto dos atributos hora e censura, onde o atributo hora define o inicio do intervalo (o fim do in-tervalo não é necessário, pois todos os inin-tervalos possuem uma duração fixa) e o atributo censura define a censura máxima do conteúdo que pode ser transmitido durante este horário.

O tipo filme é composto pelos atributos censura, gênero, tags, última.transmissão, duração e título. O atributo censura contém a cen-sura do conteúdo. O atributo tags contém uma lista de identificadores do conteúdo. A última.transmissao é um atributo do tipo long con-tendo a data da última transmissão do conteúdo. Os atributos duração e título contém a duração do conteúdo e o nome do conteúdo, respec-tivamente.

Os tipos gênero e censura contém os atributos tipo.gênero e tipo.censura, respectivamente. Estes dois tipos servem como elo de ligação entre os tipos horário e filme.

Dentro do sistema de recomendação existem as seguintes rela-ções: a) horário −−−−−→ censura; b) horáriopermite −−−−−→ filme; c) filmeavaliou ↔ gênero. Através destas relações é possível recuperar os vizinhos de qualquer um dos BTs, descobrir os conteúdos que nunca foram avalia-dos, recuperar a lista de conteúdos avaliados por seus vizinhos e buscar conteúdos semelhantes aos já avaliados.

A figura 10 mostra uma visualização da relação entre horários, filmes e seus gêneros através do sistema de administração do banco de dados Neo4J. Na parte superior pode-se ver um exemplo da consulta realizada para buscar estas relações.

Figura 10 – Visualização de resultado da consulta cypher no sistema de administração do Neo4J.

(61)

59

(a) que tenha uma relação com um nodo (b), e que este tenha uma relação com outro nodo (c). Ao final deste comando é requisitado que seja feito o retorno dos nodos a, b e c, limitando este retorno em até 25 nodos.

5.1.1 Webservice de recomendação

A conexão entre o módulo de recomendação e o módulo de ge-rência de grade de programação foi desenvolvido como um webservice. Este webservice é implementado utilizado a linguagem PHP. Através do Neo4JPHP, biblioteca de conexão PHP com o banco de dados Neo4J, foram criadas chamadas pelas quais o módulo de gerência da grade pode requisitar recomendações.

Foram desenvolvidas duas chamadas: a primeira sendo a gera-ção da grade completa; e, a segunda a requisigera-ção de uma recomendagera-ção. Esta segunda requisição recebe como parâmetro o horário de inicio do bloco requisitado. Através do horário enviado como paramêtro, o ser-viço define a qual BT este paramêtro pertence. Com o BT definido, o sistema faz a recomendação, priorizando a recomendação de conteúdo novo e se necessário executando a recomendação de conteúdo já utili-zado.

No caso deste protótipo, o serviço esta localizado na mesma má-quina que o módulo de gerencia da grade. A implementação deste modelo como serviço possibilita que o módulo de gerencia da grade e o serviço estejam em máquinas diferentes, abrindo a possibilidade de compartilhar o sistema de recomendação entre diversas emissoras ou instâncias da geração de grade.

5.2 DESENVOLVIMENTO DO MÓDULO DE GERENCIA DE GRADE DE PROGRAMAÇÃO

Visto que o foco do trabalho se deu na proposta do sistema de recomendação, a interface de usuário foi desenvolvida de forma simples. Foram utilizadas as seguintes ferramentas: o banco de dados MySQL para a persistência da grade de programação desenvolvida; a biblio-teca javascript dhtmlx, esta realiza o desenvolvimento de um modelo de calendário em formato anual, mensal, semanal e diário.

Este módulo foi configurado para apresentar a grade de progra-mação gerada em formato semanal, com o ínicio da semana definido

(62)

60

na Segunda. Através do módulo o usuário pode realizar 3 ações: re-quisitar o desenvolvimento completo da grade da semana em foco; adi-cionar conteúdo a biblioteca de conteúdos; e, adiadi-cionar manualmente conteúdos na grade de programação. A figura 11 mostra uma grade de programação formada automaticamente pelo sistema de recomendação. Ao adicionar manualmente o conteúdo a ser adicionado a grade de programação, o usuário clica no horário inicial em que deverá iniciar a transmissão do conteúdo a ser selecionado. Após esta seleção, é apre-sentado uma janela com o formulário de inserção de conteúdo no qual é feita a seleção de um conteúdo disponível na biblioteca de conteúdos.

Figura 11 – Captura de tela do módulo de gerência mostrando uma grade de programação desenvolvida pelo sistema de recomendação.

5.3 TESTES

Para a realização dos testes o sistema de recomendação foi ali-mentado com um total de 90 filmes. Estes 90 filmes foram retirados da lista de TOP 250 filmes do IMDB1. Os metadados já contidos em cada

um dos filmes foi utilizado como metadado do conteúdo no sistema. Ao ser inserido no sistema cada um dos filmes recebeu uma ava-liação aleatória, isto foi decidido como forma a simular usos passados do sistema. O tempo total de duração da biblioteca ficou em 12030 minutos, resultando em 200.5 horas ou ainda 8.35 dias.

Utilizando esta biblioteca, o processo de gerar uma nova grade de programação foi realizado 8 vezes. Este processo foi realizado de

(63)

61

forma automática e consistiu em executar o módulo de recomendação requisitando conteúdo e inserindo-os na grade de programação. Ao final de uma grade de programação semanal, todos os conteúdos adiciona-dos foram avaliaadiciona-dos, suas datas de última transmissão alterada e após atualizar estes dados o processo foi reiniciado. Esta simulação resultou em grades de programação equivalentes a 2 meses.

Ao final da simulação um total de 569 filmes foram "transmiti-dos", sendo 479 destes filmes reprises. Do conjunto de filmes reprisados, 80% destes filmes possuíam avaliações de 4+ estrelas. O filme mais re-prisado foi o feito 41 vezes e teve sua avaliação definida em 5 estrelas. As estrelas foram obtidas realizando a média entre todas as avaliações realizadas entre os BTs e estes filmes.

(64)
(65)

63

6 CONCLUSÕES

Ao afirmarmos que o objetivo de uma emissora de televisão é a de entreter e informar seus telespectadores, e que a quantidade de telespectadores é um número importante para estas emissoras, a neces-sidade de implementar formas de auxiliar o diretor de programação e sua equipe no desenvolvimento da grade de programação é de extrema importância.

Emissoras de televisão transmitem somente uma grade de pro-gramação por vez, visto que possuem somente um canal. Esta limitação impede que a emissora forneça conteúdo que possa agradar cada um de seus telespectadores, por isso, o motor de recomendação funciona de forma diferente da aplicação tradicional dos sistemas de recomendação, visando agradar não somente um telespectador, mas sim, a maioria dos seus telespectadores. Este trabalho propôs um sistema para auxiliar as emissoras a desenvolverem grades de programação com conteúdos baseadas nas preferências de seus telespectadores.

Esta diferença ocorre na abstração das avaliações dadas pelos telespectadores aos conteúdos transmitidos. As avaliações dos teles-pectadores é adicionada a um bloco de horário definido de acordo com o momento da avaliação. Desta forma, toda avaliação dada por um bloco de horário a um conteúdo, é na realidade a média de todas as avaliações feitas pelos telespectadores a um mesmo conteúdo.

O protótipo mostrou que é possível automatizar o processo de escolha de conteúdo para a programação, fazendo com que slots pré-definidos de horários sejam preenchidos com conteúdo que melhor se adeque a preferência do usuário. A ferramenta também faz entender se os programas que são reprisados, sejam documentários, filmes ou desenhos estão de acordo com o gosto dos usuários, e que talvez um filme que agrade muito os telespectadores, possa ser reprisado mais vezes, do que um outro conteúdo.

6.1 TRABALHOS FUTUROS

Como trabalhos futuros, sugere-se implementar um processo de exportação da grade de programação para formatos suportados pelos diversos aparelhos utilizados em uma emissora de televisão, tais como, o EPG, o Master (gerenciador de transmissão) e tabelas web para in-serção no site da emissora de televisão. Também ampliar o modelo de

Referências

Documentos relacionados

Promovido pelo Sindifisco Nacio- nal em parceria com o Mosap (Mo- vimento Nacional de Aposentados e Pensionistas), o Encontro ocorreu no dia 20 de março, data em que também

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Se você vai para o mundo da fantasia e não está consciente de que está lá, você está se alienando da realidade (fugindo da realidade), você não está no aqui e

8- Bruno não percebeu (verbo perceber, no Pretérito Perfeito do Indicativo) o que ela queria (verbo querer, no Pretérito Imperfeito do Indicativo) dizer e, por isso, fez

A Sementinha dormia muito descansada com as suas filhas. Ela aguardava a sua longa viagem pelo mundo. Sempre quisera viajar como um bando de andorinhas. No

2. Identifica as personagens do texto.. Indica o tempo da história. Indica o espaço da história. Classifica as palavras quanto ao número de sílabas. Copia do texto três

Em janeiro, o hemisfério sul recebe a radiação solar com menor inclinação e tem dias maiores que as noites, encontrando-se, assim, mais aquecido do que o hemisfério norte.. Em julho,

5- Bruno não percebeu (verbo perceber, no Pretérito Perfeito do Indicativo) o que ela queria (verbo querer, no Pretérito Imperfeito do Indicativo) dizer e, por isso, fez