SlideShare uma empresa Scribd logo
Conceitos e Práticas em
Sistemas de Recomendação
09/04/2014	

!
Joel Pinho Lucas	

1
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
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
Big Data (Velocidade) - Sistemas de Recomendação
• Análise de dados:	

✓ Processamento em “batch”	

✓ Processamento em tempo real
4
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
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
Técnicas Utilizadas em SR
✓Métodos baseados em Conteúdo (CB):	

!
!
!
✓Filtragem Colaborativa (CF):	

‣ Baseada em Usuário	

‣ Baseada em Item
7
Técnicas Utilizadas em SR
Figura: Recomendação baseada em Conteúdo (Gmail.com)
8
Técnicas Utilizadas em SR
Figura: Recomendação baseada em Item - Filtragem Colaborativa (Amazon.com,)
9
Técnicas Utilizadas em SR
Figura: Recomendação baseada em Usuário - Filtragem Colaborativa (Netflix.com)
10
11
“É complexo definir similaridade, mas…
você sabe quando você a vê.” (Dr. E. Keogh)
• Falsos Positivos x Falsos Negativos	

• Implementação própria x Frameworks + tools (ex.:
Mahout) 	

!
• Processamento em “batch" x Tempo Real
12
Problemas e Desafios
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
Cases
14
Figura: Gameverse (Mobjoy)
Figura: MovieLens (GroupLens - University of Minnesota)
Arquitetura Típica para Recomendações
15
Algoritmos de CB - TFIDF
✦ TF: Term Frequency	

✦ IDF: Inverse Document Frequency
16
Tabela: documentos representando itens
Algoritmos de CB - TFIDF
17
Figura: ModeloVetorial [Dr. Edberto Ferneda, Unesp, 2010]
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
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
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
Algoritmos - Scaling out
21
• Implementar Escalabilidade Horizontal
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	

!
!
!
!
!
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])
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
✓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?
✓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?
27
Como Começar?
Perguntas - Contato
‣ Linkedin: http://br.linkedin.com/in/joelplucas/	

!
‣ Email: joelpl@gmail.com
28

Mais conteúdo relacionado

Destaque

Sistemas de Recomendação e Mobilidade
Sistemas de Recomendação e MobilidadeSistemas de Recomendação e Mobilidade
Sistemas de Recomendação e Mobilidade
Marcel Caraciolo
 
Introdução à sistemas de recomendação
Introdução à sistemas de recomendaçãoIntrodução à sistemas de recomendação
Introdução à sistemas de recomendação
Ralph Rassweiler
 
Sistemas recomendacao para Marketing e Propaganda
Sistemas recomendacao para Marketing e PropagandaSistemas recomendacao para Marketing e Propaganda
Sistemas recomendacao para Marketing e Propaganda
Marcel Caraciolo
 
Sistemas de Recomendação Aplicados a WebComo converter visitantes em comprado...
Sistemas de Recomendação Aplicados a WebComo converter visitantes em comprado...Sistemas de Recomendação Aplicados a WebComo converter visitantes em comprado...
Sistemas de Recomendação Aplicados a WebComo converter visitantes em comprado...
Arthur Fortes
 
Sistemas de recomendação
Sistemas de recomendaçãoSistemas de recomendação
Sistemas de recomendação
Leonardo Zanette
 
Sistemas de recomendação
Sistemas de recomendaçãoSistemas de recomendação
Sistemas de recomendação
Márcio Bortolini dos Santos
 
Um Modelo de Negociação de Privacidade para Sistemas de Recomendação Social
Um Modelo de Negociação de Privacidade para Sistemas de Recomendação SocialUm Modelo de Negociação de Privacidade para Sistemas de Recomendação Social
Um Modelo de Negociação de Privacidade para Sistemas de Recomendação Social
Anderson Kanegae Soares Rocha
 
Sistemas de Recomendação Usando Mahout - Dia 2
Sistemas de Recomendação Usando Mahout - Dia 2Sistemas de Recomendação Usando Mahout - Dia 2
Sistemas de Recomendação Usando Mahout - Dia 2
Alison Marczewski
 
Sistemas de Recomendação Usando Mahout - Dia 1
Sistemas de Recomendação Usando Mahout - Dia 1Sistemas de Recomendação Usando Mahout - Dia 1
Sistemas de Recomendação Usando Mahout - Dia 1
Alison Marczewski
 
