O documento resume os principais algoritmos de recomendação, incluindo filtro colaborativo entre usuários e itens, e filtro baseado em conteúdo. Também discute avaliação de sistemas de recomendação e exemplos de aplicações em empresas como Amazon, Netflix e Facebook.
10. Correlação
• Simples e eficiente
• Ganha de várias outras medidas de similaridades
para o filtro colaborativo entre usuários [Herlocker et
al. 1999]
• Desconsidera popularidade dos itens (boa ou ruim)
• Predições saem da escala de avaliação (1-5 pode
produzir predições de 6 ou até 7)
• Usuários que concordam em poucos, mas
importantes, itens podem ter uma baixa correlação
12. Filtro Colaborativo
• Entre itens (Amazon)
• Pode ser calculado off-line porque as notas
dos itens tendem a ser mais estáveis que as
dos usuários (Sarwar B. et al. 2001)
• Indicado utilizar similaridade cosseno
(Sarwar B. et al. 2001)
14. Implementação
• Montar matriz de avaliações (Item x Usuário)
• Montar matriz de correlações (cosseno ajustado –
média do usuário)
• Prever avaliações para cada item para cada usuário
com base na similaridade entre itens que o usuário
avaliou
• Ordenar as previsões e apresentar as recomendações
16. Filtro Colaborativo
• Quando escolher I-I ou U-U?
• p = max de avaliações por usuário
• q = max de avaliações por item
• k = max de vizinhos
Ricci, F. et al. (eds.), Recommender Systems Handbook pg. 120
17. Filtro Colaborativo
• DataSet MovieLens:
• ≈ 700 users
• ≈ 10,000 movies
• ≈ 100,000 ratings
Ricci, F. et al. (eds.), Recommender Systems Handbook pg. 120
18. Filtro Colaborativo
• Quando escolher I-I ou U-U?
• Preferências dos itens tendem a ser mais
estáveis do que as preferências dos usuários
• Avaliar nro de itens versus usuários
• U-U favorece serendipidade (Ekstrand et al.
2011)
• Ressaltando, filtro colaborativo utiliza
unicamente as avaliações, ignorando
completamente os atributos
19. Filtro Colaborativo
• Para o filtro baseado em conteúdo, a abordagem
mais utilizada é a similaridade cosseno.
• É claro, pode ter várias dimensões
https://kallistec.wordpress.com/tag/k-nearest-neighbors/
21. Implementação ingênua
• Definir vetor de palavras-chave
• Construir perfil dos itens (vetor binário assimétrico)
• temFeatureX = 1
• Construir perfil dos usuários (contagem simples)
• (rating > limiar) ? +1
• (rating < limiar) ? -1
• senão, 0
• Calcular dot-product entre os perfis de itens e usuários
• Ordenar e mostrar os resultados
22. Sistemas de Recomendação
• Desafios
• 0-1 ou contagem
• Feedback implícito
• Preferência versus importância de palavra-chave
• Como normalizar os vetores?
• Como atribuir pesos?
• Melhores formas de atualizar os vetores (on-line)?
23. Sistemas de Recomendação
• Como extrair atributos qualitativos (contexto)?
• Se eu avaliar bem um filme de comédia, não quer dizer que o
gênero apenas seja representativo o suficiente para a minha
preferência
• Tags tentam capturar isto
• “Genres, actors, director are not the content of a movie. It is
knowledge about it” Recommender Systems – An Introduction
• Fatoração matricial (filtro colaborativo)
24. Sistemas de Recomendação
• Combinação de dois ou mais algoritmos
http://dataconomy.com/an-introduction-to-recommendation-engines/
25. Sistemas de Recomendação
Burke, R., 2002 - Hybrid Recommender Systems: Survey and Experiments
Técnica Vantagens Desvantagens
Filtro Colaborativo A. Pode identificar nichos
B. Conhecimento de domínio
não é necessário
C. Feedback implícito é
suficiente
D. A qualidade melhora com o
tempo
E. Cold-start para usuário
F. Cold-start para item
G. Problema da ovelha-
negra
H. Qualidade depende do
histórico
I. Problema da
estabilidade VS
Plasticidade
Baseado em
conteúdo
B, C, D E, H, I
26. Sistemas de Recomendação
Burke, R., 2002 - Hybrid Recommender Systems: Survey and Experiments
Método Descrição
Pesos Combinar os escores de diferentes técnicas de
recomendação para produzir uma única recomendação
Switching Muda o algoritmo dependendo da situação
Misto Mistura as recomendações geradas por diferentes técnicas
Combinação de
características
Características de diferentes técnicas de recomendação
são unidas em um único algoritmo
Cascata Um algoritmo filtra as recomendações gerada por outo
Ampliação de
características
A saída de uma técnica é usada como entrada de outra
Meta-nível O modelo aprendido por uma técnica é usado como
entrada para outra
28. Avaliação
• R = avaliações, I = Itens, U = Usuários
• MovieLens 100k current DataSet tem
esparcidade = 0,978 (2,2%)
29. Avaliação
• U = Usuários
• testsetu = Conjunto de itens que o usuário u avaliou
• rec(u, i) = avaliação prevista para o usuário u no item i
• ru,i é a avaliação real do usuário u para o item i
• MovieLens MAE = 0.83
30. Avaliação
• Precision (relevância) (Pu), Recall (entre os top) (Ru) e
Medida-F (F1)
• hitsu é o número de recomendações relevantes
presentes no top-n
• recsetu é o valor de top-n
• testsetu é o total de recomendações relevantes
http://aimotion.blogspot.com.br/2011/05/evaluati
ng-recommender-systems.html
31. Avaliação
• Usuário “Alice”
Filme Avaliação (0.5 – 5.0)
Toy Story 5.0
Alien 2.0
Titanic 4.5
Indiana Jones and the Raiders… 3.0
Pirates of the Caribean and the
Curse…
3.5
32. Avaliação
Filme Recomendado Previsão
Toy Story 4,89
Matrix 4,78
Inception 4,32
Titanic 4,18
Band of Brothers 3,99
Precisão: 1/3
Recall: 1/2
Recomendações, Top-3
33. Avaliação
Filme Recomendado Previsão
Iron Man 4,95
Mulan 4,77
Prometheus 4,71
Alien 4,63
Terminator 2 4,61
Predator 4,59
The Expandables 4,50
First Blood 4,42
Precision: ?
Recall: ?
Recomendações, Top-5
Usuário assistiu e gostou (top)
Usuário assistiu e gostou
34. Avaliação
Filme Recomendado Previsão
Iron Man 4,95
Mulan 4,77
Prometheus 4,71
Alien 4,63
Terminator 2 4,61
Predator 4,59
The Expandables 4,50
First Blood 4,42
Precision: 2/5
Recall: 2/4
Recomendações, Top-5
Usuário assistiu e gostou (top)
Usuário assistiu e gostou
36. Avaliação
• Usuário “234” com 20 itens na lista de recomendação e
hits nas posições 04 e 20
• Pode-se notar que um item posicionado acima no
ranking tem um peso maior
37. Avaliação
• Cobertura de Usuários (Ucov), Cobertura de Catálogo
(Ccov)
• Útil para avaliar usuários com poucas avaliações
(listas não-vazias de recomendações são geradas)
• Deve ser usado em conjunto com métricas de erro
(MAE)
38. Avaliação
•Existem outras
•Área em aberto para pesquisa
•Para Herlocker e McLaughlin (2004)
Precision e Recall reflete melhor a
experiência do usuário do que MAE
•No entanto, vários experimentos usam
MAE / RMSE como medida
•Netflix Prize pedia para reduzir o RMSE
em 10%
44. Avaliação
● Balancear a proporção de avaliações positivas
com um grau de incerteza de uma parte das
observações (Edwin Wilson)
● 95% de chance da fração “real” de avaliações
positivas ser de “quanto” (valor mínimo)?
http://www.evanmiller.org/how-not-to-sort-by-average-rating.html
52. Sistemas de Recomendação
• O motor de busca considera aspectos como:
• Histórico de navegação
• Localização geográfica
• Línguas de domínio
• Caso positivo, pode sim ser considerado um SR
• CBF ou CF?
• Caso contrário, pode ser considerado SR não-
personalizado
56. Sistemas de Recomendação
• Facebook
• 1 bilhão de usuários
• 100 bilhões de avaliações (likes)
• Milhões de itens (grupos, jogos, etc.)
https://code.facebook.com/posts/861999383875667/recommending-items-to-more-than-a-billion-people
58. Sistemas de Recomendação
• Amazon
• Exemplo clássico de aplicação de sistemas de
recomendação com sucesso
• Filtro colaborativo Item-Item
59. Sistemas de Recomendação
• “Our mission is to delight our customers by allowing
them to serendipitously discover great products”
http://fortune.com/2012/07/30/amazons-
recommendation-secret/
67. Sistemas de Recomendação
• Netflix
• 3 mil títulos (em media, por país)
• 75 milhões de usuários
• 75% das visualizações vem de recomendações
• “Search is that thing the people do when they don’t get
good recommendations” Xavier A.
• As categorias representam não apenas gêneros, mas
também o humor do usuário
68. Sistemas de Recomendação
• Netflix mantém controle de muitos dados implícitos
• Pause, rewind ou fast forward
• O dia da semana em que cada conteúdo é acessado
• Horas e minutos em que cada conteúdo é acessado
• Localização geográfica
• Aparelhos utilizados
• Avaliações (explícito)
• Buscas
• “We are not optimizing for ratings” Xavier A.
• Avaliações explícitas diminuíram
72. Sistemas de Recomendação
• Motor de busca dominante na China (80%)
• Um país com 700 milhões de internautas
• Está ganhando destaque por inovar os filtros
de conteúdo
73. Sistemas de Recomendação
• “Baidu invested over U$ 100,000,000 in Content
Recommendation Engine “Teboola””
• Querem usar o contexto do usuário como
parâmetros para as buscas
• Querem evoluir as propagandas, evitar mais do
mesmo (se eu compro item x não quero ver mais
propaganda do mesmo item)
http://www.geektime.com/2015/05/18/baidu-invests-millions-in-content-
recommendation-engine-taboola/
74. Sistemas de Recomendação
• 1792 lojas nos EUA
• 347000 funcionários
• U$ 72 bilhões em faturamento (2014)
https://corporate.target.com/press/corporate
75. Sistemas de Recomendação
• “Every time you go shopping, you share intimate
details about your consumption patterns with
retailers”
• “And many of those retailers are studying those details
to figure out what you like, what you need, and which
coupons are most likely to make you happy”
•
http://www.forbes.com/sites/kashmirhill/2012/02/16/how-
target-figured-out-a-teen-girl-was-pregnant-before-her-
father-did/#44c424c434c6
http://www.nytimes.com/2012/02/19/magazine/shopping
-habits.html
76. Sistemas de Recomendação
• Estatísticos contratados pela empresa descobriram
que uma alta porcentagem de mulheres no registro
de bebês que estavam no segundo trimestre
compraram loção sem cheiro e suprimentos de
cálcio, magnésio e zinco (regras de associação)
77. Sistemas de Recomendação
• Target passou a enviar cupons para itens de bebês
de acordo com a probabilidade de gravidez
(Recomendações orgânicas)
• Mulheres que compravam os itens e que atendiam
aos requisitos demográficos (faixa etária, renda, se
era casada, se já tinha filhos, etc.)
• Faturamento
• U$ 44 bilhões em 2002
• U$ 67 bilhões em 2010
78. Sistemas de Recomendação
• “For companies like Target, the exhaustive
rendering of our conscious and unconscious
patterns into data sets and algorithms has
revolutionized what they know about us and,
therefore, how precisely they can sell.”
79. Sistemas de Recomendação
• Streaming de música sob demanda
• 40 milhões de músicas
• 24 milhões de usuários ativos
• 1 bilhão de playlists
• Filtro colaborativo em produção
• Filtro baseado em conteúdo usando espectros de
áudio e letras em estudo.
• Criar filtros representativos baseado em padrões encontrados
nas músicas
81. Sistemas de Recomendação
“[…] our main problem: how do you model a function
similarity(x, y)
For item similarity it’s also much easier to acquire
good test set data, unlike personal recommendations.
It’s hard to evaluate personal recommendations –
most offline metrics like precision are irrelevant.”
Erik Bernhardsson – Gerente de Engenharia
http://pt.slideshare.net/erikbern/music-recommendations-mlconf-2014
83. Sistemas de Recomendação
• Music Genome Project
• Patente US 7003515 B1 (2006) – Consumer item matching
method and system (Pandora Media, Inc.)
“25 or so music analysts have to assign
either one-to-five rankings or more
quantitative measures (say, beats per
minute) for as many as 450 "genome units"
per song”
http://boingboing.net/2014/05/24/pandoras-music-
genome-proj.html
84. Sistemas de Recomendação
• Oord A. – “Deep content-based music
recommendation”, 2013 propõe encontrar
funcionalidades latentes utilizando rede
neural (algoritmo t-SNE)
• Fragmentos de 3 segundos de
espectrogramas de áudios em duas redes
convolucionais com duas camadas
95. Sistemas de Recomendação
• No centro do Sistema de recomendação está
o usuário e suas preferências
• Contraexemplo: loja de departamentos
• Usuário: “Procuro uma televisão”
• Vendedor: “Tenho o modelo perfeito para
você! A recém-chegada 104 polegadas 8K”
96. Sistemas de Recomendação
Artigos por
ano
Artigos por
domínio
Park, D. H. et al - A literature review and classification of recommender
systems research (2011)
2006: Netflix Prize
2007: ACM RecSys
99. Sistemas de Recomendação
• Uma recomendação é um problema que pode
ser resolvido com técnicas de aprendizado de
máquina / data mining
• Áreas relacionadas
• Information Retrieval
• Information Filtering
• Data Mining
• Machine Learning
100. RS + Data Mining
Amatriain, X. et al - Data
Mining Methods for
Recommender Systems
Visualização
101. Em aberto
• Explicações
• Ataques
• Confiança
• Cold-Start
• Esparcidade
• Escalabilidade
• Métodos de avaliação
• Técnicas de ranking
• Implementações ad-hoc
103. Sistemas de Recomendação
•Alto interesse da indústria
•“[...] common problem at Silicon Valley”
•“[...] little atention of the research
community”
•Andrew Ng (2011)
104. Sistemas de Recomendação
• Internet amadureceu e hoje oferece (muita) informação
• A era da informação (overload) está se tornando a era da
recomendação
• “The coming era of on-demand marketing”
• Serviços tendem a serem personalizados para os usuários
• Recomendações podem ser Orgânicas ou Explícitas
• Explícitas pode dar a sensação de espionagem (caso da
Target)
http://www.mckinsey.com/business-functions/marketing-and-sales/our-insights/the-coming-era-of-on-demand-marketing
115. Sistemas de Recomendação
• Acuracidade de predição de avaliação não
significa boas recomendações
• Dados úteis vem de feedbacks implícitos
• Não há um modelo ideal para todos os
cenários (No Free Lunch)
• Construir e tunar bons modelos é um
problema em aberto
• Carência de bons DataSets para pesquisa
• Trade-off entre performance e acurácia
(online / offline)