collaborative filtering

35
Filtragem Colaborativa João Carlos Jobert Sá

Upload: zhang-yi-ling

Post on 07-Jul-2015

110 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Collaborative filtering

Filtragem Colaborativa

João CarlosJobert Sá

Page 2: Collaborative filtering

• Introdução;• Desafios da Filtragem Colaborativa;• Técnicas

o Model-based;o Memory-based;

• Casos de estudo;

Page 3: Collaborative filtering

Introdução

• Quantidade crescente quantidade de informação disponível;

Page 4: Collaborative filtering

Introdução

• Pessoas confiam em recomendações como forma de filtragem;

Page 5: Collaborative filtering

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;

Page 6: Collaborative filtering

Introdução

• Em uma base típica de preferências "Itens por Usuário" temos:

Page 7: Collaborative filtering

Características e Desafios

• Dispersão dos dados;• Escalabilidade;• Sinonímias;• Problema da "ovelha cinza";• Shilling Attacks;

Page 8: Collaborative filtering

Dispersão dos dados

• Matriz Item-Usuário pode ficar extremamente dispersa;• Partida fria;• Cobertura reduzida;• Transitividade com o vizinho;

Page 9: Collaborative filtering

Escalabilidade

• Algoritmos tradicionais de CF podem sofrer problemas sérios de escalabilidade;

10 million users X1 million items

Page 10: Collaborative filtering

Sinonímias

Problemas gerados:• Itens com nomes diferentes, porém significados iguais ou

similares;• Leva a recomendar itens já adquiridos;

Page 11: Collaborative filtering

Problema da "ovelha cinza"

• O usuário não se encaixa em nenhum grupo;• Só é possível fazer recomendações baseadas em

conteúdo;

Page 12: Collaborative filtering

Shilling Attacks

• Usuário propositalmente positiva determinados de forma para provocar recomendações artificiais;

• Memory-based são menos afetados;

Page 13: Collaborative filtering

O prêmio para o desafio do Netflix

Page 14: Collaborative filtering

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;

Page 15: Collaborative filtering

Computando as Similaridades

• Correlação de Pearson;• Similaridade baseada no cálculo do cosseno;

Page 16: Collaborative filtering

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;

Page 17: Collaborative filtering

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;

Page 18: Collaborative filtering

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;

Page 19: Collaborative filtering

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;

Page 20: Collaborative filtering

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;

Page 21: Collaborative filtering

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;

Page 22: Collaborative filtering

• Motivação: Aumento do uso de correio eletrônico

Casos de Estudo: Tapestry

Page 23: Collaborative filtering

Casos de Estudo: Tapestry

• Filtragem baseada em conteúdo e Filtragem Colaborativa• Anotações

• Listas moderadaso emails filtrados segundo anotações criadas pelos

"moderadores"o Feedback dos usuários

• Relacionamento entre dois ou mais emails

Page 24: Collaborative filtering

Casos de Estudo: Tapestry

Fluxo de mensagens

Page 25: Collaborative filtering

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

Page 26: Collaborative filtering

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

Page 27: Collaborative filtering

Casos de Estudo:

Algoritmo da amazon.com X outros métodos• Filtragem Colaborativa Tradicional

o Cliente = vetor de itens N-dimensionalo Componentes do vetor podem ser positivos ou negativos

o Computacionalmente muito caro: O(MN), O(M+N)

Page 28: Collaborative filtering

Casos de Estudo:

Algoritmo da amazon.com X outros métodos• Modelos de Clusters

o Divide o banco de clientes em vários segmentoso Problema de classificação

Agrupar clientes mais similares para formar clusterso Melhor performance do que o método anterioro Recomendações menos relevantes

Melhorar as recomendações aumentando a granularidade dos segmentos o torna quase tão caro quanto Filtragem Colaborativa

Page 29: Collaborative filtering

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 buscao Recomenda itens com atributos similareso Boa performance e escalabilidade se o usuário fez

poucas compras e classificaçõeso Baixa qualidade nas recomendações para usuários que

fizeram poucas compras

Page 30: Collaborative filtering

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

Page 31: Collaborative filtering

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 é offlineo 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

Page 32: Collaborative filtering

Casos de Estudo:

Resumo comparativo:• Filtragem colaborativa tradicional: computação online

aumenta de acordo com o número de clientes e itenso Bons resultados para bancos de dados pequenoso 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

Page 33: Collaborative filtering

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 dadoso Boa qualidade das recomendações, mesmo com

informações limitadas

Page 34: Collaborative filtering

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)

Page 35: Collaborative filtering

Dúvidas?