algoritmos colaborativos para sistemas de recomendação algoritmos colaborativos para sistemas de...

33
Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof. Doutor Jaime S. Cardoso Responsável no INESC - Porto: Mestre Ricardo Sousa MIEIC-FEUP 1 Mestrado Integrado em Engenharia Informática e Computação 20 de Julho de 2010

Upload: internet

Post on 21-Apr-2015

113 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 1

Algoritmos Colaborativos para Sistemas de Recomendação

José Graciano Almeida RamosOrientador: Prof. Doutor Jaime S. Cardoso

Responsável no INESC - Porto: Mestre Ricardo Sousa

Mestrado Integrado em Engenharia Informática e Computação

20 de Julho de 2010

Page 2: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 2

Estrutura•Objectivos

•Sistemas de Recomendação

•Estado da Arte• Exemplos da Aplicação dos Sistemas de

Recomendação• Formulação dos Algoritmos Colaborativos• Classificação dos Algoritmos Colaborativos

• Collaborative Filtering with Interlaced Generalized linear Models

•Filtragem Colaborativa baseada na Média das avaliações.

Page 3: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 3

Objectivos

Page 4: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 4

Mundo Actual

Acesso fácil a novas tecnologias de informação

Sistemas de Recomendação

Crescimento exponencial da quantidade de dados a

tratar

Pedir recomendação de um amigo

Maior esforço das partes envolvidas no

processo de tomada de decisão

Sorte

Sistemas de Recomendação

COMO SELECIONAR/ENCONTRAR

INFORMAÇÃO?

Page 5: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 5

Sistemas de Recomendação

•São utilizados pelas empresas para gerar recomendações de novos produtos aos clientes.

•Apoia nos Algoritmos Colaborativos para gerar recomendações.

Page 6: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 6

Sistemas de Recomendação

Page 7: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 7

Estado da Arte

Page 8: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 8

Exemplos de Aplicação

Page 9: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 9

Formulação dos Sistemas de Recomendação

U = conjunto de utilizadoresY = conjunto de itens

Page 10: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 10

Classificação dos Algoritmos Colaborativos

Page 11: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 11

Métodos Baseados em Pesquisa

Page 12: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 12

Filtragem Baseada no ConteúdoTalvez seja melhor

começar a aprender com as

acções dos utilizadores…

Page 13: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 13

Filtragem Colaborativa

A filtragem colaborativa (FC) pode ser descrita como a tarefa de identificar (filtrar) interesses dos utilizadores através da aprendizagem de relações com outros utilizadores (colaboração).

A recomendação é baseada em produtos que pessoas com gostos e preferências similares apreciaram no passado.

Page 14: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 14

Modelo de Conjuntos

Page 15: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 15

Abordagem Híbrida

Page 16: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 16

Page 17: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 17

Collaborative Filtering with Interlaced Generalized Linear Models [Delannay e Verleysen]

• Procura identificar interesses dos utilizadores através da similaridade dos seus comportamentos.

•Centra-se na previsão de novas avaliações baseada na factorização da matriz das avaliações e na utilização de modelos probabilísticos para representar incertezas nas avaliações.

Page 18: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 18

Descrição do Modelo•Os Utilizadores e os Itens são representados por vectores de características que representam os parâmetros principais do modelo.

•A previsão da avaliação atribuída por um utilizador a um determinado item é representada como o produto entre os respectivos vectores de características .

•O vector de características do utilizador é entendido como diferentes sensibilidades a um conjunto de aspectos que descrevem os itens e o vector de características dos itens corresponde a esses aspectos.

Page 19: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 19

Descrição do Modelo

Page 20: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 20

Configuração do Modelo

K = 2

• A optimização dos vectores de características é feita utilizando o formalismo dos Modelos Lineares Generalizados.

Page 21: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 21

Filtragem Colaborativa baseada na Média das Avaliações

•Neste modelo mantêm-se a ideia chave do GLM entrelaçado que é representar os utilizadores e os itens por vector de características.

•A apreciação dos itens expressa pelos utilizadores é estimada pelo produto dos respectivos vectores de características

Page 22: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 22

Filtragem Colaborativa baseada na Média das Avaliações

• Os vectores de características são optimizados aplicando a técnica de regressão linear regularizada.

• Com a aplicação da regressão linear pretende-se estudar a dependência entre as avaliações atribuídas por um utilizador a um determinado item e as características dos utilizadores e dos itens, ou seja, como é que as características dos utilizadores e dos itens influenciam no processo de avaliação.

Page 23: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 23

Filtragem Colaborativa baseada na Média das Avaliações

Page 24: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 24

Configuração do Modelo

K = 2

Page 25: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 25

Base de Dados

MovieLens◦ 6040 Utilizadores◦ 3900 Filmes (Itens)◦ Aproximadamente 1 milhão de avaliações

discretas no intervalo [1,5]

Page 26: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 26

Desempenho

Page 27: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 27

Desempenho

• Root Mean Square error (RMSE)

• Mean Absolut Error (MAE)

Page 28: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 28

Desempenho

Page 29: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 29

Desempenho

Page 30: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 30

Desempenho

Page 31: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 31

Contribuições

•Levantamento do estado da arte sobre algoritmos colaborativos e sistemas de recomendação

•Estudo comparativo de diferentes abordagens de sistemas de recomendação

• Apresentação de uma nova abordagem híbrida para algoritmos colaborativos

Page 32: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 32

Conclusão• Na última década os algoritmos colaborativos têm adquirido uma importância considerável, conseguindo avanços significativos devido ao surgimento de novas abordagens para o problema.

•Apesar deste avanço, continuam a necessitar de optimizações para poderem ser aplicadas em situações da vida real.

•Na maioria das situações é preciso considerar informações provenientes de vários contextos, o que não é considerado pela geração actual de algoritmos colaborativos por se encontrarem centralizados apenas na informação dos itens e dos utilizadores.

Page 33: Algoritmos Colaborativos para Sistemas de Recomendação Algoritmos Colaborativos para Sistemas de Recomendação José Graciano Almeida Ramos Orientador: Prof

MIEIC-FEUP 33

Obrigado