Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

64
Introdu¸ ao Conceitos e Aplica¸ c˜oes ecnicas e Ferramentas Desafios e Tendˆ encias O que temos feito? TIPS - GRUPO DE TECNOLOGIAS INTELIGENTES PERSONALIZADAS E SOCIAIS Sistemas de Recomenda¸c˜ ao: Conceitos, T´ ecnicas, Ferramentas e Aplica¸ oes Jonathas Magalh˜ aes UFCG [email protected] Magalh˜ aes, J.J. CAIITE 2014 1

Transcript of Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

Page 1: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

TIPS - GRUPO DE TECNOLOGIAS INTELIGENTES

PERSONALIZADAS E SOCIAIS

Sistemas de Recomendacao:

Conceitos, Tecnicas, Ferramentas e Aplicacoes

Jonathas Magalhaes

UFCG

[email protected]

Magalhaes, J.J. CAIITE 2014 1

Page 2: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Sumario

1 Introducao

2 Conceitos e Aplicacoes

3 Tecnicas e Ferramentas

4 Desafios e Tendencias

5 O que temos feito?

Magalhaes, J.J. CAIITE 2014 2

Page 3: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Sobrecarga de InformacaoSugestao de ItensDescoberta de Padroes

Problema da Sobrecarga de Informacao

Magalhaes, J.J. CAIITE 2014 3

Page 4: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Sobrecarga de InformacaoSugestao de ItensDescoberta de Padroes

Problema da Sobrecarga de Informacao

Advento da Web 2.0;

Usuarios passaram de consumidores para produtores;

Volume de itens cresceu astronomicamente;

Dificuldade em encontrar itens relevantes em tempo habil.

Magalhaes, J.J. CAIITE 2014 4

Page 5: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Sobrecarga de InformacaoSugestao de ItensDescoberta de Padroes

Vida em Sociedade

As pessoas vivem em sociedade.

Magalhaes, J.J. CAIITE 2014 5

Page 6: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Sobrecarga de InformacaoSugestao de ItensDescoberta de Padroes

Pessoas pedem Sugestoes

As pessoas costumam pedir conselhos sobre diversos assuntos.

Magalhaes, J.J. CAIITE 2014 6

Page 7: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Sobrecarga de InformacaoSugestao de ItensDescoberta de Padroes

Sugestao de Musica

Diz um bom album aı.

Magalhaes, J.J. CAIITE 2014 7

Page 8: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Sobrecarga de InformacaoSugestao de ItensDescoberta de Padroes

Sugestao de Leitura

Diz um bom livro aı.

Magalhaes, J.J. CAIITE 2014 8

Page 9: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Sobrecarga de InformacaoSugestao de ItensDescoberta de Padroes

Modelar o Comportamento

As pessoas seguem padroes.

Magalhaes, J.J. CAIITE 2014 9

Page 10: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Sobrecarga de InformacaoSugestao de ItensDescoberta de Padroes

Padrao Alimentıcio

Alimentacao.

Magalhaes, J.J. CAIITE 2014 10

Page 11: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Sobrecarga de InformacaoSugestao de ItensDescoberta de Padroes

Padrao de Lazer

Viagens.

Magalhaes, J.J. CAIITE 2014 11

Page 12: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Sobrecarga de InformacaoSugestao de ItensDescoberta de Padroes

Intuicao

Estamos enfrentando a sobrecarga de informacao;

As pessoas seguem padroes;

As pessoas pedem sugestoes.

Magalhaes, J.J. CAIITE 2014 12

Page 13: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Sobrecarga de InformacaoSugestao de ItensDescoberta de Padroes

Intuicao

Entao, por que nao unir as duas coisas para combater oproblema?

Podemos aprender os padroes das pessoas para poder sugerirnovos itens.

Magalhaes, J.J. CAIITE 2014 13

Page 14: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Tarefa de um Sistema de RecomendacaoFuncionamentoConceitos BasicosApresentando a RecomendacaoAplicacoes

Sistemas de Recomendacao

Sistemas de Recomendacao podem amenizar o problema dasobrecarga de informacao;

Podem ajudar os usuarios a encontrar itens relevantes.

Magalhaes, J.J. CAIITE 2014 14

