conceitos e práticas em sistemas de recomendação
DESCRIPTION
O crescente volume de informação digital gerado nos dias de hoje resultam em um leque cada vez maior de opções de conteúdo, gerando inúmeras demandas na personalização de conteúdo em sistemas de comércio eletrônico e também em outras áreas tais como turismo, entretenimento e educação. Dentro deste contexto, os Sistemas de Recomendação vêm se tornando uma peça chave na em diversos sistemas web e mobile. Esta palestra mostra uma visão geral sobre metodologias utilizadas nesses sistemas, sobretudo a filtragem colaborativa e a recomendação baseada em contexto. Apresenta-se um visão geral de alguns dos principais algoritmos e técnicas utilizadas em cada metodologia. Além disso, são mostrados exemplos práticos dos principais problemas enfrentados no desenvolvimento de sistemas de recomendação (i.e.: ovelha negra, first rater, sparsity, etc.) e também como os mesmos podem ser evitados ou amenizados.TRANSCRIPT
![Page 1: Conceitos e práticas em Sistemas de Recomendação](https://reader031.vdocuments.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/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.mx/reader031/viewer/2022020116/55705324d8b42a85618b5370/html5/thumbnails/28.jpg)
Perguntas - Contato
‣ Linkedin: http://br.linkedin.com/in/joelplucas/
!
‣ Email: [email protected]
28