Filtragem Colaborativa
Ivan Romero Teixeira
Agentes inteligentes 2000.2
Roteiro
• Motivação
• Filtragem de Informações
– Técnicas
• Filtragem Colaborativa
– Estudo de caso
• GroupLens
• Abordagens híbridas
– Estudo de caso
• FAB
• PTV
Grande volume de informações...
• Difícil encontrar
informações importantes
em tempo hábil
• Como encontrar o que
interessa?
– Esforço próprio
– Sorte
– Recomendação de
amigos
Filtragem de informação
• Compreende
– Selecionar informações importantes (filtering in)
– Eliminar informações irrelevantes (filtering out)
– identificação e utilização do perfil do usuário.
• Técnicas de filtragem
– Econômica
– Cognitiva
– Social
Agente de filtragem de
informação - Arquitetura
Cliente
Informação
Servidor
Perfil
Itens
Indexados
Perfil do
usuário
Indexing Engine
Agente de Filtragem
Informação
Perfil do usuário
• Representação da característica do usuário
• Identificação:
– Automática
– Manual
• Representação interna
– Conjunto de exemplos
– Esquema de perfil
Filtragem econômica
• Baseada na relação custo/benefício de
produção e consumo de um item
– Exemplo: Filtro econômico para e-mail
• Uma mensagem postada para muitos destinatários
tem um baixo custo de produção por endereço, então
deve receber baixa prioridade.
• Por outro lado, uma mensagem enviada
exclusivamente para o endereço de um usuário tem
alto custo de produção, então deve receber maior
prioridade.
Filtragem cognitiva
• Baseada no conteúdo (content based)
– Recomenda itens para o usuário baseado na
correlação entre o conteúdo dos itens e as
preferências do usuário.
• Exemplo: relacionar a presença de palavras-chave
num artigo com o perfil do usuário.
– O perfil do usuário pode ser atualizado:
• automaticamente de acordo com o feedback
• manualmente
Filtragem cognitiva - Problemas
• Representação computacional dos itens
analisados
– Como extrair automaticamente atributos
relevantes de música, imagens, filmes ?
• Os itens recomendados são sempre
parecidos com os já vistos
– Como descobrir coisas novas e interessantes?
• Impossível distinguir itens com base na
qualidade, estilo e ponto de vista.
Filtragem social
• Baseia-se no relacionamento entre as
pessoas e suas opiniões
– Exemplo: Filtro social de email
• Se o emissor da mensagem for [email protected],
envie a mensagem para o lixo.
• Filtragem colaborativa
– Itens são recomendados a um
usuário de acordo com suas
avaliações por usuários de
preferências similares.
Filtragem Colaborativa
 Independência do item a ser filtrado
– Os atributos dos itens não precisam ser
determinados
 Podem ser recomendados itens que têm
conteúdo bem diferente dos já conhecidos
pelos usuários
 Baseado no julgamento de humanos
– Não possuem dificuldade quanto a sinônimos,
polisemia e contexto para avaliação.
– Julgamento em outras dimensões: qualidade,
reputação, renome.
Estudo de Caso: GroupLens
• Sistema de filtragem colaborativa para
newsgroups
• Sistema GroupLens
– Prevê notas para artigos, baseando-se em
filtragem colaborativa.
GroupLens (cont.)
• Sistema GroupLens (cont.)
– Permite que os usuários dêem notas aos artigos
que leram.
GroupLens (cont.)
• Sistema utiliza um protocolo para propagar as
notas dos usuários entre todos os servidores
GroupLens
GroupLens (cont.)
• Prevendo notas
– Usuários que concordaram no passado, tendem
a concordar novamente.
– O problema é modelado como uma matriz,
onde as colunas são as pessoas, as linhas são os
artigos e as células contêm as notas dadas pelas
pessoas.
GroupLens (cont.)
Problema como uma matriz
GroupLens (cont.)
• Prevendo notas (cont.)
– Técnica
• Computar os coeficientes de correlação entre os
usuários baseando-se nas suas notas para artigos
anteriores.
• Fazer uma média ponderada entre as notas que o
artigo em consideração recebeu dos outros usuários,
utilizando-se o coeficiente de correlação como peso.
GroupLens (cont.)
Como
prever
essa
nota?
Outras correlações: Meg (+1); Nan (0)
Calculando o coeficiente de
correlação entre Ken e Lee
Nota prevista.
Coerente, pois Ken
normalmente concorda
com Meg e discorda de
Lee
Filtragem colaborativa
Problemas
 Não recomenda itens novos
 Usuário incomum
 Número de usuários insuficiente
 Número insuficiente de itens avaliados pelo
usuário
Sistemas Híbridos
Usando o que cada um tem de melhor
 Itens com atributos