Page 15: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Tarefa de um Sistema de RecomendacaoFuncionamentoConceitos BasicosApresentando a RecomendacaoAplicacoes

Funcionamento Basico

Magalhaes, J.J. CAIITE 2014 15

Page 16: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Tarefa de um Sistema de RecomendacaoFuncionamentoConceitos BasicosApresentando a RecomendacaoAplicacoes

Conceitos Basicos

Avaliacao (Rating) – expressao da preferencia;

Avaliacao explıcita (Explicit rating) – direto do usuario;Avaliacao implıcita (Implicit rating) – inferida pela atividade dousuario.

Perfil de usuario (User profile) – representa as preferencias dousuario.

Perfil explıcito (Explicit profile) – direto do usuario;Perfil implıcito (Implicit profile) – inferido pela atividade dousuario.

Magalhaes, J.J. CAIITE 2014 16

Page 17: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Tarefa de um Sistema de RecomendacaoFuncionamentoConceitos BasicosApresentando a RecomendacaoAplicacoes

Conceitos Basicos

Predicao (Prediction) – estimativa da preferencia;

Recomendacao (Recommendation) – selecao itens para o usuario;

Conteudo (Content) – atributos, texto, etc.;

Colaborativo (Collaborative) – utilizar dados de outros usuarios;

Personalizado (Personalized) – recomendacao muda de acordocom o perfil de usuario.

Magalhaes, J.J. CAIITE 2014 17

Page 18: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Tarefa de um Sistema de RecomendacaoFuncionamentoConceitos BasicosApresentando a RecomendacaoAplicacoes

Apresentando a Recomendacao

Interfaces de Recomendacao

Listas de sugestoes, “top-n”, ofertas e promocoes.

Interfaces de Predicao

Avaliacao de candidatos, predicao de avaliacao.

Magalhaes, J.J. CAIITE 2014 18

Page 19: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Tarefa de um Sistema de RecomendacaoFuncionamentoConceitos BasicosApresentando a RecomendacaoAplicacoes

Amazon

Magalhaes, J.J. CAIITE 2014 19

Page 20: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Tarefa de um Sistema de RecomendacaoFuncionamentoConceitos BasicosApresentando a RecomendacaoAplicacoes

Submarino

Magalhaes, J.J. CAIITE 2014 20

Page 21: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Tarefa de um Sistema de RecomendacaoFuncionamentoConceitos BasicosApresentando a RecomendacaoAplicacoes

Movielens

Magalhaes, J.J. CAIITE 2014 21

Page 22: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Tarefa de um Sistema de RecomendacaoFuncionamentoConceitos BasicosApresentando a RecomendacaoAplicacoes

YouTube

Magalhaes, J.J. CAIITE 2014 22

Page 23: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Tarefa de um Sistema de RecomendacaoFuncionamentoConceitos BasicosApresentando a RecomendacaoAplicacoes

RecSalt

Magalhaes, J.J. CAIITE 2014 23

Page 24: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Classificacao de Sistemas de Recomendacao

Os Sistemas de Recomendacao podem ser classificados em:

Filtragem Colaborativa;Filtragem Baseada em Conteudo;Abordagens Hıbridas.

Magalhaes, J.J. CAIITE 2014 24

Page 25: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Filtragem Colaborativa

O sistema identifica usuarios com gostos similares ao usuarioativo e recomenda os itens que eles gostaram.

Magalhaes, J.J. CAIITE 2014 25

Page 26: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Filtragem Colaborativa

Table: Exemplo de uma matriz R|U|×|D| de avaliacoes de um SR.

R|U|×|D| d1 d2 d3 d4 ... d|D|

u1 2 3 ∅ ∅ ... 4

u2 1 ∅ 2 ∅ ... 5

... ... ... ... ... ... ...

u|U| ∅ 1 ∅ 3 ... 2

Magalhaes, J.J. CAIITE 2014 26

Page 27: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Filtragem Colaborativa

Existem dois tipos de Filtragem Colaborativa:Baseados em memoria;

Ex.: Algoritmo baseado em vizinhanca.

Baseados em modelo.

Ex.: Fatoracao de Matrizes.

Magalhaes, J.J. CAIITE 2014 27

