sistemas de recomendação

31
sistemas de recomendação por rafael barbolo lopes

Upload: rafael-barbolo

Post on 27-Jun-2015

821 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Sistemas de recomendação

sistemas de recomendaçãopor rafael barbolo lopes

Page 2: Sistemas de recomendação

1. Motivação2. Sistemas de recomendação 3. Similaridade

4. Filtragem colaborativa

5. Análise de conteúdo

6. Exemplo: recomendação

de filmes

roteiro

Page 3: Sistemas de recomendação

2. Sistemas de recomendação 3. Similaridade

4. Filtragem colaborativa

5. Análise de conteúdo

6. Exemplo: recomendação

de filmes

roteiro

1. Motivação

Page 4: Sistemas de recomendação

somos bombardeados de informações...

Page 5: Sistemas de recomendação

gastamos muito tempo escolhendo...

Page 6: Sistemas de recomendação

consequênciadeixamos de explorar novas oportunidades!

Page 7: Sistemas de recomendação

empresas vendem menos serviços e produtos!consequência

Page 8: Sistemas de recomendação

1. Motivação 3. Similaridade4. Filtragem colaborativa

5. Análise de conteúdo

6. Exemplo: recomendação

de filmes

roteiro

2. Sistemas de recomendação

Page 9: Sistemas de recomendação

sistemas de recomendação:

• identificam similaridades entre itens e usuários

• influenciam nossas escolhas através de sugestões

• utilizam técnicas inteligentes

• usados para aumentar consumo de produtos e serviços

Page 10: Sistemas de recomendação

consumo

• 2/3 dos aluguéis na Netflix são de filmes recomendados

• 38% de cliques a mais são gerados no Google News através de recomendação de notícias

• 35% das vendas da Amazon são provenientes de recomendação

fonte: Lamere & Celma, ISMIR 2007

Page 11: Sistemas de recomendação

1. Motivação2. Sistemas de recomendação

4. Filtragem colaborativa

5. Análise de conteúdo

6. Exemplo: recomendação

de filmes

roteiro

3. Similaridade

Page 12: Sistemas de recomendação

A similaridade é uma heurística que determina quão próximos itens são uns dos outros. É a base de um sistema de

recomendações.

Page 13: Sistemas de recomendação

Pode-se pensar em similaridade como distância entre itens. Quanto menos

distantes, mais similares.

Page 14: Sistemas de recomendação

1. Motivação2. Sistemas de recomendação 3. Similaridade

5. Análise de conteúdo

6. Exemplo: recomendação

de filmes

roteiro

4. Filtragem colaborativa

Page 15: Sistemas de recomendação

filtragem colaborativa

Diga-me com quem andas e direi quem és

Page 16: Sistemas de recomendação

filtragem colaborativa

• analisa interações de usuários com os itens do sistema

• realiza recomendações com base em usuários similares ou em itens similares

Page 17: Sistemas de recomendação

usuários similares

• identifica usuários que compartilham os mesmos interesses (vizinhos)

• sugere para um usuário o que seus vizinhos gostam

Page 18: Sistemas de recomendação

usuários similaresEXEMPLO

• rádio de músicas online

• objetivo: recomendar músicas para usuários

• heurística de similaridade entre dois usuários: coseno entre vetores de suas avaliações

Page 19: Sistemas de recomendação

usuários similaresEXEMPLO

• Usuários: A, B, C e D

• Músicas candidatas a serem recomendadas: x e y

• Usuário que receberá recomendações: D

Page 20: Sistemas de recomendação

4 Sistema de Recomendacao com Inteligencia Artificial

Usuario Musica AvaliacaoA x 3A y 2B x 5B y 1C x 0C y 4

Tabela 1. Avaliacoes dos usuarios A, B e C sobre as musicas x e y

Usuario Similaridade com DA 0.52B 0.93C 0.12

Tabela 2. Similaridade dos usuarios A, B e C medidas para o usuario D

Pode-se calcular as estimativas de avaliacoes do usuario D sobre as musicasx e y como mostrado na tabela 3.

Musica Estimativa de avaliacaox (0.52 ! 4 + 0.93 ! 5 + 0.12 ! 0)/(0.52 + 0.93 + 0.12) = 4.29y (0.52 ! 2 + 0.93 ! 1 + 0.12 ! 4)/(0.52 + 0.93 + 0.12) = 1.56

