sistemas de recomendação
TRANSCRIPT
sistemas de recomendaçãopor rafael barbolo lopes
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
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
somos bombardeados de informações...
gastamos muito tempo escolhendo...
consequênciadeixamos de explorar novas oportunidades!
empresas vendem menos serviços e produtos!consequência
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
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
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
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
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.
Pode-se pensar em similaridade como distância entre itens. Quanto menos
distantes, mais similares.
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
filtragem colaborativa
Diga-me com quem andas e direi quem és
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
usuários similares
• identifica usuários que compartilham os mesmos interesses (vizinhos)
• sugere para um usuário o que seus vizinhos gostam
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
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
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
itens similares
• Identifica itens similares
• sugere para um usuário um item similar a outro que ele gostou
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
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.
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
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
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
perfil de um jogador
(gráfico de radar)
jogadores
jogadores similares
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
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)