O documento apresenta os conceitos de mineração de dados, texto e web. Discute a importância do tema e apresenta alguns exemplos de aplicações como extrair conhecimento médico a partir de registros, agrupar notícias e identificar padrões de navegação em sites.
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
Horário
10 12
30
14 16
20
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.
Importˆncia do Tema —
a
Alguns dados...
5
6. Alguns 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
Importˆncia do Tema —
a
5
10
Alguns dados...
15
20
25
30
35
40 45 50
Tempo (Dias)
55
60
65
70
75
80
85
6
7. 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
7
8. • Sumarizar a opini˜o expressa na Web sobre a sua
a
empresa.
• Identificar padr˜es de navega¸˜o em sites.
o
ca
• Identificar grupos de usu´rios com perfil similar em
a
ambientes de escrita colaborativa.
Importˆncia do Tema —
a
Por que minerar informa¸˜es?
co
8
10. 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
10
12. 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
12
13. • 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
13
14. 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
14
18. 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
18
19. 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
19
20. ´
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
20
21. ´
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[2]: s˜o algoritmos indutores de ´rvore de
a
a
decis˜o, top-down, recursivos e que fazem uso do
a
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
21
23. 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
23
24. ˜
• 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
24
25. 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
25
27. O que fazer com grandes quantidades de
documentos?
• Not´
ıcias, patentes, artigos...
• Para tirar proveito desta informa¸˜o ´ necess´rio
ca e
a
organiz´-la de alguma forma:
a
Agrupamento de not´
ıcias, patentes, artigos.
Classifica¸˜o, Recomenda¸˜o e Filtragem de
ca
ca
Not´
ıcias.
Organizar documentos —
O que fazer com grandes quantidades de documentos?
27
28. Exemplo de agrupamento
E quando n˜o ´ poss´ fazer manualmente?
a e
ıvel
Organizar documentos —
Exemplo de agrupamento
28
29. 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.
Organizar documentos —
Defini¸˜es de Algoritmos de Agrupamento
co
29
30. 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
30
31. 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
31
32. 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
32
33. 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
33
34. 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
34
35. 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
35
37. Componentes para uma solu¸˜o...
ca
Organizar documentos —
Componentes para uma solu¸˜o...
ca
37
38. Pr´-processamento dos documentos: um
e
pouco de c´digo...
o
Converter texto em TF-IDF usando o RapidMiner.
Organizar documentos —
Pr´-processamento dos documentos: um pouco de c´digo...
e
o
38
39. Que algoritmo de agrupamento utilizar?
Organizar documentos —
Que algoritmo de agrupamento utilizar?
39
40. 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
Organizar documentos —
Algoritmos para Agrupamento - K-means
40
41. 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
8
(3) Atribuição dos objetos aos agrupamentos
Organizar documentos —
Algoritmo para Agrupamento - K-means
1
2
3
4
5
6
7
8
(4) Definição do centro do agrupamento
41
42. Algoritmos para agrupamento dos
documentos - Weka
Execu¸˜o do K-means no Wekaa .
ca
a http://www.cs.waikato.ac.nz/ml/weka/
Organizar documentos —
Algoritmos para agrupamento dos documentos - Weka
42
43. 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
Organizar documentos —
,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
,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
¥
43
51. Que informa¸oes um Wiki tem?
c˜
Documento
Vers˜o
a
Editor
Data
Documento
Vers˜o
a
Editor
Data
d1
1
···
d2
4
2
···
d3
1
u7
u5
···
d1
u1
u2
d1
3
···
d3
2
4
···
d3
3
u6
u6
···
d1
u2
u3
d1
5
···
d4
1
1
···
d4
2
u8
u9
···
d2
u4
u4
d2
2
···
d5
1
3
···
d5
2
u10
u11
···
d2
u5
u6
···
···
···
···
Exemplo de hist´rico de cria¸˜o e altera¸˜o de p´ginas em um Wiki.
o
ca
ca
a
Minerando ambientes colaborativos de escrita (Wiki) —
Que informa¸oes um Wiki tem?
c˜
51
52. O que eu posso fazer com isto?
(a)
(b)
u1
u2
Legenda:
uI = usuário i
d1
dI = documento i
u3
u4
u10
d5
u5
d2
u6
u11
u7
u8
d3
d4
u9
Minerando ambientes colaborativos de escrita (Wiki) —
111111111111
000000000000
1111111
0000000
111111111111
000000000000
1111111
0000000
111111111111
000000000000
d2
1111111
0000000
111111111111
000000000000
1111111
0000000
111111111111
000000000000
1111111
0000000
111111111111
000000000000
1111111
0000000
111111111111
000000000000
d3
1111111
0000000
111111111111
000000000000
1111111
0000000
111111111111
000000000000
1111111
0000000
111111111111
000000000000
1111111
0000000
111111111111
000000000000
111111111111
000000000000
111111111111
000000000000
d1
111111111111
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111
000000000000
1111111
0000000
1111111
0000000
d5
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
d4
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
O que eu posso fazer com isto?
Similaridade:
111
000
111
000
alta
média
baixa
52
53. Exemplo
Execu¸˜o de uma aplica¸˜o usando estes conceitos.
ca
ca
Minerando ambientes colaborativos de escrita (Wiki) —
Exemplo
53
55. Considera¸oes Finais
c˜
• Caso sobre conhecimento m´dico: Data Mining.
e
• Agrupamento, classifica¸˜o e filtragem de
ca
documentos: Text Mining.
• Caso Wiki: Web Mining
• O que existe em comum nestes casos?
Considera¸˜es Finais —
co
Considera¸˜es Finais
co
55
57. References
[1] Tom M. Mitchell. Machine Learning. McGraw-Hill, 1997.
[2] J. R. Quinlan. Knowledge Acquisition for Knowledge-Based
Systems, chapter Simplifying Decision Trees. Academic
Press, 1988.
[3] Stuart J. Russel and Peter Norvig. Artificial intelligence: a
modern approach. Prentice-Hall, 2 edition, 2003.
[4] Ian H. Witten and Eibe Frank. Data Mining: Practical
Machine Learning Tools and Techniques. Elsevier, second
edition, 2005.
56-1