Sistemas Recomendação em Redes Sociais
Sistemas Recomendação em Redes SociaisSistemas Recomendação em Redes Sociais
Sistemas Recomendação em Redes Sociais
Natã Melo
 
Sistemas de Recomendação e Inteligência Coletiva
Sistemas de Recomendação e Inteligência ColetivaSistemas de Recomendação e Inteligência Coletiva
Sistemas de Recomendação e Inteligência Coletiva
Marcel Caraciolo
 
Aula 02 - Recuperação da Informação / Modelos de Sistemas de Recuperação
Aula 02 - Recuperação da Informação / Modelos de Sistemas de RecuperaçãoAula 02 - Recuperação da Informação / Modelos de Sistemas de Recuperação
Aula 02 - Recuperação da Informação / Modelos de Sistemas de Recuperação
Nilton Heck
 
Shideshare
ShideshareShideshare
Shideshare
milena fernanda
 
Past, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry PerspectivePast, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry Perspective
Justin Basilico
 
Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...
Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...
Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...
Dawen Liang
 
(Some) pitfalls of distributed learning
(Some) pitfalls of distributed learning(Some) pitfalls of distributed learning
(Some) pitfalls of distributed learning
Yves Raimond
 
Balancing Discovery and Continuation in Recommendations
Balancing Discovery and Continuation in RecommendationsBalancing Discovery and Continuation in Recommendations
Balancing Discovery and Continuation in Recommendations
Mohammad Hossein Taghavi
 
Collaborative Filtering Recommendation System
Collaborative Filtering Recommendation SystemCollaborative Filtering Recommendation System
Collaborative Filtering Recommendation System
Milind Gokhale
 

Destaque (18)

Sistemas de Recomendação e Mobilidade
Sistemas de Recomendação e MobilidadeSistemas de Recomendação e Mobilidade
Sistemas de Recomendação e Mobilidade
 
Introdução à sistemas de recomendação
Introdução à sistemas de recomendaçãoIntrodução à sistemas de recomendação
Introdução à sistemas de recomendação
 
Sistemas recomendacao para Marketing e Propaganda
Sistemas recomendacao para Marketing e PropagandaSistemas recomendacao para Marketing e Propaganda
Sistemas recomendacao para Marketing e Propaganda
 
Sistemas de Recomendação Aplicados a WebComo converter visitantes em comprado...
Sistemas de Recomendação Aplicados a WebComo converter visitantes em comprado...Sistemas de Recomendação Aplicados a WebComo converter visitantes em comprado...
Sistemas de Recomendação Aplicados a WebComo converter visitantes em comprado...
 
Sistemas de recomendação
Sistemas de recomendaçãoSistemas de recomendação
Sistemas de recomendação
 
Sistemas de recomendação
Sistemas de recomendaçãoSistemas de recomendação
Sistemas de recomendação
 
Um Modelo de Negociação de Privacidade para Sistemas de Recomendação Social
Um Modelo de Negociação de Privacidade para Sistemas de Recomendação SocialUm Modelo de Negociação de Privacidade para Sistemas de Recomendação Social
Um Modelo de Negociação de Privacidade para Sistemas de Recomendação Social
 
Sistemas de Recomendação Usando Mahout - Dia 2
Sistemas de Recomendação Usando Mahout - Dia 2Sistemas de Recomendação Usando Mahout - Dia 2
Sistemas de Recomendação Usando Mahout - Dia 2
 
Sistemas de Recomendação Usando Mahout - Dia 1
Sistemas de Recomendação Usando Mahout - Dia 1Sistemas de Recomendação Usando Mahout - Dia 1
Sistemas de Recomendação Usando Mahout - Dia 1
 
Sistemas Recomendação em Redes Sociais
Sistemas Recomendação em Redes SociaisSistemas Recomendação em Redes Sociais
Sistemas Recomendação em Redes Sociais
 
Sistemas de Recomendação e Inteligência Coletiva
Sistemas de Recomendação e Inteligência ColetivaSistemas de Recomendação e Inteligência Coletiva
Sistemas de Recomendação e Inteligência Coletiva
 
