A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Filtragem Colaborativa

Apresentações semelhantes


Apresentação em tema: "Filtragem Colaborativa"— Transcrição da apresentação:

1 Filtragem Colaborativa
João Carlos Jobert Sá

2 Introdução; Desafios da Filtragem Colaborativa; Técnicas Model-based;
Introdução; Desafios da Filtragem Colaborativa; Técnicas Model-based; Memory-based; Casos de estudo;

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

4 Introdução Pessoas confiam em recomendações como forma de filtragem;

5 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;

6 Introdução Em uma base típica de preferências "Itens por Usuário" temos: Explicar a organização de uma base de preferencias Essa base pode ser formada com indicacoes explicitas ou implícitas (explicar isso)

7 Características e Desafios
Dispersão dos dados; Escalabilidade; Sinonímias; Problema da "ovelha cinza";  Shilling Attacks;

8 Dispersão dos dados Matriz Item-Usuário pode ficar extremamente dispersa; Partida fria; Cobertura reduzida; Transitividade com o vizinho; Partida-fria: novo usuário ou item que não tem ou fez nenhuma avaliação;

9 Escalabilidade Algoritmos tradicionais de CF podem sofrer problemas sérios de escalabilidade; 10 million users           X 1 million items For example, with tens of millions of customers and millions of distinct catalog items, a CFalgorithm with the complexity of O(n) is already too large.

10 Sinonímias Problemas gerados:
Itens com nomes diferentes, porém significados iguais ou similares; Leva a recomendar itens já adquiridos;

11 Problema da "ovelha cinza"
O usuário não se encaixa em nenhum grupo; Só é possível fazer recomendações baseadas em conteúdo; Algoritmos de recomendação em e-commerces costumam trabalhar em ambientes desafiadores, como: ..... Iremos detalhar 

12 Shilling Attacks Usuário propositalmente positiva determinados de forma para provocar recomendações artificiais; Memory-based são menos afetados; Algoritmos de recomendação em e-commerces costumam trabalhar em ambientes desafiadores, como: ..... Iremos detalhar 

13 O prêmio para o desafio do Netflix
Algoritmos de recomendação em e-commerces costumam trabalhar em ambientes desafiadores, como: ..... Iremos detalhar 

14 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; Algoritmos de recomendação em e-commerces costumam trabalhar em ambientes desafiadores, como: ..... Iremos detalhar 

15 Computando as Similaridades
Correlação de Pearson; Similaridade baseada no cálculo do cosseno; Algoritmos de recomendação em e-commerces costumam trabalhar em ambientes desafiadores, como: ..... Iremos detalhar 

16 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; Algoritmos de recomendação em e-commerces costumam trabalhar em ambientes desafiadores, como: ..... Iremos detalhar 

17 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; Algoritmos de recomendação em e-commerces costumam trabalhar em ambientes desafiadores, como: ..... Iremos detalhar 

18 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; Algoritmos de recomendação em e-commerces costumam trabalhar em ambientes desafiadores, como: ..... Iremos detalhar 

19 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;  Algoritmos de recomendação em e-commerces costumam trabalhar em ambientes desafiadores, como: ..... Iremos detalhar 

20 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;  Algoritmos de recomendação em e-commerces costumam trabalhar em ambientes desafiadores, como: ..... Iremos detalhar 

21 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; Algoritmos de recomendação em e-commerces costumam trabalhar em ambientes desafiadores, como: ..... Iremos detalhar 

22 Casos de Estudo: Tapestry
Motivação: Aumento do uso de correio eletrônico Tapestry: - Sistema de s experimental. Um dos primeiros sistemas de recomendação, desenvolvido no centro de pesquisa da Xerox; - Motivação: aumento do uso de correio eletrônico, o que resulta em usuários sendo inundados por um enorme fluxo de documentos recebidos - Figura: (a) correio eletrônico sobrecarregado; (b) uso de listas de distribuição; (c) filtragem convencional; (d) filtragem colaborativa - Listas de distribuição: permite que usuários recebam somente de listas que interessem a ele. Entretanto, os s que chegam nessas listas raramente possui conteúdo de interesse do usuário. (Exemplo da grad-l do cin, que recebe s com propaganda e outros assuntos) - Uma outra solução: O usuário especifica um filtro que examina todas as listas, selecionando s de interesse não importando em que listas está inscrito - Uma melhor solução: Uma filtragem mais eficiente pode ser feita envolvendo humanos no processo de filtragem

