Filtragem Colaborativa
João Carlos
Jobert Sá
• Introdução;
• Desafios da Filtragem Colaborativa;
• Técnicas
o Model-based;
o Memory-based;
• Casos de estudo;
Introdução
• Quantidade crescente quantidade de informação disponível;
Introdução
• Pessoas confiam em recomendações como forma de
filtragem;
Introdução
• Se usuário X e Y avaliam os itens de forma similar, ou têm
comportamentos semelhantes, então eles devem avaliar ou
agir em outros itens de forma similar;
Introdução
• Em uma base típica de preferências "Itens por Usuário"
temos:
Características e Desafios
•
•
•
•
•
Dispersão dos dados;
Escalabilidade;
Sinonímias;
Problema da "ovelha cinza";
Shilling Attacks;
Dispersão dos dados
•
•
•
•
Matriz Item-Usuário pode ficar extremamente dispersa;
Partida fria;
Cobertura reduzida;
Transitividade com o vizinho;
Escalabilidade
• Algoritmos tradicionais de CF podem sofrer problemas
sérios de escalabilidade;
10 million users
X
1 million items
Sinonímias
Problemas gerados:
• Itens com nomes diferentes, porém significados iguais ou
similares;
• Leva a recomendar itens já adquiridos;
Problema da "ovelha cinza"
• O usuário não se encaixa em nenhum grupo;
• Só é possível fazer recomendações baseadas em conteúdo;
Shilling Attacks
• Usuário propositalmente positiva determinados de forma
para provocar recomendações artificiais;
• Memory-based são menos afetados;
O prêmio para o desafio do Netflix
CF Baseados em Memória
• Usa os dados brutos da matriz de avaliações;
• Encontra os vizinhos mais próximos para fazer as previsões
e recomendações;
Computando as Similaridades
• Correlação de Pearson;
• Similaridade baseada no cálculo do cosseno;
Top-N Recomendações
User-based:
• Encontra os usuários com o padrão mais parecidos;
• Encontra o conjunto de itens avaliados/comprados pelos
usuários encontrados;
• As top-N recomendações serão os itens mais
avaliados/comprados pelo grupo pré-selecionado;
Items-based:
• Encontra os itens C com padrão de compra mais parecidos;
• Remove de C o conjunto U de itens já comprados pelo
usuário;
• Calcula a similaridade entre cada elemento de C com os
elementos de U;
Técnicas de CF Baseados em Memória
Vantagens:
• Fácil implementação;
• Novos dados podem ser adicionados facilmente;
• Não precisa se preocupar com o conteúdo dos itens
recomendados;
• Bem escalável para itens co-avaliados;
Técnicas de CF baseados em memória
Desvantagens:
• Dependente das avaliações dos usuários;
• Perde performance com a dispersão dos dados;
• Não consegue recomendar com poucos itens/usuários;
• Tem escalabilidade limitada;
Técnicas de CF baseados em modelo
• Gera modelos que representam a matriz de avaliações;
• Permite o sistema reconhecer padrões complexos;
• Utiliza protipagem e redução de dimensionalidade;
Técnicas de CF baseados em modelo
Vantagens:
• Lida melhor com dispersão dos dados e escalabilidade;
• Melhora performance de previsão;
• Dá uma justificativa intuitiva para as recomendações;
Técnicas de CF baseados em modelo
Desvantagens:
• Construção do modelo pode ser custosa;
• Possui trade-offs entre performance de previsão e
escalabilidade;
• Perde informações úteis com o uso de técnicas de redução
de dimensionalidade;
Casos de Estudo: Tapestry
• Motivação: Aumento do
uso de correio eletrônico
Casos de Estudo: Tapestry
• Filtragem baseada em conteúdo e Filtragem Colaborativa
• Anotações
• Listas moderadas
o emails filtrados segundo anotações criadas pelos
"moderadores"
o Feedback dos usuários
• Relacionamento entre dois ou mais emails
Casos de Estudo: Tapestry
Fluxo de mensagens
Casos de Estudo: Tapestry
O Sistema é realmente eficiente?
Catherine cria um filtro de consulta a fim de receber
mensagens que Amy, Annie ou Allison consideraram
engraçadas.
Priority Inbox
Casos de Estudo:
Algoritmos de recomendação para e-commerce encontram
ambientes desafiadores:
• Uma grande loja pode ter enormes quantidades de dados
• Resultados em tempo real, ao mesmo tempo em que gera
boas recomendações
• Novos clientes tem informações extremamente limitadas
• Clientes mais velhos tem excesso de informações
• Dados dos clientes são voláteis
Item-to-Item Collaborative Filtering
Casos de Estudo:
Algoritmo da amazon.com X outros métodos
• Filtragem Colaborativa Tradicional
o Cliente = vetor de itens N-dimensional
o Componentes do vetor podem ser positivos ou negativos
o
Computacionalmente muito caro: O(MN), O(M+N)
Casos de Estudo:
Algoritmo da amazon.com X outros métodos
• Modelos de Clusters
o Divide o banco de clientes em vários segmentos
o Problema de classificação
 Agrupar clientes mais similares para formar clusters