Aula 02 - Recuperação da Informação / Modelos de Sistemas de Recuperação
Aula 02 - Recuperação da Informação / Modelos de Sistemas de RecuperaçãoAula 02 - Recuperação da Informação / Modelos de Sistemas de Recuperação
Aula 02 - Recuperação da Informação / Modelos de Sistemas de Recuperação
 
Shideshare
ShideshareShideshare
Shideshare
 
Past, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry PerspectivePast, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry Perspective
 
Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...
Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...
Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...
 
(Some) pitfalls of distributed learning
(Some) pitfalls of distributed learning(Some) pitfalls of distributed learning
(Some) pitfalls of distributed learning
 
Balancing Discovery and Continuation in Recommendations
Balancing Discovery and Continuation in RecommendationsBalancing Discovery and Continuation in Recommendations
Balancing Discovery and Continuation in Recommendations
 
Collaborative Filtering Recommendation System
Collaborative Filtering Recommendation SystemCollaborative Filtering Recommendation System
Collaborative Filtering Recommendation System
 

Semelhante a Conceitos e práticas em Sistemas de Recomendação

Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
André Leon S. Gradvohl
 
Palestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslidesharePalestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
pccdias
 
Machine learning java ce conference 2012 - fortaleza ce
Machine learning java ce conference 2012 - fortaleza ceMachine learning java ce conference 2012 - fortaleza ce
Machine learning java ce conference 2012 - fortaleza ce
Luca Bastos
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
Comunidade NetPonto
 
Comparativo de ferramentas tecnológicas para o compartilhamento de dados
Comparativo de ferramentas tecnológicas para o compartilhamento de dadosComparativo de ferramentas tecnológicas para o compartilhamento de dados
Comparativo de ferramentas tecnológicas para o compartilhamento de dados
Leandro Ciuffo
 
Aula 01 Revisão
Aula 01   RevisãoAula 01   Revisão
Aula 01 Revisão
Franklin Matos Correia
 
Casos de Uso de Big Data e Ciência de Dados no Mercado
 Casos de Uso de Big Data e Ciência de Dados no Mercado Casos de Uso de Big Data e Ciência de Dados no Mercado
Casos de Uso de Big Data e Ciência de Dados no Mercado
Joel Pinho Lucas
 
Modelo de Dados: Entendendo e “re-”construindo...
Modelo de Dados: Entendendo e “re-”construindo...Modelo de Dados: Entendendo e “re-”construindo...
Modelo de Dados: Entendendo e “re-”construindo...
Wesley Seidel
 
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
André Leon S. Gradvohl
 
Big Data Analytics - Data Science - Aplicação e Tecnologia
Big Data Analytics - Data Science - Aplicação e TecnologiaBig Data Analytics - Data Science - Aplicação e Tecnologia
Big Data Analytics - Data Science - Aplicação e Tecnologia
Hélio Silva
 
Collaborative filtering
Collaborative filteringCollaborative filtering
Collaborative filtering
Zhang Yi Ling
 
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
Gleicon Moraes
 
The Data Science Workflow
The Data Science WorkflowThe Data Science Workflow
The Data Science Workflow
Renzo Ziegler
 
Introducão à Ciência de Dados
Introducão à Ciência de DadosIntroducão à Ciência de Dados
Introducão à Ciência de Dados
João Pedro Albino
 
Data science e os físicos
Data science e os físicosData science e os físicos
Data science e os físicos
Caio Gomes
 
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdfTDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
FernandoIto8
 
Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"
Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"
Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"
Alejandro Frery
 
Human Activity Recognition
Human Activity RecognitionHuman Activity Recognition
Human Activity Recognition
Fabrício Barth
 
Situação da migração para PostgreSQL
Situação da migração para PostgreSQLSituação da migração para PostgreSQL
Situação da migração para PostgreSQL
Leonardo Cezar
 
Big data e mineração de dados
Big data e mineração de dadosBig data e mineração de dados
Big data e mineração de dados
Elton Meira
 

Semelhante a Conceitos e práticas em Sistemas de Recomendação (20)

Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
 
Palestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslidesharePalestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
 
Machine learning java ce conference 2012 - fortaleza ce
Machine learning java ce conference 2012 - fortaleza ceMachine learning java ce conference 2012 - fortaleza ce
Machine learning java ce conference 2012 - fortaleza ce
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
Comparativo de ferramentas tecnológicas para o compartilhamento de dados
Comparativo de ferramentas tecnológicas para o compartilhamento de dadosComparativo de ferramentas tecnológicas para o compartilhamento de dados
Comparativo de ferramentas tecnológicas para o compartilhamento de dados
 
