Você está na página 1de 10

Construção de Sistemas de Recomendação Baseados em Filtragem

Híbrida para TV Digital Interativa


Henrique Wammes Petri

Graduando em Ciência da Computação – Universidade Regional Integrada (URI) –


Campus Santo Ângelo – Santo Ângelo, RS
iquepetri@gmail.com
Resumo. Este artigo aborda o desenvolvimento de Sistemas de Recomendação
de Programas de TV para TV Digital Interativa através da combinação das
técnicas de filtragem baseada em conteúdo e colaborativa no mesmo sistema.
Essas duas técnicas podem ser aplicadas em um mesmo sistema de
recomendação explorando os mesmos recursos de armazenamento de
informações e requisitos de software. A arquitetura apresentada neste
trabalho permite a abordagem destas duas técnicas, de forma que seja
possível combiná-las para atingir melhores resultados.
Abstract. This paper discusses the development of Recommender Systems for
TV Programs for Interactive Digital TV by combining the content-based and
collaborative techniques in the same system. These two techniques can be
applied to a unique recommender system by exploiting the same resources
information storage and software requirements. The architecture presented in
this paper allows the approach of these two techniques so that you can
combine them to achieve better results.

1. Introdução
Sistemas de recomendação são programas que, através da coleta, recuperação e
filtragem de informações [Reategui 2005], tentam prever o gosto do usuário para
recomendar itens de seu interesse. Estes programas são aplicados em ambientes onde a
sobrecarga de informação torna inviável qualquer forma de pesquisa manual por
conteúdo relevante [Burke 2002].
Partindo dos conceitos estudados sobre sistemas de recomendação, este trabalho
explorou duas características principais da TV Digital. Uma delas é o aumento da grade
de programação oferecida que pode ocorrer graças à compactação do sinal, que permite
a possibilidade de transmitir quatro vezes mais conteúdo do que na transmissão
analógica [Montes 2004] [Fernandes 2006]. Esse aumento na grade de programação
pode tornar a TV um ambiente sobrecarregado de informações, fato que inviabiliza a
pesquisa manual por conteúdo relevante. Da mesma forma que um usuário pode não
conseguir ter acesso a melhor programação para ele, algumas operadoras de TV Digital
correm o risco de seu conteúdo nem chegar ao conhecimento de muitos usuários.
Outra característica da TV Digital é o fato de que além dos fluxos de áudio e
imagem, a transmissão digital permite também o fluxo de dados. O fluxo de dados
permite a execução de aplicativos, que por sua vez, pode ser utilizado como recurso de
interatividade [Brackman 2008]. Explorando o contexto ocupado por essas duas
características apresentadas, podem ser aplicados os sistemas de recomendação como
forma de solucionar os problemas originados da sobrecarga de programação e como
recurso de interatividade com os usuários.
A construção de Sistemas de recomendação para TV Digital Interativa
abordando técnicas de filtragem de informação já foi explorada em vários trabalhos. Por
exemplo, Das [Das 1998] aborda o desenvolvimento de sistemas de recomendação para
TV utilizando filtragem de informação baseada em conteúdo, enquanto Björk [Björk
2008] apresenta a filtragem colaborativa em recomendações para TV Interativa. Na
bibliografia brasileira Amestoy [Amestoy 2007] também aborda a filtragem
colaborativa em sistemas de recomendação para TV, enquanto Silva [Siva 2009]
apresenta uma arquitetura para oferecer suporte à construção de sistemas de
recomendação baseados no contexto do usuário. Moraes [Moraes 2010] propõe uma
abordagem híbrida através da utilização das técnicas de filtragem baseada em conteúdo
e as regras de associação para a recomendação de programas no contexto da TV Digital
Interativa, porém, a literatura bibliográfica sobre abordagens híbridas de filtragem na
construção de sistemas de recomendação para TV é bastante limitada. Neste trabalho foi
proposta a integração das técnicas de filtragem baseada em conteúdo e de filtragem
colaborativa para recomendações na TV Digital Interativa.
O desenvolvimento de aplicações, como sistemas de recomendação, para o
ambiente da TV Digital Interativa envolve um novo paradigma de programação, fato
que exige que os métodos de identificação de usuário e de coleta de informações sejam
aplicados de maneira adequada. Portanto, a proposta deste trabalho foi elaborada através
do estudo das técnicas de filtragem baseada em conteúdo, colaborativa e híbrida, e da
análise do contexto da TV Digital Interativa.