Tabela 3. Estimativas de avaliacoes do usuario D sobre as musicas x e y

A partir das estimativas de avaliacoes do usuario D sobre as musicas x e y,pode-se recomendar ao usuario D a musica x com alta chance de sucesso.

Recomendacoes baseadas em itens similares

A filtragem colaborativa baseada em itens similares funciona de maneira muitoparecida com a baseada em usuarios similares, exceto que a similaridade entreusuarios e substituıda pela similaridade entre itens. Para entender como e ofuncionamento desse algoritmo, o exemplo da radio de musicas online e usadonovamente. Suponha que deseja-se realizar recomendacoes de musicas para ousuario A.

Assuma que o usuario A avaliou as musicas x e y de acordo com a tabela 4e que as similaridades entre as musicas x, y, z e w sejam dadas pela tabela 5.

Musica Avaliacao do usuario Ax 4y 2

Tabela 4. Avaliacoes do usuario A sobre as musicas x e y

4 Sistema de Recomendacao com Inteligencia Artificial

Usuario Musica AvaliacaoA x 3A y 2B x 5B y 1C x 0C y 4

Tabela 1. Avaliacoes dos usuarios A, B e C sobre as musicas x e y

Usuario Similaridade com DA 0.52B 0.93C 0.12

Tabela 2. Similaridade dos usuarios A, B e C medidas para o usuario D

Pode-se calcular as estimativas de avaliacoes do usuario D sobre as musicasx e y como mostrado na tabela 3.

Musica Estimativa de avaliacaox (0.52 ! 4 + 0.93 ! 5 + 0.12 ! 0)/(0.52 + 0.93 + 0.12) = 4.29y (0.52 ! 2 + 0.93 ! 1 + 0.12 ! 4)/(0.52 + 0.93 + 0.12) = 1.56

Tabela 3. Estimativas de avaliacoes do usuario D sobre as musicas x e y

A partir das estimativas de avaliacoes do usuario D sobre as musicas x e y,pode-se recomendar ao usuario D a musica x com alta chance de sucesso.

Recomendacoes baseadas em itens similares

A filtragem colaborativa baseada em itens similares funciona de maneira muitoparecida com a baseada em usuarios similares, exceto que a similaridade entreusuarios e substituıda pela similaridade entre itens. Para entender como e ofuncionamento desse algoritmo, o exemplo da radio de musicas online e usadonovamente. Suponha que deseja-se realizar recomendacoes de musicas para ousuario A.

Assuma que o usuario A avaliou as musicas x e y de acordo com a tabela 4e que as similaridades entre as musicas x, y, z e w sejam dadas pela tabela 5.

Musica Avaliacao do usuario Ax 4y 2

Tabela 4. Avaliacoes do usuario A sobre as musicas x e y

4 Sistema de Recomendacao com Inteligencia Artificial

Usuario Musica AvaliacaoA x 3A y 2B x 5B y 1C x 0C y 4

Tabela 1. Avaliacoes dos usuarios A, B e C sobre as musicas x e y

Usuario Similaridade com DA 0.52B 0.93C 0.12

Tabela 2. Similaridade dos usuarios A, B e C medidas para o usuario D

Pode-se calcular as estimativas de avaliacoes do usuario D sobre as musicasx e y como mostrado na tabela 3.

Musica Estimativa de avaliacaox (0.52 ! 4 + 0.93 ! 5 + 0.12 ! 0)/(0.52 + 0.93 + 0.12) = 4.29y (0.52 ! 2 + 0.93 ! 1 + 0.12 ! 4)/(0.52 + 0.93 + 0.12) = 1.56

Tabela 3. Estimativas de avaliacoes do usuario D sobre as musicas x e y

A partir das estimativas de avaliacoes do usuario D sobre as musicas x e y,pode-se recomendar ao usuario D a musica x com alta chance de sucesso.

Recomendacoes baseadas em itens similares

A filtragem colaborativa baseada em itens similares funciona de maneira muitoparecida com a baseada em usuarios similares, exceto que a similaridade entreusuarios e substituıda pela similaridade entre itens. Para entender como e ofuncionamento desse algoritmo, o exemplo da radio de musicas online e usadonovamente. Suponha que deseja-se realizar recomendacoes de musicas para ousuario A.

