Este documento discute a aplicação de técnicas de mineração de dados em sistemas de recomendação. Apresenta os conceitos de sistemas de recomendação, mineração de dados, regras de associação e classificação baseada em associação. Propõe uma metodologia que utiliza algoritmos de classificação baseada em associação fuzzy para validação em um sistema de recomendação.
Boas práticas de programação com Object Calisthenics
Técnicas de Mineração de Dados Aplicadas a Sistemas de Recomendação
1. 1
TÉCNICAS DE MINERAÇÃO DE DADOS APLICADAS A
SISTEMAS DE RECOMENDAÇÃO
Joel Pinho Lucas
(joelpl@gmail.com)
Universidad de Salamanca
Programa de Doctorado en Informática y Automática
2. 2
Índice
Contextualização
Sistemas de Recomendação
Mineração de Dados
Regras de Associação
Classificação Baseada em Associação
Proposta de uma Metodologia
Validação no Sistema PSiS
3. 3
Contextualização
Estipula-se que o volume de informação disponível no
mundo duplica a cada 20 meses (Breese, et. al.)
A tecnologia atual permite o armazenamento e
publicação de grandes volumes de dados
Atualmente existe maior dificuldade em processar e
extrair de informação útil de bases de dados
4. 4
Contextualização
Bancos de dados podem esconder conhecimento valioso
e útil à tomada de decisão, planejamento e gestão
Exemplo: a rede Wal-Mart conta com uma base de dados
na qual se executa 25 milhões de transações ao dia (ano
2001)
5. 5
Contextualização
Sistemas de Comercio Eletrônico (E-commerce):
• O “boom de informação’’ existente atualmente se
manifesta através de uma imensa quantidade de
produtos a venda
• Usuários apresentam dificuldade em selecionar e
comprar produtos
• Necessitam apresentar seus produtos de maneira
personalizada
• Utilizam sistemas de recomendação para fazer sugestões
de produtos e proporcionar a escolha dos mesmos
(Thabtah et. al.)
6. 6
Sistemas de Recomendação
“If I have 3 million customers on the Web, I should have 3 million stores
on the Web.” – Jeff Bezos, Amazon.com
Surgiram na área de e-commerce para proporcionar
sugestões de produtos e prover informação para auxiliar
na escolha de produtos
Têm como meta a criação de uma nova loja personalizada
a cada cliente (Thabtah et. al.)
Diminuem as dificuldades do usuário em encontrar
produtos (itens) ou serviços de sua preferência
7. 7
Sistemas de Recomendação
Tendem a proporcionar um aumento nas vendas
Atualmente também podem ser utilizados em outras áreas
(bibliotecas virtuais, portais científicos, sistemas de e-
learning, etc.)
Podem apresentar-se na forma de sugestões e também
como informações de resumo de acessos, críticas ou
opiniões
8. 8
Sistemas de Recomendação
Instituem o conceito de comunidade de usuários (perfis)
Exemplos: MovieLens, Video Recommender, Amazon, etc.
Arquitetura composta por três elementos principais:
histórico de dados, dados de entrada e um ou mais
algoritmos
9. 9
Avaliações de Usuários
Expressam informação acerca do interesse dos usuarios
nos itens do sistema
Podem ser de dois tipos:
Explícita (feedback ativo): obtidas através de ratings e/ou
comentários
Implícita (feedback passivo): obtidas de maneira indireta
(subjetiva) utilizando-se timing logs, registros de compras,
de navegação, etc.
11. 11
Tipos de Sistemas de Recomendação
Métodos Baseados em Conteúdo
Métodos Baseados em Filtragem Colaborativa
Baseados em Memória (Baseados no Usuário)
Baseados em Modelo (Baseados em Itens)
13. 13
Métodos Baseados em Filtragem Colaborativa
Figura: Exemplo de um sistema baseado em filtragem colaborativa
14. 14
Limitações
Dificilmente consegue-se ter opiniões acerca da maioria
dos produtos em sistemas de comércio eletrônico atuais
(Sarwar et. al)
Usuários de sistemas de e-commerce conseguem avaliar
apenas 1% dos produtos disponíveis (Sarwar et. al)
Avaliações de usuários podem ser aplicadas apenas no
em domínios de informação homogêneo
15. 15
Limitações
A limitação mais crítica está relacionada com a
dispersão de dados (data sparsity)
O número de avaliações necessárias para construir
modelos de predição é inferior ao número de avaliações
disponíveis
Atualmente não é comum utilizar técnicas puramente
baseadas em memória
16. 16
Limitações
A escalabilidade (scalability) também pode ser um fator
comprometedor para la eficiência de um sistema de
recomendação
O problema da “primeira avaliação” (first rater) é
pertinente a todas categorias de métodos
O problema da “ovelha negra” (gray sheep) ocorre,
predominantemente, em métodos de filtragem
colaborativa
17. 17
Limitações
Métodos baseados em conteúdo são pouco afetados pela
dispersão de dados e pelo problema da “ovelha negra”
A falta de mecanismos para extrair propriedades de
objetos Web desfavorece o uso de métodos baseados em
conteúdo de maneira pura (Claypool et. al.)
Técnicas de recomendação baseadas em conteúdo
costumam ser utilizadas juntos com técnicas de filtragem
colaborativa
19. 19
Sistemas de Recomendação
Erros que podem ocorrer:
Falsos negativos
Falsos positivos
Técnicas de mineração de dados podem ser aplicadas
eficientemente em sistemas de recomendação,
entretanto, necessitam ser extendidas para tratar
problemas típicos de tais sistemas (Cheung et al.)
20. KDD
O termo “Mineração de Dados” é tratado como sinônimo
ao processo de KDD, como também uma etapa do
mesmo
Terminologia: KDD (Knowledge Discovery in Databases –
Descoberta de Conhecimento em Bancos de Dados)
“Processo não trivial de identificação de padrões válidos,
novos, potencialmente úteis e compreensíveis, embutidos
nos dados” (Fayyad, 1996)
20
21. KDD
Permite a extração de informações que dificilmente
seriam identificadas somente realizando consultas em
um banco de dados
O sucesso de uma organização passa a depender da
habilidade em manipular sua informação (matéria prima
essencial para seu desenvolvimento) (Brauner et al.)
Torna-se eminente a necessidade de um meio de lidar
com grandes volumes de informação e prover maior
automatização em sua análise
21
23. 23
Mineração de Dados
“The key to success in business is to know something
that nobody knows”, Aristotle Onassis (1959)
Destinada a extração de padrões úteis nos dados
É uma area multi-disciplinar (tecnicas provenientes da
inteligência artifical, banco de dados, estatística, etc.)
O tipo de padrão a ser encontrado está diretamente
relacionado com o tipo de conhecimento a ser
descoberto
25. Aplicações
Gerência de Marketing
Bioinformática
Detecção de fraudes
Web Mining (Mineração da Web)
Bases de dados estatísticas
Text-Mining
Medicina
Fenômenos metereológicos
Sistemas de recomendação
....
25
26. 26
Classes de Problemas
De acordo com o objetivo de mineração, têm-se
diferentes classes de problemas:
Classificação
Agrupamento
Associação
27. Classificação
Examina características de um registro (ou
objeto) para enquadrá-lo (classificá-lo) em um
conjunto pré definido (classe)
Utiliza um conjunto de treinamento para obter
as classes
Aprendizado supervisionado
Técnicas (algoritmos): redes neurais, redes
bayesianas, árvores de decisão, etc.
27
30. Agrupamento
Procura segmentar populações heterogêneas em
subgrupos ou segmentos homogêneos
Aprendizado não supervisionado (os grupos não
são pré definidos)
30
33. Regras de Associação
Foram introduzidas com o objetivo de descrever
informação nova acerca da compra de produtos
(market basket analysis)
Identificam itens cuja presença implica a presença de
outros itens em uma mesma transação
Exemplo: quando um cliente compra uma camisa
social, em 70% dos casos ele compra também uma
gravata. Isso acontece em 13,5% das compras.
Confiança = 70%
Suporte = 13,5%
33
34. 34
Regras de Associação
Aprendizagem não supervisada + objetivo de
descrição
Algoritmos: Apriori, FP-Growth, Basic, ECLAT, DIC,
etc.
Possuem a notação A → B, onde A e B são conjuntos
de itens
35. Regras de Associação
O caso mais conhecido: a cadeia Wal-Mart
identificou que, às sextas-feiras, as vendas
de cervejas cresciam na mesma proporção que as
de fraldas
Regras com alto suporte e confiança não são
necessariamente interessantes
- Padrões óbvios X muitas regras
35
36. 36
Regras de Associação
Exemplo: considerando-se uma compra de
supermercado como uma transação.
Supondo uma transação t1, tal que
t1 = {queijo, refrigerante, manteiga}
Pode-se ter as seguintes regras...
40. 40
Classificação Baseada em Associação
Consiste em um método alternativo de classificação, onde
as regras de associação são utilizadas dentro de um
contexto de predição
Atualmente dispõem-se de poucos classificadores
associativos eficientes, tais como CBA, CPAR, MCAR, CMAR
e TFPC (Thabtah et al.)
Quando um objeto é classificado, suas propriedades são
confrontadas com os termos antecedentes das regras de
associação do modelo criado
É necessário que o termo consequente de uma Regra de
Classificação se restrinja a um único atributo (A → class)
41. 41
Classificação Baseada em Associação
Vantagens dos classificadores associativos:
A construção de um modelo de associação costuma ser
mais eficiente que a de um modelo de classificação
Vários estudos (Liu et al) (Thabtah et. al) (Yin y Han)
apontam que a CBA proporciona maior precisão que
métodos de classificação tradicionais
O output de um algoritmo de regras de associação é de
fácil compreensão a ser humano (Sarwar et. al)
42. 42
Classificação Baseada em Associação
Exemplo de regras de classificação:
R1: (atr2, g) → (atr3, classeA)
R2: (atr1, h) → (atr3, classeB)
R3: {(atr1, b) AND (atr2, g)} → (atr3, classeA)
ID atr1 atr2 class
1 a f ?
2 a g ?
3 b h ?
4 b g ?
5 c g ?
Tabela: Conjunto de treinamento:
43. 43
Algoritmo CBA-Fuzzy
Adaptado para sistemas de recomendação (menos
falsos positivos)
Desenvolvido com base no algoritmo CBA disponível
ma biblioteca LUKS-KDD
Utiliza lógica Fuzzy
44. 44
Lógica Fuzzy
Extensão da lógica booleana que admite valores
intermediários entre 0 (falso) e 1 (verdadeiro)
Lida com dados vagos ou imprecisos
Cada valor representa um grau de pertinência de
um elemento a um dado conjunto (valor em [0, 1])
Cada conjunto possui uma função para indicar o
grau de pertinência de elementos
45. 45
Lógica Fuzzy
Áreas de Aplicação:
Robótica
Sistemas Especialista
Jogos
Sistemas de apoio à tomada decisão
Sistemas de recomendação
...
Utilização prática:
Metrô de Sendai no Japão (1988)
Ar-condicionado
Câmeras fotográficas
...
49. 49
Fuzzificação
Equal-Width (ex:[10-20[, [20-30], [30-40])
função triangular
Equal-Depth (ex:[10-25[, [25-30], [35-40]):
função triangular e trapezoidal
ID Autor Ano País Idade Rating
1 Stephen King [1996-1998[:0.3;
[1998-2000[:0.7
FR [25-30[:0.3; [30-33[:0.7 Good
2 Anne Rice [1975-1983[:0.5;
[1983-1988[:0.5
ES [30-33[:0.2; [33-35[:0.8 Bad
3 Stephen King [2000-2001[:0.6;
[2001-2003[:0.4
UK [33-35[:0.5; [35-37[:0.5 Bad
4 Nora Roberts [1983-1988[:0.8;
[1988-1993[:0.2
BR [40-47[:0.7; [47-50[:0.3 Good
Tabela: Exemplo de input ao CBA-Fuzzy
50. 50
Associação Fuzzy
Cada item de uma regra possui um grau de pertinência
associado ao conjunto presente no mesmo
O cálculo do suporte e da confiança devem ser
adaptados
Função de pertinência utilizada para classificação no
algoritmo CBA-Fuzzy
51. 51
Casos de Estudo
Objetivos:
Analisar o comportamento de algoritmos de CBA frente a
datos de sistemas de recomendación
Comparar a precisão de algoritmos de CBA com a de
algoritmos de classificação tradicionais
Identificar situações nas quais cada algoritmo pode ser
utilizado mais eficientemente
Comparar aspectos relacionados com limitações de
sistemas de recomendação
Bases de dados utilizadas: MovieLens e Book Crossing
52. 52
Dados de MovieLens
Sistema de recomendação de filmes disponível sem custos
para fins acadêmicos pelo GroupLens
Composto de avaliações de usuários acerca de 1.682
filmes
Inicialmente continha aproximadamente 100.000
avaliações feitas por 943 usuários
Depois do pré-processamento restaram 14.587 registros
no arquivo de entrada
53. 53
Dados de MovieLens
Dados de Usuários
Sexo
Binario
Edad
Num.
Ocupación
String
Postal
Num.
Dados de Filmes
Título
String
ID
Num.
Gênero (19 atributos)
Binário
ID
Num.
Dados de Opiniões
ID Usuario
Num.
ID
Num.
Puntuación
Num. (1 - 5)
ID Usuario
Num.
ID
Num.
ID Usuario
Num.
ID
Num.
Puntuação
Num. (1 - 5)
ID Filme
Num.
ID Usuario
Num.
ID
Num.
Sexo
Binario
Edad
Num.
Ocupação
String
Sexo
Binário
Idade
Num.
55. 55
Dados de Book Crossing
Dados de avaliações acerca de livros coletados (por
Ziegler et. al) da comunidade de Book Crossing
Inicialmente continha 1.149.780 de avaliações acerca
de 271.379 livros
278.858 usuários realizaram avaliações explícitas (de
1 a 10) e implícitas
Depois do pré-processamento restaram 433.671
registros
56. 56
Dados de Book Crossing
Dados de Usuários
Dados de Livros
Título
String
ISBN
Num.
Ano Pub.
Num.
ID
Num.
Dados das Avaliações
Pontuação
Num. (1 - 10)
ISBN
Num.
User ID
Num.
ID
Num.
Lugar
String
Idade
Num.
Autor
String
Editora
String
User ID
Num.
ID
Num.
ISBN
Num.
User ID
Num.
ID
Num.
57. 57
Pré-Processamento
*Avaliação
bin
ID
Num.
*Idade Usuário
- < 16
- [16 - 20]
- [21 - 25]
- [26 - 30]
- [31 - 35]
- [36 - 40]
- [41 - 45]
- [46 - 50]
- > 50
Lugar Usuário
String
Ano de Publicação
- < 1980
- [1981 - 1990]
- [1991 - 1995]
- [1996 - 2000]
- [2001 - 2004]
Autor do Livro
String
58. 58
Pré-Processamento
O conjunto de dados foi dividido em dois:
lugares agrupados em estados dos EUA (25.523
registros)
lugares agrupados por países (8.926 registros)
Derivou-se mais 2 conjuntos de dados: manteve-se
apenas os 10 valores mais frequentes nos atributos
Autor e País/Estado
Estados dos EUA com 10 valores distintos (6.270 registros)
Países com 10 valores distintos (3.238 registros)
59. Analisando a Precisão
Dados
Rede
Bayesiana
C4.5 CBA CPAR CMAR cd*
MovieLens 81,95% 82,88% 81,4% 74,07% 83,28% 0,86
BCrossing World 80,87% 80,21% 79,47% 73,25% 59,55% 0,062
BCrossing World10 80,51% 79,98% 81,28% 79,86% 33,51% 0,36
BCrossing USA 80,23% 81,31% 80,23% 78,15% 67,30% 0,18
BCrossing USA10 81,53% 80,82% 81,56% 76,71% 56,86% 0,7
Tabela: Precisão registrada nos algoritmos
59
*cd = coeficiente de dispersão = num reg./produto dos valores distintos
62. 62
Metodologia Híbrida de Recomendação
Encontrar grupos de usuários
Utiliza as últimas transações do usuários
Baseado em filtragem colaborativa
Aplica-se um algoritmo de agrupamento (K-means)
Associa-se uma lista ordenadas de itens para cada grupo
Um modelo CBA-Fuzzy off-line
Construído através da versão adaptada de CBA
Input: últimas transações de usuários + “atributo grupo”
Output: um conjunto de regras de classificaçao associando atributos
de usuários e itens
63. 63
Metodologia Híbrida de Recomendação
Runtime do Sistema de Recomendação
Input: última transação do usuário ativo (métod
baseado em conteúdo)
Etapa intermediária: resulta em 1 ou mais grupos de
usuários previstos para o atributo classe (através da
lógica fuzzy)
Output: os primeiros itens da lista ordenada (de 1 ou
mais grupos)
64. 64
Aplicação no Sistema PSiS
Figura: Tela principal do PSiS (http://gecad.isep.ipp.pt:9090/psis)
65. Links de Interesse
Weka, University of Waikato
(www.cs.waikato.ac.nz/ml/weka)
Machine Learning Repository, University of California
– Irvine (http://archive.ics.uci.edu/ml/)
KDnuggets (www.kdnuggets.com)
LUCSKDD Software Library - Liverpool University
(http://www.csc.liv.ac.uk/~frans/KDD/Software/)
GroupLens - University of Minnesota, USA
(http://www.grouplens.org/)
65
66. 66
Bibliografia
Breese, J.S., Heckerman, D., Kadie, C.: Empirical analysis of predictive algorithms
for collaborative filtering. 43--52 (1998)
Thabtah, F., Cowling, P., Peng, Y.: Mcar: multi-class classification based on
association rule. In: AICCSA ’05: Proceedings of the ACS/IEEE 2005 International
Conference on Computer Systems and Applications, Washington, DC, USA, IEEE
Computer Society (2005)
Sarwar, B.M., Karypis, G., Konstan, J.A., Reidl, J.: Item-based collaborative
filtering recommendation algorithms. In: World Wide Web. 285--295 (2001)
Cheung, K.W., Kwok, J.T., Law, M.H., Tsui, K.C.: Mining customer product ratings
for personalized marketing. Decision Support Systems 35(2), 231--243 (2003)
Agrawal, R., Imielinski, T., Swami, A.N.: Mining association rules between sets of
items in large databases. In Buneman, P., Jajodia, S., eds.: Proceedings of the
1993 ACM SIGMOD International Conference on Management of Data,
Washington, D.C. 207 -- 216 (1993)
Lee, C.H., Kim, Y.H., Rhee, P.K.: Web personalization expert with combining
collaborative filtering and association rule mining technique. Expert Systems Appl.
21(3), 131--137 (2001)
67. 67
Bibliografia
Liu, B., Hsu, W., Ma, Y.: Integrating classification and association rule mining.
In: Knowledge Discovery and Data Mining. 80--86 (1998)
Li, W., Han, J., Pei, J.: CMAR: Accurate and efficient classification based on
multiple class-association rules. In: ICDM. 369--376 (2001)
Lin, W.; Alvarez, S.; Ruiz, C. Efficient adaptive-support association rule mining
for recommender systems. (2002)
Yin, X., Han, J.: Cpar: Classification based on predictive association rules. In:
SIAM International Conference on Data Mining (SDM’03). 331--335 (2003)
Coenen, F., Leng, P.H., Zhang, L.: Threshold tuning for improved classification
association rule mining. In: PAKDD. 216--225 (2005)
Wang, Y., Xin, Q., Coenen, F.: A novel rule ordering approach in classification
association rule mining. In: The 5th International Conference on Machine
Learning and Data Ming (MLDM’2007), Springer LNAI 4571, 339--348 (2007)