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

Preview:

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.

Citation preview

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: Modelo Vetorial [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

Recommended