Relatório técnico ii fbc 29-07-10

58
UNIVERSIDADE FEDERAL DE SÃO CARLOS CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Relatório Técnico Aplicando Filtragem Baseada em Conteúdo aos dados de TV fornecidos pelo IBOPE ALUNA: Elaine Cecília Gatto ORIENTADOR: Prof. Dr. Sergio Donizetti Zorzo São Carlos-SP Julho/2010

description

Este relatório técnico apresenta o resultado dos estudos realizados com os dados de visualização de TV fornecidos pelo Ibope em um cenário específico. Simulou-se e avaliou-se o comportamento de alguns domicílios que interagem em um sistema de recomendação que utiliza Filtragem Baseada em Conteúdo para TV Digital Portátil Interativa. Os detalhes da simulação, desde a preparação e a organização dos dados, a geração dos perfis e das recomendações, o cálculo da porcentagem de acerto, além dos gráficos, análises e conclusões, são apresentados neste documento.

Transcript of Relatório técnico ii fbc 29-07-10

Page 1: Relatório técnico ii fbc   29-07-10

UNIVERSIDADE FEDERAL DE SÃO CARLOS

CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA

PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

Relatório Técnico

Aplicando Filtragem Baseada em Conteúdo aos dados de TV

fornecidos pelo IBOPE

ALUNA: Elaine Cecília Gatto

ORIENTADOR: Prof. Dr. Sergio Donizetti Zorzo

São Carlos-SP

Julho/2010

Page 2: Relatório técnico ii fbc   29-07-10

i

AGRADECIMENTOS

Agradeço a Paulo Muniz Ávila e a Adriano Lucas pelo auxílio prestado durante a

realização deste trabalho, especificamente na parte de organização dos dados. Agradeço

também ao IBOPE por ter fornecido os dados de visualização necessários para os testes.

Page 3: Relatório técnico ii fbc   29-07-10

ii

RESUMO

Este relatório técnico apresenta o resultado dos estudos realizados com os dados de

visualização de TV fornecidos pelo Ibope em um cenário específico. Simulou-se e avaliou-se

o comportamento de alguns domicílios que interagem em um sistema de recomendação que

utiliza Filtragem Baseada em Conteúdo para TV Digital Portátil Interativa. Os detalhes da

simulação, desde a preparação e a organização dos dados, a geração dos perfis e das

recomendações, o cálculo da porcentagem de acerto, além dos gráficos, análises e conclusões,

são apresentados neste documento.

Palavras-Chave: Sistemas de Recomendação, Filtragem de Informação, Filtragem

Baseada em Conteúdo, Televisão Digital, Cosseno, Apriori.

Page 4: Relatório técnico ii fbc   29-07-10

iii

LISTA DE FIGURAS

Figura 1 – Contexto do estudo de caso ....................................................................................... 7

Figura 2 – Amostra dos arquivos TXT ..................................................................................... 10

Figura 3 – Tabela com os descritores de gêneros ..................................................................... 12

Figura 4 – Tabela com os descritores de subgênero ................................................................. 12

Figura 5 – Tabela com os descritores de gênero/subgênero ..................................................... 12

Figura 6 – Tabela com os códigos originais das emissoras ...................................................... 13

Figura 7 – Tabela com os códigos das emissoras ..................................................................... 13

Figura 8 – Tabela com os programas........................................................................................ 13

Figura 9 – Tabela com as informações da programação de TV ............................................... 13

Figura 10 – Tabela matrixepg no MySQL................................................................................ 15

Figura 11 – Amostra das planilhas de sintonia ......................................................................... 16

Figura 12 – Planilhas após organização ................................................................................... 17

Figura 13 – Tabela para armazenamento .................................................................................. 17

Figura 14 – Tabela que resulta da listagem 1 ........................................................................... 17

Figura 15 – Tabela que contém a mescla do EPG com o histórico do usuário ........................ 20

Figura 16 – Tabela com os novos campos início e fim da sintonia .......................................... 20

Figura 17 – Tabela com o resultado de Subtime().................................................................... 20

Figura 18 – Tabela com o campo duração ................................................................................ 22

Figura 19 – Tabela com o campo dia da semana. ..................................................................... 22

Figura 20 – Tabela com o campo ............................................................................................. 22

Figura 21 – Tabela com a versão final dos dados..................................................................... 22

Figura 22 – Configurações Apriori. .......................................................................................... 23

Figura 23 – Tabela profile ........................................................................................................ 25

Figura 24 – Tabela recomenda ................................................................................................. 25

Figura 25 – % de acerto Apriori Domicílio 1 ........................................................................... 31

Figura 26 – % de acerto Apriori Domicílio 2 ........................................................................... 32

Figura 27 – % de acerto Apriori Domicílio 3 ........................................................................... 32

Figura 28 – % de acerto Apriori Domicílio 4 ........................................................................... 33

Figura 29 – % de acertoApriori Domicílio 5 ............................................................................ 33

Page 5: Relatório técnico ii fbc   29-07-10

iv

Figura 30 – % de acertoApriori Domicílio 6 ............................................................................ 34

Figura 31 - % de acerto Apriori todos os domicílios ................................................................ 34

Figura 32 – % de acerto Cosseno domicílio 1 .......................................................................... 35

Figura 33 – % de acerto Cosseno domicílio 2 .......................................................................... 36

Figura 34 – % de acerto Cosseno domicílio 3 .......................................................................... 36

Figura 35 – % de acerto Cosseno domicílio 4 .......................................................................... 37

Figura 36 – % de acerto Cosseno domicílio 5 .......................................................................... 37

Figura 37 – % de acerto Cosseno domicílio 6 .......................................................................... 38

Figura 38 – % de acerto Cosseno todos os domicílios ............................................................. 38

Figura 39 – Comparação entre Apriori e Cosseno domicílio 1 ................................................ 40

Figura 40 – Comparação entre Apriori e Cosseno domicílio 2 ................................................ 40

Figura 41 – Comparação entre Apriori e Cosseno domicílio 3 ................................................ 41

Figura 42 – Comparação entre Apriori e Cosseno domicílio 4 ................................................ 41

Figura 43 – Comparação entre Apriori e Cosseno domicílio 5 ................................................ 42

Figura 44 – Comparação entre Apriori e Cosseno domicílio 6 ................................................ 42

Figura 45 – Comparação entre Apriori e Cosseno todos os domicílios ................................... 43

Page 6: Relatório técnico ii fbc   29-07-10

v

LISTA DE TABELAS

Tabela 1 – Características dos domicílios .................................................................................. 8

Tabela 2 – Características socioeconômicas dos domicílios ...................................................... 9

Tabela 3 – Identificação dos campos nos arquivos TXT.......................................................... 11

Tabela 4 – Layout dos arquivos TXT ....................................................................................... 11

Tabela 5 – Relação quantidade de programas/gênero .............................................................. 12

Tabela 6 – Resultados do Apriori ............................................................................................. 31

Tabela 7 – Resultados do Cosseno ........................................................................................... 35

Tabela 8 - Comparação entre Apriori e Cosseno domicílios 1-3. ............................................ 39

Tabela 9 – Comparação entre Apriori e Cosseno domicílios 4-6. ............................................ 39

Page 7: Relatório técnico ii fbc   29-07-10

vi

LISTA DE EQUAÇÕES

Equação 1 – Cálculo do perfil .................................................................................................. 25

Equação 2 – Cálculo da norma do perfil .................................................................................. 26

Equação 3 – Cálculo da norma da tabela matrizepg ................................................................. 27

Equação 4 – Cálculo de dot ...................................................................................................... 27

Equação 5 – Cálculo do Cosseno ............................................................................................. 28

Equação 6 – Fórmula que calcula a porcentagem de acerto de acordo com o número de

recomendações geradas ............................................................................................................ 30

Equação 7 – Fórmula que calcula a média da porcentagem de acerto de acordo com o número

de dias monitorados .................................................................................................................. 30

Page 8: Relatório técnico ii fbc   29-07-10

vii

LISTAGENS

Listagem 1 – Consulta SQL para descobrir qual emissora o usuário está assistindo. ............. 17

Listagem 2 – Consulta SQL para mesclar as informações do EPG com as do usuário. .......... 18

Listagem 3 – Cálculo do horário de início e de fim da sintonia. ............................................. 18

Listagem 4 – Cálculo do tempo de visualização. .................................................................... 19

Listagem 5 – Cálculo da conversão do tempo do formato hora para inteiro. .......................... 19

Listagem 6 – Cálculo do dia da semana. ................................................................................. 20

Listagem 7 – Cálculo do período do dia. ................................................................................. 21

Listagem 8 – Inserindo e apagando os dados para a correta avaliação ................................... 25

Listagem 9 – Cálculo do perfil ................................................................................................ 26

Listagem 10 – Configuração da variável mycprofilenorm ...................................................... 26

Listagem 11 – Cálculo da norma da matrizepg ....................................................................... 27

Listagem 12 – Cálculo da norma e dot ................................................................................... 27

Listagem 13 – Cálculo do Cosseno ......................................................................................... 28

Listagem 14 – Inserção do resultado na tabela recomenda ..................................................... 29

Listagem 15 – Comparação entre as tabelas recomenda e d1_vf ............................................ 29

Page 9: Relatório técnico ii fbc   29-07-10

viii

SUMÁRIO

1. INTRODUÇÃO ............................................................................................................... 1

2. SISTEMAS DE RECOMENDAÇÃO ............................................................................. 3

2.1. Filtragem e Informação ............................................................................................ 3

2.1.1. Filtragem Baseada em Conteúdo ...................................................................4

2.1.2. Filtragem Colaborativa....................................................................................5

2.1.3. Filtragem Híbrida............................................................................................5

3. ESTUDO DE CASO ...................................................................................................... 7

3.1. Conhecendo e Preparando os Dados ....................................................................... 8

