Tchêlinux Porto Alegre 2013 - Sistemas de Recomendação

Post on 05-Jun-2015

141 views 1 download

Tags:

description

Tchêlinux Porto Alegre 2013 - Sistemas de Recomendação

Transcript of Tchêlinux Porto Alegre 2013 - Sistemas de Recomendação

Sistemas de recomendação

Márcio Bortolini dos Santos

antes...

agora...

Há uma sobrecarga de informação

Muitas vezes inúteis

Gastamos muito tempo escolhendo

“A lot of times, people don’t know whatthey want until you show it to them.”

Steve Jobs

“We are leaving the Information age, andentering into the Recommendation age.”

Chris Anderson, from book Long Tail

O que é recomendar

Que carro comprar?

Família

Amigos

Recomendações sociais

Compre este..

Que carro comprar?

Recomendações por interações

Compre este..

Avalie itens Sistema

Sistemas de recomendação

Os sistemas de recomendação surgiram

para auxiliar no processo social de

indicar e receber indicações

São projetados para nos sugerir coisas de nosso interesse.

Motivação

Netflix– 2/3 dos aluguéis de filmes vêm de recomendações

Google News– 38% das notícias mais clicadas vêm de

recomendação

Amazon– 35% das vendas vêm de recomendação

Estratégias de Recomendação

Existem algumas estratégias empregadas para efetuar as recomendações.

Reategui e Cazella (2005) definem cinco estratégias mais utilizadas para recomendação.

listas de recomendação

listas de recomendação

Vantagens/Desvantagens

Principal vantagem é a facilidade de implementação., basta manter-se listas de acordo com as necessidades de marketing, de aumento de lucratividade, de disseminação de informações, etc.

A desvantagem é que as recomendações não são dirigidas a cada usuário independentemente, mas sim a todos os usuários sem distinção, ou seja ao público em geral, não sendo personalizadas para um usuário específico.

Avaliações de usuários

Avaliações de usuários

Suas recomendações

Suas recomendações

Obtenção dos dados dos usuários

Implícita

Explícita

Usuários que se interessaram por X também se interessaram por Y

Usuários que se interessaram por X também se interessaram por Y

Usuários que se interessaram por X também se interessaram por Y

Obtenção dos dados dos usuários

É a forma mais complexa de recomendação, pois ela exige uma análise bastante profunda dos hábitos dos usuários, de modo que possa identificar padrões e recomendar itens com base nestes padrões (Reategui e Cazella, 2005).

Associação por conteúdo

Associação por conteúdo

Associação por conteúdo

Associação por conteúdo

Obtenção dos dados dos itens

Reategui e Cazella (2005), definem que, nesta estratégia, a recomendação é feita com base no conteúdo de um item em específico, por exemplo um autor, um compositor, umeditor, etc. Para tal, se faz necessário encontrar associações entre os itens, porém estas estão num escopo mais restrito.

Técnicas de Recomendação

Segundo Reategui e Cazella (2005), são estas técnicas fundamentam o funcionamento dos sistemas de recomendação.

Colaborativos

Baseados em conteúdo

Híbridos

Colaborativos

A essência está na troca de experiências entre as pessoas que possuem interesses comuns.

Filtra as avaliações dos usuários.

Recomenda itens para usuários com perfis semelhantes.

Colaborativos

Usuário Tablet Desktop Smartphone Notebook Ultrabook Celular

Antônio x x

Jéssica x x

Marcos x x

Juliana x x x

Paulo x x

Rosana x x

Colaborativos

Passos

Armazenamento das informações dos usuários.

Cálculo de semelhança entre os usuários.

Agrupamento de usuários com preferências semelhantes.

Predição da pontuação de um item para o usuário baseado nas avaliações dos usuários mais semelhantes a ele

Colaborativos

Forma de avaliação dos usuários

KNN (K vizinhos mais próximos)similaridade de um usuário-alvo com outros usuários

Colaborativos Similaridade

Distância euclidiana