2. Sistemas de Recomendação
Os sistemas de recomendação começaram a ser estudados com o objetivo de solucionar
problemas referentes à busca de informações relevantes em ambientes onde a
quantidade de informação disponível torna inviável qualquer forma de pesquisa. Um
sistema de recomendação deve funcionar como um servidor capaz de recuperar, para
determinado usuário, suas preferências explícitas, implícitas, conteúdo e ofertas
relacionadas a itens nos quais já mostrou interesse [Burke 2002].
O interesse na área dos sistemas de recomendação continua elevado graças à
riqueza de aplicações práticas existentes onde é interessante ajudar os usuários a
interagir com ambientes que apresentam sobrecarga de informações e fornecer
recomendações personalizadas aos usuários [Adomavicius 2005]. A sobrecarga de
informações na TV Digital a torna um ambiente com uma aplicação prática para
sistemas de recomendação.
Um sistema de recomendação faz uso de diferentes estratégias de recomendação
para seleção de conteúdo. Essas estratégias de recomendação são baseadas,
principalmente, em dois tipos de arquitetura [Reategui 2005]. Uma delas aborda
técnicas de filtragem de informação e a outra aborda mineração de dados. Este trabalho
aborda a construção de sistemas de recomendação baseados em técnicas de filtragens de
informação para TV Digital Interativa, por isso apenas este tipo de arquitetura é
apresentado.
Figura 1. Estrutura de um Sistema de Recomendação baseado em
técnicas de filtragem de informação [ Reategui 2005]

O processo de construção de um sistema de recomendação deve levar em