3.1.1. EPG ................................................................................................................9

3.1.2. Histórico dos Usuários .................................................................................15

3.2. Metodologia e Simulação ....................................................................................... 23

4. RESULTADOS ............................................................................................................ 30

5. CONCLUSÃO .............................................................................................................. 44

6. REFERÊNCIAS ........................................................................................................... 46

Page 10: Relatório técnico ii fbc   29-07-10

1

INTRODUÇÃO

Sistemas de recomendação fornecem recomendações com base em informações sobre

as preferências dos usuários. A Filtragem de Informação é utilizada pelos sistemas de

recomendação para o processamento e sugestão das informações aos usuários.

A Filtragem Colaborativa é uma abordagem de Filtragem de Informação muito

utilizada em sistemas de recomendação, que tenta prever a utilidade de itens para um

determinado usuário com base nos itens previamente avaliados por outros usuários, sugerindo

itens relevantes e descartando os irrelevantes. Muito utilizados na Internet, os sistemas de

recomendação têm sido empregados no contexto de TVD (TV Digital), como por exemplo,

(Ávila, 2010), (Lucas, 2009), (Uribe, 2009), (Solla et al, 2008), (Bar et al, 2008), (Einarsson,

2007), (Chorianopoulus, 2007), (Choi, Koh and Lee, 2007), (Yu et al, 2006), (Silva, 2005),

(Bozios et al, 2001), (Gutta et al, 2000), (Das and Horst, 1998), entre outros.

Da mesma forma que ocorre na Internet, os sistemas de recomendação poderão ser

utilizados na TVD para a recomendação de programas de TV, publicidade e propaganda e

também para comércio eletrônico. Em sistemas de recomendação item é tudo aquilo que pode

ser visualizado ou avaliado pelo usuário. Em uma loja virtual, por exemplo, os itens são os

produtos que são vendidos, em uma biblioteca, livros, em uma locadora de DVDs, os filmes, e

assim por diante. Assim, os itens no contexto de TVD podem ser os programas, a propaganda

e os produtos a serem vendidos.

Este relatório técnico apresenta os estudos realizados com a Filtragem Baseada em

Conteúdo (FBC) aplicada aos dados de TVD fornecidos pelo IBOPE1 e está estruturado da

seguinte forma: o Capítulo 1 introduz o trabalho, o Capítulo 2 contém uma breve revisão

bibliográfica sobre sistemas de recomendação, o Capítulo 3 apresenta o estudo de caso, o

Capítulo 4, os resultados obtidos e o Capítulo 5, as conclusões. Os estudos visaram observar e

1 Multinacional brasileira de capital privado, o IBOPE é uma das maiores empresas de pesquisa de mercado da

América Latina. Há 67 anos fornece um amplo conjunto de informações e estudos sobre mídia, opinião pública,

intenção de voto, consumo, marca comportamento e mercado. (www.ibope.com.br)

1

Page 11: Relatório técnico ii fbc   29-07-10

2

avaliar como a Filtragem Colaborativa pode ser utilizada em sistemas de recomendação no

contexto da TVD.

Em um sistema de recomendação típico, os usuários fornecem as recomendações como

entradas e essas são, então, agregadas e dirigidas aos destinatários adequados (RESNICK,

1997).

Page 12: Relatório técnico ii fbc   29-07-10

3

SISTEMAS DE RECOMENDAÇÃO

Os sistemas de recomendação envolvem várias tecnologias como: a ciência cognitiva, a

teoria da aproximação, a recuperação de informação, a filtragem de informação, teorias de

previsão, entre outras, e podem ser aplicados a diversos domínios.

Essas técnicas fundamentam o funcionamento dos sistemas de recomendação e as mais

aplicadas são as de Filtragem de Informação, as quais são basicamente divididas em Filtragem

Colaborativa e Filtragem Baseada em Conteúdo.

Um sistema de recomendação pode utilizar uma única técnica de Filtragem de

Informação ou as duas em conjunto, tornando-se, assim, um sistema híbrido. Essas técnicas

também possuem algoritmos desenvolvidos particularmente para o seu tipo (TORRES, 2004;

REATEGUI, 2005).

As subseções a seguir contêm mais detalhes sobre os dois principais tipos de Filtragem

de Informação.

2.1 Filtragem de Informação

Uma das primeiras formas de Filtragem de Informação é proveniente do trabalho

Disseminação Seletiva da Informação (SDI), concebido como uma forma automática para que

cientistas se mantivessem informados sobre novos documentos publicados em suas áreas de

especialização. O cientista podia criar e modificar um perfil de usuário de palavras-chave que

descrevessem os seus interesses. A SDI foi implementado em larga escala, entretanto,

utilizou-se muito menos que o previsto. (FOLTZ, 1992)

Filtragem da Informação é o nome usado para descrever uma variedade de processos

que envolvem a prestação de informações a pessoas que delas necessitam. Sistemas de

Filtragem de Informação são projetados para a filtragem de dados não estruturados ou semi-

2

Page 13: Relatório técnico ii fbc   29-07-10

4

estruturados, em oposição às aplicações de banco de dados, que utilizam dados bem

estruturados. Os sistemas tratam, principalmente, informações textuais, mas também podem

tratar imagens, voz, vídeo ou outros tipos de dados que fazem parte dos sistemas de

informação multimídia.

A Filtragem também pode ser baseada em descrições de preferências individuais ou de

grupo, chamadas de perfis, os quais geralmente representam interesses de longo prazo. Além

disso, também tem sido usada para descrever o processo de acesso e recuperação de

informações de bancos de dados remotos, caso em que os dados de entrada são os resultado

das pesquisas nos bancos de dados (BELKIN, 1992).

2.1.1 Filtragem Baseada em Conteúdo

O objetivo da Filtragem Baseada em Conteúdo é gerar descrições dos conteúdos dos

itens automaticamente e compará-las com a descrição do interesse do usuário, verificando,

dessa forma, se o item é ou não relevante para o mesmo baseando-se na análise do conteúdo

do item e no perfil do usuário (MARCHI, 2008; TORRES, 2004).

Podem ser aplicadas técnicas, entre elas, índices de busca booleana, filtragem

probabilística e modelos vetoriais. Nos índices de busca booleana, a consulta é formada por

um conjunto de palavras-chave unidas por operadores booleanos, ao passo que, na filtragem

probabilística, aplica-se o raciocínio probabilístico para determinar a probabilidade que um

documento apresenta para atender as necessidades de informações de um usuário. (FOLTZ,

1992; MARCHI, 2008; REATEGUI, 2005; TORRES, 2004)

O modelo vetorial é o mais aplicado e a técnica TF-IDF (Term Frequency - Inverse-

Document Frequency) é baseada nesse modelo. Essa técnica considera o peso que uma

palavra possui dentro da coleção de documentos e indica que a frequência das palavras

comuns em dois textos evidencia a semelhança entre eles. Por último, o tamanho de um

documento também é analisado, pois um texto longo tem maior possibilidade de semelhança

que um texto curto, visto que esse possui menos palavras que o outro (MARCHI, 2008;

TORRES, 2004).

Page 14: Relatório técnico ii fbc   29-07-10

5

2.1.2 Filtragem Colaborativa

A Filtragem Colaborativa remete a situações em que certas pessoas pedem a outras

opiniões ou recomendações sobre determinado assunto, como por exemplo, que filme assistir,

que livro ler, etc. Essa técnica é assim chamada, pois existe um processo de seleção no

momento de geração das recomendações e, para isso, as pessoas colaboram entre si,

utilizando algumas estratégias de recomendação como, por exemplo, a avaliação de um

produto.

Tecnicamente, a Filtragem Colaborativa ocorre em três passos: no armazenamento das

opiniões das pessoas, no agrupamento de pessoas com perfis semelhantes (vizinhos) e, por

fim, na recomendação propriamente dita de algo que foi altamente avaliado pelos vizinhos.

Essa técnica é muito utilizada em lojas virtuais como Submarino, Americanas, Amazon, entre

outras. (TORRES, 2004)

O Coeficiente de Pearson e o Cosseno são duas formas matemáticas muito utilizadas

para medir a similaridade em Filtragem Colaborativa. O Coeficiente de Correlação de Pearson

mede a força da relação entre duas variáveis e o valor zero indica que não existe nenhuma

relação entre as mesmas. Isso ocorre quando duas variáveis são absolutamente independentes

entre si. O valor máximo de + 1,00 ocorre quando a associação for positiva e a mais forte

possível. O valor máximo de -1,00 ocorre quando a associação for negativa e a menos forte

possível. Já o Cosseno é uma métrica para medir o cosseno do ângulo entre dois vetores num

espaço vetorial, sendo que esses representam os usuários, e retorna valores entre 0 e 1. Quanto

mais próximo de 1 for o valor, mais similares são os dois vetores (SILVA, 2008; MAIA,

2008).

2.1.3 Filtragem Híbrida

A Filtragem Híbrida mistura a Filtragem Baseada em Conteúdo e a Filtragem

Colaborativa em um único sistema, melhorando as recomendações oferecidas aos usuários e,

dessa forma, procura resolver alguns dos problemas introduzidos por ambas as técnicas.

Page 15: Relatório técnico ii fbc   29-07-10

6

Assim, os métodos de recomendação nessa categoria podem se combinar de diversas

formas: a) Filtragem Colaborativa processada sequencialmente após a Filtragem Baseada em

Conteúdo; b) Filtragem Baseada em Conteúdo processada sequencialmente após a Filtragem

Colaborativa e; c) Filtragem Baseada em Conteúdo processada paralelamente com a Filtragem

Colaborativa (ADOMAVICIUS, 2005; EINARSSON, 2007).

Page 16: Relatório técnico ii fbc   29-07-10

7

ESTUDO DE CASO

Este estudo de caso teve como objetivo avaliar o processo e as implicações que

