collaborative filtering

Post on 07-Jul-2015

110 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Filtragem Colaborativa

João CarlosJobert 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 X1 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;

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

Casos de Estudo: Tapestry

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

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-dimensionalo 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 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

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

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

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

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

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?

top related