23 Casos de Estudo: Tapestry
Filtragem baseada em conteúdo e Filtragem Colaborativa Anotações Listas moderadas s filtrados segundo anotações criadas pelos "moderadores" Feedback dos usuários Relacionamento entre dois ou mais s Tapestry: - Combina filtragem baseada em conteúdo com filtragem colaborativa - Anotações: Tapestry registra as ações tomadas pelos usuários para os s que leram - Essas reações podem significar que um documento foi particularmente interessante (ou particularmente desinteressante). - Essas anotações podem ser acessadas por outros filtros - Uma aplicação das anotações é o suporte para listas moderadas. Em geral, essas listas possuem um único moderador, responsável (nem sempre) por selecionar um subconjunto de mensagens para serem postadas para a lista. Com anotações, uma lista pode ter vários moderadores. Assim, uma lista poderia ser filtrada simplesmente para aqueles s que um usuário aprovou com uma anotação - Feedback implícito dos usuários (por ex.: algum usuário enviou uma resposta para um ) pode ser também utilizado no processo de filtragem - Você deseja receber s interessantes de um grupo de notícias mas não sabe como escrever uma espressão de busca que caracteriza esses s. Entretanto, você conhece certas pessoas que lêem esses s e respodem aos mais interessantes. Tapestry permite que você filtre os s que foram respondidos por essas pessoas - Tapestry envolve o relacionamento entre dois ou mais documentos, uma mensagem e uma resposta, por ex., ou um e suas anotações - Tapestry não funciona simplesmente filtrando um quando ele chega. É preciso realizar consultas repetidamente em toda base de dados de mensagens recebidas. Pois, depois que um chega, uma pessoa pode lê-lo e decidir se é interessante. Então essa pessoa reponde ao (ou faz uma anotação), e você quer que o filtro dispare e envie para você a mensagem original. - Tapestry é, na verdade, mais que um sistema de filtragem de s; é um repositório de s enviados no passado. Ele unifica consultas ad hoc nesse repositório com a filtragem dos dados que chegam - Um cenário típico: Um usuário se interessa pela área de "filtragem de ". Para achar mensagens relacionadas a isso, ele cria uma consulta procurando pelo termo "filtragem". Mas essa consulta retorna muitas mensagens. Ele então cria um novo filtro selecionando mensagens que contém ambos os termos "informação" e "filtragem" ou mensagens contendo o termo "filtragem" que tenham recebido ao menos 3 anotações, e descobre que isso funciona melhor. Essa busca é, então, implantada como um filtro de consulta, e, a partir de então, todas as novas mensagens satisfazendo esse filtro serão entregues na caixa de entrada do usuário.

24 Casos de Estudo: Tapestry
Arquitetura do Tapestry: - Indexer: Lê mensagens de fontes externas, como s, grupos de notícias, listas de discussão, e as adicionam ao banco de mensagens. O indexador é responsável por analisar mensagens e convertê-las em um conjunto de campos indexados que podem ser referenciados nas consultas - Document store: Banco de documentos. Fornece armazenamento para todas as mensagens por um longo tempo. Também mantém todas as mensagens indexadas, assim as consultas podem ser executadas com eficiência. - Annotation store: Banco de anotações. Fornece armazenamento para anotações associadas com as mensagens. - Filterer: "Filtrador". Executa repetidamente um batch (um "lote") de consultas fornecidas pelo usuário sobre o conjunto de mensagens. Essas mensagens correspondendo uma consulta são colocadas na "caixinha" (Little Box) do dono da consulta. - Little box: "caixinha". Vai enfileirando as mensagens de interesse para um usuário em particular. Cada usuário tem uma caixinha, onde mensagens são depositadas pelo filtrador e removidas pelo leitor de mensagens do usuário. - R er: "encaminhador". Envia periodicamente os conteúdos da caixinha de um usuário para o usuário via . -> Isso é para usuários que querem acessar Tapestry através de seus leitores de . - Appraiser: "Avaliador". Aplica classificações personalizadas para as mensagens de um usuário. Ele tem a função de priorizar e categorizar mensagens. - Reader/Browser: Fornece a interface com usuário para acessar o serviço do Tapestry. Essa interface inclui ferramentas para adicionar/editar/deletar filtros, recuperar mensagens, exibir mensagens em pastas, fornecer anotações e executar consultas. Fluxo de mensagens