algumas técnicas de Filtragem Baseada em Conteúdo geram ao serem utilizadas no contexto

da TVD Portátil. Nas seções deste capítulo constam os detalhes de como o estudo de caso foi

realizado.

A Figura 1 apresenta o contexto de utilização do sistema simulado descrito neste relatório

técnico. Os receptores fixos e móveis recebem áudio, vídeo e dados, sendo o middleware, no

caso o middleware Ginga-NCL, o responsável pela separação dos mesmos. O dispositivo deve

ser capaz de receber a transmissão de TVD com o auxílio de uma antena, interna ou externa,

compatível com o padrão de transmissão adotado no Brasil.

Figura 1 – Contexto do estudo de caso

3

Page 17: Relatório técnico ii fbc   29-07-10

8

O usuário interage com a TV no celular e todos os canais assistidos durante o período de

utilização são armazenados. A partir desses dados, o processo de identificação do perfil do

usuário tem início e, com base no horário e no canal assistido, é possível encontrar o gênero

do programa com o auxílio das informações contidas no EPG (Guia Eletrônico de

Programação) (ABNT NBR 15603-2).

O processamento tem início quando o usuário solicita a recomendação. Os dados do

histórico de visualização do usuário coletados até então passam por uma técnica de filtragem

de informação que permite encontrar o perfil do usuário, que é armazenado em uma base de

dados. Com o perfil do usuário atualizado, procuram-se os programas de TV compatíveis no

guia eletrônico de programação e gera-se uma lista com tais programas.

3.1 Conhecendo e Preparando os Dados

Os dados fornecidos pelo IBOPE continham as informações do EPG, o histórico de

visualização do usuário (o que o telespectador assistiu) e também as informações

socioeconômicas dos domicílios. Todos esse conjunto de dados do IBOPE foram separados e

armazenados no banco de dados MySQL. Os dados correspondiam a 15 dias de programação

e monitoramento de 6 domicílios brasileiros com a programação da TV Aberta. Esses

domicílios foram monitorados minuto a minuto, assim como cada indivíduo foi monitorado

separadamente. A Tabela 1 indica a quantidade de indivíduos e de TVs por domicílio e a

Tabela 2 apresenta as informações socioeconômicas dos domicílios.

Tabela 1 – Características dos domicílios

Quantidade de domicílios Quantidade de TVs Quantidade de indivíduos

1 1 2

2 1 3

3 2 3

4 2 2

5 1 2

6 2 3

Total 9 15

Page 18: Relatório técnico ii fbc   29-07-10

9

Tabela 2 – Características socioeconômicas dos domicílios

Domicílio 1 2 3 4 5 6

Classe Social DE C C AB C AB

Idade da

dona-de-

casa

44 45 39 32 60 36

Grau de

instrução do

chefe-de-

casa

Primário

incompleto

Ginasial

incompleto

Ginasial

incompleto

Colegial

completo

Colegial

incompleto

Colegial

completo

Sexo do

indivíduo 1 Feminino Feminino Feminino Feminino Feminino Feminino

Idade do

indivíduo 1 44 45 39 32 60 36

Sexo do

Indivíduo 2 Feminino Masculino Masculino Masculino Masculino Masculino

Idade do

indivíduo 2 8 48 40 30 77 38

Sexo do

indivíduo 3 Feminino Feminino Masculino

Idade do

indivíduo 3

3.1.1 EPG

O EPG fornecido pelo IBOPE é composto por 15 arquivos TXT, denominados

arquivos de programação, sendo um para cada dia (de 05/03/2008 à 19/03/2008) com a grade

de 10 emissoras de TV Aberta, com início às 00:00:00 e término às 05:59:00. A Figura 2

ilustra uma amostra do layout inicial desses arquivos e a Tabela 3 apresenta como esse layout

foi organizado.

Page 19: Relatório técnico ii fbc   29-07-10

10

Figura 2 – Amostra dos arquivos TXT

Tomando-se como exemplo a primeira linha da Figura 2, identificam-se os campos,

conforme indicados na Tabela 3. Após o entendimento dos arquivos que compõem o EPG, os

dados foram copiados dos arquivos de programação para uma planilha do BrOffice com o

auxílio do recurso colar especial. Esse recurso permitiu que os dados fossem exportados

exatamente como foram construídos no layout, separando os campos em colunas. No

momento da exportação, os dados numéricos perderam seu formato e foram, então,

reformatados de acordo com a Tabela 4. Após a exportação, foi feita a limpeza dos dados

desnecessários.

Page 20: Relatório técnico ii fbc   29-07-10

11

Tabela 3 – Identificação dos campos nos arquivos TXT

Coluna Conteúdo Identificação

1.ª 005100PNREXXXXX 005 Código da emissora

100PNREXXXXX Descartado

2.ª 002645RELIGIOSO MAT 002645 Código do programa

RELIGIOSO MAT Nome do programa

3.ª 000000 Descartado

4.ª 0000 Descartado

5.ª 060000080000DIA_05

060000 Início do programa

080000 Fim do

programa

DIA_05 Dia do

programa

6.ª 111111100000000000000003XX Descartado

Tabela 4 – Layout dos arquivos TXT

Descrição Tipo Posição Inicial

Código da emissora Numérico (03) 1

Código do programa Numérico (06) 24

Nome do programa Caractere (30) 30

Início do programa Numérico (06) 160

Fim do programa Numérico (06) 166

Em seguida, perceberam-se algumas inconsistências de horários, que foram

imediatamente corrigidas para que a análise futura não gerasse resultados errôneos. O

processo acima descrito se repetiu para cada um dos 15 arquivos de programação e os dados

foram agrupados em uma única planilha que continha o EPG dos 15 dias.

O comportamento do usuário é composto por várias planilhas, denominadas planilhas

de sintonia, que possuem muito mais informação que o EPG. As planilhas de sintonia e o

EPG contêm códigos que identificam as emissoras da TV Aberta. Foi necessário padronizar

esses códigos, pois o número de identificação foi registrado diferentemente nesses arquivos.

Para evitar a inconsistência de dados, foi adicionada uma coluna ao EPG com o nome da

emissora e, em seguida, os códigos das emissoras de TV Aberta foram padronizados, pois

havia conflitos de códigos entre as emissoras Bandeirantes, Record, Rede TV! e TV Cultura.

Também foram adicionados ao EPG o dia da semana e a duração do programa. O

EPG, nessa etapa, ainda não estava completo, pois faltavam o gênero e o subgênero de cada

programa. Para isso, procurou-se, nos sites oficiais de cada emissora, o gênero dos programas

transmitidos e, em seguida, foram identificados de acordo com a norma brasileira ABNT

NBR 15603-2 e constam do Anexo C - “Descritor de gênero no descritor de conteúdo”.

Page 21: Relatório técnico ii fbc   29-07-10

12

Para facilitar essa identificação, foi utilizado o recurso de filtro para classificar o EPG

de acordo com o nome do programa. Caso esse se repetisse nos 15 dias do intervalo

considerado, não era necessário procurar novamente no site da emissora. Ressalta-se que a

planilha do EPG totalizou cerca de 4.500 linhas, com a identificação de aproximadamente 800

programas diferentes. A Tabela 5 ilustra a relação quantidade de programas/gênero

encontrada no EPG. No MySQL também foram criadas tabelas para guardar as informações

do EPG. As Figuras de 3 a 9 apresentam essas tabelas do banco de dados.

Tabela 5 – Relação quantidade de programas/gênero

Gênero Quantidade

Minissérie 0

Erótico 1

Novela 15

Reality Show 15

Filme 24

Humorístico 25

Informação 32

Educativo 33

Esporte 40

Sorteio, televendas, premiação 42

Debate/Entrevista 52

Série/Seriado 56

Outros 62

Infantil 63

Jornalismo 146

Variedade 203

TOTAL 812

Figura 3 – Tabela com os

descritores de gêneros

Figura 4 – Tabela com os

descritores de subgênero

Figura 5 – Tabela com os

descritores de gênero/subgênero

Page 22: Relatório técnico ii fbc   29-07-10

13

Figura 6 – Tabela com os

códigos originais das emissoras

Figura 7 – Tabela com os códigos

das emissoras

Figura 8 – Tabela com os

programas

Figura 9 – Tabela com as informações da programação de TV

O EPG precisou ainda de mais uma modificação para poder ser utilizado com a FBC.

Uma nova tabela foi criada, idêntica à tabela do EPG, mas acrescida de campos com os nomes

dos gêneros. Esses campos foram populados com 0 ou 1, conforme o programa se encaixava

ou não naquele gênero, transformando-se em uma matriz. Os gêneros receberam siglas, as

quais são listadas abaixo. Isso se fez necessário, pois nas seções de metodologia e de

simulação esses campos aparecerão em diversas consultas SQL. A Figura 10 ilustra a Tabela

criada no MySQL para a matriz do EPG.

Sigla ............ Gênero/Subgênero

DED ............ Debate Entrevista/Debate

DEE ............ Debate Entrevista/Entrevista

EDED ......... Educativo/Educativo

Page 23: Relatório técnico ii fbc   29-07-10

14

ERER .......... Erótico/Erótico

ESES ........... Esporte/Esporte

FF ................ Filme/Filme

FO ............... Filme/Outros

HH .............. Humorístico/Humorístico

II ................. Infantil/Infantil

IC ................ Informação/Culinária

IM ............... Informação/Moda

IO ................ Informação/Outros

IR ................ Informação/Rural

INS .............. Informação/Saúde

IT ................ Informação/Turismo

JD ................ Jornalismo/Documentário

JO ................ Jornalismo/Outros

JR ................ Jornalismo/Reportagem

JT ................ Jornalismo/Telejornais

NN .............. Novela/Novela

ODA ........... Outros/Desenho Adulto

OI ................ Outros/Interativo

OO .............. Outros/Outros