Colaborativos Similaridade

Função do Cosseno

Colaborativos Similaridade

Função do Cosseno

Colaborativos Similaridade

Predizer da pontuação de um item

• Mais formalmente, a pontuação R(u,i) do item i para o usuário u é estimada baseada na pontuação R(u’,i) atribuída ao mesmo item i pelos usuários u’ que são similares ao usuário em questão.

• O valor de uma pontuação desconhecida r(u,i) para o usuário u e item i é normalmente computado como uma agregação de pontuações de outros usuários (por exemplo, os N mais similares) para o mesmo item i.

Colaborativos Similaridade

Exemplo:

• Supondo a existência de um sistema de recomendação de leituras onde os usuários tem acesso aos livros e podem avaliá-los quanto a satisfação.

• Para este feedback uma escala Likert de 5 pontos é disponibilizada (5 significa adorei e 1 significa detestei o item).

• Uma matriz de relação usuários x itens pode ser disponibilizada.

Colaborativos Similaridade

Esta matriz nos apresenta a relação usuário x item, onde 5 usuários pontuaram5 itens (A, B, C, D e E). A esparcialidade desta matriz seria de 8%, ou seja,apenas 8% das avaliações possíveis não foram feitas. Estes itens não avaliadossão potenciais recomendações.

Colaborativos Similaridade

Primeiro Passo

Calcula-se o peso em relação a similaridade do usuário-alvo.

Para tanto utiliza-se uma técnica denominada de “k-nearest-neighbor” ou “user-based”.

A definição da similaridade pode ser realizada através de diversos coeficientes, sendo mais comumente aplicado o coeficiente de correlação de Pearson.

Observa-se a necessidade de mais de uma avaliação em comum para que a correlação seja viável, e os resultados variam entre 1 para similaridade total, e -1 para total dissimilaridade.

Colaborativos Similaridade

Coeficiente de Pearsonassumindo na correlação U1 = a e U2 = u, teríamos:

Média das avaliações de u em comun com a

Média das avaliações de a em comun com u

Alta similaridade

Média similaridade

Nada pode ser dito

Nada pode ser dito

?

Avaliação que a deu para o item i

Avaliação que u deu para o item i

Colaborativos

Segundo Passo

Seleciona-se um subconjunto de usuários com maiores similaridades :Baseado no resultado do coeficiente de Pearson é definido este subconjunto (com foco no usuário alvo da recomendação – U1).

Colaborativos

Segundo Passo

Calculam-se as predições (Recomendações): tendo um item a ser recomendado para um usuário alvo (item que este usuário não teve acesso). No exemplo o objetivo é predizer quanto o usuário U1 daria de avaliação para o item B se tivesse acesso a ele.

?

ColaborativosCálculo da predição: assumindo U1 = a como usuário alvo e B o item a ser predito

Nota da predição de um item i para um usuário a(considera a partir de 3 pontos)

Média das avaliações do usuário-alvo a considerandoos artigos em comum com todos os seus similares.

Média das avaliações do usuário similar uconsiderando artigos em comum com o usuário-alvo a.

Coeficiente de similaridade entre a e u.

Avaliação dada por u ao item i.

?

Recomendaria este item?

Colaborativos Vantagens

Independência de conteúdo

Geração de recomendações baseadas em preferências dos usuários

Possibilidade de produzir recomendações inesperadas e de alta qualidade.

Colaborativos Desvantagens

Problema do primeiro avaliador

Problema de pontuações esparsas

Similaridade

Novo item/usuário

Custo de processamento (Escalabilidade)

Baseados em conteúdo

Analisam as descrições de itens e de usuários.

Podem recomendar itens parecidos com outros itens que o usuário teve interesse no passado.

Útil para produtos que contenham alguma informação textual.

Modelos para recuperação da informação

Modelo booleano

Modelo booleano estendido

Modelo de Espaço Vetorial (VSM) ou Modelo Vetorial

Modelo Probabilístico

Modelo baseado em agrupamento

