Sistemas de Recomendação
Carlos CastorNaiane Nascimento
RoteiroMotivaçã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 ColetivaA 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.0Maior interação entre usuários e a Web;Surgimento de mais portais, blogs e redes sociais
MotivaçãoGrande 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árioO 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áriosGrupos 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 itensMostrar algum item que uma pessoa parecida com
você viu e você não viuTabela de Pesos.
Como se dá a recomendação
Comparação entre itensEncontra a similaridade entre os itensAjuda 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 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
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údoFiltragem ColaborativaFiltragem 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 ColaborativaFechar 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íbridaCombina 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 TrainingAlgoritmos de aprendizagem de máquina para
definição de parâmetros
Computação de resultadosSugestões que irão aparecer para o usuário ou serão
utilizadas por algoritmos online
Grande Volume de dadosBanco de dados distribuídos(Hive ou Pig)
Arquitetura: Tarefas Offline
Mecanismo para publicação dos resultadosQuando os resultados estão prontosSuporte a diferentes repositóriosTratamento de errosMonitoramentoAlertasNetflix.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 importantesComo 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 : 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 yu1, 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-to-100k-weight-factors-55908
http://techblog.netflix.com/2013/03/system-architectures-for.html
Dúvidas?
??