OP ............... Outros/Político

OUR ............ Outros/Religioso

RSRS .......... Reality Show/Reality Show

SSS ............. Série, Seriado/Série

STPO .......... Sorteio, Televendas, Premiação/Outros

STPS ........... Sorteio, Televendas, Premiação/Sorteio

STPT ........... Sorteio, Televendas, Premiação/Televendas

STPP ........... Sorteio, Televendas, Premiação/Premiação

VA .............. Variedade/Auditório

VF ............... Variedade/Feminino

VGS ............ Variedade/Game Show

VMO ........... Variedade/Making Of

VM .............. Variedade/Musical

Page 24: Relatório técnico ii fbc   29-07-10

15

VO .............. Variedade/Outros

VS ............... Variedade/Show

Figura 10 – Tabela matrixepg no MySQL

3.1.2 Histórico dos Usuários

As planilhas de sintonia enviadas pelo IBOPE contêm os dados dos usuários e foram

modificadas, de forma que técnicas de Filtragem Baseada em Conteúdo pudessem ser

aplicadas. A Figura 11 apresenta uma captura de tela de como as planilhas de sintonia estão

organizadas. DOMIC_0x indica o número do domicílio (X é o número do domicílio). DIA_0x

indica o dia do monitoramento. Inds indica o número do indivíduo (usuário). Tvs indica o

número da TV. 06:00 em diante indica o horário do monitoramento. Assim, a planilha foi

preenchida com o número do canal que aquele indivíduo estava assistindo naquela TV,

naquele horário, naquele dia e naquele domicílio.

Page 25: Relatório técnico ii fbc   29-07-10

16

Figura 11 – Amostra das planilhas de sintonia

Os dados foram, então, separados por domicílios e, apesar de alguns possuírem mais

de uma TV, percebeu-se que não havia registros de monitoramento para mais de uma TV ao

mesmo tempo e, portanto, considerou-se apenas uma TV por domicílio. A Figura 12 apresenta

o modo como os dados foram organizados no momento da separação. A coluna Domicílio

indica o domicílio ao qual pertence aquele indivíduo. A coluna Dia indica o dia da

visualização do programa. A coluna Horário indica a hora de visualização. A coluna

Indivíduo indica qual é o usuário que está assistindo aquele programa. A coluna TV indica o

canal que o usuário está assistindo. Observa-se que os dados também foram formatados: data

no formato AAAA-mm-dd, hora no formato HH:mm:ss e TV no formato 00X. As planilhas

resultantes foram convertidas em arquivos CSV, os quais, em seguida, foram inseridos no

MySQL. Para tanto, criou-se uma tabela para cada domicílio, chamada dx_cru (Cru por conter

os dados originais), que armazena essas informações, conforme ilustra a Figura 13.

Page 26: Relatório técnico ii fbc   29-07-10

17

Figura 12 – Planilhas após organização

Figura 13 – Tabela para

armazenamento

Figura 14 – Tabela que resulta da

listagem 1

A partir do campo codigoEmissora, foi possível buscar na tabela codigos_emissoras

qual emissora o usuário estava assistindo. A consulta SQL da Listagem 1 fez essa mescla e,

então, inseriu o resultado em outra tabela, chamada dx_v2, na qual x indica o número do

domicílio. A consulta seleciona os campos da tabela dx_cru quando o código da emissora

nessa tabela for igual ao da tabela codigos_emissoras, ordenando pelo código da emissora da

tabela dx_cru. A Figura 14 apresenta os campos da tabela criada no MySQl.

INSERT INTO d1_v2

SELECT d.id_d1, d.domicilio, d.dia, d.horario, d.id_users, d.codigoEmissora, d.nomeEmissora

FROM d1_cru d, codigos_emissoras c

WHERE d.codigoEmissora = c.codigo_p

ORDER BY d.codigoEmissora;

Listagem 1 – Consulta SQL para descobrir qual emissora o usuário está assistindo.

No passo seguinte, fez-se a mescla com o EPG, obtendo todas as informações

referentes ao programa visualizado. A Listagem 2 apresenta a consulta SQL utilizada para

fazer a mescla. O resultado da consulta também foi armazenado em outra tabela, chamada

Page 27: Relatório técnico ii fbc   29-07-10

18

dx_v3. A Figura 15 apresenta os campos dessa tabela. A consulta seleciona alguns campos da

tabela dx_cru e da tabela EPG quando o dia e o código da emissora são iguais em ambas e

quando o horário da tabela dx_cru é maior ou igual à hora do início do programa e menor ou

igual à hora do fim do programa. Sem informar essas condições, o resultado gerado estará

incorreto. Novamente, isso é repetido para todos os domicílios.

INSERT INTO d1_v3

SELECT d.domicilio, d.id_d1, d.id_users, e.id_epg, d.dia as ddia, e.dia as edia, d.horario,

e.horaInicio, e.horaFim, e.inicioPrograma, e.fimPrograma, e.duracaoPrograma,

e.codigoPrograma, e.nomePrograma, d.codigoEmissora as dce, e.codigoEmissora as ece,

e.nomeEmissora, e.genero, e.descritorGenero, e.subgenero, e.descritorSubgenero,

e.generoSubgenero, e.descritorGeneroSubgenero

FROM d1_cru d, matrixepg e

WHERE ((d.dia=e.dia) and (d.codigoEmissora = e.codigoEmissora)

and (d.horario > = e.horaInício) and (d.horario <= e.horaFim))

ORDER BY d.id_users,d.dia,d.horario;

Listagem 2 – Consulta SQL para mesclar as informações do EPG com as do usuário.

O passo seguinte consistiu em encontrar os horários de início e de fim da sintonização

do usuário naqueles canais. Para tanto, usou-se uma consulta SQL, como ilustra a Listagem 3,

que usa os comandos MIN() e MAX() que retorna o valor mínimo ou máximo, e o campo

horário da tabela dx_v3 como base. A Figura 16 apresenta a tabela criada para armazenar o

resultado dessa consulta.

INSERT INTO d1_v4

SELECT d.domicilio, d.id_d1, d.id_users, d.id_epg, d.dia, d.horario, min(d.horario) AS

inicioSintonia, max(d.horario) AS fimSintonia, d.horaInício, d.horaFim, d.inicioPrograma,

d.fimPrograma, d.duracaoPrograma, d.codigoPrograma, d.nomePrograma, d.dce as

codigoEmissora, d.nomeEmissora, d.genero, d.descritorGenero, d.subgenero,

d.descritorSubgenero, d.generoSubgenero, d.descritorGS

FROM d1_v3 d

GROUP BY d.id_users, d.nomePrograma, d.dia

HAVING (d.horario=min(d.horario))

ORDER BY d.id_users, d.dia, d.horario;

Listagem 3 – Cálculo do horário de início e de fim da sintonia.

Em seguida, calculou-se o tempo em que o usuário permaneceu sintonizado nos

canais. A Listagem 4 demonstra a consulta SQL utilizada. O comando SUBTIME(), que

Page 28: Relatório técnico ii fbc   29-07-10

19

retorna a subtração entre as datas, foi utilizado para fazer o cálculo de subtração entre os

campos início e fim de sintonia. A Figura 17 apresenta a tabela criada para armazenar o

resultado dessa consulta.

INSERT INTO d1_v5

SELECT d.domicilio, d.id_d1, d.id_users, d.id_epg, d.dia, d.horario, d.inicioSintonia,

d.fimSintonia, subtime(d.fimSintonia, d.inícioSintonia) as duracaoSintonia, d.horaInicio,

d.horaFim, d.inicioPrograma, d.fimPrograma, d.duracaoPrograma, d.codigoPrograma,

d.nomePrograma, d.codigoEmissora, d. nomeEmissora,d.genero, d.descritorGenero, d.subgenero,

d.descritorSubgenero, d.generoSubgenero, d.descritorGS

FROM d1_v4 d;

Listagem 4 – Cálculo do tempo de visualização.

Após calcular o tempo de visualização, foi necessário converter esse tempo em

número inteiro, para a posterior utilização nos cálculos da Filtragem Colaborativa. A

Listagem 5 apresenta a consulta SQL utilizada. Utilizaram-se os comandos HOUR(), que

retorna a hora do tempo sendo o valor de retorno entre 0 a 23 e MINUTE(), que retorna o

minuto da hora, na faixa de 0 a 59, para realizar o seguinte cálculo:

duracao em inteiro = (hora * 60 ) + minuto

duracao em inteiro = ( hora ( fim sintonia – inicio sintonia ) * 60 ) + ( minuto ( fim sintonia – inicio sintonia ) )

A Figura 18 apresenta a tabela criada no MySQL para armazenar o resultado.

INSERT INTO d1_v6

SELECT d.domicilio, d.id_dx, d.id_users, d.id_epg, d.dia, d.horario, d.inicioSintonia,

d.fimSintonia, d.duracaoSintonia, ((hour (subtime (d.fimSintonia,d.inícioSintonia)) * 60) +

minute(subtime(d.fimSintonia,d.inícioSintonia))) as duracaoS2, d.horaInício,d.horaFim,

d.inícioPrograma, d.fimPrograma, d.duracaoPrograma, d.codigoPrograma, d.nomePrograma,

d.codigoEmissora, d.nomeEmissora, d.genero, d.descritorGenero, d.subgenero,

d.descritorSubgenero, d.generoSubgenero, d.descritorGS

FROM d1_v5 d;

Listagem 5 – Cálculo da conversão do tempo do formato hora para inteiro.

Ainda faltavam algumas informações que podem ser úteis no momento de geração das

recomendações, o dia da semana e o período do dia. A Listagem 6 ilustra a consulta SQL

utilizada para encontrar o dia da semana e a Listagem 7 a consulta para o período. As Figuras

Page 29: Relatório técnico ii fbc   29-07-10

20

19 e 20 apresentam as tabelas criadas no banco de dados para armazenar os resultados dessas