Modelo booleano

Se baseia na teoria de conjuntos e na álgebra booleana

Documentos (D) são representados como conjuntos de termos de indexação

As consultas (Q) são formuladas através de expressões booleanas formadas por termos e conectivos de boole (and, or e not)

Modelo booleano

Expressão booleana(“modelos” and“booleanos”) or “conjuntos”

Modelo booleano

Um documento só pode ser dito como relevante ou não-relevante

Há a necessidade de especificação de consultas complexas

É incapaz de se representar pesos associados aos termos desejados

Modelo booleano estendido

Considera o peso dos termos nos documentos e permite que o usuário especifique as relevâncias dos termos para uma determinada consulta

Esse modelo se baseia na interpretação dos operadores de consulta conjuntivas e disjuntivas em termos de distâncias euclidianas em um espaço t-dimensional

Modelo booleano estendido

Considerando dois termos:

Para expressões conjuntivas o ponto (1,1) é o mais desejável.

Quanto menor a distância do documento em relação a este ponto, maior é a similaridade em relação à busca.

Nas expressões disjuntivas o ponto (0,0) representa que nenhum dos termos da expressão de busca está presenteno documento.

Modelo booleano estendido

Considerando dois termos t1 e t2

O espaço de busca será bidimensional

O documento é representado por um vetor de pesos

Os pesos definem a posição no espaço euclidiano

Modelo booleano estendido

A similaridade entre um documento di = (w1i, w2i) e uma consulta q = t1 or t2 é dada por:

Modelo de Espaço Vetorial (VSM)

É definido como sendo um modelo baseado em conteúdo, com pesos associados aos termos de indexação e, cujo resultado da função de similaridade é dado na forma de ranking.

Modelo de Espaço Vetorial (VSM)

Cada termo possuí um peso atrelado a si, para permitir distinção entre os termos de acordo com sua importância.

Os pesos podem variar entre 0 e 1.

Modelo de Espaço Vetorial (VSM)

O VSM utiliza um espaço n-dimensional para representar os termos. Neste espaço, n (ou número de dimensões) representa o número de termos distintos.

Para cada vetor de documentos, ou de consulta, os pesos representam as coordenadas do vetor na dimensão correspondente.

Modelo de Espaço Vetorial (VSM)

Modelo de Espaço Vetorial (VSM)

trata como sendo vetores de valores reais contendo os pesos de cada termo (wij) dos documentos.

A matriz é escrita na forma di = (wi1, wi2, …, win),ondewij corresponde ao peso do j-ésimo (j = 1, 2, ..., n) termo do i-ésimo documento (i = 1, 2, ..., n).

Sendo assim, a coleção de objetos é representada como sendo uma matriz (D) de termos de tamanho n x m onde n é o número de documentos e m o número de termos.

Modelo de Espaço Vetorial (VSM)

O princípio do VSM é baseado na correlação inversa entre a distância ou ângulo entre vetores de termos no espaço e a similaridade entre os documentos que eles representam.

Cálculo de similaridade

Cálculo de Similaridade

tf*idf

tf: frequência do termo no documento

idf: frequência inversa do documento

Modelo Probabilístico

Baseado na teoria das probabilidades como meio paramodelar o processo de recuperação de informação.

A similaridade é calculada pela probabilidade de tal documento (D) ser relevante a tal consulta (Q), caso os termos (t) da consulta apareçam no documento

Modelo Probabilístico

Presume-se que a distribuição dos termos, nos documentos da coleção, é uma informação que é capaz de determinar a relevância ou não de um documento em responder a uma dada consulta.

Quando vetores de documentos e consultas (termos envolvidos em ambas) são suficientemente similares, a probabilidade de relevância correspondente é alta o suficiente, para ser considerada a recuperação do documento em resposta à consulta

Modelo Probabilístico

Cada documento é representado por um vetor de termos, porém este difere do modelo de espaço vetorial apresentado na seção anterior pois não há um peso atrelado a cada termo mas sim um valor binário.