consideração três etapas: identificação do usuário, coleta de informações sobre o usuário
e por fim o processo de filtragem de informação. Estes são descritos a seguir, conforme
Reategui [Reategui 2005]:
2.1. Identificação do usuário
Para aplicação em sistemas de recomendação para TV Digital Interativa onde uma TV
pode ser chamada de estação de usuários, por exemplo, pode ser utilizada a
identificação no cliente, de forma que, uma vez que a TV seja ligada, a estação seja
automaticamente reconhecida no servidor. Dessa maneira, o sistema pode monitorar
todas as atividades efetuadas em uma estação ligada.
Por outro lado, a TV encontra-se num contexto geralmente composto por mais
de um usuário, e para gerar recomendações adequadas é importante identificar qual o
usuário da estação que está utilizando a TV em cada momento [Ávila 2010].
2.2. Coleta de informações
Na coleta explícita, o usuário informa suas preferências de maneira espontânea e um
servidor as armazena, podendo, o usuário, adicionar ou remover livremente suas opções.
A avaliação explícita de itens também pode ser considerada como uma forma de coleta
explícita de informações. No caso da TV, pode ser avaliado o programa que está sendo
assistido em uma estação, por exemplo.
Já na forma implícita, o sistema infere informações a respeito do usuário a partir
de ações realizadas por ele. O sistema tenta prever o gosto do usuário a partir do seu
comportamento. Para coletar informações de forma implícita em sistemas de
recomendação para TV, pode ser armazenado todo o histórico de navegação da estação,
além das avaliações explícitas, das quais podem ser inferidas informações sobre os
gostos dos usuários da estação.
2.3. Filtragem de informações
As técnicas de filtragem de informação vêm sendo estudadas sob dois paradigmas
principais: filtragem baseada em conteúdo e filtragem colaborativa [de Gemmis 2009].
Ambas compreendem diferentes processos de filtragem que podem apresentar-se
melhor em ambientes específicos [Burke 2002]. Para torná-las mais eficientes é possível
combinar a aplicação das duas técnicas originando, desta maneira, uma abordagem
híbrida de filtragem.
3. Técnicas de filtragem de informação
3.1. Filtragem baseada em conteúdo
Essa técnica faz a filtragem através da comparação do conteúdo dos itens analisados
com o conteúdo que o usuário procura, de acordo com o seu perfil. Cada item apresenta
uma descrição de seu conteúdo da mesma forma que cada usuário possui uma lista de
gostos e preferências.
O perfil de um usuário pode ser preenchido de maneira explícita, implícita ou das
duas formas. A coleta implícita de informações pode ocorrer quando o usuário avalia
um conteúdo que ele analisa. Essa avaliação pode ser realizada através de uma nota em
uma escala ou de uma indicação positiva ou negativa. Através dessa nota pode chegar-
se a uma conclusão sobre a relevância do material. Se for analisado que o material é
relevante, então o sistema conclui que as categorias a que pertence o item também são
de interesse do usuário.
Para a busca de itens relevantes ao usuário o sistema analisa todos os itens
disponíveis procurando a ocorrência dos termos relacionados às suas preferências. Os
itens que apresentarem maior ocorrência desses termos serão considerados relevantes ao
usuário e, portanto, recomendados ao mesmo [Meteren 2000].
3.2. Filtragem colaborativa
Em um sistema de recomendação que utiliza filtragem colaborativa, um usuário recebe
a recomendação de itens que receberam avaliações relevantes de outros usuários que
apresentam similaridades entre seus perfis [Adomavicius 2005]. A filtragem
colaborativa parte do principio de usuários que gostam dos mesmos itens e que avaliam
itens com as mesmas notas, apresentam os mesmos gostos e preferências [de Gemmis
2009].
A primeira etapa do processo de filtragem colaborativa é identificar usuários que
apresentam interesses peculiares através de comparações entre perfis, formando o que
podem ser chamados de grupos sociais. Um perfil de usuário na filtragem colaborativa
geralmente consiste em estruturas de persistência compostas por itens e suas avaliações,
além de suas preferências [Burke 2002]. Após isso os usuários são classificados de
acordo com um grau de similaridade. E, por fim, os itens melhor avaliados por um
grupo de usuários compatíveis são considerados de maior relevância [Oliveira 2004].

4. TV Digital Interativa
Além dos fluxos de vídeo e de áudio, a transmissão digital pode difundir outro tipo de
fluxo, que genericamente pode ser chamado de fluxo de dados. Esses dados podem ser
aplicativos, já que os receptores ou os televisores podem ter capacidade de
processamento e armazenamento [Fernandes 2006]. O fluxo de dados facilita a
exploração de mais uma característica na TV Digital: a interatividade.
TV Digital e TV Interativa possuem conceitos diferentes. TV Digital é,
simplesmente, a transmissão digital de sinais audiovisuais. Enquanto, embora não
possua um conceito consolidado, TV interativa é aquela onde o telespectador possui um
canal de interatividade para se comunicar com a emissora, onde a TV deixa de ser
unidirecional [Fernandes 2006].
A interatividade entre o usuário e televisão pode ser alcançada através da
execução de aplicativos e do envio e recebimento de dados juntamente à transmissão do
sinal digital. Na figura 3.1 pode ser visualizada a estrutura básica de um sistema de TV
Digital Interativa extraída de Montez [Montes 2004].

Figura 2. Modelo de um sistema de TV Digital Interativa [MON04]

O Provedor de Serviço de Interação pode trabalhar de forma independente de um


Provedor de Serviço de Difusão. Isso pode acontecer com frequência quando o meio de
transmissão utilizado é via satélite ou difusão terrestre, devido à dificuldade em
estabelecer um canal de retorno utilizando a mesma ligação de transmissão.

5. Sistemas de Recomendação para TV Digital Interativa