consultas.

INSERT INTO d1_v7

SELECT d.domicilio, d.id_dx, d.id_users, d.id_epg, d.dia, d.horario, d.inicioSintonia,

d.fimSintonia, d.duracaoSintonia, duracaoS2, DAYNAME(dia) as diaSemana, d.horaInicio,

d.horaFim, d.inicioPrograma, d.fimPrograma, d.duracaoPrograma, d.codigoPrograma,

d.nomePrograma, d.codigoEmissora as codigoEmissora,d.nomeEmissora, d.genero,

d.descritorGenero, d.subgenero, d.descritorSubgenero, d.generoSubgenero, d.descritorGS

FROM d1_v6 d;

Listagem 6 – Cálculo do dia da semana.

Figura 15 – Tabela que contém a

mescla do EPG com o histórico

do usuário

Figura 16 – Tabela com os novos

campos início e fim da sintonia

Figura 17 – Tabela com o

resultado de Subtime()

Page 30: Relatório técnico ii fbc   29-07-10

21

O dia da semana é descoberto passando-se o campo dia para o comando

DAYNAME() do MySQL, que retorna o nome do dia da semana para a data. Faixas de

horário foram definidas para identificar o período do dia. Quando a faixa varia entre 06:00:00

e 11:59:00, usa-se a variável manha, criando o campo período. Quando a faixa varia entre

12:00:00 e 17:59:00, usa-se a variável tarde, entre 18:00:00 e 23:59:00 usa-se a variável noite

e entre 00:00:00 e 05:59:00, madrugada. Os dados são inseridos em outra tabela. Assim,

finaliza-se a organização dos dados.

set @manha='manha';

set @tarde='tarde';

set @noite='noite';

set @madrugada='madrugada';

INSERT INTO d1_v8

SELECT d.domicílio, d.id_d1, d.id_users, d.id_epg, d.dia, d.inícioSintonia, d.fimSintonia,

d.duracaoSintonia as duracaoS1, d.duracaoS2, d.diaSemana, @manha as periodo,

d.nomePrograma, d.nomeEmissora, d.descritorGS FROM d1_v7 d

WHERE (inícioSintonia>='06:00:00' and fimSintonia<='11:59:00');

INSERT INTO d1_v8

SELECT d.domicílio, d.id_d1, d.id_users, d.id_epg, d.dia, d.inícioSintonia, d.fimSintonia,

d.duracaoSintonia as duracaoS1, d.duracaoS2, d.diaSemana, @tarde as periodo,

d.nomePrograma, d.nomeEmissora, d.descritorGS FROM dx_v7 d

WHERE (inícioSintonia>='12:00:00' and fimSintonia<='17:59:00');

INSERT INTO d1_v8

SELECT d.domicílio, d.id_d1, d.id_users, d.id_epg, d.dia, d.inícioSintonia, d.fimSintonia,

d.duracaoSintonia as duracaoS1, d.duracaoS2, d.diaSemana, @noite as periodo,

d.nomePrograma, d.nomeEmissora, d.descritorGS FROM dx_v7 d

WHERE (inícioSintonia>='18:00:00' and fimSintonia<='23:59:00');

INSERT INTO d1_v8

SELECT d.domicílio, d.id_d1, d.id_users, d.id_epg, d.dia, d.inícioSintonia, d.fimSintonia,

d.duracaoSintonia as duracaoS1, d.duracaoS2, d.diaSemana, @madrugada as periodo,

d.nomePrograma, d.nomeEmissora, d.descritorGS FROM dx_v7 d

WHERE (inícioSintonia>='00:00:00' and fimSintonia<='06:59:00');

Listagem 7 – Cálculo do período do dia.

Page 31: Relatório técnico ii fbc   29-07-10

22

Figura 18 – Tabela com o campo

duração

Figura 19 – Tabela com o campo dia

da semana.

Figura 20 – Tabela com o campo

período do dia.

Figura 21 – Tabela com a versão

final dos dados.

Em seguida, os dados de cada dia, para cada domicílio, foram salvos em planilhas

CSV para serem utilizados no software Weka (Witten, 2005). Foi necessário salvar os

dados separadamente devido ao processo iterativo que é utilizado na simulação do Weka,

conforme detalhado a seguir.

Page 32: Relatório técnico ii fbc   29-07-10

23

3.2 Metodologia e Simulação

Simulou-se a Filtragem Baseada em Conteúdo com duas técnicas diferentes, Apriori e

Cosseno, ambas usando como atributo alvo o gênero. No caso do Apriori, as

configurações apresentadas na Figura 21 foram aplicadas:

Figura 22 – Configurações Apriori.

Em seguida, começou-se a simulação para o Apriori. Para cada domicílio, o processo

foi o mesmo. Ao fim do primeiro dia, geravam-se recomendações para o segundo dia; no

segundo dia, com base no que foi visto no dia anterior e no dia atual, geravam-se

Page 33: Relatório técnico ii fbc   29-07-10

24

recomendações para o terceiro dia e, assim, consecutivamente. Os seguintes passos foram

executados:

1. Abrir arquivo CSV;

2. Converter alguns atributos de String para Nominal e outros de Numeric para

Nominal (aplicando-se os filtros);

3. Configurar o Apriori;

4. Executar o Apriori;

5. Salvar a saída.

Com os dados salvos, foi possível avaliar se, no dia seguinte àquele, alguém do

domicílio assistiu a algum dos gêneros encontrados pelo Apriori. Para o Cosseno, vários

passos foram necessários, pois esse foi simulado no MySQL. Além das tabelas já

existentes, foi necessário criar mais tabelas para armazenar os resultados gerados pelas

consultas. A tabela recomenda armazena as recomendações geradas, a tabela profile

armazena o perfil gerado e a tabela domicilio_teste, os dados do dia seguinte para a

comparação. Para garantir que os resultados não estivessem errados, sempre ao iniciar o

processo, os dados dessas tabelas eram apagados e, então, inseridos apenas os dados

necessários para aquele dia em particular (Listagem 8). As Figuras 23 e 24 apresentam as

tabelas criadas no MySQL. Os passos abaixo relacionados foram seguidos para a

simulação do Cosseno:

1. Encontrar e salvar o perfil na tabela profile;

2. Calcular a distância;

3. Calcular a norma;

4. Calcular o Cosseno;

5. Verificar se acertou.

O processo também é iterativo, sendo realizado para cada dia e para cada domicílio.

As consultas SQL utilizadas no processo, as quais simulam a geração das recomendações

para um domicílio também são apresentadas a seguir.

Page 34: Relatório técnico ii fbc   29-07-10

25

Figura 23 – Tabela profile Figura 24 – Tabela recomenda

INSERT INTO domicilio_teste SELECT * FROM d1_vf WHERE dia='2008-03-05';

SELECT * FROM domicilio_teste;

DELETE FROM profile;

DELETE FROM recomenda;

Listagem 8 – Inserindo e apagando os dados para a correta avaliação

A Listagem 10 ilustra a consulta SQL utilizada para calcular o perfil do usuário –

gêneros preferidos – a partir dos dados do domicílio e do EPG, quando os descritores são

iguais em ambas as tabelas. São selecionados os gêneros do domicílio e faz-se o seguinte

cálculo:

CAMPOS DAS TABELAS: media (genero) = duracao * genero matrixepg

TABELAS: tabela profile = tabela domicilio_teste * tabela matrixepg

Equação 1 – Cálculo do perfil

INSERT INTO PROFILE

SELECT

avg(ded1), avg(dee1), avg(ed), avg(er),avg(es),avg(f),avg(fo1),avg(h),avg(i),avg(ic1),avg(im1),avg(io1),

avg(ir1), avg(ins1),avg(it1),avg(jd1),avg(jo1),avg(jr1),avg(jt1),avg(n),avg(oda1),avg(oi1),avg(oo1),

avg(op1),avg(our1),avg(rs), avg(sss1),avg(stpo1),avg(stpp1),avg(stps1),avg(stpt1),avg(va1),avg(vf1),

Page 35: Relatório técnico ii fbc   29-07-10

26

avg(vgs1),avg(vmo1),avg(vm1),avg(vo1),avg(vs1)

FROM

(SELECT d.descritorGS,

duracao * DED AS ded1, duracao * DEE AS dee1, duracao * EDED AS ed, duracao * ERER AS er,

duracao * ESES AS es, duracao * FF AS f, duracao * FO AS fo1, duracao * HH AS h,

duracao * II AS i, duracao * IC AS ic1, duracao * IM AS im1, duracao * IO AS io1, duracao * IR AS ir1,

duracao * INS AS ins1, duracao * IT AS it1, duracao * JD AS jd1, duracao * JO AS jo1,

duracao * JR AS jr1, duracao * JT AS jt1, duracao * NN AS n, duracao * ODA AS oda1,

duracao * OI AS oi1, duracao * OO AS oo1, duracao * OP AS op1, duracao * OUR AS our1,

duracao * RSRS AS rs, duracao * SSS AS sss1, duracao * STPO AS stpo1, duracao * STPP AS stpp1,

duracao * STPS AS stps1, duracao * STPT AS stpt1, duracao * VA AS va1, duracao * VF AS vf1,

duracao * VGS AS vgs1, duracao * VMO AS vmo1, duracao * VM AS vm1, duracao * VO AS vo1,

duracao * VS AS vs1

FROM domicílio_teste d, matrixepg m

WHERE d.descritorGS=m.descritorGeneroSubgenero

ORDER BY duracao DESC) AS result;

Listagem 9 – Cálculo do perfil

Em seguida, na Listagem 10, uma variável é criada e configurada a partir dos dados

da tabela profile. O seguinte cálculo é realizado para a norma do perfil:

Equação 2 – Cálculo da norma do perfil

Em que mycprofilenorm corresponde ao cálculo da norma do perfil e gênero