25 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 - Mas será que Tapestry é realmente eficiente? - Considerando o cenário dado no slide, por ex., será que as anotações de Amy, Annie e Allison são realmente os melhores indicadores do que Catherine acha engraçado? - Para responder essa pergunta, Tapestry teria que ter registrado dados de experiência do usuário para analisar melhor se os filtros realmente funcionaram bem - Gmail possui um sistema semelhante (Priority Inbox). Entretanto, o usuário pode dar feedback sobre o resultado dos filtros do Gmail, marcando uma mensagem como importante ou não.

26 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 - Na amazon.com, algoritmos de recomendação são utilizados para personalizar lojas online para cada consumidor. Cada loja muda radicalmente baseada nos interesses do consumidor, oferecendo livros sobre programação para engenheiros de software e brinquedos de bebê para futuras mães. - Algoritmos de recomendação para e-commerce encontram ambientes desafiadores: - Uma grande loja pode ter enormes quantidades de dados, dezenas de milhões de clientes e milhões de itens de catálogo distintos; - As aplicações requerem que os resultados sejam fornecidos em tempo real, e ainda produza boas recomendações; - Novos clientes geralmente tem informações extremamente limitadas, baseadas somente em poucas compras ou classificações de produtos; - Clientes mais velhos podem ter um excesso de informações baseado em milhares de compras e avaliações (e aí podem ter informações que não são mais tão relevantes); - Dados dos clientes são voláteis: Cada interação fornece dados valiosos dos clientes, e o algoritmo deve responder imediatamente às novas informações - Existem 3 abordagens comuns para resolver o problema de recomendação: os algoritmos de filtragem colaborativa tradicionais, modelos baseados em clusters e métodos baseados em conteúdo. A Amazon utiliza um algoritmo de filtragem colaborativa Item-a-Item - Esse algoritmo da Amazon produz recomendações em tempo real, é escalável para enormes conjuntos de dados, e gera boas recomendações

27 Casos de Estudo: Algoritmo da amazon.com X outros métodos
Filtragem Colaborativa Tradicional Cliente = vetor de itens N-dimensional Componentes do vetor podem ser positivos ou negativos  Computacionalmente muito caro: O(MN), O(M+N) - Comparativo entre o algoritmo da amazon e outros métodos - Na Filtragem Colaborativa Tradicional, um cliente é representado por um vetor de itens N-dimensional, onde N é o número de itens distintos do catálogo - Os componentes do vetor são positivos para itens classificados positivamente e negativos para itens classificados negativamente - Para quase todos os compradores, esse vetor é extremamente disperso - O algoritmo gera recomendações baseadas em alguns clientes que são mais similares ao usuário - Um método comum para medir a similaridade entre dois clientes A e B é dado pelo cosseno do ângulo entre os dois vetores - O algoritmo pode selecionar recomendações de clientes similares utilizando diversos métodos. Uma técnica comum é rankear cada item de acordo com a quantidade de clientes similares que o compraram - Esse método de recomendação é computacionalmente muito caro, pois ele toma O(MN) no pior caso, onde M é o número de clientes e N é o número de produtos no catálogo de itens - Entretanto, analisar todos os clientes leva O(M), mas poucos clientes compraram ou classificaram uma parte significante dos itens, requerendo tempo O(N). Então a performance final do algoritmo é aproximadamente O(M+N) - Mesmo assim, para conjuntos de dados muito grandes, o algoritmo encontra muitos problemas de performance e escalabilidade

28 Casos de Estudo: Algoritmo da amazon.com X outros métodos
Modelos de Clusters Divide o banco de clientes em vários segmentos Problema de classificação Agrupar clientes mais similares para formar clusters Melhor performance do que o método anterior Recomendações menos relevantes Melhorar as recomendações aumentando a granularidade dos segmentos o torna quase tão caro quanto Filtragem Colaborativa - Para encontrar os clientes que são similares ao usuário, os modelos de clusters dividem o banco de clientes em vários segmentos e tratam da tarefa como um problema de classificação - O objetivo do algoritmo é de atribuir o usuário ao segmento contendo os clientes mais similares a ele. Ele então usa as compras e classificações dos clientes no segmento para gerar recomendações - Em geral, os segmentos são criados utilizando um algoritmo de clusterização ou de aprendizado não-supervisionado - Utilizando uma métrica de similaridade, o algoritmo vai agrupar os clientes mais similares para formar clusters ou segmentos - Uma vez gerados os segmentos, o algoritmo computa a similaridade do usuário com os vetores que resultam de cada segmento, e então escolhe o segmento com maior similaridade - Modelos de clusters tem melhor performance do que filtragem colaborativa pois compara o usuário com um número controlado de segmentos, e não com o banco de clientes inteiro - Entretanto, as recomendações geradas não são tão boas, pois considera todos os clientes em um segmento como sendo similares ao usuário