Page 28: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Algoritmo Baseado em Vizinhanca

Passo 1: Calcular a similaridade do usuario ativo em relacao aosoutros usuarios.

Nesse sentido pode ser utilizada a similaridade do cosseno:

sim(u, v) = cos(~u, ~v) =~u · ~v

‖ ~u ‖ × ‖ ~v ‖=

∑|D|i=1

ru,i rv ,i√

∑|D|i=1

r2u,i

∑|D|i=1

r2v ,i

;

(1)

‖ · ‖ denota a norma Euclidiana padrao;cos(~u, ~v) retorna um numero real no intervalo [0, 1].

Magalhaes, J.J. CAIITE 2014 28

Page 29: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Algoritmo Baseado em Vizinhanca

Passo 2: Selecionar o subconjunto de usuarios que sera utilizado comoconjunto preditor.

Vu sera composto pelos k vizinhos mais proximos ao usuarioativo u:

Vu =k

argmaxv∈U−{u}

sim(u, v), (2)

sim(u, v) e a funcao de similaridade apresentada na Eq. 1.

Magalhaes, J.J. CAIITE 2014 29

Page 30: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Algoritmo Baseado em Vizinhanca

Passo 3: Computar a predicao baseando-se numa combinacao dasavaliacoes do conjunto preditor.

Nesse intuito pode ser utilizada a media das avaliacoes doconjunto Vu:

util(u, d) =1

|Vu|

v∈Vu

r(v , d). (3)

Magalhaes, J.J. CAIITE 2014 30

Page 31: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Filtragem Colaborativa

util(Jonathas, Estrelas) =?

Usuarios Vingadores Rambo Karate Eclipse Estrelas

Jonathas 4 4 5 1 ∅

Rodolfo ∅ 1 3 5 5

Romulo 3 4 ∅ 1 2

Elthon 4 5 3 ∅ 1

Calculando similaridade, temos que:

sim(Jonathas, Rodolfo) = cos((4, 5, 1), (1, 3, 5)) = 0.62;sim(Jonathas, Romulo) = cos((4, 4, 1), (3, 3, 1)) = 0.99;sim(Jonathas, Elthon) = cos((4, 4, 5), (4, 5, 3)) = 0.95.

Magalhaes, J.J. CAIITE 2014 31

Page 32: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Filtragem Colaborativa

util(Jonathas, Estrelas) = 1.5

Usuarios Vingadores Rambo Karate Eclipse Estrelas

Jonathas 4 4 5 1 ∅

Rodolfo ∅ 1 3 5 5

Romulo 3 4 ∅ 1 2

Elthon 4 5 3 ∅ 1

Para k = 2, VJonathas = {Romulo, Elthon}, entao:

util(Jonathas, Estrelas) = (1+2)/2 = 1.5

Magalhaes, J.J. CAIITE 2014 32

Page 33: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Limitacoes da Filtragem Colaborativa

Problema do novo item;

Avaliacoes esparsas;

Preferencias peculiares.

Magalhaes, J.J. CAIITE 2014 33

Page 34: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Filtragem Baseada em Conteudo

Recomenda-se itens baseando-se no conteudo previamenteanalisado pelo usuario;

Um fator primordial e a representacao do espaco de itens e perfisde usuario;

A estrategia mais utilizada e o modelo vetorial.

Magalhaes, J.J. CAIITE 2014 34

Page 35: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Modelo Vetorial

Modelo herdado da area de Recuperacao de Informacao;

Cada documento e representado por um vetor de pesos;

Cada peso desse vetor sera referente a importancia de um termo;

A importancia e computada por meio de analise textual.

Magalhaes, J.J. CAIITE 2014 35

Page 36: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Modelo Vetorial

Dado um conjunto de termos T = {t1, ..., t|T |};

Dado um conjunto de itens D = {d1, ..., d|D|};

Cada item d ∈ D e representado pelo vetor ~d = (wd,1, ...,wd,|T |);

O peso wd,t significa a importancia do termo t ∈ T para o itemd ∈ D.

Magalhaes, J.J. CAIITE 2014 36

Page 37: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

TF-IDF