Modelo Probabilístico

probabilidade de um documento que possui o termo de indexação ser relevante

probabilidade de um documento que não possui o termo de indexação não ser relevante

probabilidade de um documento que possui o termo de indexação não ser relevante

probabilidade de um documento que não possui o termo de indexação ser relevante

Modelo Probabilístico

Um documento dj é relevante a uma consulta q quando:

Assim, dada uma consulta q, o modelo probabilístico atribui acada documento d (como medida de similaridade) um peso Wd/q

Modelo Probabilístico

Aplicando a regra de Bayes:

probabilidade de se selecionar aleatoriamente um documento dj do conjunto de documentos relevantes

probabilidade de se selecionar um documento dj do conjunto de documentosnão-relevantes

probabilidade que um documento selecionado aleatoriamente de uma coleçãointeira não seja relevante

probabilidade que um documento selecionado aleatoriamente de uma coleção inteira seja relevante

Modelo Probabilístico

Considerando que P(Rel) e P(Rel) é inicialmente a mesmapara todo documento da coleção tem-se:

Modelo Probabilístico

Sabendo-se que

após transformações algébricas pode-se escrever

expressão utilizada para classificação computacional pelo modelo probabilístico

Modelo Probabilístico

1 – P(ti|Rel) é constante para todo termo de indexação ki e igual a 0,5 (50% de possibilidade de ser ou não relevante);

P(ti|Rel) = 0,5

2 – a distribuição dos termos de indexação entre os documentos não-relevantes pode ser aproximada da distribuição dos termos de indexação entre todos os documentos da coleção;

P(ti|Rel) = ni / N

ni é o número de documentos que contém o termo de indexaçãoN é o número total de documentos da coleção

Modelo Probabilístico vantagens

Necessidade da suposição da separação inicial dos documentos nos conjuntos relevantes ou não-relevantes

Não leva em conta a frequência com que um termo de indexação ocorre no documento (somente considera pesos binários)

Adoção da suposição da independência dos termos

Modelo Probabilístico vantagens

O ranking dos documentos é realizado em ordem decrescente da probabilidade de relevância.

Modelo baseado em agrupamento

Para a extração e armazenamento dos dados são utilizados conceitos de recuperação de informação e rede neural.

Para a busca é explorada a organização dos metadados de itens no banco de dados para promover mecanismos eficazes para a sua localização e reuso.

Modelo baseado em agrupamento

Nessa abordagem itens são representados por termos, que são extraídos automaticamente, normalizados e armazenados em repositórios.

Essas informações são utilizadas no agrupamento dos itens.

Após a normalização dos termos são obtidas as frequências de ocorrência no item e calculados os pesos

Modelo baseado em agrupamento

fi é a frequência do termo i

n é a quantidade total de itens

ni é a quantidade de itens que possuem o termo i.

Modelo baseado em agrupamento

O agrupamento é realizado através da identificação deconjuntos de itens similares.

Para a recuperação de informação são utilizadas duas formas alternativas, uma que utiliza o modelo espaço vetorial e outra usando o modelo booleano, que, aplicados aos agrupamentos, trazem ao usuário o conjunto resposta.

Baseados em conteúdo Vantagens

Não possui o problema do primeiro avaliador

Possui capacidade de recomendar todos os itens

Aplica esquema de atribuição de pesos aos termos

Utiliza estratégia de casamento parcial

Documentos são ordenados de acordo com o grau de similaridade

Baseados em conteúdo Desvantagens

Não considera aspectos como qualidade do texto e renome do autor

Super especialização

Conteúdo dos dados pouco estruturados

Não considera a correlação entre os termos de indexação

Híbrido

Faz uso de umas ou mais técnicas de recomendação

Pode ser feita:● implementando ambos métodos separadamente e combinando os

resultados● incorporando algumas características da abordagem baseada em

conteúdos na a abordagem colaborativa● construindo um modelo unificado que incorpora as características de

ambos

Híbrido

