Filtragem Colaborativa Filtragem Colaborativa Ivan Romero Teixeira Ivan Romero Teixeira Agentes inteligentes 2000.2 Agentes inteligentes 2000.2
Jan 15, 2016
Filtragem ColaborativaFiltragem Colaborativa
Ivan Romero TeixeiraIvan Romero Teixeira
Agentes inteligentes 2000.2Agentes inteligentes 2000.2
RoteiroRoteiro
• 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...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çãoFiltragem 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 Agente de filtragem de informação - Arquiteturainformação - Arquitetura
Cliente
Agente de Filtragem
InformaçãoInformação
Servidor
Indexing Engine
ItensIndexados
Perfil dousuário
Perfil
Informação
Perfil do usuárioPerfil 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ômicaFiltragem 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 cognitivaFiltragem 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 - ProblemasFiltragem 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 socialFiltragem 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 ColaborativaFiltragem 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: GroupLensEstudo de Caso: GroupLens
• Sistema de filtragem colaborativa para newsgroups
• Sistema GroupLens– Prevê notas para artigos, baseando-se em
filtragem colaborativa.
GroupLens (cont.)GroupLens (cont.)
• Sistema GroupLens (cont.)– Permite que os usuários dêem notas aos artigos
que leram.
GroupLens (cont.)GroupLens (cont.)
• Sistema utiliza um protocolo para propagar as notas dos usuários entre todos os servidores GroupLens
GroupLens (cont.)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.)GroupLens (cont.)Problema como uma matrizProblema como uma matriz
GroupLens (cont.)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.)GroupLens (cont.)
Outras correlações: Meg (+1); Nan (0)
Como prever essa
nota?
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 Filtragem colaborativa ProblemasProblemas
Não recomenda itens novos Usuário incomumNúmero de usuários insuficienteNúmero insuficiente de itens avaliados pelo
usuário
Sistemas HíbridosSistemas HíbridosUsando o que cada um tem de melhorUsando 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: FABEstudo de Caso: FAB
• Sistema de recomendação híbrido de Páginas WEB.
• Recomenda páginas Web baseado no perfil do usuário
FAB: BackgroundFAB: Background
• O conteúdo de uma página é representado considerando apenas as palavras contidas no texto.
FAB: NotaçãoFAB: 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: ArquiteturaFAB: 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 máxima deuma palavra em W
Frequência de di em W
Nº de documentos na coleção que contém di
Número de documentos na coleção
FAB: Arquitetura (cont.)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 ArquiteturaFAB: 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: PTVEstudo 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 PTVArquitetura PTV
Feedback do usuárioFeedback do usuário
• Guias recebidos por e-mail ou celular (WAP)
Para dar a nota no programa
Representação do perfilRepresentação do perfil
• Profile schema– sumário da preferência de programação de um
usuário baseado nos programas avaliados.ER
Genre: Medical
Drama
Country: USA
Language: English
Cast: Anthony
Edwards
Ivan
Genre: Comedia
Drama
Country: USA
Language: Português
Cast: Jim Carry
Megg Ryan
SimilaridadeSimilaridade
• Filtro baseado em conteúdo (CBR)
PrgSim(Schema(u),p)=
• Filtro colaborativo
PrfSim(u,u’) =
PrgRank(p,u) = PrfSim(u,u’)
pi
uSchemaii ffsimw ,)(
)'()(4
)'()()'()(
upup
prprupup
ui
ui
Uu
ConclusõesConclusõ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ênciasReferê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).