Sistemas de recomendação para TV se diferem em vários aspectos dos sistemas de
recomendação para computadores. Enquanto que usuários de TV buscam, em geral,
apenas entretenimento, usuários de computador costumam se empenhar em tarefas
específicas. Outro aspecto importante é que a TV, normalmente, apresenta-se em um
contexto doméstico e o computador, muitas vezes encontra-se em um contexto
profissional. Além de tudo, é comum usuários assistirem TV em grupo e o computador
ser acessado individualmente [Das 1998].
Alguns desafios que podem ser encontrados no desenvolvimento de sistemas de
recomendação para TV são requerimentos de escalabilidade e serviços em tempo real,
dificuldades em coletar avaliações de usuários e dificuldades em coletar informações
sobre descrições do conteúdo da TV.
Um fator a ser criteriosamente considerado em sistemas de recomendação para
TV é a coleta de informações do usuário e principalmente sobre os materiais oferecidos
pelas emissoras. Qual mecanismo deve ser utilizado para a coleta de informações sobre
o usuário? De onde retirar informações sobre a programação das operadoras de TV?
Onde armazenar essas informações?
E quanto à escalabilidade, alguns programas podem sair de exibição, da mesma
forma que muitos outros novos programas surgem frequentemente. Os programas
extintos não podem continuar nas recomendações e os novos não podem ficar
esquecidos. Enfim, um sistema de recomendação para TV tem muitas características
que o diferem dos sistemas para computadores, embora, as mesmas etapas do processo
de construção possam ser seguidas.
6. Proposta
A arquitetura que permite a implementação de Sistemas de Recomendação para TV
Digital Interativa baseado em filtragem híbrida foi projetada a partir adaptação da
arquitetura do PersonalTVware [Silva 2009]. O modelo desta arquitetura pode ser
visualizado na figura 3.

Figura 3. Arquitetura do Sistema

Na arquitetura apresentada neste trabalho, e visualizada na figura 3, existe um


módulo gerenciador de recomendação que faz a ponte entre as estratégias de
recomendação. Devido à limitação dos recursos computacionais dos dispositivos de
acesso, os módulos correspondentes às estratégias de recomendação ficam localizados
no provedor de serviços.
O módulo Gerenciador de Contexto de Usuário é responsável pelo acesso,
aquisição de forma implícita e conversão das informações do contexto do usuário. As
informações extraídas a partir do contexto do usuário são dados como identificação de
usuário, dia e hora de acesso, localização, dispositivo de acesso a recomendação e
programa assistido. O módulo Gerenciador de Perfil de Usuário é responsável pelo
acesso e aquisição de forma explícita das informações que constituem o perfil do
usuário. O usuário pode especificar dados pessoais e preferências. Tanto as informações
de contexto de usuário como as de perfil de usuário são representada através de
metadados XML [Oliveira 2009].
Existem três repositórios de metadados: o repositório de metadados do perfil de
todos os usuários deve possuir uma lista com todas as estações registradas no sistema e
com os dados, gostos e preferências de todos os usuários de cada estação, além da lista
de programas avaliados; o repositório de metadados do contexto de todos os usuários
contém o histórico de navegação de cada estação; e, por fim, existe o repositório de
metadados com as descrições dos programas de TV.
O módulo Interpretador de Contexto de Usuário ou Interface é responsável por
inferir preferências implícitas por canais e gêneros de programas de TV a partir da
interpretação das informações de contexto atuais e passadas, obtidos por meio do
módulo Gerenciador de Contexto de Usuário. A abordagem utilizada para executar a
inferência é a técnica de raciocínio baseado em regras.
O Gerenciador de Metadados fornece suporte aos demais módulos da arquitetura
sendo responsável pela recuperação, armazenamento e validação dos metadados. Este
módulo atua como mediador entre os demais módulos e a base de metadados. Os
módulos Coletores de Programas são responsáveis por capturar informações referentes
aos programas de TV de fontes externas como WEB e SI.
O Módulo de Filtragem Híbrida é onde deve ser abordado o método de
combinação das técnicas baseada em conteúdo e colaborativa cujos respectivos módulos
são responsáveis pelos próprios processos de filtragem de informação.
O processo de filtragem baseada em conteúdo faz a recomendação de um
programa através do cálculo do coeficiente de relevância do seu conteúdo para o usuário
da TV. O cálculo da relevância de um programa p para um usuário u pode ser dado pela
fórmula:

( ) ∑ ( )

Onde v é a lista de afinidades entre usuário u e programa p, w é o grau de


relevância da informação e vi para o programa p. Quanto mais alto for o grau de
relevância encontrado, maior será a confiança que o sistema pode ter sobre a
recomendação do item ao usuário.
O processo de filtragem colaborativa faz a recomendação para determinada
estação de usuários através da busca de programas relevantes para estações de usuários
que sejam similares. A similaridade entre diferentes estações pode ser encontrada
através da seguinte fórmula:

Considerando ra,i, como sendo a avaliação que o usuário a atribuiu para o item i,
a como a média das avaliações do usuário ativo a, m sendo a quantidade de itens, ru,i
como a avaliação que o usuário u atribuiu para o item i e ru sendo a média das
avaliações do usuário ativo u, onde wa,u é a correlação entre o usuário ativo a com o
usuário u, o coeficiente de correlação entre dois usuários é uma valor real em uma
escala entre -1 e 1, onde -1 indica ausência de correlação e 1 indica forte correlação.
Diferentes métodos de combinação podem ser aplicados nesta arquitetura para
integrar as duas técnicas de recomendação. Essa é a função do módulo de Filtragem
Híbrida. No método baseado em pesos ou ponderado e na combinação de itens os
processos de recomendação de cada abordagem são efetuados na mesma etapa e os seus
resultados são combinados para serem apresentados ao usuário. No método por
alternância apenas um processo é efetuado a cada vez que é requisitada uma
recomendação. No método baseado em estágios os processos de cada técnica são
aplicados em etapas diferentes. O fluxo de dados que deve ocorrer para permitir a
implementação desses métodos de combinação pode ser visualizado na figura 4.

Figura 4. Fluxo de dados nos módulos de filtragem

O Módulo de Filtragem Híbrida é responsável pelo envio dos programas


filtrados para o Gerenciador de Recomendações no Dispositivo de Usuário. Este módulo
também recebe as informações coletadas no Dispositivo de Usuário e para os
gerenciadores de Perfis e Contextos de Usuários.

7. Conclusão
Os sistemas de recomendação são aplicados em ambientes onde o excesso de
informação inviabiliza a pesquisa manual por conteúdo relevante e têm o objetivo de
oferecer conteúdo para o usuário tentando prever o seu gosto através da coleta,
recuperação e filtragem de informações. A TV Digital Interativa pode ser considerada
um ambiente que permite aplicação prática de sistemas de recomendação.
No processo de construção de sistemas de recomendação para TV Digital
Interativa podem ser consideradas as etapas de identificação do usuário, coleta de
informações e filtragem de informação. A identificação do usuário pode ser dividida em
duas partes. Na primeira existe o reconhecimento do dispositivo de usuário registrado
no sistema, que pode ser chamado de estação de usuários, que pode ocorrer no momento
em que ela é ligada e estabelece conexão com o provedor do serviço. Depois é
importante identificar qual o usuário da estação que está acessando o dispositivo.
A coleta de informações sobre uma estação e seus usuários pode ser realizada
através do preenchimento explícito dos gostos e preferências, das avaliações dos
programas e pela análise do histórico de navegação. Já o processo de filtragem de
informação pode ocorrer abordando mais de uma técnica de filtragem no mesmo
sistema, atingindo, dessa forma, uma abordagem híbrida.
As mesmas bases de metadados podem ser utilizadas para abordar as técnicas de
filtragem baseada em conteúdo e colaborativa. As únicas diferenças estão no processo
efetuado por cada técnica mesmo tendo acesso as mesmas informações, e no fato de que
a filtragem colaborativa não necessita de todas as descrições dos programas de TV,
apenas do horário em que os programas são transmitidos.
A abordagem das duas técnicas no mesmo sistema não exige um aumento
significativo nos recursos de informações necessários para os dois diferentes processos
de recomendação. Tanto filtragem baseada em conteúdo quanto a filtragem colaborativa
podem trabalhar tendo acesso aos mesmos repositórios de metadados contendo os perfis
dos usuários, os históricos de navegação das estações e as descrições dos programas de
TV.

