sistemas de recomendação
DESCRIPTION
Introdução a sistemas de recomendaçãoTRANSCRIPT
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.
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
Colaborativos
Baseados em conteúdo
Híbridos
Segundo Reategui e Cazella (2005), são estas técnicas fundamentam o funcionamento dos sistemas de recomendação.
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 ru,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 a em comum com u
Média das avaliações de u em comum com a
Avaliação que a deu para o item i
Avaliação que u deu para o item i
Alta similaridade
= Média similaridade
Nada pode ser dito
Nada pode ser dito
?
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 os todos 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 considerar 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
Mineração de textos
Por que extrair informação?
Processo de Extração
• Formação da base de conhecimento
• Preparação dos dados
• Processamento de linguagem natural
• Organização e estruturação para busca
• Recuperação dainformação
• Cálculos, inferências e extração de conhecimento
• Mineração de dados
Pré-processamento
Tokenização
Normalização
StopWords
Stemming
Tokenização
Interpreta o texto transformado em termos
Exemplo:
“Vídeo com a definição de Função Afim.”
w = [“Vídeo”, “com”, “a”, “definição”, “de”, “Função”, “Afim”, “.”]
Normalização
1 - Case Folding : processo de conversão de todos os caracteres de um mesmo documento para um formato comum.
Silla e Kaestner (2002)
Exemplo:
“Objeto”, “oBjEtO”, “OBjEtO”, “oBEJTO” = “OBJETO” ou “objeto”
Normalização
2 - remoção símbolos que não tenham importância para o texto do documento
Exemplo:
(. , ; : " ’ ‘ ! ? / \ | % + { } [ ] ( ) *)
Normalização
3 – Remoção de acentuação
Antes:
w = [“Vídeo”, “com”, “a”, “definição”, “de”, “Função”, “Afim”, “.”]
Após:
w = [“video”, “com”, “a”, “definicao”, “de”, “funcao”, “afim”]
StopWords
Remoção de palavras que não tenham relevância
“o”, “a”, “seus”, “ela”, “e”, “com”, “de”
Antes:
w = [“video”, “com”, “a”, “definicao”, “de”, “funcao”, “afim”]
Depois:
w = [“video”, “definicao”, “funcao”, afim”]
StemmingNormalização Morfológica
Normalização linguística.
As formas variantes de um termos são reduzidas a uma forma comum denominada stem.
Converte cada palavra para o seu radical.
Elimina: sufixos representados por flexões verbais , plural e gênero das palavras
Silla e Kaestner, 2002; Yamada et al.,2012
StemmingNormalização Morfológica
Exemplo:
“brasileira”, “brasileiro”, “brasileirinha”, “brasileiresco”, “brasileiras”, “brasileiros”
stem: brasil
StemmingNormalização Morfológica
Algoritmos para stemming
método do stemmer Smétodo de Portermétodo de Lovins
StemmingNormalização Morfológica
Este é considerado o método mais simples, pois consiste na eliminação de apenas alguns finais de palavras. Geralmente remove somente sufixos que formam o plural.
método do stemmer S
StemmingNormalização Morfológica
Identifica de diferentes inflexões referentes à mesma palavra e sua substituição por um radical comum.
Reduz do plural, troca de sufixos, retira de sufixos, remove de sufixos padrões e remove vogal “e” ao final da palavra
método de Porter
StemmingNormalização Morfológica
Seu algoritmo remove apenas um sufixo por palavra, retirando o sufixo mais longo conectado à mesma
método de Lovins
StemmingNormalização Morfológica
Orengo e Huyck (2001)
StemmingNormalização Morfológica
Antes:
w = (“vídeo”, “definição”, “função”, afim”)
Depois:
ser w = (“vid”, “defin”, “func”, “afim”)
Indexação
mapear os termos de um documento em uma estrutura de dados específica chamada de índice
Amazonas et al. (2008)
Índice Invertido e o Índice Sequencial
Indexação
Índice Invertido
Indexação
Índice Sequencial
Mineração
A mineração de dados é um processo de identificação de padrões válidos, novos, potencialmente úteis e compreensíveis disponíveis nos dados. O principal objetivo desta etapa é a descoberta de co-relacionamentos entre os dados e seus documentos.
(Morais e Ambrosio, 2007)
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.