6. Motivação
• Popularização da internet
• Primeiros motores de busca eram rudimentares
• Google revolucionou
• Os demais se aperfeiçoaram
• Artigos (Scopus, Scholar), Compras (Amazon)
dentre outros
8. Motivação
•Como encontrar conteúdo adequado, que
satisfaça as minhas necessidades como
consumidor, desde os momentos de
estudo até os momentos de
entretenimento?
•Eu sempre sei exatamente o que eu
quero consumir (assistir, ler, ouvir,
comprar)?
9. Motivação
•Como os sites que eu frequento podem
me ajudar a escolher?
•O que acontece quando eu me deparo
com muitas opções?
•Quais as vantagens que um negócio tem
em recomendar de forma eficaz e
eficiente?
15. O que é uma recomendação?
• É uma lista de itens ordenados gerada para um
usuário considerando suas preferências e em
conformidade com um contexto
16. O que é uma recomendação?
• É uma lista de itens ordenados gerada para um usuário considerando suas
preferências e em conformidade com um contexto
• Normalmente, a recomendação é construída com base
em previsões do quão provável será de que o usuário
consumirá o item.
17. O que é uma recomendação?
• É uma lista de itens ordenados gerada para um usuário considerando suas
preferências e em conformidade com um contexto
• Normalmente, a recomendação é construída com base em previsões do quão
provável será de que o usuário consumirá o item.
• As previsões são calculadas com entradas que inclui o
perfil do usuário e suas ações históricas
18. O que é um Sistema de
Recomendação?
• Um Sistema de Recomendação (SR) é um software que
• Antecipa as necessidades dos usuários
21. Objetos de estudo
• Modelos que representam o perfil do usuário para
capturar preferências e gostos
22. Objetos de estudo
• Modelos que representam o perfil do usuário para capturar preferências e gostos
• Técnicas para calcular similaridades e relacionamentos
23. Objetos de estudo
• Modelos que representam o perfil do usuário para capturar preferências e gostos
• Técnicas para calcular similaridades e relacionamentos
• Condições que envolvem quais itens devem ser
recomendados e como estes devem ser apresentados
(acuracidade, serendipidade, cobertura, diversidade)
24. Objetos de estudo
• Modelos que representam o perfil do usuário para capturar preferências e gostos
• Técnicas para calcular similaridades e relacionamentos
• Condições que envolvem quais itens devem ser recomendados e como estes
devem ser apresentados (acuracidade, serendipidade, cobertura, diversidade)
• Compreender o que os usuários querem, quando eles
querem e porque eles querem (domínio).
25. Sistemas de recomendação
• Variam de acordo com o domínio
• Em alguns domínios o usuário consumirá um item
várias vezes (música, compras), em outros, o usuário
consumirá apenas uma vez (na maioria das vezes)
(filmes, notícias)
27. Dados
•São de origem implícita ou explícita
•Podem ser unários, binários ou contínuos
28. Dados
•De onde vem os dados dos domínios
• Filmes
• Notícias
• e-Commerce
29. Dados
•Filmes (memória longo prazo)
• Avaliação
• Tempo assistindo
• Quantas vezes assistiu
• Adicionou em uma lista
30. Dados
•Notícias (memória de curto prazo)
• Clicou no artigo
• Compartilhou em rede social
• Escreveu um comentário
• Upvote/downvote
• Tempo de leitura
34. Sistemas de recomendação
• Divido em duas categorias:
• Avaliações de vizinhos (filtro colaborativo)
• Análise de vetor de atributos (filtro baseado em
conteúdo)
• Alguns autores incluem também:
• Filtro demográfico
• Filtro baseado em conhecimento
35. Filtro Colaborativo
• Utiliza apenas as avaliações dos usuários
(implícito ou explícito)
Usuário Item 1 Item 2 Item 3 Item 4 Item 5
Usuário X 4.5 3.0 1.0 2.0 ?
José 3.5 2.5 1.5 ? 4.5
Ana 5.0 ? 3.0 ? 3.0
Catarina 2.0 4.0 4.5 3.0 ?
Bruno ? ? 1.0 2.0 4.0
Janice 2.5 ? ? 3.0 5.0
39. Filtro Colaborativo
•k-NN de itens ou usuários
•Medida de similaridade varia. Tradicional:
Correlação de Pearson
•Cálculos de previsão das avaliações que o
usuário dará para cada item varia (será
visto na seção Algoritmos)
40. Filtro baseado em conteúdo
http://dataconomy.com/an-introduction-to-
recommendation-engines/
41. Filtro baseado em conteúdo
• Utiliza apenas os atributos e a preferência do usuário
pelos mesmos
• Utilizado historicamente para documentos
• Term Frequency Inverse Document Frequency (TFIDF)
• Information Retrieval, motores de busca
• Modelo de Espaço Vetorial
• “Each dimension corresponds to a separate term. If a term
occurs in the document, its value in the vector is non-zero”
Wikipedia
42. Filtro baseado em conteúdo
• Atributos
• Filmes
• Atores
• Diretores
• Gêneros
• Tags
• Ano
• País
• Música
• Cantor(a)
• Componentes da banda
• Estilo(s)
43. Filtro baseado em conteúdo
• Domínio de filmes
Ação Comédi
a
Horror Roman
ce
Sci-Fi …
Toy Story 0 1 0 0 0
Alien 1 0 1 0 1
Titanic 1 0 0 1 0
Indiana Jones and the Raiders… 1 1 0 0 0
Pirates of the Caribean and the
Curse…
1 1 0 1 0
….
44. Filtro baseado em conteúdo
• Exemplo avaliações do usuário “Alice”
Ação Comédi
a
Horror Roman
ce
Sci-Fi …
Perfil do Usuário Alice +1 +2 -1 +2 -1
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
45. Filtro baseado em conteúdo
Jing, Y. et al. - “Visual Search at Pinterest”, 2015
46. Sistemas de Recomendação
•Outras técnicas
• Não-personalizado
• Ciente de contexto
• Demográficos
• Baseado em conhecimento
• Híbrido
49. Demográfico
• Idade
• Gênero
• Etnia
• Orientação sexual
• Educação
• Tem crianças
• Cidade / Estado / País
• Renda
• Ocupação
• Religião
• …
50. Baseado em conhecimento
• O usuário sabe parte das especificações do que quer
• Geralmente, para itens que são comprados uma vez
ou poucas vezes
• Computador, carro, casa
• Tela 13” ou 14”
• Keyboard backlight
• 8 GB RAM
• SSD Hard Disk
• Peso máximo
53. Sistemas de Recomendação
• MovieLens (movielens.org) é mantido por
GroupLens Research Project (University of Minnesota)
• DataSets públicos
• Stable (benchmarks) [100K / 1M / 10M / 20M]
• Current (playground) [100K / 22M]
• MovieLens Current (2016-01) DataSet (Small)
• ≈ 700 users
• ≈ 10,000 movies
• ≈ 100,000 ratings
http://grouplens.org/datasets/movielens/
54. Sistemas de Recomendação
• A seguir serão apresentados algumas
análises de recomendações do MovieLens
para um usuário
• Abordagens
• Híbrido (preferência por grupos de itens
gerados por clustering)
• Filtro colaborativo Item-Item
• Feature learning através de fatorização
matricial usando SVD
61. Sistemas de Recomendação
•Gêneros “History”, “Western” ou “Crime”
seriam mais apropriados
•Mas neste caso está sendo utilizado
filtro colaborativo item-item
•Que representa as preferências gerais
de todos os outros usuários que
avaliaram os filmes
•Quais itens similares o usuário avaliou?
64. Sistemas de Recomendação
Ainda recomendado, mas houve queda
de 4.87 para 4.73 na previsão
(apenas mudando um pouco a avaliação de 1 filme)
65. Sistemas de Recomendação
•Lembrando que filtro colaborativo ignora
features, então o filme seria
recomendado mesmo que o sistema
pudesse inferir que o usuário não gosta
do gênero Romance
66. Sistemas de Recomendação
•Trocando o algoritmo para: Simon
Funk’s SVD
• Comprime os dados de avaliações em
fatores que capturam as preferências
essenciais dos usuários
http://sifter.org/~simon/journal/20061211.html
75. Sistemas de Recomendação
• Não tem os gêneros favoritos do usuário
(Adventure, Fantasy, Animation)
• Não foi avaliado nada deste diretor nem do
elenco
• Então, porquê esta recomendação?
76. Sistemas de Recomendação
•Não tem os gêneros favoritos do usuário
(Adventure, Fantasy, Animation)
•Não foi avaliado nada deste diretor nem
do elenco
•Então, porquê esta recomendação?
•Existem outras features
77. Sistemas de Recomendação
•Foi traduzido para a língua Japonesa
•Inclui 5 tags marcadas com sentimento
positivo
•Tem boas avaliações
85. Sistemas de Recomendação
• Limites de Data Mining / Machine Learning:
como ir além dos padrões e capturar a
complexidade das necessidades humanas?
• A seguir exemplos hipotéticos
89. Sistemas de Recomendação
•As previsões de avaliações resultariam
em um ranking ordenado de forma
decrescente o que significa que o usuário
provavelmente iria selecionar o seguinte
item:
91. Sistemas de Recomendação
•Mas, na maior parte do tempo em que
consome filmes, o usuário está cansado
de um dia corrido, e quer relaxar
•Então, a escolha é:
96. Sistemas de Recomendação
•Um algoritmo inspirado em filtro
baseado em conteúdo poderá detectar
que este usuário gosta de:
• Filmes aonde Silvester Stallone é o ator
principal
• Filmes do gênero ação
97. Sistemas de Recomendação
•Portanto, um filme de ação estrelando
Silvester Stallone seria muito bom para
este usuário, certo?
•Então, eis a recomendação
101. Sistemas de Recomendação
•Usando filtro colaborativo o resultado
poderia ter sido diferente
•Ou ainda, usando apenas a informação da
avaliação disponível para este filme
103. Sistemas de Recomendação
• Filtro baseado em conteúdo elimina o cold-start
para itens, mas nem sempre captura
adequadamente as preferências do usuário
• Filtro colaborativo é um modelo fácil de replicar
para qualquer domínio, mas ignora as features,
o que pode favorecer itens populares
• Preferências por features podem ser induzidas
através das avaliações