o Melhor performance do que o método anterior
o Recomendações menos relevantes
 Melhorar as recomendações aumentando a
granularidade dos segmentos o torna quase tão caro
quanto Filtragem Colaborativa
Casos de Estudo:
Algoritmo da amazon.com X outros métodos
• Métodos baseados em conteúdo (ou busca)
o Tratam o problema de recomendação como uma busca
o Recomenda itens com atributos similares
o Boa performance e escalabilidade se o usuário fez
poucas compras e classificações
o Baixa qualidade nas recomendações para usuários que
fizeram poucas compras
Casos de Estudo:
Algoritmo da amazon.com X outros métodos
• Filtragem Colaborativa Item-a-Item
o Combina cada item comprado e classificado pelo usuário
com itens similares
o Tabela de itens comprados em conjunto
Casos de Estudo:
Algoritmo da amazon.com X outros métodos
• Filtragem Colaborativa Item-a-Item
o Similaridade é calculada pela fórmula do cosseno
 Item = Vetor de consumidores M-dimensional
o Cálculo de similaridade e construção da tabela é offline
o O(N²M) no pior caso. Aproximadamente O(NM)
o Dada uma tabela de itens similares, o algoritmo agrupa
os itens similares ao item que o usuário está comprando.
E então recomenda os itens mais populares ou
correlacionados
o Geração das recomendações é rápida, dependendo do
número de itens que o usuário comprou ou classificou
Casos de Estudo:
Resumo comparativo:
• Filtragem colaborativa tradicional: computação online
aumenta de acordo com o número de clientes e itens
o Bons resultados para bancos de dados pequenos
o Baixa qualidade em grandes bancos de dados, pois é
preciso utilizar um subconjunto de dados
• Modelos de clusters: Maior parte da computação offline,
mas qualidade da recomendação é baixa. Aumentar o
número de clusters torna mais caro
• Modelos baseados em conteúdo: Falham em fornecer
recomendações relevantes e não são bem escaláveis para
clientes com muitas compras ou classificações
Casos de Estudo:
Resumo comparativo:
• Filtragem Colaborativa Item-a-Item
o Parte computacional mais cara (tabela de similaridade) é
feita offline
o A parte online possui um algoritmo que é escalável
independente do tamanho do catálogo de itens ou
número de clientes
o Depende somente da quantidade de itens que o usuário
comprou ou classificou
o Rápido, mesmo para grandes conjuntos de dados
o Boa qualidade das recomendações, mesmo com
informações limitadas
Referências
• A Survey of Collaborative Filtering Techniques (Su e
Khoshgoftar - 2009)
• Using Collaborative Filtering to weave an information
Tapestry (Goldberg - 1992)
• From Tapestry to SVD: A Survey of the Algorithms That
Power Recommender Systems (Huttner - 2009)
• Amazon Recommendations: Item-to-Item Collaborative
Filtering (Linden, Smith, York - 2003)
Dúvidas?
Download

Filtragem Colaborativa