conceitos e práticas em sistemas de recomendação

28
Conceitos e Práticas em Sistemas de Recomendação 09/04/2014 Joel Pinho Lucas 1

Upload: joel-lucas

Post on 04-Jun-2015

255 views

Category:

Technology


3 download

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

Cases

14

Figura: Gameverse (Mobjoy)Figura: MovieLens (GroupLens - University of Minnesota)

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

Arquitetura Típica para Recomendações

15

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

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

Algoritmos de CB - TFIDF

17

Figura: Modelo Vetorial [Dr. Edberto Ferneda, Unesp, 2010]

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

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

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

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

Algoritmos - Scaling out

21

• Implementar Escalabilidade Horizontal

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

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

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

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

✓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

✓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

27

Como Começar?

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

Perguntas - Contato

‣ Linkedin: http://br.linkedin.com/in/joelplucas/

!

‣ Email: [email protected]

28