Sistemas de Recomendação Carlos Castor Naiane Nascimento Roteiro Motivação Coleta de informações Privacidade Estratégias Técnicas Arquitetura Aplicações Estudo de Caso Mestrado Conclusão Motivação Era da Inteligência Coletiva A capacidade de novas mídias para armazenar e recuperar informações facilmente, principalmente em bases de dados e na Internet, permite que elas sejam compartilhadas sem dificuldade. Assim, através da interação com novas mídias, passam facilmente entre as fontes de conhecimento, resultando em uma forma de inteligência coletiva. (Flew, 2008) Web 2.0 Maior interação entre usuários e a Web; Surgimento de mais portais, blogs e redes sociais Motivação Grande volume de informações na Web Com a quantidade de informações e com a disponibilidade facilitada das mesmas pelo uso da Internet, as pessoas se deparam com uma diversidade muito grande de opções. Muitas vezes um indivíduo possui muito pouca ou quase nenhuma experiência pessoal para realizar escolhas entre as várias alternativas que lhe são apresentadas. (MAES, et al 1995) Os Sistemas de Recuperação são bastante utilizados pela publicidade Serve de gancho para serem utilizados em outras áreas Como resolver? Ferramentas de recomendação como solução Existem os sistemas de recomendação que trabalham com a personalização, o que possibilita que o conteúdo exibido para o usuário seja aquele que ele terá maior interesse em visualizar. Para que se possa recomendar itens a um usuário, é necessário se ter conhecimento sobre quem é este usuário. É necessário capturar e armazenar seus dados pessoais e comportamentais relativos. Portanto, é essencial que se possa identificar o usuário no momento em que ele acessa o sistema onde foram implantadas as rotinas de recomendação. (REATEGUI, et al 2005) Quem utiliza? Pioneiros na área 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 É necessário conhecer quem é o usuário 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 Explícita O usuário indica o que lhe interessa. Coleta Implícita A partir do comportamento do usuário, infere-se suas necessidades e preferências. Como se dá a recomendação Semelhanças entre usuários Grupos de pessoas com interesses em comum. Métricas de Similaridade são usadas para calcular essas semelhança Coeficiente de Pearson. Distância Euclidiana. Recomendar itens Mostrar algum item que uma pessoa parecida com você viu e você não viu Tabela de Pesos. Como se dá a recomendação Comparação entre itens Encontra a similaridade entre os itens Ajuda a oferecer um item que você provavelmente queira ver 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. Algumas organizações propõem selos que regulam a política de privacidade de um website. Estratégias Diferentes estratégias podem ser 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 usadas para Técnicas de Filtragem Os Sistemas de Recomendação utilizam a técnica de Filtragem de Informação (FI) para extrair as relações e similaridades existentes entre produtos, entre consumidores e entre produtos e consumidores. Filtragem baseada em Conteúdo Filtragem Colaborativa Filtragem Híbrida Filtragem Baseada em Conteúdo 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 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. Filtragem Baseada em Conteúdo Dificuldades: Cálculo da similaridade Há dificuldades na sugestão de cor e tamanho, por exemplo. Análise dos dados restrita Imagem e Áudio Super Especialização O usuário não receberá indicações do que nunca consumiu. Efeito Portfólio É analisado o histórico Filtragem Colaborativa 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 Cálculo do peso de cada usuário em relação a similaridade ao usuário alvo. Selecionar um subconjunto Processa as avaliações feitas por esse subconjunto de usuários E recomenda itens que o usuário atual ainda não avaliou Filtragem Colaborativa Dificuldades: Necessita de vasta base de dados Escalabilidade/estabilidade Partida fria (Usuários e itens novos) Popularidade Ovelha negra Filtragem Híbrida Filtragem Híbrida Combina as duas técnicas, para obter um sistema mais eficiente Técnicas (Comparativo) Fonte: VAREJÃO, L., OLIVEIRA, P., LORENA, V., ACIOLI, V. Mineração de Dados na Web: Sistemas de Recomendação Arquitetura de sistemas de recomendação Arquitetura Grande volume de dados e eventos Interatividade Arquitetura: Computação Online Uso de eventos recentes Interatividade com usuário Tempo real Limita o volume de dados utilizáveis e a complexidade dos algoritmos Offline Grande volume de dados Algoritmos complexos Maior tempo para resposta Nearline Intermediário entre online e offline Computação realizada da mesma forma que o online, mas sem a necessidade de resposta em tempo real Arquitetura: Computação Arquitetura: Tarefas Offline Tarefas agendadas Model Training Algoritmos de aprendizagem de máquina para definição de parâmetros Computação de resultados Sugestões que irão aparecer para o usuário ou serão utilizadas por algoritmos online Grande Volume de dados Banco de dados distribuídos(Hive ou Pig) Arquitetura: Tarefas Offline Mecanismo para publicação dos resultados Quando os resultados estão prontos Suporte a diferentes repositórios Tratamento de erros Monitoramento Alertas Netflix.Hermes Arquitetura: Tarefas Offline Arquitetura: Sinais e Modelos Modelos: arquivos com parâmetros resultantes de computação offline Dados: informação processada Sinais: informações recentes não processadas Arquitetura: Sinais e modelos Arquitetura: Eventos e dados Diferentes interfaces Smart TVs, tables, video games, etc O sistema busca captar o máximo de ações do usuário Cliques,navegação,views,etc Eventos: pequenas unidades de informações sensíveis ao tempo que têm de ser processados com a menor quantidade possível de latência Dados: dados mais densos que necessitam ser processados e armazenados para uso futuro. Netflix.Manhatam: gerenciador de eventos Arquitetura: Eventos e dados Arquitetura: Resultados Aplicações Sugestão de vídeos Lista de recomendação Associação de conteúdo Aplicações 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 Sugestão de itens que o usuário posso querer comprar Lista de recomendação Avaliação de Usuários Suas Recomendações Usuários que se interessam por “X” também se interessam por “Y.” Associação por conteúdo Aplicações Lista de Recomendação Avaliação de Usuários Estudo de Caso: News Feed do Facebook Usuário decide entre visualização das postagens mais recentes ou as mais importantes Como determinar quais postagens são mais importantes para o usuário? Inicialmente, a importância das postagens era ajustada manualmente i.e.: Fotos > links > curtida EdgeRank Algoritmo utilizado para determinar a importância das postagens Todas as relações(curtir, comentar, compartilhar,etc) são modeladas como vértices(edges) de um grafo EdgeRank 𝐸𝑑𝑔𝑒𝑅𝑎𝑛𝑘 = 𝑒 𝑢𝑒 𝑤𝑒 𝑑𝑒 𝑢𝑒 : grau de afinidade entre o usuário e o autor do vértice 𝑤𝑒 : peso do tipo da postagem relativa ao vértice 1 𝑑𝑒 : idade do vértice = , sendo d o tempo desde a criação 𝑑 do vértice EdgeRank - Ilustração EdgeRank-Ilustração e1: Empresa A criou x em y u1, w1, d1=(1/(h-y)), h=tempo corrente e2: Amigo 1 curtiu x em (y+1) u2, w2, d2=(1/(h-(y+1))) e3: Amigo 2 comentou x em (y+15) u3, w3, d3=(1/(h-(y+15))) e4: Amigo 3 curtiu x em (y+30) u4, w2, d4=(1/(h-(y+30))) h: tempo corrente Desafios Melhoria nos algoritmos de recomendação: Maior eficiência Melhor qualidade do resultado Mestrado Clipping automático de notícias utilizando sistema de recomendação Uso de matérias de portais de notícias na Web Inicialmente, matérias de apenas um segmento Conteúdos compartilhado por amigos nas redes sociais Amenizar a grande carga de informações expostas para o internauta. Filtrar as informações do seu interesse Comodidade Recebimento do clipping por e-mail Quem pode ser beneficiado? Usuários em geral da Web Maior auxílio ao trabalho dos profissionais de comunicação, mais especificamente aos de Jornalismo de assessorias de imprensa. Também deve auxiliar especialistas de determinadas áreas, curiosos ou mesmo empresários/empresas. E até mesmo políticos que desejam saber o que tem sido comentado sobre si na Web. Conclusão Diante da grande massa de informações na Web os Sistemas de Recomendação podem ser de grande auxílio É um caminho bastante aderido pela publicidade Ainda há uma grande discussão quanto a privacidade dos usuários Sites que não possuem Sistema de Recomendação estão fadados ao esquecimento Referências TUTEN, T. L. Advertising 2.0: social media marketing in a Web 2.0 world. Praeger, Westport Connecticut, 2008. MAES, P.; SHARDAMAND, U. (1995) “Social information filtering: Algorithms for automating "word of mouth”, In: Human Factors in Computing Systems. Proceedings…, 1995, p. 210-217. REATEGUI, E.; CAZELLA, S. Sistema de Recomendação. XXY Congresso da Sociedade Brasileira de Computação, 2005. São Leopoldo. VAREJÃO, L., OLIVEIRA, P., LORENA, V., ACIOLI, V. Mineração de Dados na Web: Sistemas de Recomendação REATEGUI, E., CAZELLA, S., Sistemas de Recomendação. XXV Congresso da Sociedade Brasileira de Computação, 2005, Rio Grande do Sul. http://edgerank.net/ http://marketingland.com/edgerank-is-dead-facebooks-news-feed-algorithm-now-has-close-to100k-weight-factors-55908 http://techblog.netflix.com/2013/03/system-architectures-for.html Dúvidas? ?