Assuma que o usuario A avaliou as musicas x e y de acordo com a tabela 4e que as similaridades entre as musicas x, y, z e w sejam dadas pela tabela 5.

Musica Avaliacao do usuario Ax 4y 2

Tabela 4. Avaliacoes do usuario A sobre as musicas x e y

Dados

Cálculo

Page 21: Sistemas de recomendação

itens similares

• Identifica itens similares

• sugere para um usuário um item similar a outro que ele gostou

Page 22: Sistemas de recomendação

itens similaresEXEMPLO

• Usando novamente o exemplo da rádio online de músicas

• Usuário que receberá recomendação: A

• Músicas: x, y, z e w

• Músicas candidatas a serem recomendadas: z e w

Page 23: Sistemas de recomendação

Dados

Cálculo

4 Sistemas de Recomendacao com Inteligencia Artificial

Usuario Musica AvaliacaoA x 3A y 2B x 5B y 1C x 0C y 4

Tabela 1. Avaliacoes dos usuarios A, B e C sobre as musicas x e y

Usuario Similaridade com DA 0.52B 0.93C 0.12

Tabela 2. Similaridade dos usuarios A, B e C medidas para o usuario D

Pode-se calcular as estimativas de avaliacoes do usuario D sobre as musicasx e y como mostrado na tabela 3.

Musica Estimativa de avaliacaox (0.52 ! 4 + 0.93 ! 5 + 0.12 ! 0)/(0.52 + 0.93 + 0.12) = 4.29y (0.52 ! 2 + 0.93 ! 1 + 0.12 ! 4)/(0.52 + 0.93 + 0.12) = 1.56

Tabela 3. Estimativas de avaliacoes do usuario D sobre as musicas x e y

A partir das estimativas de avaliacoes do usuario D sobre as musicas x e y,pode-se recomendar ao usuario D a musica x com alta chance de sucesso.

Recomendacoes baseadas em itens similares

A filtragem colaborativa baseada em itens similares funciona de maneira muitoparecida com a baseada em usuarios similares, exceto que a similaridade entreusuarios e substituıda pela similaridade entre itens. Para entender como e ofuncionamento desse algoritmo, o exemplo da radio de musicas online e usadonovamente. Suponha que deseja-se realizar recomendacoes de musicas para ousuario A.

Assuma que o usuario A avaliou as musicas x e y de acordo com a tabela 4e que as similaridades entre as musicas x, y, z e w sejam dadas pela tabela 5.

Musica Avaliacao do usuario Ax 4y 2

Tabela 4. Avaliacoes do usuario A sobre as musicas x e y

Sistemas de Recomendacao com IA 5

Musica 1 Musica 2 Similaridade entre musicas 1 e 2x y 0.59x z 0.32x w 0.98y z 0.22y w 0.09z w 0.02

Tabela 5. Similaridades entre musicas x, y, z e w (relacao de similaridade e simetrica)

Com base nas informacoes apresentadas, pode-se calcular as estimativas deavaliacao para as musicas z e w, como mostrado na tabela 6.

Musica Estimativa de avaliacaoz (0.32 ! 4 + 0.22 ! 2)/(0.78 + 0.22) = 1.72w (0.98 ! 4 + 0.09 ! 2)/(0.98 + 0.09) = 3.83

Tabela 6. Estimativas de avaliacoes do usuario A sobre as musicas z e w

A partir das estimativas de avaliacoes do usuario A sobre as musicas z e w,pode-se recomendar ao usuario A a musica w com boa chance de sucesso.

2.2 Recomendacoes baseadas em analise de conteudo

Recomendacoes baseadas em analise de conteudo sao provenientes de similari-dades de conteudos entre usuarios, entre itens ou entre usuarios e itens. Deve-seconhecer as estruturas que definem um usuario ou um item, e prever itens comperfis que se encaixam ao perfil de usuario que recebera a recomendacao.

Diferentemente da filtragem colaborativa, uma recomendacao estritamentebaseada em analise de conteudo nao utiliza informacoes de interacoes entreusuarios e itens do sistema. Uma boa heurıstica para definir a similaridade entredois itens e a media das similaridades dos atributos que compoem cada item.

