![Page 1: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/1.jpg)
Conceitos e Práticas em Sistemas de Recomendação
09/04/2014 !
Joel Pinho Lucas
1
![Page 2: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/2.jpg)
Agenda
• Big Data e Sistemas de Recomendação (SR)
• Técnicas utilizadas em SR
• Principais problemas e desafios em SR
• Algoritmos utilizados
• Cases
• Como começar a desenvolver SR?
2
![Page 3: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/3.jpg)
Big Data (Volume) - Sistemas de Recomendação
2/3 dos filmes acessados no Netflix são originados de recomendações (Celma & Lamere - ISMIR 2007)
O volume de informação no mundo ocuparia o equivalente a 295 trilhões de megabytes (University of Southern California - 2011)
3
![Page 4: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/4.jpg)
Big Data (Velocidade) - Sistemas de Recomendação
• Análise de dados:
✓ Processamento em “batch”
✓ Processamento em tempo real
4
![Page 5: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/5.jpg)
Sistemas de Recomendação
• Cenário em E-Commerce:
✓A “explosão da informação” resultou em uma enorme quantidade de itens ao alcance do usuário
✓Dificuldade na escolha para compra de produtos
✓Falta de personalização
✓Email / SPAM
5
![Page 6: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/6.jpg)
Sistemas de Recomendação
• 35% das compras na Amazon.com são originadas por recomendações (Celma & Lamere - ISMIR 2007)
6
“Se tenho 3 milhões de clientes na Web, tenho de ter 3 milhões de lojas on-line” Jeff Bezos, Fundador da amazon.com
![Page 7: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/7.jpg)
Técnicas Utilizadas em SR
✓Métodos baseados em Conteúdo (CB):
!
!
!
✓Filtragem Colaborativa (CF):
‣ Baseada em Usuário
‣ Baseada em Item
7
![Page 8: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/8.jpg)
Técnicas Utilizadas em SR
Figura: Recomendação baseada em Conteúdo (Gmail.com)
8
![Page 9: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/9.jpg)
Técnicas Utilizadas em SR
Figura: Recomendação baseada em Item - Filtragem Colaborativa (Amazon.com,)
9
![Page 10: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/10.jpg)
Técnicas Utilizadas em SR
Figura: Recomendação baseada em Usuário - Filtragem Colaborativa (Netflix.com)10
![Page 11: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/11.jpg)
11
“É complexo definir similaridade, mas…
você sabe quando você a vê.” (Dr. E. Keogh)
![Page 12: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/12.jpg)
• Falsos Positivos x Falsos Negativos
• Implementação própria x Frameworks + tools (ex.: Mahout)
!
• Processamento em “batch" x Tempo Real
12
Problemas e Desafios
![Page 13: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/13.jpg)
Problemas e Desafios
• Dispersão de dados (sparsity): usuários conseguem avaliar (rating) em média1% dos itens disponíveis (Breese, et. al. - 2010)
• Escalabilidade
• Ovelha Negra
• Primeiro Rating (early-rater)
13
![Page 14: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/14.jpg)
Cases
14
Figura: Gameverse (Mobjoy)Figura: MovieLens (GroupLens - University of Minnesota)
![Page 15: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/15.jpg)
Arquitetura Típica para Recomendações
15
![Page 16: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/16.jpg)
Algoritmos de CB - TFIDF
✦ TF: Term Frequency ✦ IDF: Inverse Document Frequency
16
Tabela: documentos representando itens
![Page 17: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/17.jpg)
Algoritmos de CB - TFIDF
17
Figura: Modelo Vetorial [Dr. Edberto Ferneda, Unesp, 2010]
![Page 18: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/18.jpg)
Algoritmos de CF - Conceito Geral
18
a) Matriz User-Item b) User rating document no MongoDB
✦ CF: predizer ratings do usuário ativo para cada produto com base nos ratings de outros usuários
![Page 19: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/19.jpg)
Algoritmos de CF - KNN
19
✦ K-Nearest User Neighborhood (KNN): buscar os K vizinhos mais próximos
• Input: vetores de ratings de usuários
• Output: os k vizinhos mais próximos
• Recomendação: top ratings de k
![Page 20: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/20.jpg)
Algoritmos de CF - Regras de Associação
20
• Encontrar conjuntos de itens (frequent itemsets) que ocorram juntos em um conjunto de dados
• Em SR: se item A e B estão relacionados, então recomendar item B se User1 gostou de item A
Tabela 1: Exemplo de um conjunto de transações
Tabela 2: Possíveis regras a partir de T1
![Page 21: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/21.jpg)
Algoritmos - Scaling out
21
• Implementar Escalabilidade Horizontal
![Page 22: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/22.jpg)
Algoritmos - Scaling out
22
• TFIDF: dividir conjuntos de documentos para realizar o processamentos dos vetores de palavras
!
• KNN e Conjunto de Itens Frequentes: paralelizar o cruzamento de dados utilizando Map-Reduce !
!! !!
![Page 23: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/23.jpg)
Map Input: {[user: U1, items: [P1, P3, P6], user: U2, items: [P1, P9], user: U3, items: [P1, P6, P8]]}
23
Algoritmos - Scaling out
Map Output/Reduce Input: (P1: [P3, P6]; P3: [P1, P6]; P6: [P1, P3]; P1: [P9]; P9: [P1]; P1: [P6, P8]; P6: [P1, P8]; P8: [P1, P6])
Reduce Output: (P1: [P3, P6, P8]; P3: [P1, P6]; P6: [P1, P3, P8]; P8: [P1, P6])
![Page 24: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/24.jpg)
Como Começar?
✓Coursera (http://www.coursera.org):
• Recommender Systems
• Introduction to Data Science
• Machine Learning
✓Amazon EMR Training: http://aws.amazon.com/elasticmapreduce/training/
24
![Page 25: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/25.jpg)
✓Netflix Tech Blog: http://techblog.netflix.com/
✓GroupLens - University of Minnesota, EUA: http://www.grouplens.org/
✓Toby Segaran, Programming Collective Intelligence. O’Reilly, 2007
25
Como Começar?
![Page 26: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/26.jpg)
✓Amazon Public datasets: http://aws.amazon.com/publicdatasets/
✓GroupLens Public Data Sets: http://www.grouplens.org/
✓Weka Machine Learning: http://www.cs.waikato.ac.nz/ml/weka/
26
Como Começar?
![Page 27: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/27.jpg)
27
Como Começar?
![Page 28: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.pub/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/28.jpg)
Perguntas - Contato
‣ Linkedin: http://br.linkedin.com/in/joelplucas/
!
‣ Email: [email protected]
28