não triviais
 Recomendação de
itens interessantes
sem conteúdo
diretamente
relacionado ao
histórico
 Julgamento em
muitas dimensões
 Sem problemas de
latência para itens
novos
 Bons resultados
mesmo para
usuários incomuns
 Precisão
independente do
número de usuários
Estudo de Caso: FAB
• Sistema de recomendação híbrido de
Páginas WEB.
• Recomenda páginas Web baseado no perfil
do usuário
FAB: Background
• O conteúdo de uma página é representado
considerando apenas as palavras contidas no
texto.
FAB: Notação
• w : representação de uma página WEB
• m : representação dos interesses de um usuário
• r(w,m) : função que determina a pertinência de
uma página dados os interesses do usuário
• u(w,m,s) : atualiza o profile m do usuário, dado
seu feedback s sobre uma página w.
• s : varia desde Excelente (+3) a péssimo (-3).
FAB: Arquitetura
• Modelo vetor-espaço de recuperação de
informação.
– Dicionário d = [d1, d2, ..., dn]
– Cada vetor wW = [w1, w2, ..., wn] é associado a
um documento W, onde wi é o peso de di
Frequência de di em W
Frequência máxima de
uma palavra em W
Número de documentos na coleção
Nº de documentos na
coleção que contém di
FAB: Arquitetura (cont.)
• Relevância da página w para um usuário
• r(w,m) = w.m
(produto interno)
• Atualizando o perfil do usuário
• u(w,m,s) = m + sw
• Para simular a mudança de opinião dos
usuários no decorrer do tempo, atualiza-se
w para 0,97.w a cada fim de dia.
FAB: Vantagens da Arquitetura
 Persistência nas informações de um usuário
 Reutilização do profile
- Exemplo: filtragem de e-mail
 Benefícios para um novo usuário
 Comunidade de usuários “parasitas”
- Profile compartilhado
 Especialização
 Recomendação de itens interessantes sem
conteúdo diretamente relacionado ao histórico
Estudo de Caso: PTV
• Problema
– TV com programação cada vez maior e mais
diversificada.
– Os mais diversos assuntos e gostos.
• Solução
– Guias de TV digitais:
• Sky: 60 canais e 140 telas de programação por dia.
– Guias de TV personalizados.
Arquitetura PTV
Feedback do usuário
• Guias recebidos por e-mail ou celular
(WAP)
Para dar a nota
no programa
Representação do perfil
• Profile schema
– sumário da preferência de programação de um
usuário baseado nos programas avaliados.
ER
Ivan
Genre: Medical
Genre: Comedia
Drama
Drama
Country: USA
Country: USA
Language: English
Language: Português
Cast: Anthony
Cast: Jim Carry
Edwards
Megg Ryan
Similaridade
• Filtro baseado em conteúdo (CBR)
Schema (u )
p

w

sim
f
,
f
PrgSim(Schema(u),p)=  i
i
i 
• Filtro colaborativo
PrfSim(u,u’) =
PrgRank(p,u) =
u
u
r
(
p
)

r
(
p
 i
i ')
p ( u )  p ( u ')
4  p (u )  p (u ' )
 PrfSim(u,u’)
uU
Conclusões
• Filtragem de informação
– Utiliza perfil do usuário para selecionar
informação mais interessante.
• Filtragem baseada em:
– Conteúdo dos itens
– Opinião dos usuário
• Abordagem híbrida aproveita vantagens das
duas abordagens.
Referências
•
•
•
•
•
•
Balabanovic, M. An adaptive web page recommendation service. In Proceedings of the
1st International Conference on Autonomous Agents (Marina del Rey, Calif., Feb. 1997).
Balabanovic, M. and Shoham, Y. FAB: Content-based collaborative recommender.
Commun. ACM 40, 3 (Mar. 1997) 66-72.
Resnick, P., Iacovou, N., Suchak, M., Bergstrom, P., and Riedl, J. GroupLens: An open
architecture for collaborative filtering of netnews. In Proceedings of the ACM Conference
on Computer-Supported Cooperative Work (Chapel Hill, NC) 1994.
Shardanand, U. and Maes, P. Social information filtering: Algorithms for automating
‘word of mouth’. In Proceedings of the Conference on Human Factors in Computing
Systems (CHI95). ACM Press, New York, N.Y., (1995): 210-217.
Smyth, B., and Cotter, P. A personalized television listings service. Commun. ACM 43, 8
(Aug. 2000) 107-111.
Smyth, B., and Cotter, P. Surfing the digital wave: Generating personalized TV listings
using collaborative, case-based recommendation. In Proceedings of the International
Conference on Case-Based Reasoning (Munich, 1999).
Download

Filtragem Colaborativa