corresponde ao campo da tabela profile que contém o valor calculado na consulta anterior

e indica o gênero do programa (jornalismo, documentário, etc.).

SET @mycprofilenorm = ( SELECT SQRT ( ded1*ded1 + dee1*dee1 + ed*ed + er*er + es*es + f*f +

fo1*fo1 + h*h + i*i + ic1*ic1 + im1*im1 + io1*io1 + ir1*ir1 + ins1*ins1 + it1*it1 + jd1*jd1 + jo1*jo1 +

jr1*jr1 + jt1*jt1 + n*n + oda1*oda1 + oi1*oi1 + oo1*oo1 + op1*op1 + our1*our1 + rs*rs + sss1*sss1 +

stpo1*stpo1 + stpp1*stpp1 + stps1*stps1 + stpt1*stpt1 + va1*va1 + vf1*vf1 + vgs1*vgs1 + vmo1*vmo1 +

vm1*vm1 + vo1*vo1 + vs1*vs1 )

FROM profile ) ;

Listagem 10 – Configuração da variável mycprofilenorm

O passo seguinte calculou a norma da tabela matriz do EPG para cada gênero. A

consulta da Listagem 11 corresponde a seguinte equação:

Page 36: Relatório técnico ii fbc   29-07-10

27

Equação 3 – Cálculo da norma da tabela matrizepg

SELECT descritorGeneroSubgenero,

SQRT ( DED*DED + DEE*DEE + EDED*EDED + ERER*ERER + ESES*ESES + FF*FF + FO*FO +

HH*HH + II*II + IC*IC + IM*IM + IO*IO + IR*IR + INS*INS + IT*IT + JD*JD + JO*JO + JR*JR +

JT*JT + NN*NN + ODA*ODA + OI*OI + OO*OO + OP*OP + OUR*OUR + RSRS*RSRS + SSS*SSS +

STPO*STPO + STPP*STPP + STPS*STPS + STPT*STPT + VA*VA + VF*VF + VGS*VGS + VMO*VMO +

VM*VM + VO*VO + VS*VS) AS norm

FROM matrixepg

GROUP BY descritorGeneroSubgenero

ORDER BY descritorGeneroSubgenero;

Listagem 11 – Cálculo da norma da matrizepg

A Listagem 12 apresenta a consulta SQL da Listagem 11, acrescida do cálculo de dot

e a equação 4 apresenta o cálculo:

Equação 4 – Cálculo de dot

SELECT descritorGeneroSubgenero,

SQRT ( DED*DED + DEE*DEE + EDED*EDED + ERER*ERER + ESES*ESES + FF*FF + FO*FO +

HH*HH + II*II + IC*IC + IM*IM + IO*IO + IR*IR + INS*INS + IT*IT + JD*JD + JO*JO + JR*JR +

JT*JT + NN*NN + ODA*ODA + OI*OI + OO*OO + OP*OP + OUR*OUR + RSRS*RSRS + SSS*SSS +

STPO*STPO + STP*STPP + STPS*STPS + STPT*STPT + VA*VA + VF*VF + VGS*VGS + VMO*VMO +

VM*VM + VO*VO + VS*VS ) AS norm,

( DED*ded1 + DEE*dee1 + EDED*Ed + ERER*er + ESES*es + FF*f + FO*fo1 + HH*h + II*i + IC*ic1 +

IM*im1 + IO*io1 + IR*ir1+ INS*ins1 + IT*it1 + JD*jd1 + JO*jo1 + JR*jr1 + JT*jt1 + NN*n + ODA*oda1

+ OI*oi1 + OO*oo1 + OP*op1 + OUR*our1 + RSRS*rs + SSS*sss1 + STPO*stpo1 + STPP*stpp1 +

STPS*stps1 + STPT*stpt1 + VA*va1 + VF*vf1 + VGS*vgs1 + VMO*vmo1 + VM*vm1 + VO*vo1 +

VS*vs1) AS dot

FROM matrixepg, profile

GROUP BY descritorGeneroSubgenero

ORDER BY dot DESC;

Listagem 12 – Cálculo da norma e dot

A Listagem 13 reúne os cálculos acima, selecionando os nomes dos campos e

calculando o Cosseno:

Page 37: Relatório técnico ii fbc   29-07-10

28

Equação 5 – Cálculo do Cosseno

SELECT descritorGeneroSubgenero, dot/(@mycprofilenorm*norm) AS cos,

DED, DEE, EDED, ERER, ESES, FF, FO, HH, II, IC, IM, IO, IR, INS, IT, JD, JO, JR, JT, NN, ODA, OI, OO,

OP, OUR, RSRS, SSS, STPO, STPP, STPS, STPT,VA, VF, VGS, VMO, VM, VO, VS

FROM

( SELECT descritorGeneroSubgenero, SQRT ( DED*DED + DEE*DEE + EDED*EDED + ERER*ERER +

ESES*ESES + FF*FF + FO*FO + HH*HH + II*II + IC*IC + IM*IM + IO*IO + IR*IR + INS*INS + IT*IT

+ JD*JD + JO*JO + JR*JR + JT*JT + NN*NN + ODA*ODA + OI*OI + OO*OO + OP*OP + OUR*OUR

+ RSRS*RSRS + SSS*SSS + STPO*STPO + STPP*STPP + STPS*STPS + STPT*STPT + VA*VA + VF*VF

+ VGS*VGS + VMO*VMO + VM*VM + VO*VO + VS*VS) AS norm,

(DED*ded1+DEE*dee1+EDED*ed+ERER*er+ESES*es+FF*f+FO*fo1+HH*h+II*i+IC*ic1+IM*im1+IO*

io1+IR*ir1+INS*ins1+IT*it1+JD*jd1+JO*jo1+JR*jr1+JT*jt1+NN*n+ODA*oda1+OI*oi1+OO*oo1+OP*

op1+OUR*our1+RSRS*rs+SSS*sss1+STPO*stpo1+STPP*stpp1+STPS*stps1+STPT*stpt1+VA*va1+VF*vf

1+VGS*vgs1 +VMO*vmo1+VM*vm1+VO*vo1+VS*vs1) AS dot,

DED, DEE, EDED, ERER, ESES, FF, FO, HH, II, IC, IM, IO, IR, INS, IT, JD, JO, JR, JT, NN, ODA, OI, OO,

OP, OUR, RSRS, SSS, STPO, STPP, STPS, STPT, VA, VF, VGS, VMO, VM, VO, VS

FROM matrixepg, profile) AS normdot

GROUP BY descritorGeneroSubgenero

ORDER BY cos DESC;

Listagem 13 – Cálculo do Cosseno

Na Listagem 14, o resultado da consulta é inserido na tabela recomenda.

INSERT INTO recomenda

SELECT nomeEmissora, descritorGeneroSubgenero AS descritorGS, dia, horaInício,

dot/(@mycprofilenorm*norm) AS cos

FROM

( SELECT nomeEmissora, dia, horaInício, descritorGeneroSubgenero, SQRT ( DED*DED + DEE*DEE +

EDED*EDED + ERER*ERER + ESES*ESES + FF*FF + FO*FO + HH*HH + II*II + IC*IC + IM*IM +

IO*IO + IR*IR + INS*INS + IT*IT + JD*JD + JO*JO + JR*JR + JT*JT + NN*NN + ODA*ODA + OI*OI

+ OO*OO + OP*OP + OUR*OUR + RSRS*RSRS + SSS*SSS + STPO*STPO + STPP*STPP + STPS*STPS

+ STPT*STPT + VA*VA + VF*VF + VGS*VGS + VMO*VMO + VM*VM + VO*VO + VS*VS) as norm,

( DED*ded1 + DEE*dee1 + EDED*Ed + ERER*er + ESES*ES + FF*f + FO*fo1 + HH*h + II*i + IC*ic1

+ IM*im1 + IO*io1 + IR*ir1 + INS*ins1 + IT*it1 + JD*jd1 + JO*jo1 + JR*jr1 + JT*jt1 + NN*n +

Page 38: Relatório técnico ii fbc   29-07-10

29

ODA*oda1 + OI*oi1 + OO*oo1 + OP*op1 + OUR*our1 + RSRS*rs + SSS*sss1 + STPO*stpo1 +

STPP*stpp1 + STPS*stps1 + STPT*stpt1 + VA*va1 + VF*vf1 + VGS*vgs1 + VMO*vmo1 + VM*vm1 +

VO*vo1 + VS*vs1 ) AS dot,

DED, DEE, EDED, ERER, ESES, FF, FO, HH, II, IC, IM, IO, IR, INS, IT, JD, JO, JR, JT, NN, ODA, OI,

OO, OP, OUR, RSRS,SSS, STPO, STPP, STPS, STPT,VA, VF, VGS, VMO, VM, VO, VS

FROM matrixepg m, profile p) AS normdot

GROUP BY descritorGeneroSubgenero

ORDER BY cos DESC;

Listagem 14 – Inserção do resultado na tabela recomenda

Por fim, a Listagem 15 ilustra a consulta SQL utilizada para fazer a comparação e

descobrir se algum dos cinco gêneros “recomendados” foi assistido no dia seguinte. Se o

gênero existir na tabela recomenda e na tabela domicílio_teste, então, as recomendações

sugeridas pelo Cosseno estão de acordo com o perfil do usuário.

SELECT r.*, dt.descritorGS

FROM recomenda r, d1_vf dt

WHERE dt.descritorGS = r.descritorGS

GROUP BY r.descritorGS

ORDER BY cos DESC;

Listagem 15 – Comparação entre as tabelas recomenda e d1_vf

Page 39: Relatório técnico ii fbc   29-07-10

30

RESULTADOS

Neste capítulo, os resultados obtidos com a aplicação da técnica de Filtragem Baseada

em Conteúdo nos dados de visualização de TV fornecidos pelo IBOPE são apresentados mais

