Sistemas de recomendação Mineração de Dados na Web Sistemas de recomendação
Equipe Lais Varejão (lvv) Paulo Oliveira (phslfo) Victor Lorena (vlfs) Victor Acioli (vaca)
Roteiro Introdução Coleta de Informações Estratégias Técnicas Arquitetura Passo a Passo Aplicações Conclusão
Introdução
Motivação A Era da Inteligência Coletiva
Motivação Sob o aspecto tecnológico, Inteligência Coletiva é o conjunto de comportamentos, preferências e ideias de um grupo de pessoas para criar novas introspecções.
Motivação Atualmente existe uma grande quantidade de informação disponibilizada de forma facilitada.
Motivação Ao mesmo tempo...
Motivação O usuário tem dificuldade de encontrar informações que são relevantes para ele.
Problema Como identificar quais conteúdos são relevantes para cada usuário em meio a um mar de informação?
Sistemas de Recomendação Sistemas de recomendação realizam a filtragem da informação para recomendar itens, que possam ser interessantes para o usuário.
Sistemas de Recomendação Que filme eu devo ver? Para onde eu devo sair? Qual livro eu devo ler?
Sistemas de Recomendação “Muitas vezes as pessoas só sabem o que querem depois que você mostra a elas.” Steve Jobs
Sistemas de recomendação Existem empresas que investem em sistemas de recomendação?
Sistemas de recomendação
Desafio Netflix Netflix É uma locadora de DVDs online, com entrega a domicílio, que recomenda filmes de acordo com locações prévias dos clientes. Dos filmes alugados, 60% vêm de recomendações. Em 2006, ela anunciou o prêmio de 1 milhão para a primeira pessoa que melhorasse a precisão do seu sistema de recomendação em 10%.
Quem foram os pioneiros? Nos anos 90, foi desenvolvido o Tapestry. Um sistema de email que avaliava a relevância dos documentos recebidos. Em 1996, o My Yahoo surgiu. O primeiro website a utilizar recomendação em grandes proporções. A técnica customização era utilizada.
Coleta de Informações
Coleta de informações É indispensável conhecer quem é o usuário.
Coleta de informações O usuário deve ser identificado no momento em que ele acessa o sistema. Identificação no servidor É necessário fazer um cadastro. Provê maior precisão. Identificação no cliente Utiliza cookies para identificar a máquina. Menos confiável.
Coleta de informações As informações podem ser coletadas de forma explícita ou implícita.
Coleta de informações Coleta Explícita O usuário indica o que lhe interessa.
Coleta de informações Coleta Implícita TURISMO A partir do comportamento do usuário, infere-se suas necessidades e preferências. TURISMO
Problemas de privacidade Informações do usuário são coletadas e armazenadas sem que ele perceba. Existem empresas que vendem esses dados.
Políticas de privacidade É uma exigência legal que as políticas de privacidade dos sites sejam disponibilizadas. Aumenta a proteção do usuário.
Políticas de privacidade Algumas organizações propõem selos que regulam a política de privacidade de um website.
Estratégias
Estratégias Diferentes estratégias podem ser usadas para personalizar ofertas para o usuário. Listas de Recomendação Avaliação de Usuários Suas Recomendações Produtos Similares (X Y) Associação por Conteúdo
Estratégias Listas de Recomendação São mantidas listas de itens organizadas por tipos de interesse.
Estratégias Avaliação de Usuários Além de comprar, o usuário deixa sua avaliação sob o item adquirido. É importante que haja veracidade na opinião.
Suas recomendações Itens são oferecidos de acordo com o interesse do usuário.
Produtos similares (X Y) Indica itens similares ao que está sendo comprado no momento.
Associação por conteúdo São utilizados os dados dos próprios produtos e não do usuário. Exemplo: Autor Editora Tema Assunto
Técnicas
FILTRAGEM DE INFORMAÇÃO É o nome utilizado para descrever uma variedade de processos que envolvem a entrega de informação para as pessoas que realmente necessitam delas. Belvin and Croft - 1992
Filtragem baseada em conteúdo É a forma mais simples de recomendação Considera que usuários sempre gostaram de coisas que gostaram no passado. Analisa apenas os itens e o perfil do usuário.
Filtragem baseada em conteúdo Funcionamento: Usuários devem avaliar itens de acordo com seu interesse. O sistema correlaciona os itens em sua base de dados, considerando características de cada item. E indica novos itens que apresentem alto grau de similaridade.
Exemplo sim(REC, Exoc) Gostei Recomendado Usuário Atual REC Hangover X-men O exorcista Gostei Recomendado Usuário Atual
Filtragem baseada em conteúdo Dificuldades: Cálculo da similaridade Análise dos dados restrita Super Especialização Efeito Portfólio Similaridade – Roupas e brinquedos, características como: tamanho, preço, cor, marca. Até textos possue suas dificuldades. Analise de Dados Restrita – Audio e Imagem. Super Especialização - Alguém que nunca experimentou sushi, não receberá indicação de um restaurante de sushi Efeito Portfólio - Já que eu gostei de um filme do Didi (quando criança), vai me indicar todos os outros
Filtragem colaborativa Fechar as lacunas que a filtragem baseada em conteúdo não soluciona. Não exige a extração de características dos itens. O sistema se baseia na troca de experiências entre usuários com gostos similares.
Filtragem colaborativa Funcionamento: Usuários devem avaliar itens de acordo com seu interesse. O sistema descobre usuários com padrões similares de comportamento ao do usuário atual. Processa as avaliações feitas por esse subconjunto de usuários. E recomenda itens que o usuário atual ainda não avaliou. 1. 2. Calcular peso de cada usuário em relação a similaridade ao usuário alvo. Selecionar um subconjunto 3.
Exemplo Filme 1 Filme 2 Filme 3 Filme 4 Gosta: Filme A Filme B Filme C Usuário Atual Usuário X Usuário Y Similares
Filtragem colaborativa Dificuldades: Necessita de vasta base de dados Escalabilidade/estabilidade Partida fria (Usuários e itens novos) Popularidade Ovelha negra Demonstração Facebook Vasta base de dados – caso o numero de usuarios seja pequeno em relação ao numero de itens, causará problema Escalabilidade/estabilidade – Com a necessidade de muitos dados surgem alguns problemas Partida fria (Usuários e itens novos) – Usuarios: Precisam dar informações para serem relacionados com outros usuarios, itens: precisa ser avaliados Popularidade – Todo mundo gosta de harry potter Ovelha negra – Gosto incomum gera dificuldade de encontrar usuarios, tera dificuldade de encontrar novos itens
Filtragem híbrida Combina as duas técnicas, para obter um sistema mais eficiente. Une as vantagens e elimina as fraquezas
Comparativo FBC FC FH Partida fria (Item) Partida fria (Usuário) Similaridade Dados restritos Especialização Efeito Portfólio Vasta base de dados Popularidade Ovelha negra
Cuidados Solicitada ou espontânea? Rodar online ou offline? Recomendar tudo ou filtrar? Só itens novos? Explicar o motivo da escolha? Necessidade ou interesse?
Arquitetura
Arquitetura Associação por conteudo
Exemplo Recommender Server Utilizado para dar acesso aos SessionsControllers e às rotinas de recomendações.
Exemplo SessionController Ao entrar no site as informações do usuário são armazenadas sobre sua interação atual. E comparadas com o seu histórico dentro do site.
exemplo StrategyList Guarda vários modelos de recomendação. Baseado em listas armazenadas pelo sistema. Itens mais comuns Baseado em preferências explícitas ou implícitas. Itens mais específicos Diferentes estratégias podem ser criadas e utilizadas em paralelo em um mesmo website.
Exemplo InterestList Mantém as preferências. Essas preferências podem ser utilizadas em conjunto.
Exemplo FindingList Informações básicas sobre os usuários. Armazena características demográficas e hábitos. Recomendação com precisão.
Recomendação Passo a Passo
Passo a passo Do que as pessoas gostam? Preferências de produtos, serviços e interesses. Como e onde pegar essas informações.
Passo a passo Como as pessoas se parecem? Grupos de pessoas com interesses em comum. Métricas de Similaridade: Coeficiente de Pearson. Distância Euclidiana.
Passo a passo Recomendar itens Mostrar algum item que uma pessoa parecida com você viu e você não viu. Tabela de Pesos.
Passo a passo Comparação entre itens Encontra a similaridade entre os itens. Ajuda a oferecer um item que você provavelmente queira ver.
Aplicações
Aplicações Aardwark: Sugestões de perguntas a pessoas certas. Associação por Conteúdo.
Aplicações YouTube: Sugestão de vídeos. Lista de recomendação. Associação de conteúdo.
Aplicações Facebook: Sugestão de pessoas que o usuário possa conhecer. Usuários que se interessam por “X” também se interessam por “Y”.
Aplicações Match.com: É uma comunidade mundial de solteiros em busca de um parceiro. Lançado em 1995, foi pioneiro em sites de relacionamentos. Possui mais de 29 milhões de usuários.
Aplicações Match.com: Sugere pessoas através do Daily 5. Suas Recomendações.
Aplicações Amazon: Inicialmente, era uma livraria online. Atualmente, é a maior empresa de comércio eletrônico dos EUA. Realiza grandes investimentos em recomendação, possuindo todas as estratégias. Cerca de 38% de suas vendas provêm de suas sugestões.
Aplicações Amazon: Sugestão de itens que o usuário posso querer comprar. Lista de recomendação.
Aplicações Amazon: Avaliação de Usuários
Aplicações Amazon: Suas Recomendações
Aplicações Amazon: Usuários que se interessam por “X” também se interessam por “Y.”
Aplicações Amazon: Associação por conteúdo
Desafios e tendências
Tendências Pesquisa social Busca na web considera as redes sociais que o usuário faz parte. Ex: O sistema responde a uma consulta de um usuário com links relacionados às avaliações dadas por colegas do usuário. Suas recomendações
Tendências Google Social Search Suas recomendações
Desafios Melhoria nos algoritmos de recomendação: Eficiência Qualidade do resultado.
conclusão Sistemas de recomendação podem ser usados para que se possa conhecer melhor os hábitos dos usuários. Aplicar estrategicamente o conhecimento dos hábitos dos usuários, pode melhorar a lucratividade de uma empresa. Suas recomendações
conclusão A tendência é que todos os programas web utilizem recomendação. Suas recomendações
Dúvidas
Obrigado!
Referências http://dsc.upe.br/~tcc/20092/TCC_final_AndersonBerg.pdf http://en.wikipedia.org/wiki/Recommender_system Programming Collective Inteligence - OReilly Artigo 2 (Incluir) Artigo 3 (Incluir)