8. Referências Bibliográficas
Reategui e Cazella (2005) Sistemas de Recomendação. XXV Congresso da Sociedade
Brasileira de Computação, São Leopoldo – RS, julho de 2005.
Burke, R. Hybrid (2002) Recommender Systems: Survey and Experiments. California
State University, Department of Information Systems and Decision Sciences,
Fullerton – California, EUA, 2002.
Montez, Carlos; Becker, Valdecir (2004) TV Digital Interativa: Conceitos e
Tecnologias. In: WebMidia e LA-Web 2004 – Joint Conference. Ribeirão Preto,
SP, Outubro de 2004.
Fernandes, Jocimar (2006) TV DIGITAL INTERATIVA, Escola Superior Aberta do
Brasil, Vitória - ES, Brasil, 2006.
Brackmann, Christian Puhlmann (2008) Sistema Brasileiro de TV Digital. Universidade
Católica de Pelotas. Pelotas – RS, Brasil, novembro de 2008.
Das e Horst (1998) Recommender Systems for TV, AAAI Technical Report WS,
agosto de 1998.
Amestoy, Zschornack e Silveira (2007) Sistema de Recomendação para Programas de
Televisão, Seminfo 2007, Torres – RS, Brasil.
Björk, Jonas (2008) Personalized TV and Content Recommender – collaborative
filtering in recommender systems. Universidade de Tecnologia de Lulea, Lulea –
Suécia, 2008.
Silva, Pacola e Bressan (2009) PersonalTVware: Uma Proposta de Arquitetura Sensível
ao Contexto para Suporte a Recomendação Personalizada de Conteúdo no
Cenário da TV Digital Interativa (Position Paper), São Paulo – SP, Brasil, 2009.
Moraes, Cardoso, Souza e Cortés (2010) Abordagem Combinada para Recomendação
Personalizada Utilizando o Guia de Programação Eletrônico. III Congresso
Tecnológico, Fortaleza – CE, Brasil, maio de 2010.
Adomavicius, Gediminas e Tuzhilin, Alexander (2005) Toward the Next Generation of
Recommender Systems: A Survey of the State-of-the-Art and Possible
Extensions. IEEE Transactions on Knowledge and Data Engineering, junho de
2005.
Ávila, Paulo Muniz (2010) Recommender TV: Suporte ao Desenvolvimento de
Aplicações de Recomendação para o Sistema Brasileiro de TV Digital. Centro
de Ciências Exatas e de Tecnologia, Universidade Federal de São Carlos, São
Carlos – SP, Brasil, janeiro de 2010.
de Gemmis, Iaquinta, Lops, Musto, Narducci e Semeraro (2009) Preference Learning in
Recommender Systems. Departamento de Ciência da Computação, Universidade
de Bari Aldo Moro, Bari – Itália, 2009.
Meteren, Robin van e Someren, Maarten van (2000) Using Content-Based Filtering for
Recommendation. Universidade de Amsterdam, Holanda, 2000.
Oliveira, C. A. de e Reis, J. F. (2004) Filtragem Colaborativa – uma forma de
personalisar informações. Cientefico. Ano IV, v. I, Salvador – BA, Brasil, 2004.
Oliveira, Spanhol, Giglio, e Spanhol (2009) Aplicações interativas em TVD suportadas
por metadados. XXXII Congresso Brasileiro de Ciências da Comunicação,
Curitiba – PR, Brasil, setembro de 2009.

Você também pode gostar