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