Dúvidas?

FontesBONFIM, Marcello Erick. RECUPERAÇÃO DE DOCUMENTOS TEXTO USANDO MODELOS PROBABILISTICOS ESTENDIDOS. Iniciação Científica Cesumar, v. 11, n. 2, 2009.

LOPES, Rafael Barbolo. sistemas de recomendação <http://www.slideshare.net/barbolo/sistemas-de-recomendacao>

Gois, Adriana; Berg, Anderson; Teixeira, Joyce V. . Sistemas de recomendação <http://www.slideshare.net/berg_pe/sistemas-de-recomendao-9889295>

Cazella, . Sílvio César . SISTEMAS DE RECOMENDAÇÃO. <http://www.nuted.ufrgs.br/compoa_2012_1/SRFColaborativa.pdf>

MORAIS, Edison Andrade Martins; AMBRÓSIO, Ana Paula L. Mineração de Textos. Relatório Técnico–Instituto de Informática (UFG), 2007.

GERALDO, André Pinto. Aplicando algoritmos de mineração de regras de associação para recuperação de informações multilíngues. 2009.

BAEZA-YATES e RIBEIRO-NETO apud LOPES, Giseli Rabello - Sistema de Recomendação para Bibliotecas Digitais sob a Perspectiva da Web Semântica. Porto Alegre: Programa de Pós-Graduação em Computação, 2007.

BASU, Chumki et al. Recommendation as classification: Using social and content-based information in recommendation. In: AAAI/IAAI. 1998. p. 714-720.

BRADLEY, Keith; SMYTH, Barry. Improving recommendation diversity. In:Proceedings of the Twelfth National Conference in Artificial Intelligence and Cognitive Science (AICS- 01). 2001.

GOLDBERG et.al. apud HERLOCKER, Jonathan Lee. Understanding and improving automated collaborative filtering systems. 2000. Tese de Doutorado. University of Minnesota.

FontesFERREIRA, Vinicius Hartmann. Sistema de Recomendação de Objetos de Aprendizagem. TCC (graduação em Ciência da Computação) - Universidade do Vale do Itajaí, Itajaí, 2009. Disponível em : <http://Siaibib01.univali.br/pdf/Vinicius Hartmann Ferreira.pdf>.

LOPES, Giseli Rabello - Sistema de Recomendação para Bibliotecas Digitais sob a Perspectiva da Web Semântica. Porto Alegre: Programa de Pós-Graduação em Computação, 2007.

HERLOCKER, Jonathan Lee. Understanding and improving automated collaborative filtering systems. 2000. Tese de Doutorado. University of Minnesota.

KIM, Byeong Man et al. A new approach for combining content-based and collaborative filters. Journal of Intelligent Information Systems, v. 27, n. 1, p. 79-91, 2006.

LICHTNOW, Daniel et al. O uso de técnicas de recomendação para apoio à aprendizagem colaborativa. Revista Brasileira de Informática na Educação. vol. 14, n.3, set. 2006.

PAZZANI, Michael J.; BILLSUS, Daniel. Content-based recommendation systems. In: The adaptive web. Springer Berlin Heidelberg, 2007. p. 325-341.

SALTON, Gerard; BUCKLEY, Christopher. Term Weighting Approaches in Automatic Text Retrieval. Information Processing & Management 24 (5), 513-523, 1988.

VIEIRA, Felipe José Rocha; NUNES, Maria Augusta Silveira Netto. DICA: Sistema de Recomendação de Objetos de Aprendizagem Baseado em Conteúdo. Scientia Plena, v. 8, n. 5, 2012.

ZAINA, L., BRESSAN, G., CARDIERI, M., RODRIGUES JÚNIOR, J.. e-LORS: Uma Abordagem para Recomendação de Objetos de Aprendizagem. Revista Brasileira de Informática na Educação, 20, abr. 2012. Disponível em: <http://www.brie.org/pub/index.php/rbie/article/view/1289>. Acesso em: 15 Mai. 2013.