detalhadamente. A porcentagem de acerto de cada domicílio é apresentada em forma de

gráficos e o modo como esses foram gerados também é explicitado.

Para todos os domicílios, foram feitas planilhas utilizando o Excel que contabilizam

quantos gêneros a consulta SQL de comparação acertou. Como o número de recomendações

geradas foi 5, então, a fórmula base para o cálculo da porcentagem de acerto utilizada foi:

Equação 6 – Fórmula que calcula a porcentagem de acerto de acordo com o número de

recomendações geradas

Além disso, também se calculou a média da porcentagem de acerto para o número de

recomendações geradas, utilizando a seguinte fórmula indicada na equação 7:

Equação 7 – Fórmula que calcula a média da porcentagem de acerto de acordo com o número

de dias monitorados

As Tabelas 6 e 7 apresentam os resultados obtidos para o Apriori após a aplicação das

equações acima. A sigla A indica acertos, a sigla R, recomendações e a D, domicílio. Os

gráficos de 25 a 30 apresentam a média alcançada para cada um dos domicílios nos 14 (não há

informação para o dia 20/03) dias de simulação e a Figura 31 apresenta a média da

4

Page 40: Relatório técnico ii fbc   29-07-10

31

porcentagem de acerto de todos os 6 domicílios com o Apriori. Nota-se que a média total de

acertos não chega a 60%.

Tabela 6 – Resultados do Apriori

D1 D2 D3 D4 D 5 D 6

Dia R. A. % A. % A. % A. % A. % A. %

1 5 1 20% 2 40% 2 40% 2 40% 1 20% 4 80%

2 5 2 40% 2 40% 0 0% 4 80% 2 40% 4 80%

3 5 2 40% 2 40% 1 20% 2 40% 2 40% 4 80%

4 5 2 40% 2 40% 1 20% 2 40% 2 40% 3 60%

5 5 3 60% 2 40% 2 40% 3 60% 2 40% 3 60%

6 5 1 20% 0 0% 1 20% 2 40% 0 0% 2 40%

7 5 2 40% 2 40% 2 40% 4 80% 2 40% 2 40%

8 5 2 40% 2 40% 3 60% 3 60% 2 40% 2 40%

9 5 3 60% 2 40% 3 60% 3 60% 2 40% 3 60%

10 5 4 80% 2 40% 2 40% 2 40% 2 40% 3 60%

11 5 3 60% 2 40% 3 60% 3 60% 2 40% 3 60%

12 5 3 60% 2 40% 1 20% 2 40% 2 40% 3 60%

13 5 0 0% 3 60% 1 20% 3 60% 0 0% 3 60%

14 5 2 40% 3 60% 2 40% 2 40% 2 40% 0 0%

soma 70 30 6 28 5,60 24 4,80 37 7,40 23 4,60 39 7,80

média 5 2,14 43% 2 40% 1,71 34% 2,64 53% 1,64 33% 2,79 56%

Figura 25 – % de acerto Apriori Domicílio 1

Page 41: Relatório técnico ii fbc   29-07-10

32

Figura 26 – % de acerto Apriori Domicílio 2

Figura 27 – % de acerto Apriori Domicílio 3

Page 42: Relatório técnico ii fbc   29-07-10

33

Figura 28 – % de acerto Apriori Domicílio 4

Figura 29 – % de acertoApriori Domicílio 5

Page 43: Relatório técnico ii fbc   29-07-10

34

Figura 30 – % de acertoApriori Domicílio 6

Figura 31 - % de acerto Apriori todos os domicílios

Page 44: Relatório técnico ii fbc   29-07-10

35

A Tabela 7 apresenta os resultados obtidos para o Cosseno pela aplicação das

equações 6 e 7. A sigla A indica acertos, a sigla R, recomendações e a D, domicílio. Os

gráficos de 32 a 37 apresentam a média alcançada para cada um dos domicílios nos 14 dias de

simulação e a Figura 38 apresenta a média da porcentagem de acerto de todos os 6 domicílios

com o Cosseno. Nota-se que a média de acerto aproxima-se de 90%.

Tabela 7 – Resultados do Cosseno

D1 D2 D3 D4 D 5 D 6

Dia R. A. % A. % A. % A. R. A. % A. %

1 5 1 20 2 40 2 40 3 60 2 4% 5 100

2 5 2 40 3 60 2 40 3 60 4 80 5 100

3 5 2 40 4 80 1 20 4 80 2 40 3 60

4 5 4 80 4 80 4 80 4 80 4 80 4 80

5 5 3 60 4 80 4 80 2 40 3 60 3 60

6 5 2 40 2 40 1 20 2 40 1 20 2 40

7 5 3 60 5 100 4 80 5 100 4 80 5 100

8 5 1 20 4 80 2 40 5 100 2 40 5 100

9 5 3 60 5 100 4 80 5 100 4 80 5 100

10 5 5 100 5 100 3 60 3 60 2 40 5 100

11 5 4 80 5 100 2 40 5 100 2 40 5 100

12 5 3 60 4 80 1 20 4 80 2 40 5 100

13 5 2 40 4 80 1 20 2 40 0 0 2 40

14 5 5 100 5 100 4 80 4 80 2 40 5 100

soma 70 40 8 56 11,2 35 7 51 10,2 34 6,8 59 11,8

média 5 2,86 57 4,00 80 2,50 50 3,64 73 2,43 49 4,21 84

Figura 32 – % de acerto Cosseno domicílio 1

Page 45: Relatório técnico ii fbc   29-07-10

36

Figura 33 – % de acerto Cosseno domicílio 2

Figura 34 – % de acerto Cosseno domicílio 3

Page 46: Relatório técnico ii fbc   29-07-10

37

Figura 35 – % de acerto Cosseno domicílio 4

Figura 36 – % de acerto Cosseno domicílio 5

Page 47: Relatório técnico ii fbc   29-07-10

38

Figura 37 – % de acerto Cosseno domicílio 6

Figura 38 – % de acerto Cosseno todos os domicílios

Page 48: Relatório técnico ii fbc   29-07-10

39

As Tabelas 8 e 9 mostram a comparação entre os dois métodos e as Figuras de 39 a 44

apresentam os gráficos que comparam as porcentagens de acerto de cada um dos métodos

para cada domicílio. A Figura 45 ilustra a comparação das médias atingidas para cada

domicílio. Percebe-se que há uma diferença razoável entre as técnicas. A sigla Ac significa

acertos, a sigla C, cosseno e a sigla Ap, Apriori.

Tabela 8 - Comparação entre Apriori e Cosseno domicílios 1-3.

D1 D2 D3

Dia R Ac C Ac Ap Ac C Ac Ap Ac C Ac Ap

1 5 1 20% 1 20% 2 40% 2 40% 2 40% 2 40%

2 5 2 40% 2 40% 3 60% 2 40% 2 40% 0 0%

3 5 2 40% 2 40% 4 80% 2 40% 1 20% 1 20%

4 5 4 80% 2 40% 4 80% 2 40% 4 80% 1 20%

5 5 3 60% 3 60% 4 80% 2 40% 4 80% 2 40%

6 5 2 40% 1 20% 2 40% 0 0% 1 20% 1 20%

7 5 3 60% 2 40% 5 100% 2 40% 4 80% 2 40%

8 5 1 20% 2 40% 4 80% 2 40% 2 40% 3 60%

9 5 3 60% 3 60% 5 100% 2 40% 4 80% 3 60%

10 5 5 100% 4 80% 5 100% 2 40% 3 60% 2 40%

11 5 4 80% 3 60% 5 100% 2 40% 2 40% 3 60%

12 5 3 60% 3 60% 4 80% 2 40% 1 20% 1 20%

13 5 2 40% 0 0% 4 80% 3 60% 1 20% 1 20%

13 5 5 100% 2 40% 5 100% 3 60% 4 80% 2 40%

Soma 70 40,00 8,00 30,00 6,00 56,00 11,20 28,00 5,60 35,00 7,00 24,00 4,80

Média 5,00 2,86 57% 2,14 43% 4,00 80% 2,00 40% 2,50 50% 1,71 34%

Tabela 9 – Comparação entre Apriori e Cosseno domicílios 4-6.

D4 D5 D6

Dia R Ac C Ac Ap Ac C Ac Ap Ac C Ac Ap

1 5 3 60% 2 40% 2 40% 1 20% 5 100% 4 80%

2 5 3 60% 4 80% 4 80% 2 40% 5 100% 4 80%

3 5 4 80% 2 40% 2 40% 2 40% 3 60% 4 80%

4 5 4 80% 2 40% 4 80% 2 40% 4 80% 3 60%

5 5 2 40% 3 60% 3 60% 2 40% 3 60% 3 60%

6 5 2 40% 2 40% 1 20% 0 0% 2 40% 2 40%

7 5 5 100% 4 80% 4 80% 2 40% 5 100% 2 40%

8 5 5 100% 3 60% 2 40% 2 40% 5 100% 2 40%

9 5 5 100% 3 60% 4 80% 2 40% 5 100% 3 60%

10 5 3 60% 2 40% 2 40% 2 40% 5 100% 3 60%

11 5 5 100% 3 60% 2 40% 2 40% 5 100% 3 60%

12 5 4 80% 2 40% 2 40% 2 40% 5 100% 3 60%

13 5 2 40% 3 60% 0 0% 0 0% 2 40% 3 60%

13 5 4 80% 2 40% 2 40% 2 40% 5 100% 0 0%

Soma 70 51 10,20 37 7,40 34 6,80 23 4,60 59 11,80 39 7,80

Média 5 3,64 73% 2,64 53% 2,43 49% 1,64 33% 4,21 84% 2,79 56%

Page 49: Relatório técnico ii fbc   29-07-10

40

Figura 39 – Comparação entre Apriori e Cosseno domicílio 1