29 Casos de Estudo: Algoritmo da amazon.com X outros métodos
Métodos baseados em conteúdo (ou busca) Tratam o problema de recomendação como uma busca Recomenda itens com atributos similares Boa performance e escalabilidade se o usuário fez poucas compras e classificações Baixa qualidade nas recomendações para usuários que fizeram poucas compras - Os métodos baseados em conteúdo tratam o problema de recomendação como uma busca por itens relacionados - Dados os itens comprados e classificados pelo usuário, o algoritmo constrói uma consulta para buscar outros itens populares pelo mesmo autor, artista, diretor, ou palavras-chave ou assuntos similares - Se um cliente compra a coleção de DVDs do Poderoso Chefão, por ex., o sistema pode recomendar outros filmes sobre crime, outros filmes com Marlon Brando, ou outros filmes dirigidos por Francis Ford Coppola. - Para usuários que fizeram poucas compras e qualificações, o sistema tem boa escalabilidade e performance - Entretanto, para usuários com centenas de compras, é inviável construir uma consulta utilizando todos os itens. O algoritmo precisa, então, usar um subconjunto dos dados, reduzindo a qualidade das recomendações

30 Casos de Estudo: Algoritmo da amazon.com X outros métodos
Filtragem Colaborativa Item-a-Item Combina cada item comprado e classificado pelo usuário com itens similares Tabela de itens comprados em conjunto - O algoritmo de Filtragem Colaborativa Item-a-Item, em vez de comparar os clientes similares, combina cada item comprado ou classificado pelo usuário com itens similares. Então combina esses itens similares em listas de recomendação - Para determinar a combinação de itens mais similar, o algoritmo constrói uma tabela de itens similares, procurando por itens que os clientes tendem a comprar em conjunto

31 Casos de Estudo: Algoritmo da amazon.com X outros métodos
Filtragem Colaborativa Item-a-Item Similaridade é calculada pela fórmula do cosseno Item = Vetor de consumidores M-dimensional Cálculo de similaridade e construção da tabela é offline O(N²M) no pior caso. Aproximadamente O(NM) 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 Geração das recomendações é rápida, dependendo do número de itens que o usuário comprou ou classificou - A similaridade é calculada pela fórmula do cosseno, como explicada anteriormente. Porém, em vez de vetores de clientes, temos vetores de itens M-dimensional correspondendo aos clientes que compraram o item - O cálculo da tabela é muito custoso computacionalmente, mas é feito offline. No pior dos casos, leva O(N²M). Mas na prática fica próximo de O(NM), pois a maioria dos clientes tem pouquíssimas compras

32 Casos de Estudo: Resumo comparativo:
 Filtragem colaborativa tradicional: computação online aumenta de acordo com o número de clientes e itens Bons resultados para bancos de dados pequenos 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

33 Casos de Estudo: Resumo comparativo:
Filtragem Colaborativa Item-a-Item Parte computacional mais cara (tabela de similaridade) é feita offline A parte online possui um algoritmo que é escalável independente do tamanho do catálogo de itens ou número de clientes Depende somente da quantidade de itens que o usuário comprou ou classificou Rápido, mesmo para grandes conjuntos de dados Boa qualidade das recomendações, mesmo com informações limitadas

34 Referências A Survey of Collaborative Filtering Techniques (Su e Khoshgoftar ) Using Collaborative Filtering to weave an information Tapestry (Goldberg ) From Tapestry to SVD: A Survey of the Algorithms That Power Recommender Systems (Huttner ) Amazon Recommendations: Item-to-Item Collaborative Filtering (Linden, Smith, York )

35 Dúvidas?


Carregar ppt "Filtragem Colaborativa"

Apresentações semelhantes


Anúncios Google