Como exemplo de como uma recomendacao baseada em analise de conteudoe utilizada, pode-se analisar um jogo de vıdeo game que avalia os perfis dospersonagens que podem ser escolhidos para jogar. Em um jogo fictıcio de futebol,um personagem pode ter 5 atributos: forca, velocidade, inteligencia, precisao nochute e resistencia cardiovascular, sendo que cada atributo recebe um valor entre0 e 100. Como indicado na figura 1, o perfil de um personagem pode ser mapeadoem um grafico de radar.

Sistemas de Recomendacao com IA 5

Musica 1 Musica 2 Similaridade entre musicas 1 e 2x y 0.59x z 0.32x w 0.98y z 0.22y w 0.09z w 0.02

Tabela 5. Similaridades entre musicas x, y, z e w (relacao de similaridade e simetrica)

Com base nas informacoes apresentadas, pode-se calcular as estimativas deavaliacao para as musicas z e w, como mostrado na tabela 6.

Musica Estimativa de avaliacaoz (0.32 ! 4 + 0.22 ! 2)/(0.78 + 0.22) = 1.72w (0.98 ! 4 + 0.09 ! 2)/(0.98 + 0.09) = 3.83

Tabela 6. Estimativas de avaliacoes do usuario A sobre as musicas z e w

A partir das estimativas de avaliacoes do usuario A sobre as musicas z e w,pode-se recomendar ao usuario A a musica w com boa chance de sucesso.

2.2 Recomendacoes baseadas em analise de conteudo

Recomendacoes baseadas em analise de conteudo sao provenientes de similari-dades de conteudos entre usuarios, entre itens ou entre usuarios e itens. Deve-seconhecer as estruturas que definem um usuario ou um item, e prever itens comperfis que se encaixam ao perfil de usuario que recebera a recomendacao.

Diferentemente da filtragem colaborativa, uma recomendacao estritamentebaseada em analise de conteudo nao utiliza informacoes de interacoes entreusuarios e itens do sistema. Uma boa heurıstica para definir a similaridade entredois itens e a media das similaridades dos atributos que compoem cada item.

Como exemplo de como uma recomendacao baseada em analise de conteudoe utilizada, pode-se analisar um jogo de vıdeo game que avalia os perfis dospersonagens que podem ser escolhidos para jogar. Em um jogo fictıcio de futebol,um personagem pode ter 5 atributos: forca, velocidade, inteligencia, precisao nochute e resistencia cardiovascular, sendo que cada atributo recebe um valor entre0 e 100. Como indicado na figura 1, o perfil de um personagem pode ser mapeadoem um grafico de radar.

Page 24: Sistemas de recomendação

1. Motivação2. Sistemas de recomendação 3. Similaridade

4. Filtragem colaborativa

6. Exemplo: recomendação

de filmes

roteiro

5. Análise de conteúdo

Page 25: Sistemas de recomendação

análise de conteúdo

• analisa estrutura de itens e de usuários

• deve-se prever itens com perfis que se encaixam ao que o usuário espera receber de recomendação

Page 26: Sistemas de recomendação

análise de conteúdoEXEMPLO

• jogo de futebol em vídeo game

• objetivo: recomendar jogadores em substituições durante partidas

• jogador possui os atributos: força, velocidade, inteligência, precisão no chute e resistência cardiovascular

• cada atributo é um valor entre 0 e 100

Page 27: Sistemas de recomendação

perfil de um jogador

(gráfico de radar)

Page 28: Sistemas de recomendação

jogadores

Page 29: Sistemas de recomendação

jogadores similares

Page 30: Sistemas de recomendação

1. Motivação2. Sistemas de recomendação 3. Similaridade

4. Filtragem colaborativa

5. Análise de conteúdo

roteiro

6. Exemplo: recomendação

de filmes

Page 31: Sistemas de recomendação

MOVIE RECOMMENDER

http://github.com/barbolo/Movie-Recommender

• Recomendação de filmes

• Híbrido: filtragem colaborativa + análise de conteúdo

• Tecnologias: Ruby, C, MySQL

• Base de dados: MovieLens (12 mil filmes, 70 mil usuários, 10 milhões de avaliações)