Figura 40 – Comparação entre Apriori e Cosseno domicílio 2

Page 50: Relatório técnico ii fbc   29-07-10

41

Figura 41 – Comparação entre Apriori e Cosseno domicílio 3

Figura 42 – Comparação entre Apriori e Cosseno domicílio 4

Page 51: Relatório técnico ii fbc   29-07-10

42

Figura 43 – Comparação entre Apriori e Cosseno domicílio 5

Figura 44 – Comparação entre Apriori e Cosseno domicílio 6

Page 52: Relatório técnico ii fbc   29-07-10

43

Figura 45 – Comparação entre Apriori e Cosseno todos os domicílios

Page 53: Relatório técnico ii fbc   29-07-10

44

RESULTADOS

Durante a execução dos testes, foi possível observar algumas peculiaridades. O sistema

proposto recomenda conteúdos com base nos gêneros dos programas e as análises foram

realizadas de acordo esse parâmetro. Com o algoritmo Apriori, o formato dos dados já é

adequado ao uso. Para o Cosseno, o EPG necessita ser alterado para uma matriz antes de

iniciar o processo de descoberta de perfis e recomendações.

O Apriori é capaz de minerar apenas o histórico de visualização do usuário, descobrindo

o seu perfil a partir das regras. Para selecionar os programas a serem recomendados, outra

técnica deve ser utilizada. O Cosseno, no entanto, pode fazer as duas coisas. Entretanto, o

Apriori consegue descobrir outras características no histórico do usuário, como, por exemplo:

se o usuário permanece na frente da TV com mais frequência no período noturno, se gosta de

ver filmes e se assiste TV com mais frequência na segunda-feira.

O Cosseno não permite descobrir essas características, mas consegue atingir o objetivo.

Para descobrir comportamentos parecidos com os indicados pelas regras de associação, é

necessário fazer consultas mais complexas ao banco de dados.

A saída do Apriori deve ser trabalhada para gerar o perfil correto do usuário, isto é, as

regras devem ser interpretadas, o que em termos de implementação, é algo trabalhoso. A saída

do Cosseno é mais legível; seu resultado ilustra o objetivo pretendido diretamente, permitindo

que a saída seja usada sem a necessidade de um pós-tratamento.

Já em relação à entrada, para o Apriori, não há necessidade de tratamento, já que os

dados serão usados da forma como são coletados. Para o Cosseno, no entanto, sempre que o

EPG for atualizado, a tabela que contém a matriz do EPG deverá ser modificada de acordo

com o novo EPG, o que demanda trabalho extra.

O processo de fornecimento e a aceitação de recomendações, calculando a

porcentagem de acerto e gerando gráficos, foram simulados com duas técnicas. Apesar de

ambas cobrirem as necessidades do sistema, o Cosseno é o que pode ser melhor aproveitado.

O perfil relativo ao gênero encontrado por ambos os algoritmos é semelhante.

5

Page 54: Relatório técnico ii fbc   29-07-10

45

Em um desktop, como foi o caso dos testes realizados, o retorno do cálculo do Cosseno

é mais rápido em relação ao retorno das regras de associação do Apriori. Entretanto, estudos

mais aprofundados a respeito do consumo de processamento desses algoritmos em um celular

com TVDI (Televisão Digital Interativa) ainda não é possível no Brasil, pois. O tempo que

todo o processo de recomendação leva para ser concluído varia de acordo com a técnica de

personalização empregada. Nos testes e nas simulações realizadas, o Cosseno finaliza o

processo antes do Apriori.

Os estudos realizados mostram que, apesar de ambos os algoritmos atenderem às

necessidades, o Cosseno apresenta melhores resultados para aplicação no sistema de

recomendação para TVDPI (Televisão Digital Portátil Interativa).

Page 55: Relatório técnico ii fbc   29-07-10

46

REFERÊNCIAS BIBLIOGRÁFICAS

ABNT 15603-2. Norma Brasileira. Televisão Digital Terrestre – Multiplexação e

serviços de informação (SI) Parte 2: Estrutura de dados e definições da

informação básica de SI. Versão 3, 21/09/2009, 129 páginas.

ADOMAVICIUS, G.; Tuzhilin, A. Towards the Next Generation of

Recommenders Systems: A Survey of the State-of-the-Art and Possible

Extensions. IEEE Transactions on Knowledge and Data Engineering, vol. 17, Issue 6,

p. 734-749, June 2005.

ÁVILA, P. M. Recommender TV: Suporte ao Desenvolvimento de Aplicações de

Recomendação para o Sistema Brasileiro de TV Digital. Dissertação de Mestrado.

90 páginas, 2010.

BÄR, A. et al. A Lightweight Mobile TV Recommender: Towards a One-Click-to-

Watch Experience. In Proceedings 6th European Interactive TV Conference, p.142-

147, Salzburg, Áustria, 03-04/07/2008.

BELKIN, Nicholas J.; CROFT, W. Bruce. Information filtering nad information

retrieval: Two sides of the same coin? In Communications of the ACM, December

1992, vol. 35, Nº 12, p. 29-38.

BOZIOS, T. et al. Advanced Techniques for Personalized Advertising in a Digital

TV Environment: The iMedia System. In Proceedings of the eBusiness and eWork

Conference, p. 1025-1031, IOS press, 2001.

Page 56: Relatório técnico ii fbc   29-07-10

47

CHOI, J. Y.; KOH, D.; LEE, J. Ex-ante simulation of mobile TV market based on

consumers’ preference data. In Proceedings of the Technological Forecasting &

Social Change, p. 1043-1053, 2007.

CHORIANOPOULOS, K. Personalized and mobile digital TV applications. In

Proceedings of the Multimedia Tools and Aplications, p. 1- 10, vol.36, 27 January

2007.

DAS, D. and ter HORST, H. Recommder Systems for TV. In Proceedings of 15 th

AAAI Conference, Madison, Wisconsin, July 1998.

EINARSSON, O. P. Content Personalization for Mobile TV Combining Content-

Based and Collavorative Filtering. Master Thesis. Center for Information and

Communication Technologies. Technical Univesity of Denmark. August 22, 2007.

FOLTZ, W. Peter; Dumais, T. Susan. Personalized Information Delivery: Na

analysis of Information Filtering Methods. In Communications of the ACM,

December 1992, vol. 35, Nº 12, p. 51-60.

GUTTA, S. et al. TV Content Recommender System. In Proceedings of the 17th

National Conference of AAAI, Austin, TX, 2000.

LUCAS, A. Personalização para Televisão Digital utilizando a estratégia de

Sistema de Recomendação para ambientes multiusuário. Dissertação de Mestrado.

103 páginas. 2009.

MAIA, Luiz Cláudio Gomes; SOUZA, Renato Rocha. Medidas de similaridade em

documentos eletrônicos. In Encontro Nacional de Pesquisa em Ciência da

Informação, IX, 28/09-01/10/2008, São Paulo. Anais. USP, 2008. Disponível em:

<http://www.luizmaia.com.br/index2.php?

option=com_docman&task=doc_view&gid=3&Itemid=30>.

Acesso em: 03/10/2008.

Page 57: Relatório técnico ii fbc   29-07-10

48

MARCHI, Késsia Rita de Costa. Sistemas de Recomendação. Uma abordagem

geral. Paraná: UEM/DI/PPG-CC, 2008. 30 p. Seminário. Disponível em:

<http://kessia.blogs.unipar.br/files/2008/07/sistemas-de-recomendacao.pdf.>. Acesso

em: 10/10/2008.

REATEGUI, Eliseo Berni; CAZELLA, Sílvio César. Sistemas de Recomendação. In

25.° Congresso da Sociedade Brasileira de Computação, 22-29/06/2005, Rio Grande

do Sul. Anais do Encontro Nacional de Inteligência Artificial, São Leopoldo:

UNISINOS, 2005. p. 306-348. Disponível

em:<http://www.unisinos.br/_diversos/congresso/sbc2005/_dados/anais/

pdf/arq0287.pdf>. Acesso em: 04/10/2008.

RESNICK, P.; VARIAN, H. R. Recommender Systems. Communications of the ACM,

New York, vol. 40, n. 3, p. 77-87, March 1997.

SILVA, F. S. Personalização de Conteúdo na TVDI Através de um Sistema de

Recomendação Personalizada de Programas de TV (SRPTV). In III Fórum de

Oportunidades em Televisão Digital Interativa, Poços de Caldas, Minas Gerais, Brasil,

2005.

SILVA, S. P., Marcelino. Conceitos, Aplicações e Experimentos com Weka. In

ESCOLA REGIONAL DE INFORMÁTICA, IV, 2004, Rio de Janeiro. Livro da

Escola Regional de Informática Rio de Janeiro. Espírito Santo: 2004, 20p. Disponível

em: <www.dpi.inpe.br/~mpss/artigos/

MineracaoDeDados2004.pdf>. Acesso em: 5/10/2008.

SOLLA, A. G. et al. ZapTV: Personalized User-Generated Content for Handheld

Devices in DVB-H Mobile Newtorks. In Proceedings 6th European Interactive TV

Conference, p.193-203, Salzburg, Áustria, 03- 04/07/2008.

Page 58: Relatório técnico ii fbc   29-07-10

49

TORRES, Roberto. Personalização na Internet. São Paulo: Novatec Editora, 2004.

158p.

URIBE, S. et al. Mobile TV Targeted Advertisement and Content Personalization.

In 16th International Workshop Conference on Systems, Signals and Image

Processing, Chalkida, Greece, 18-19/06/2009.

WITTEN, I. H.; FRANK, E. Data Mining: Practical Machine Learning Tools and

Techniques, 2nd Edition, Morgan Kaufmann, 525 pages, June 2005.

YU, Z. et al. TV program recommendation for multiple viewers based on user

profile merging. In Proceedings of the User Model User-Adap Inter, p. 63-82, 2006.