O documento introduz o tema da mineração de informações, definindo seu objetivo de apresentar a importância do tema e conceitos relacionados. Ele também fornece exemplos de aplicações e discute componentes importantes como atributos, dados e algoritmos para gerar hipóteses."
Atena: um sistema para suporte ao planejamento na área de Gestão de Projeto
Uma introdução à mineração de informações
1. Uma Introdu¸˜o ` Minera¸˜o de
ca a
ca
Informa¸˜es
co
Fabr´ J. Barth
ıcio
Apontador
http://www.apontador.com.br
http://www.apontador.com.br/institucional/
fabricio.barth@lbslocal.com
Outubro de 2010
2. Objetivo
Apresentar a importˆncia do tema, os conceitos
a
relacionados e alguns exemplos de aplica¸˜es.
co
Uma Introdu¸˜o ` Minera¸˜o de Informa¸˜es —
ca a
ca
co
Objetivo
2
5. Alguns dados...
Relação Horário x Dia x Quantidade de Notícias Produzidas
500
450
400
350
300
250
200
150
100
50
0
500
400
Notícias
300
200
100
0
0
2
4
6
8
10 12
30
14 16
20
Horário
10
18 20
22 0
40
50
60
70
80
90
Dia
Quantidade de not´
ıcias publicadas na Web por apenas seis ve´
ıculos de not´
ıcias (D0 = 17/07/2007)
Importˆncia do Tema —
a
Alguns dados...
5
6. Mais dados...
Notícias publicadas na Internet
160000
Estadão
Folha
G1
Globo Online
Terra
Último Segundo
Total
140000
Quantidade (Notícias)
120000
100000
80000
60000
40000
20000
0
0
5
10
15
20
25
30
35
40 45 50
Tempo (Dias)
55
60
65
70
75
80
85
D0 = 17/07/2007
Importˆncia do Tema —
a
Mais dados...
6
7. Big Data
“We collect an astonishing amount of digital information... ...we’ve long since surpassed our ability to store
and process it all. Big data is here, and it’s causing big
problems...”[Data, data everywhere. A special report on managing information 2010]
Importˆncia do Tema —
a
Big Data
7
8. Por que minerar informa¸oes?
c˜
• Explicitar conhecimento m´dico a partir de registros
e
m´dicos.
e
• Sumarizar tendˆncias de publica¸˜es de artigos e
e
co
patentes sobre um determinado tema.
• Sumarizar e filtrar not´
ıcias relevantes.
Importˆncia do Tema —
a
Por que minerar informa¸˜es?
co
8
9. • Sumarizar a opini˜o expressa na Web sobre a sua
a
empresa.
• Identificar padr˜es de navega¸˜o em sites.
o
ca
• Identificar conte´do impr´prio em sites.
u
o
Importˆncia do Tema —
a
Por que minerar informa¸˜es?
co
9
11. Diagn´stico para o uso de lentes de
o
contato
O setor de oftalmologia de um hospital da cidade de S˜o
a
Paulo possui, no seu banco de dados, um hist´rico de
o
pacientes que procuraram o hospital queixando-se de
problemas na vis˜o.
a
A conduta, em alguns casos, realizada pelo corpo cl´
ınico
de oftalmologistas do hospital ´ indicar o uso de lentes ao
e
paciente.
Problema: Extrair do banco de dados do hospital
uma hip´tese que explica que paciente deve usar ou
o
n˜o lente de contatos.
a
Explicitar conhecimento m´dico a partir de registros m´dicos —
e
e
Diagn´stico para o uso de lentes de contato
o
11
13. Componentes
• Que objetos s˜o relevantes para a cria¸˜o da hip´tese?
a
ca
o
• Como represent´-los?
a
• Que linguagem de representa¸˜o de conhecimento
ca
deve-se utilizar para representar a hip´tese?
o
• Que algoritmo utilizar para gerar a hip´tese?
o
Quais s˜o os componentes deste sistema? —
a
Componentes
13
14. • Que objetos s˜o relevantes?
a
Depois de um estudo detalhado do problema com
especialistas da ´rea...
a
Idade do paciente.
Se o paciente tem ou n˜o miopia.
a
Se o paciente tem ou n˜o astigmatismo.
a
Qual ´ a taxa de lacrimejamento dos olhos do
e
paciente.
• Como represent´-los? Atributo/Valor
a
Quais s˜o os componentes deste sistema? —
a
Componentes
14
15. Atributos
• idade (jovem, adulto, idoso)
• miopia (m´
ıope, hiperm´trope)
e
• astigmatismo (n˜o, sim)
a
• taxa de lacrimejamento (reduzido, normal)
• lentes de contato (forte, fraca, nenhuma)
Quais s˜o os componentes deste sistema? —
a
Atributos
15
19. Extra¸˜o de “conhecimento”
ca
• O que foi apresentado nos slides anteriores pode ser
considerado como conhecimento? N˜o
a
• Pode ser apresentado como uma informa¸˜o que
ca
consegue explicar a tomada de decis˜o dos
a
especialistas? N˜o
a
• O que fazer?
Quais s˜o os componentes deste sistema? —
a
Extra¸˜o de “conhecimento”
ca
19
20. Extra¸˜o de “conhecimento”
ca
• Extrair a informa¸˜o realmente relevante.
ca
• Utilizar uma linguagem de representa¸˜o
ca
compreens´ ao ser humano.
ıvel
Quais s˜o os componentes deste sistema? —
a
Extra¸˜o de “conhecimento”
ca
20
21. ´
Arvore de decis˜o
a
• Cada nodo interno testa um atributo.
• Cada aresta corresponde a um valor de atributo.
• Cada nodo folha retorna uma classifica¸˜o.
ca
Quais s˜o os componentes deste sistema? —
a
´
Arvore de decis˜o
a
21
22. ´
Algoritmos Indutores de Arvores de
Decis˜o
a
• Que algoritmo utilizar para gerar hip´teses na
o
forma de ´rvores de decis˜o?
a
a
• ID3, C4.5[Quinlan 1988]: s˜o algoritmos indutores de
a
´rvore de decis˜o, top-down, recursivos e que fazem
a
a
uso do conceito de entropia para identificar os
melhores atributos que representam o conjunto de
dados.
Quais s˜o os componentes deste sistema? —
a
´
Algoritmos Indutores de Arvores de Decis˜o
a
22
24. Sistema Especialista: Regras de Produ¸˜o
ca
• Baseado na premissa que o processo de tomada de
decis˜o humano pode ser modelado por meio de regras
a
˜
do tipo SE condi¸˜es ENTAO conclus˜es [FACA
co
o
¸
a¸˜es]
co
• Convertendo uma ´rvore de decis˜o em regras de
a
a
produ¸˜o:
ca
Quais s˜o os componentes deste sistema? —
a
Sistema Especialista: Regras de Produ¸˜o
ca
24
25. ˜
• SE lacrimejamento=reduzido ENTAO lente=nenhuma
˜
• SE lacrimejamento=normal E astigmatismo=n˜o ENTAO
a
lente=fraca
• SE lacrimejamento=normal E astigmatismo=sim E
˜
miopia=miope ENTAO lente=forte
• SE lacrimejamento=normal E astigmatismo=sim E
˜
miopia=hipermetrope ENTAO lente=nenhuma
Quais s˜o os componentes deste sistema? —
a
Sistema Especialista: Regras de Produ¸˜o
ca
25
26. Um pouco de c´digo...
o
• Gerar a ´rvore de decis˜o usando o RapidMinera .
a
a
• Codificar as regras de produ¸˜o usando o Drools
ca
Expert b .
a http://www.rapidminer.com
b http://www.jboss.org/drools/drools-expert.html
Quais s˜o os componentes deste sistema? —
a
Um pouco de c´digo...
o
26
28. O que fazer com grandes quantidades de
documentos?
• Not´
ıcias, patentes, artigos, mensagens de twitter...
• Para tirar proveito desta informa¸˜o ´ necess´rio
ca e
a
organiz´-la de alguma forma:
a
Agrupamento de not´
ıcias, patentes, artigos e
mensagens.
Classifica¸˜o, Recomenda¸˜o e Filtragem de
ca
ca
documentos (not´
ıcias, relat´rios, mensagens do
o
twitter, avalia¸˜o de itens).
ca
Organizar documentos —
O que fazer com grandes quantidades de documentos?
28
30. Exemplo de classifica¸˜o/agrupamento
ca
• E quando n˜o ´ poss´ fazer manualmente?
a e
ıvel
• Qual ´ o processo para classificar e agrupar
e
documentos de forma autom´tica?
a
Organizar documentos —
Exemplo de classifica¸˜o/agrupamento
ca
30
31. Formato de um documento
... Esta disciplina tem como objetivo apresentar os principais
conceitos da ´rea de Inteligˆncia Artificial, caracterizar as
a
e
principais t´cnicas e m´todos, e implementar alguns problemas
e
e
cl´ssicos desta ´rea sob um ponto de vista introdut´rio.
a
a
o
A estrat´gia de trabalho, o conte´do ministrado e a forma
e
u
depender˜o dos projetos selecionados pelos alunos.
a
Inicialmente, os alunos dever˜o trazer os seus Projetos de
a
Conclus˜o de Curso, identificar intersec¸oes entre o projeto e a
a
c˜
disciplina, e propor atividades para a disciplina. ...
Organizar documentos —
Formato de um documento
31
32. Atributo/Valor usando vetores
Como representar os documentos?
→
−
di = (pi1 , pi2 , · · · , pin)
(1)
• Os atributos s˜o as palavras que aparecem nos
a
documentos.
• Se todas as palavras que aparecem nos documentos
forem utilizadas, o vetor n˜o ficar´ muito grande?
a
a
Organizar documentos —
Atributo/Valor usando vetores
32
33. Diminuindo a dimensionalidade do vetor
• Como filtrar as palavras que devem ser usadas como
atributos?
• Em todos os idiomas existem ´tomos (palavras) que
a
n˜o significam muito. Stop-words
a
Esta disciplina tem como objetivo apresentar os principais
conceitos da ´rea de Inteligˆncia Artificial, caracterizar as
a
e
principais t´cnicas e m´todos, e implementar alguns problemas
e
e
cl´ssicos desta ´rea sob um ponto de vista introdut´rio.
a
a
o
···
Organizar documentos —
Diminuindo a dimensionalidade do vetor
33
34. Diminuindo ainda mais a
dimensionalidade do vetor
• Algumas palavras podem aparecer no texto de diversas
maneiras: t´cnica, t´cnicas, implementar,
e
e
implementa¸˜o...
ca
• Stemming - encontrar o radical da palavra e usar
apenas o radical.
Organizar documentos —
Diminuindo ainda mais a dimensionalidade do vetor
34
35. Atributo/Valor usando vetores
• J´ conhecemos os atributos.
a
• E os valores?
Booleana - se a palavra aparece ou n˜o no
a
documento (1 ou 0)
Por freq¨ˆncia do termo - a freq¨ˆncia com que
ue
ue
a palavra aparece no documento (normalizada ou
n˜o)
a
Pondera¸˜o tf-idf - o peso ´ proporcional ao
ca
e
n´mero de ocorrˆncias do termo no documento e
u
e
inversamente proporcional ao n´mero de
u
documentos onde o termo aparece.
Organizar documentos —
Atributo/Valor usando vetores
35
36. Por freq¨ˆncia do termo
ue
(apresent,0.33) (form,0.33) (tecnic,0.33) (caracteriz,0.33)
(projet,1.0) (introdutori,0.33) (objet,0.33) (inteligente,0.33)
(conclusa,0.33) (selecion,0.33) (intersecco,0.33) (classic,0.33)
(identific,0.33) (conceit,0.33) (trabalh,0.33) (disciplin,1.0)
(traz,0.33)
Organizar documentos —
Por freq¨ˆncia do termo
ue
36
39. An´lise de Sentimento em mensagens no
a
Twitter
Teor das mensagens sobre a Vale nos ultimos sete dias.
´
Classifica¸˜o de documentos —
ca
An´lise de Sentimento em mensagens no Twitter
a
39
40. Conjunto de Exemplos Rotulados
Doc.
Mensagem
Classe
d1
A empresa X ´ uma empresa muito s´ria
e
e
Positivo
d2
O produto Y ´ uma porcaria
e
Negativo
d3
Gostei muito da palestra de fulano
Positivo
d4
Aquela praia ´ muito bonita
e
Positivo
d5
Gostei daquele restaurante
Positivo
···
dn
Classifica¸˜o de documentos —
ca
Conjunto de Exemplos Rotulados
40
41. Conjunto de Exemplos - Atributo/Valor e
Classe
Doc.
restaur
empres
bom
caracteriz
···
Classe
d1
0.33
0.33
0.33
0.33
···
Positivo
d2
0
0.5
0.2
0.33
···
Negativo
d3
1
0.6
0
0
···
Positivo
d4
0.4
0.3
0.33
0.4
···
Positivo
d5
1
0.4
0.1
0.1
···
Positivo
dn
···
···
···
···
···
···
Classifica¸˜o de documentos —
ca
Conjunto de Exemplos - Atributo/Valor e Classe
41
42. Algoritmo Na¨ Bayes
ıve
NaiveBayesLearn(exemplos): P (vj ) e P (ai |vj )
for all valor alvo vj do
P (vj ) ← estimar P (vj )
for all valor de atributo ai de cada atributo a do
P (ai |vj ) ← estimar P (ai |vj )
end for
end for
ClassifyNewInstance(x): VN B
VN B = arg maxvj ∈V P (vj ) i P (ai |vj )
Classifica¸˜o de documentos —
ca
Algoritmo Na¨ Bayes
ıve
42
43. Exemplo
Execu¸˜o de um demo usando estes conceitos...
ca
§
T r a n s f o r m a n d o o c o n j u n t o de t r e i n a m e n t o em um v e t o r de p a l a v r a s
C r i a n d o o modelo
A p l i c a n d o o modelo a n o v o s c a s o s
Mensagem ”Meu v o t o e p a r a X , com c e r t e z a ! ” e c l a s s i f i c a d a como POSITIVA
Mensagem ” E s t e p r o d u t o e m u i t o r u i m ” e c l a s s i f i c a d a como NEGATIVA
Mensagem ” Nunca m a i s compro n a q u e l a l o j a ! ” e c l a s s i f i c a d a como NEGATIVA
Mensagem ” F u l a n o e um m e n t i r o s o ! ” e c l a s s i f i c a d a como NEGATIVA
˜ ˜
Mensagem ”X l i d e r a inten A§ A£o de v o t o ” e c l a s s i f i c a d a como POSITIVA
¦
Classifica¸˜o de documentos —
ca
Exemplo
¤
¥
43
44. Classifica¸˜o e Filtragem de Not´
ca
ıcias
Classifica¸˜o de documentos —
ca
Classifica¸˜o e Filtragem de Not´
ca
ıcias
44
45. Conjunto de Exemplos - Atributo/Valor e
Classe
Doc.
apresent
form
tecnic
caracteriz
···
Relevante
d1
0.33
0.33
0.33
0.33
···
1
d2
0
0.5
0.2
0.33
···
0
d3
1
0.6
0
0
···
1
d4
0.4
0.3
0.33
0.4
···
1
d5
1
0.4
0.1
0.1
···
1
dn
···
···
···
···
···
···
Classifica¸˜o de documentos —
ca
Conjunto de Exemplos - Atributo/Valor e Classe
45
46. Qual ´ o problema?
e
Classifica¸˜o de documentos —
ca
Qual ´ o problema?
e
46
50. Defini¸oes de Algoritmos de Agrupamento
c˜
• O objetivo dos algoritmos de agrupamento ´ colocar
e
os objetos similares em um mesmo grupo e objetos
n˜o similares em grupos diferentes.
a
• Normalmente, objetos s˜o descritos e agrupados
a
usando um conjunto de atributos e valores.
• N˜o existe nenhuma informa¸˜o sobre a classe ou
a
ca
categoria dos objetos.
Agrupamento de documentos —
Defini¸˜es de Algoritmos de Agrupamento
co
50
51. Componentes para uma solu¸˜o...
ca
Agrupamento de documentos —
Componentes para uma solu¸˜o...
ca
51
52. Algoritmos para Agrupamento - K-means
• K significa o n´mero de agrupamentos (que deve ser
u
informado ` priori).
a
• Sequˆncia de a¸˜es iterativas.
e
co
• A parada ´ baseada em algum crit´rio de qualidade
e
e
dos agrupamentos (por exemplo, similaridade m´dia).
e
Agrupamento de documentos —
Algoritmos para Agrupamento - K-means
52
53. Algoritmo para Agrupamento - K-means
5
5
4
4
3
3
2
2
1
1
0
0
1
2
3
4
5
6
7
1
8
2
3
4
5
6
7
8
(2) Sorteio dos pontos centrais dos agrupamentos
(1) Objetos que devem ser agrupados
5
5
4
4
3
3
2
2
1
1
0
0
1
2
3
4
5
6
7
(3) Atribuição dos objetos aos agrupamentos
Agrupamento de documentos —
8
1
2
3
4
5
6
7
8
(4) Definição do centro do agrupamento
Algoritmo para Agrupamento - K-means
53
54. Algoritmos para agrupamento dos
documentos - Weka
Execu¸˜o do K-means no Wekaa .
ca
a http://www.cs.waikato.ac.nz/ml/weka/
Agrupamento de documentos —
Algoritmos para agrupamento dos documentos - Weka
54
55. Algoritmo para agrupamento dos
documentos - Resultados
¤
§
A
A
A
A
A
A
A
A
A
A
A
A
A
A
¦
instˆncia
a
instˆncia
a
instˆncia
a
instˆncia
a
instˆncia
a
instˆncia
a
instˆncia
a
instˆncia
a
instˆncia
a
instˆncia
a
instˆncia
a
instˆncia
a
instˆncia
a
instˆncia
a
0.1
0.1
0.3
0.3
0.3
0.8
0.1
0.1
0.1
0.6
0.6
0.1
0.2
0.1
,0.1
,0.2
,0.4
,0.1
,0.1
,0.7
,0.1
,0.1
,0.1
,0.5
,0.5
,0.1
,0.8
,0.1
Agrupamento de documentos —
,0.1
,0.3
,0.5
,0.1
,0.1
,0.8
,0.1
,0.1
,0.1
,0.6
,0.6
,0.1
,0.8
,0.1
,0.1
,0.1
,0.8
,0.1
,0.1
,0.8
,0.1
,0.1
,0.1
,0.6
,0.6
,0.1
,0.7
,0.1
,0.1
,0.8
,0.9
,0.1
,0.1
,0.8
,0.1
,0.1
,0.1
,0.6
,0.6
,0.1
,0.9
,0.1
est´
a
est´
a
est´
a
est´
a
est´
a
est´
a
est´
a
est´
a
est´
a
est´
a
est´
a
est´
a
est´
a
est´
a
no
no
no
no
no
no
no
no
no
no
no
no
no
no
cluster
cluster
cluster
cluster
cluster
cluster
cluster
cluster
cluster
cluster
cluster
cluster
cluster
cluster
1
1
0
1
1
0
1
1
1
0
0
1
0
1
Algoritmo para agrupamento dos documentos - Resultados
¥
55
57. Exemplo t´
ıpico de log
Minerando o log de um servidor Web —
Exemplo t´
ıpico de log
57
58. Pr´-processamento do log: identifica¸˜o
e
ca
de usu´rios
a
Minerando o log de um servidor Web —
Pr´-processamento do log: identifica¸˜o de usu´rios
e
ca
a
58
59. Pr´-processamento do log: identifica¸˜o
e
ca
das se¸˜es
co
Minerando o log de um servidor Web —
Pr´-processamento do log: identifica¸˜o das se¸˜es
e
ca
co
59
61. Regras de Associa¸˜o
ca
• Caso do supermercado (fralda → cerveja)
• Quem acessa a p´gina sobre futebol tamb´m acessa a
a
e
p´gina de volei em 90% dos casos (futebol → volei).
a
• Quem acessa a p´gina de ofertas e a p´gina de
a
a
material de constru¸˜o tamb´m finaliza a compra em
ca
e
83% dos casos (ofertas ∧ material constru¸˜o →
ca
compra)
Minerando o log de um servidor Web —
Regras de Associa¸˜o
ca
61
63. Considera¸oes Finais
c˜
• Foram vistos: problemas de classifica¸˜o, agrupamento
ca
e an´lise de log. Tem muito mais de onde vieram
a
estes...
• Aten¸˜o para o processo! Pr´-processamento,
ca
e
cria¸˜o dos modelos, avalia¸˜o e aplica¸˜o.
ca
ca
ca
• Alguns algoritmos para minera¸˜o de informa¸˜o s˜o
ca
ca a
pesados. Talvez, parte da solu¸˜o esteja na ado¸˜o de
ca
ca
cloud computing.
• Muitos dados... Muitas oportunidades...
Considera¸˜es Finais —
co
Considera¸˜es Finais
co
63
64. Outros exemplos
• Wiki2Groupa - 2010
• Sistema Folkalizab - 2009
• Sistema opSysc - 2008
• Sistema FaroFino - 2005
• Mais informa¸˜es podem ser encontradas em
co
http://fbarth.net.br e
http://fbarth.net.br/projetos/riInteligente.html
a http://trac.fbarth.net.br/wikiAnalysis
b http://www.jessicacintra.com.br/jeh/folkaliza/Home/Default.aspx
c http://www.opsys.com.br
Considera¸˜es Finais —
co
Outros exemplos
64
66. References
[Data, data everywhere. A special report on managing information 20
DATA, data everywhere. A special report on managing information. The Economist, p. 1–16, February 2010.
[Liu 2009]LIU, B. Web Data Mining: Exploring Hyperlinks,
Contents, and Usage Data (Data-Centric Systems
and Applications). 1st ed. 2007. corr. 2nd printing. ed.
Springer, 2009. Hardcover. ISBN 3540378812. Dispon´ em:
ıvel
http://www.amazon.com/exec/obidos/redirect?tag=citeulike0720path=ASIN/3540378812.
[Mitchell 1997]MITCHELL, T. M. Machine Learning. [S.l.]:
McGraw-Hill, 1997.
65-1
67. [Quinlan 1988]QUINLAN, J. R. Knowledge acquisition for
knowledge-based systems. In:
. [S.l.]: Academic Press,
1988. cap. Simplifying Decision Trees.
[Russel e Norvig 2003]RUSSEL, S. J.; NORVIG, P. Artificial
intelligence: a modern approach. 2. ed. [S.l.]: PrenticeHall, 2003. ISBN 0-13-790395-2.
[Witten e Frank 2005]WITTEN, I. H.; FRANK, E. Data Mining: Practical Machine Learning Tools and Techniques.
Second. [S.l.]: Elsevier, 2005.
65-2