TF-IDF Frequencia do Termo/Frequencia Inversa do Documento(do ingles, Term Frequency/Inverse Document Frequency ;

TF-IDF e uma das formas mais conhecidas de computar o pesopara indexar os documentos;

Magalhaes, J.J. CAIITE 2014 37

Page 38: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Calculando o TF-IDF

Primeiro, calcula-se o TF:

TF(d , t) =q(d , t)

q(d ,T ), (4)

q(d , t) e a quantidade de vezes que o termo t aparece no item d ;q(d ,T ) representa o numero total de termos presentes em d

Magalhaes, J.J. CAIITE 2014 38

Page 39: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Calculando o TF-IDF

Segundo, calcula-se o IDF:

IDF(D, t) = log

(

|D|

|Dt |

)

, (5)

Dt ⊆ D e o conjunto de itens cujo termo t ocorre pelo menosuma vez.

Magalhaes, J.J. CAIITE 2014 39

Page 40: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Calculando o TF-IDF

Por fim, o TF-IDF(D, d , t) e dado pelo produto entre o TF e oIDF:

wd,t = TF-IDF(D, d , t) = TF(d , t) ∗ IDF(D, t). (6)

Magalhaes, J.J. CAIITE 2014 40

Page 41: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Perfil de Usuario

O perfil de usuario e obtido por meio de heurısticas que analisamos itens previamente avaliados pelo usuario;

O perfil resultante e representado por:

~pu = (wu,1, ...,wu,|T |), (7)

wu,i indica a importancia do termo ti para o usuario u.

Magalhaes, J.J. CAIITE 2014 41

Page 42: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Similaridade entre Usuarios e Itens

Perfis dos documentos e usuario computados;

A utilidade de um documento d para o usuario u e computadapela similaridade entre o perfil do documento ~d e o perfil dousuario ~u

Geralmente e utilizada a similaridade do cosseno Eq. 1.

Magalhaes, J.J. CAIITE 2014 42

Page 43: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Filtragem Baseada em Conteudo

Filmes Porrada Acao Aventura Romance Lobos

Vingadores 1 1 1 0 0

XRambo 1 1 1 0 0

Karate 1 1 1 0 0

Estrelas 0 0 0 1 0

XEclipse 0 0 0 1 1

Lua 0 0 0 1 1

Supondo que assisti:

Rambo:4;Eclipse:1.

Magalhaes, J.J. CAIITE 2014 43

Page 44: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Filtragem Baseada em Conteudo

Usuario Porrada Acao Aventura Romance Lobos

Jonathas 1 1 1 0.25 0.25

Filmes Porrada Acao Aventura Romance Lobos sim

Vingadores 1 1 1 0 0 0.97

XRambo 1 1 1 0 0 –

Karate 1 1 1 0 0 0.95

Estrelas 0 0 0 1 0 0.14

XEclipse 0 0 0 1 1 –

Lua 0 0 0 1 1 0.20

Recomendados:

Vingadores e Karate.

Magalhaes, J.J. CAIITE 2014 44

Page 45: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Limitacoes da Filtragem Baseada em Conteudo

Analise de conteudo limitada;

Super-especializacao;

O problema do novo usuario;

Atualizacao de perfil.

Magalhaes, J.J. CAIITE 2014 45

Page 46: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Precisao e Cobertura

Precisao e Cobertura

Cobertura = A/(A+D);

Precisao = A/(A+B).

Magalhaes, J.J. CAIITE 2014 46

Page 47: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Filtragem ColaborativaFiltragem Baseada em ConteudoAvaliacao de Sistemas de RecomendacaoFerramentas para Sistemas de Recomendacao

Ferramentas para Sistemas de Recomendacao

Lucene – http://lucene.apache.org/core/;

Natural Language Toolkit (NLTK) – http://www.nltk.org/;

The LensKit Recommender Toolkit (LensKit) –http://lenskit.grouplens.org/;

Apache Mahout – https://mahout.apache.org/.

Magalhaes, J.J. CAIITE 2014 47

Page 48: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Desafios

Coletar opinioes e dados de experiencia;

Descobrir dados relevantes para um determinado fim;

Apresentar os dados de forma util.

Magalhaes, J.J. CAIITE 2014 48

Page 49: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Tendencias

Utilizacao de multi-criterios;

Integracao de multiplas fontes de dados;

Reducao de Dimensionalidade;

Combinacao de multiplos Sistemas de Recomendacao;

Utilizacao de informacao social;

Recomendacao de novidade.

Magalhaes, J.J. CAIITE 2014 49

Page 50: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Recomendacao de Artigos Cientıficos

O que temos feito?

Recomendacao de Artigos Cientıficos;

Recomendacao de Especialistas;

Participacao no 2014 RecSysChallenge.

Magalhaes, J.J. CAIITE 2014 50

Page 51: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Recomendacao de Artigos Cientıficos

Recomendacao de Artigos Cientıficos

Desenvolvemos um Sistema de Recomendacao Personalizada deArtigos Cientıficos;

O Sistema de Recomendacao constroi o perfil de usuarioutilizando informacao do:

Lattes;Mendeley;LinkedIn.

Magalhaes, J.J. CAIITE 2014 51

Page 52: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Recomendacao de Artigos Cientıficos

O que e Lattes?

Magalhaes, J.J. CAIITE 2014 52

Page 53: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Recomendacao de Artigos Cientıficos

O que e Lattes?

Magalhaes, J.J. CAIITE 2014 53

Page 54: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Recomendacao de Artigos Cientıficos

O que e Capturado de cada Fonte?

Lattes

Resume;Formacao Academica;Projetos;Producao Bibliografica.

Mendeley

Artigos na livraria do usuario.

LinkedIn

Habilidades.

Magalhaes, J.J. CAIITE 2014 54

Page 55: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Recomendacao de Artigos Cientıficos

RecSalt - www.recsalt.com

RecSalt e uma ferramenta que ajuda aos seus usuariosrecomendando artigos;

Foi desenvolvida utilizando o framework Django;

Avaliacao realizada com 30 usuarios e 50 artigos;

Foram obtidos bons resultados com o Lattes;

A abordagem de integracao de dados do Mendeley e LinkedInnao obteve bons resultados.

Magalhaes, J.J. CAIITE 2014 55

Page 56: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Recomendacao de Artigos Cientıficos

RecSalt - www.recsalt.com

Magalhaes, J.J. CAIITE 2014 56

Page 57: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Recomendacao de Artigos Cientıficos

Desafios

Como validar em larga escala?

Como expandir nossa abordagem para pesquisadores naoBrasileiros?

Como incorporar dados sobre o artigo no modelo?

Como lidar com questoes de desempenho?

Magalhaes, J.J. CAIITE 2014 57

Page 58: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Recomendacao de Artigos Cientıficos

Proximos Passos

Novidade na recomendacao;

Incorporar informacao social.

Magalhaes, J.J. CAIITE 2014 58

Page 59: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Quero Mais!!!

Magalhaes, J.J. CAIITE 2014 59

Page 60: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Grupos de Pesquisa

TIPS – UFAL;

LIA, SIMBAD – UFCG;

MADMUC – Saskatchewan - Canada;

GroupLens – Minnesota - EUA;

PAWS – Pittsburgh - EUA.

Magalhaes, J.J. CAIITE 2014 60

Page 61: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Artigos

Adomavicius e Tuzhilin 2005 – Toward the Next Generation ofRecommender Systems: A Survey of the State-of-the-art andPossible Extensions;

Bobadilla et al. 2013 – Recommender Systems Survey.

Magalhaes, J.J. CAIITE 2014 61

Page 62: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Conferencias

RecSys – ACM Recommender Systems;

UMAP – International Conference on User Modeling, Adaptionand Personalization;

CSCW – ACM Conference on Computer Supported CooperativeWork;

ACM/WWW – International World Wide Web Conference;

ICCSA – International Conference on Computational Science andits Applications.

Magalhaes, J.J. CAIITE 2014 62

Page 63: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Cursos

Introduction to Recommender Systemshttps://www.coursera.org/course/recsys.

Magalhaes, J.J. CAIITE 2014 63

Page 64: Sistemas de Recomendação: Conceitos, Técnicas, Ferramentas e Aplicações

IntroducaoConceitos e AplicacoesTecnicas e FerramentasDesafios e Tendencias

O que temos feito?

Obrigado!!

Magalhaes, J.J. CAIITE 2014 64