Aula 01 Revisão
Aula 01   RevisãoAula 01   Revisão
Aula 01 Revisão
 
Casos de Uso de Big Data e Ciência de Dados no Mercado
 Casos de Uso de Big Data e Ciência de Dados no Mercado Casos de Uso de Big Data e Ciência de Dados no Mercado
Casos de Uso de Big Data e Ciência de Dados no Mercado
 
Modelo de Dados: Entendendo e “re-”construindo...
Modelo de Dados: Entendendo e “re-”construindo...Modelo de Dados: Entendendo e “re-”construindo...
Modelo de Dados: Entendendo e “re-”construindo...
 
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
 
Big Data Analytics - Data Science - Aplicação e Tecnologia
Big Data Analytics - Data Science - Aplicação e TecnologiaBig Data Analytics - Data Science - Aplicação e Tecnologia
Big Data Analytics - Data Science - Aplicação e Tecnologia
 
Collaborative filtering
Collaborative filteringCollaborative filtering
Collaborative filtering
 
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
 
The Data Science Workflow
The Data Science WorkflowThe Data Science Workflow
The Data Science Workflow
 
Introducão à Ciência de Dados
Introducão à Ciência de DadosIntroducão à Ciência de Dados
Introducão à Ciência de Dados
 
Data science e os físicos
Data science e os físicosData science e os físicos
Data science e os físicos
 
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdfTDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
 
Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"
Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"
Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"
 
Human Activity Recognition
Human Activity RecognitionHuman Activity Recognition
Human Activity Recognition
 
Situação da migração para PostgreSQL
Situação da migração para PostgreSQLSituação da migração para PostgreSQL
Situação da migração para PostgreSQL
 
Big data e mineração de dados
Big data e mineração de dadosBig data e mineração de dados
Big data e mineração de dados
 

Conceitos e práticas em Sistemas de Recomendação

  • 1. Conceitos e Práticas em Sistemas de Recomendação 09/04/2014 ! Joel Pinho Lucas 1
  • 2. 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
  • 3. 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
  • 4. Big Data (Velocidade) - Sistemas de Recomendação • Análise de dados: ✓ Processamento em “batch” ✓ Processamento em tempo real 4
  • 5. 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
  • 6. 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
  • 7. Técnicas Utilizadas em SR ✓Métodos baseados em Conteúdo (CB): ! ! ! ✓Filtragem Colaborativa (CF): ‣ Baseada em Usuário ‣ Baseada em Item 7
  • 8. Técnicas Utilizadas em SR Figura: Recomendação baseada em Conteúdo (Gmail.com) 8
  • 9. Técnicas Utilizadas em SR Figura: Recomendação baseada em Item - Filtragem Colaborativa (Amazon.com,) 9
  • 10. Técnicas Utilizadas em SR Figura: Recomendação baseada em Usuário - Filtragem Colaborativa (Netflix.com) 10
  • 11. 11 “É complexo definir similaridade, mas… você sabe quando você a vê.” (Dr. E. Keogh)
  • 12. • Falsos Positivos x Falsos Negativos • Implementação própria x Frameworks + tools (ex.: Mahout) ! • Processamento em “batch" x Tempo Real 12 Problemas e Desafios
  • 13. 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
  • 14. Cases 14 Figura: Gameverse (Mobjoy) Figura: MovieLens (GroupLens - University of Minnesota)
  • 15. Arquitetura Típica para Recomendações 15
  • 16. Algoritmos de CB - TFIDF ✦ TF: Term Frequency ✦ IDF: Inverse Document Frequency 16 Tabela: documentos representando itens
  • 17. Algoritmos de CB - TFIDF 17 Figura: ModeloVetorial [Dr. Edberto Ferneda, Unesp, 2010]
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. Algoritmos - Scaling out 21 • Implementar Escalabilidade Horizontal
  • 22. 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 ! ! ! ! !
  • 23. 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])
  • 24. 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
  • 25. ✓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?
  • 26. ✓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?
  • 28. Perguntas - Contato ‣ Linkedin: http://br.linkedin.com/in/joelplucas/ ! ‣ Email: joelpl@gmail.com 28