SlideShare uma empresa Scribd logo
1 de 75
Baixar para ler offline
Uma Introdu¸˜o ` Minera¸˜o de
ca a
ca
Informa¸˜es na era do Big Data
co
Fabr´ J. Barth
ıcio
VAGAS Tecnologia e Faculdades BandTec

Setembro de 2012
Palestrante
• Fabr´
ıcio J. Barth. Formado em Ciˆncia da
e
Computa¸˜o pela FURB. Mestrado e Doutorado em
ca
Engenharia da Computa¸˜o pela USP.
ca
• Recupera¸˜o e minera¸˜o de informa¸˜es para
ca
ca
co
dom´
ınios de investiga¸˜o; Identifica¸˜o de temas
ca
ca
emergentes e especialistas em bases de patentes e
artigos; Desenvolvimento e gest˜o de uma plataforma
a
de busca georeferenciada (www.apontador.com.br).
• Data Scientist na VAGAS Tecnologia
(www.vagas.com.br). Professor da Faculdade BandTec
(www.bandtec.com.br).
Uma Introdu¸˜o ` Minera¸˜o de Informa¸˜es na era do Big Data —
ca a
ca
co

Palestrante

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 na era do Big Data —
ca a
ca
co

Objetivo

3
Sum´rio
a
• Importˆncia do Tema
a
• Manipulando dados estruturados
• Manipulando dados n˜o-estruturados (textos)
a
Agrupamento
Classifica¸˜o
ca
• Web Data Mining
• Considera¸˜es Finais
co
• Referˆncias
e

Uma Introdu¸˜o ` Minera¸˜o de Informa¸˜es na era do Big Data —
ca a
ca
co

Sum´rio
a

4
Importˆncia do Tema
a

5
Problema

http://investingcaffeine.com/2010/01/07/tmi-the-age-of-information-overload/

Importˆncia do Tema —
a

Problema

6
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...

7
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...

8
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...”[1]

Importˆncia do Tema —
a

Big Data

9
Mais n´meros
u
• A380: Heathrow → JFK: 640 TBs de log
• Twitter: 12+ TBs of tweet every day
• Facebook: 25+ TBs of log data every day
• Sistemas baseados em RFID
• Smartphones com GPS, aceler´metro, ...
o
http://www.ibmbigdatahub.com/
Mitchell. Mining our reality. Science. 2009

Importˆncia do Tema —
a

Mais n´meros
u

10
Por que minerar informa¸oes?
c˜
• Explicitar conhecimento m´dico a partir de registros
e
m´dicos.
e
• Identificar comportamento anˆmalo (i.e., fraudes,
o
falhas)
• 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

11
• 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
• Recomenda¸˜o de livros, filmes, restaurantes e
ca
empregos.

Importˆncia do Tema —
a

Por que minerar informa¸˜es?
co

12
Explicitar
conhecimento m´dico
e
a partir de registros
m´dicos
e
13
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

14
Banco de dados do ambiente de produ¸˜o
ca

Explicitar conhecimento m´dico a partir de registros m´dicos —
e
e

Banco de dados do ambiente de produ¸˜o
ca

15
Por onde come¸ar?
c

16
Responder as seguintes perguntas:
• Que objetos/atributos s˜o relevantes para a cria¸˜o da
a
ca
hip´tese?
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

Por onde come¸ar? —
c

Responder as seguintes perguntas:

17
• 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

Por onde come¸ar? —
c

Responder as seguintes perguntas:

18
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)

Por onde come¸ar? —
c

Atributos

19
Dados
Idade

Miopia

Astigmat.

Lacrimej.

Lentes

jovem

m´
ıope

n˜o
a

reduzido

nenhuma

jovem

m´
ıope

n˜o
a

normal

fraca

jovem

m´
ıope

sim

reduzido

nenhuma

jovem

m´
ıope

sim

normal

forte

jovem

hiper

n˜o
a

reduzido

nenhuma

jovem

hiper

n˜o
a

normal

fraca

jovem

hiper

sim

reduzido

nenhuma

jovem

hiper

sim

normal

forte

adulto

m´
ıope

n˜o
a

reduzido

nenhuma

Por onde come¸ar? —
c

Dados

20
Idade

Miopia

Astigmat.

Lacrimej.

Lentes

adulto

m´
ıope

n˜o
a

normal

fraca

adulto

m´
ıope

sim

reduzido

nenhuma

adulto

m´
ıope

sim

normal

forte

adulto

hiper

sim

reduzido

nenhuma

adulto

hiper

n˜o
a

normal

fraca

adulto

hiper

sim

reduzido

nenhuma

adulto

hiper

sim

normal

nenhuma

Por onde come¸ar? —
c

Dados

21
Idade

Miopia

Astigmat.

Lacrimej.

Lentes

idoso

m´
ıope

n˜o
a

reduzido

nenhuma

idoso

m´
ıope

n˜o
a

normal

nenhuma

idoso

m´
ıope

sim

reduzido

nenhuma

idoso

m´
ıope

sim

normal

forte

idoso

hiper

n˜o
a

reduzido

nenhuma

idoso

hiper

n˜o
a

normal

fraca

idoso

hiper

sim

reduzido

nenhuma

idoso

hiper

sim

normal

nenhuma

Por onde come¸ar? —
c

Dados

22
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?

Por onde come¸ar? —
c

Extra¸˜o de “conhecimento”
ca

23
Extra¸˜o de “conhecimento”
ca
• Extrair a informa¸˜o realmente relevante.
ca
• Utilizar uma linguagem de representa¸˜o
ca
compreens´ ao ser humano.
ıvel
(mostrar exemplo no RapidMiner - www.rapid-i.com)

Por onde come¸ar? —
c

Extra¸˜o de “conhecimento”
ca

24
´
Arvore de decis˜o
a

Por onde come¸ar? —
c

´
Arvore de decis˜o
a

25
´
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[7]: 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.

Por onde come¸ar? —
c

´
Algoritmos Indutores de Arvores de Decis˜o
a

26
Resultado: Sistema Especialista

(none, soft, hard)

Por onde come¸ar? —
c

Resultado: Sistema Especialista

27
Organizar
documentos

28
O que fazer com grandes quantidades de
documentos?
• Not´
ıcias, patentes, artigos, mensagens de twitter,
quest˜es abertas de um question´rio de pesquisa, ...
o
a
• 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?

29
Exemplo de classifica¸˜o/agrupamento
ca

Organizar documentos —

Exemplo de classifica¸˜o/agrupamento
ca

30
Etapas
• Pr´-processamento dos dados.
e
• Modelagem (supervisionada ou n˜o supervisionada).
a
• Avalia¸˜o do modelo.
ca
• Utiliza¸˜o
ca

Organizar documentos —

Etapas

31
Pr´-processamento
e
dos dados

32
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. ...

Pr´-processamento dos dados —
e

Formato de um documento

33
Conjunto de Exemplos - Atributo/Valor
Doc.

apresent

form

tecnic

caracteriz

···

d1

0.33

0.33

0.33

0.33

···

d2

0

0.5

0.2

0.33

···

d3

1

0.6

0

0

···

d4

0.4

0.3

0.33

0.4

···

d5

1

0.4

0.1

0.1

···

dn

···

···

···

···

···

Pr´-processamento dos dados —
e

Conjunto de Exemplos - Atributo/Valor

34
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

Pr´-processamento dos dados —
e

Atributo/Valor usando vetores

35
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
···

Pr´-processamento dos dados —
e

Diminuindo a dimensionalidade do vetor

36
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.

Pr´-processamento dos dados —
e

Diminuindo ainda mais a dimensionalidade do vetor

37
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.
Pr´-processamento dos dados —
e

Atributo/Valor usando vetores

38
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)

Pr´-processamento dos dados —
e

Por freq¨ˆncia do termo
ue

39
An´lise do conte´do
a
u
publicado no Twitter
atrav´s de algoritmos
e
de agrupamento
40
Componentes para uma solu¸˜o...
ca
Fonte

Coletor

Pré-processamento
dos documentos

Agrupa
documentos

Agrupamentos de
documentos

An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento —
a
u
e

Componentes para uma solu¸˜o...
ca

41
Coletando dados do twitter
§

¤

$ c u r l −o a b o u t B r a s i l . t x t h t t p s : / / s t r e a m . t w i t t e r . com/1/ s t a t u s e s /
f i l t e r . j s o n ? t r a c k= b r a s i l −u u s e r : passwd
% Total
100 4549 k

% Received % Xferd
0 4549 k

0

A v e r a g e Speed
Time
Time
Time C u r r e n t
Dload U p l o a d
Total
Spent
Left
Speed
0
5986
0 − − −
−: −: − 0 : 1 2 : 5 8 − − −
−: −: − 6226

$ wc −l a b o u t B r a s i l . t x t
1501 a b o u t B r a s i l . t x t
$ date
Ter 28 Ago 2012 2 3 : 5 1 : 1 0 BRT

¦


An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento —
a
u
e

¥

Coletando dados do twitter

42
§

¤

#
# f o r m a de u s o : r u b y t w i t t e r . r b  men sa gens . c s v
#
require
require

’ r ub yg em s ’
’ json ’

c o n t e n t = F i l e . open ( ’ a b o u t B r a s i l . t x t ’ )
c o n t e n t . e a c h do | l i n e |
p u t s JSON . p a r s e ( l i n e ) [ ’ t e x t ’ ]
end

¦


An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento —
a
u
e

¥

Coletando dados do twitter

43
Componentes para uma solu¸˜o...
ca
Fonte

Coletor

Pré-processamento
dos documentos

Agrupa
documentos

Agrupamentos de
documentos

Wiki2Group - http://trac.fbarth.net.br/wikiAnalysis

An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento —
a
u
e

Componentes para uma solu¸˜o...
ca

44
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.

An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento
a
u
e
Agrupamento

—

Defini¸˜es de Algoritmos de
co

45
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

An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento —
a
u
e
K-means

Algoritmos para Agrupamento -

46
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

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

8

1

2

3

4

5

6

7

8

(4) Definição do centro do agrupamento

An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento —
a
u
e
K-means

3

Algoritmo para Agrupamento -

47
Algoritmo para agrupamento dos twittes Resultados
Execu¸˜o do processo no RapidMiner
ca

An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento —
a
u
e
twittes - Resultados

Algoritmo para agrupamento dos

48
An´lise dos agrupamentos (clusters)
a
RT @TWlTTEI :

’ t c h e r e r e tche tche ’

’ bara bere ’

’ tchu tcha ’

’ lelele ’

’ paragada ’

’ tharara ’

’

RT @TWlTTEI :

’ t c h e r e r e tche tche ’

’ bara bere ’

’ tchu tcha ’

’ lelele ’

’ paragada ’

’ tharara ’

’

RT @PiadaDePobre :
RT @ s o u c r a c k :

’ t c h e r e r e tche tche ’

’ t c h e r e r e tche tche ’

RT @PiadaDePobre :
RT @PiadaDePobre :

’ bara bere ’

’ t c h e r e r e tche tche ’

’ t c h e r e r e tche tche ’

’ bara bere ’
’ bara bere ’

’ thara

’ p a r a p a p a ’ ach

’ paragada ’

’ tharara ’

’ thara

’ tharara ’

’ paragada ’

’ tharara ’

’ lelele ’

’ paragada ’

’ paragada ’

’ paragada ’

’ lelele ’

’ paragada ’

’ tchu tcha ’

’ lelele ’

’ lelele ’

’ lelele ’

’ tchu tcha ’

’ lelele ’

’ bara bere ’

’ tchu tcha ’

’ tchu tcha ’

’ tchu tcha ’

’ bara bere ’

’ tchu tcha ’

’ t c h e r e r e tche tche ’

’ t c h e r e r e tche tche ’

’ bara bere ’

’ thara

’ p a r a p a p a ’ ach

RT @PiadaDePobre :

’ t c h e r e r e tche tche ’

’ bara bere ’

’ tchu tcha ’

’ lelele ’

’ paragada ’

’ thara

RT @PiadaDePobre :

’ t c h e r e r e tche tche ’

’ bara bere ’

’ tchu tcha ’

’ lelele ’

’ paragada ’

’ thara

RT @TWlTTEI :

’ t c h e r e r e tche tche ’

’ bara bere ’

’ tchu tcha ’

’ lelele ’

’ paragada ’

’ tharara ’

’

RT @TWlTTEI :

’ t c h e r e r e tche tche ’

’ bara bere ’

’ tchu tcha ’

’ lelele ’

’ paragada ’

’ tharara ’

’

An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento
a
u
e
(clusters)

—

An´lise dos agrupamentos
a

49
An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento
a
u
e
(clusters)

—

An´lise dos agrupamentos
a

50
Classifica¸˜o de
ca
documentos

51
An´lise de Sentimento em mensagens no
a
Twitter

Teor das mensagens sobre a empresa Vale nos ultimos sete dias. http://www.opsys.com.br/ - [4]
´

Classifica¸˜o de documentos —
ca

An´lise de Sentimento em mensagens no Twitter
a

52
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
• Rotular manualmente
• Utilizar emoticons :) :(

Classifica¸˜o de documentos —
ca

Conjunto de Exemplos Rotulados

53
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

54
Classificando objetos

• Na¨ Bayes [6]
ıve
• Support Vector Machines (SVM) [2]
Classifica¸˜o de documentos —
ca

Classificando objetos

55
Utiliza¸˜o
ca
Utilizando o modelo criado ´ poss´ inferir se novos
e
ıvel
twittes possuem sentimento positivo ou negativo.
§
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

Utiliza¸˜o
ca

¤

¥

56
Outro Exemplo: Classifica¸˜o e Filtragem
ca
de Not´
ıcias

Classifica¸˜o de documentos —
ca

Outro Exemplo: Classifica¸˜o e Filtragem de Not´
ca
ıcias

57
Qual ´ o problema?
e

http://fbarth.net.br/projetos/riInteligente.html - Sistema FaroFino [5]

Classifica¸˜o de documentos —
ca

Qual ´ o problema?
e

58
Processo de trabalho
Web

Coletor de RSS

Pré-processamento
dos documentos

Classifica e filtra
documentos
implementação

Notícia
Notícia
Notícia
Notícia
Notícia
Notícia
Notícia

1
2
3
4
5
6
7

=
=
=
=
=
=
=

gostei
não gostei
gostei
gostei
gostei
não gostei
gostei

Classifica¸˜o de documentos —
ca

Algoritmo gerador
de hipóteses
ID3, C4.5, J4.8
Naïve Bayes
Knn, SVM

Processo de trabalho

Hipótese
Treinamento,
Testes e
Prototipação

59
Minerando o log de
um servidor Web

60
Processo de minera¸˜o de padr˜es na
ca
o
Web
Pré−processamento dos dados
Limpeza dos dados
Identificação de pageview
Identificação de seções
Integração de dados
Transformação dos dados

Log dos servidores
de aplicação

Banco de dados com
as transações dos usuários

Padrões de uso

Padrões

Agrupamento de pageview
Análise de correlação
Mineração de regras de associação
Mineração de padrões sequenciais

Minerando o log de um servidor Web —

Processo de minera¸˜o de padr˜es na Web
ca
o

61
Exemplo t´
ıpico de log

Minerando o log de um servidor Web —

Exemplo t´
ıpico de log

62
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

63
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

64
Matriz de transa¸oes
c˜

Minerando o log de um servidor Web —

Matriz de transa¸˜es
co

65
Matriz de transa¸oes com
c˜
meta-informa¸oes sobre as p´ginas
c˜
a
usu´rio
a

categoria1

categoria2

categoria3

···

categoriam

user1

0

2

0

···

1

user2

1

1

0

···

0

user3

2

0

1

···

0

user4

0

1

0

···

0

···

···

···

···

···

···

usern

1

1

0

···

1

• Cada p´gina pode pertencer a uma categoria (i.e., tipo de livro, tipo de estabelecimento comercial)
a
• Cada p´gina pode estar associada a uma cidade (i.e., um estabelecimento, uma vaga de emprego)
a

Minerando o log de um servidor Web —

Matriz de transa¸˜es com meta-informa¸oes sobre as p´ginas
co
c˜
a

66
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

67
Considera¸˜es Finais
co

68
Processo

Entendimento
do problema

Pré−processamento

Criação dos
modelos

Avaliação

Utilização
Eficiente
(tempo e espaço)
Acertivo

Levantamento de
requisitos

Ferramentas (i.e., RapidMiner, Weka, libsvm, Octave, Matlab)

Análise
descritiva dos dados

Considera¸˜es Finais —
co

Processo

69
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
• Mahout, Hadoop, Carrot2. Antes de instalar
ferramentas para a minera¸˜o das informa¸˜es, tente
ca
co
entender os seus dados e os seus problemas! Fa¸a uma
c
an´lise descritiva dos dados.
a
• Muitos dados... Muitas oportunidades...
Considera¸˜es Finais —
co

Considera¸˜es Finais
co

70
Obrigado!
http://fbarth.net.br
http://fbarth.net.br/materiais/palestras.html
fabricio.barth@gmail.com

Considera¸˜es Finais —
co

Obrigado!

71
Referˆncias
e

72
References
[1] Data, data everywhere. a special report on managing information. The Economist, pages 1–16, February 2010.
[2] Chih-Chung Chang and Chih-Jen Lin. LIBSVM: A library for support vector machines. ACM Transactions
on Intelligent Systems and Technology, 2:27:1–27:27,
2011. Software available at http://www.csie.ntu.edu.
tw/~cjlin/libsvm.
[3] Bing Liu. Web Data Mining: Exploring Hyperlinks, Contents, and Usage Data (Data-Centric Systems and Applications). Springer, 1st ed. 2007. corr. 2nd printing edition,
January 2009.
72-1
[4] Thomas Jefferson P. Lopes, Gabriel Koji Lemos Hiratani, Fabr´ J. Barth, Orlando Rodrigues, Jr., and Juıcio
liana Maraccini Pinto. Minera¸˜o de opini˜es aplicada `
ca
o
a
an´lise de investimentos. In Companion Proceedings of
a
the XIV Brazilian Symposium on Multimedia and the Web,
WebMedia ’08, pages 117–120, New York, NY, USA, 2008.
ACM.
[5] Jo˜o Carlos Medau, Maria Cristina Belderrain, and
a
Fabr´ J. Barth. Reordena¸˜o de resultados de busca na
ıcio
ca
web conforme crit´rio de relevˆncia definido pelo usu´rio.
e
a
a
In Anais do XI Simp´sio Brasileiro de Sistemas Multim´
o
ıdia
e Web - WebMedia, pages 220–222, 2005.
[6] Tom M. Mitchell. Machine Learning. McGraw-Hill, 1997.
72-2
[7] J. R. Quinlan. Knowledge Acquisition for Knowledge-Based
Systems, chapter Simplifying Decision Trees. Academic
Press, 1988.
[8] Stuart J. Russel and Peter Norvig. Artificial intelligence: a
modern approach. Prentice-Hall, 2 edition, 2003.
[9] Ian H. Witten and Eibe Frank. Data Mining: Practical
Machine Learning Tools and Techniques. Elsevier, second
edition, 2005.

72-3

Mais conteúdo relacionado

Semelhante a Uma introdução à mineração de informações na era do Big Data

Uma introdução à mineração de informações
Uma introdução à mineração de informaçõesUma introdução à mineração de informações
Uma introdução à mineração de informaçõesFabrício Barth
 
Hierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big Data
Hierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big DataHierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big Data
Hierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big DataFabrício Barth
 
Aula pesquisa mercado - parte 1
Aula pesquisa mercado - parte 1Aula pesquisa mercado - parte 1
Aula pesquisa mercado - parte 1Emanuele Silveira
 
Reunião temática: Gestão da Inovação e do Conhecimento
Reunião temática: Gestão da Inovação e do ConhecimentoReunião temática: Gestão da Inovação e do Conhecimento
Reunião temática: Gestão da Inovação e do ConhecimentoAllagi Open Innovation Services
 
Big data e Inteligência Artificial
Big data e Inteligência ArtificialBig data e Inteligência Artificial
Big data e Inteligência ArtificialJoão Gabriel Lima
 
O que você quer saber sobre empreendedorismo?
O que você quer saber sobre empreendedorismo?O que você quer saber sobre empreendedorismo?
O que você quer saber sobre empreendedorismo?Thomas Buck
 
Métodos de Pesquisa em Comunicação - Aula 2
Métodos de Pesquisa em Comunicação - Aula 2Métodos de Pesquisa em Comunicação - Aula 2
Métodos de Pesquisa em Comunicação - Aula 2Priscilla Guimaraes
 
Métodos de Pesquisa em Comunicação - Aula 2
Métodos de Pesquisa em Comunicação - Aula 2Métodos de Pesquisa em Comunicação - Aula 2
Métodos de Pesquisa em Comunicação - Aula 2Pri Guimaraes
 
Palestra garimpando com pentaho data mining latinoware
Palestra garimpando com pentaho data mining latinowarePalestra garimpando com pentaho data mining latinoware
Palestra garimpando com pentaho data mining latinowareMarcos Vinicius Fidelis
 
Capitulo-01-Ciencia-de-Dados-Conceitos-Básicos.pptx
Capitulo-01-Ciencia-de-Dados-Conceitos-Básicos.pptxCapitulo-01-Ciencia-de-Dados-Conceitos-Básicos.pptx
Capitulo-01-Ciencia-de-Dados-Conceitos-Básicos.pptxVitorFaust
 
Introducão à Ciência de Dados
Introducão à Ciência de DadosIntroducão à Ciência de Dados
Introducão à Ciência de DadosJoão Pedro Albino
 
Projetos de pesquisa: guia rapido para elaboracao
Projetos de pesquisa: guia rapido para elaboracaoProjetos de pesquisa: guia rapido para elaboracao
Projetos de pesquisa: guia rapido para elaboracaoCarlos Fernando Jung
 
Construindo Chatbots com Design Thinking e framework i*: um método estruturado
Construindo Chatbots com Design Thinking e framework i*: um método estruturadoConstruindo Chatbots com Design Thinking e framework i*: um método estruturado
Construindo Chatbots com Design Thinking e framework i*: um método estruturadoMeire Helen Batista Dias
 
TDC2018SP | Trilha ChatBots - Construindo Chatbots com Design Thinking e fram...
TDC2018SP | Trilha ChatBots - Construindo Chatbots com Design Thinking e fram...TDC2018SP | Trilha ChatBots - Construindo Chatbots com Design Thinking e fram...
TDC2018SP | Trilha ChatBots - Construindo Chatbots com Design Thinking e fram...tdc-globalcode
 

Semelhante a Uma introdução à mineração de informações na era do Big Data (20)

Uma introdução à mineração de informações
Uma introdução à mineração de informaçõesUma introdução à mineração de informações
Uma introdução à mineração de informações
 
Data science
Data scienceData science
Data science
 
Hierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big Data
Hierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big DataHierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big Data
Hierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big Data
 
A ciência e a pesquisa
A ciência e a pesquisaA ciência e a pesquisa
A ciência e a pesquisa
 
Aula pesquisa mercado - parte 1
Aula pesquisa mercado - parte 1Aula pesquisa mercado - parte 1
Aula pesquisa mercado - parte 1
 
Reunião temática: Gestão da Inovação e do Conhecimento
Reunião temática: Gestão da Inovação e do ConhecimentoReunião temática: Gestão da Inovação e do Conhecimento
Reunião temática: Gestão da Inovação e do Conhecimento
 
Algumas dicas para o uso da web
Algumas dicas para o uso da webAlgumas dicas para o uso da web
Algumas dicas para o uso da web
 
Big data e Inteligência Artificial
Big data e Inteligência ArtificialBig data e Inteligência Artificial
Big data e Inteligência Artificial
 
Big data e data science
Big data e data scienceBig data e data science
Big data e data science
 
Data mining
Data miningData mining
Data mining
 
O que você quer saber sobre empreendedorismo?
O que você quer saber sobre empreendedorismo?O que você quer saber sobre empreendedorismo?
O que você quer saber sobre empreendedorismo?
 
Métodos de Pesquisa em Comunicação - Aula 2
Métodos de Pesquisa em Comunicação - Aula 2Métodos de Pesquisa em Comunicação - Aula 2
Métodos de Pesquisa em Comunicação - Aula 2
 
Métodos de Pesquisa em Comunicação - Aula 2
Métodos de Pesquisa em Comunicação - Aula 2Métodos de Pesquisa em Comunicação - Aula 2
Métodos de Pesquisa em Comunicação - Aula 2
 
Palestra garimpando com pentaho data mining latinoware
Palestra garimpando com pentaho data mining latinowarePalestra garimpando com pentaho data mining latinoware
Palestra garimpando com pentaho data mining latinoware
 
Capitulo-01-Ciencia-de-Dados-Conceitos-Básicos.pptx
Capitulo-01-Ciencia-de-Dados-Conceitos-Básicos.pptxCapitulo-01-Ciencia-de-Dados-Conceitos-Básicos.pptx
Capitulo-01-Ciencia-de-Dados-Conceitos-Básicos.pptx
 
Introducão à Ciência de Dados
Introducão à Ciência de DadosIntroducão à Ciência de Dados
Introducão à Ciência de Dados
 
Projetos de pesquisa: guia rapido para elaboracao
Projetos de pesquisa: guia rapido para elaboracaoProjetos de pesquisa: guia rapido para elaboracao
Projetos de pesquisa: guia rapido para elaboracao
 
Aula 04 Introdução à navegação na internet - Operador de computador
Aula 04 Introdução à navegação na internet - Operador de computadorAula 04 Introdução à navegação na internet - Operador de computador
Aula 04 Introdução à navegação na internet - Operador de computador
 
Construindo Chatbots com Design Thinking e framework i*: um método estruturado
Construindo Chatbots com Design Thinking e framework i*: um método estruturadoConstruindo Chatbots com Design Thinking e framework i*: um método estruturado
Construindo Chatbots com Design Thinking e framework i*: um método estruturado
 
TDC2018SP | Trilha ChatBots - Construindo Chatbots com Design Thinking e fram...
TDC2018SP | Trilha ChatBots - Construindo Chatbots com Design Thinking e fram...TDC2018SP | Trilha ChatBots - Construindo Chatbots com Design Thinking e fram...
TDC2018SP | Trilha ChatBots - Construindo Chatbots com Design Thinking e fram...
 

Mais de Fabrício Barth

Redução de dimensionalidade - Pós Graduação em Big Data
Redução de dimensionalidade - Pós Graduação em Big DataRedução de dimensionalidade - Pós Graduação em Big Data
Redução de dimensionalidade - Pós Graduação em Big DataFabrício Barth
 
Pré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big DataPré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big DataFabrício Barth
 
Algoritmos de Agrupamento - Aprendizado não supervisionado
Algoritmos de Agrupamento - Aprendizado não supervisionadoAlgoritmos de Agrupamento - Aprendizado não supervisionado
Algoritmos de Agrupamento - Aprendizado não supervisionadoFabrício Barth
 
Human Activity Recognition
Human Activity RecognitionHuman Activity Recognition
Human Activity RecognitionFabrício Barth
 
Oficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando ROficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando RFabrício Barth
 
Iniciativas em Big Data no VAGAS.com
Iniciativas em Big Data no VAGAS.comIniciativas em Big Data no VAGAS.com
Iniciativas em Big Data no VAGAS.comFabrício Barth
 
Web Data Mining com R: identificação de spam utilizando Random Forest
Web Data Mining com R: identificação de spam utilizando Random ForestWeb Data Mining com R: identificação de spam utilizando Random Forest
Web Data Mining com R: identificação de spam utilizando Random ForestFabrício Barth
 
Web Data Mining com R: design de projetos para criação de modelos preditivos
Web Data Mining com R: design de projetos para criação de modelos preditivosWeb Data Mining com R: design de projetos para criação de modelos preditivos
Web Data Mining com R: design de projetos para criação de modelos preditivosFabrício Barth
 
Web Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitterWeb Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitterFabrício Barth
 
Web Data Mining com R: criação de regras de associação a partir da navegação ...
Web Data Mining com R: criação de regras de associação a partir da navegação ...Web Data Mining com R: criação de regras de associação a partir da navegação ...
Web Data Mining com R: criação de regras de associação a partir da navegação ...Fabrício Barth
 
Web Data Mining com r: aprendizagem de máquina
Web Data Mining com r: aprendizagem de máquinaWeb Data Mining com r: aprendizagem de máquina
Web Data Mining com r: aprendizagem de máquinaFabrício Barth
 
Atena: um sistema para suporte ao planejamento na área de Gestão de Projeto
Atena: um sistema para suporte ao planejamento na área de Gestão de ProjetoAtena: um sistema para suporte ao planejamento na área de Gestão de Projeto
Atena: um sistema para suporte ao planejamento na área de Gestão de ProjetoFabrício Barth
 

Mais de Fabrício Barth (14)

Redução de dimensionalidade - Pós Graduação em Big Data
Redução de dimensionalidade - Pós Graduação em Big DataRedução de dimensionalidade - Pós Graduação em Big Data
Redução de dimensionalidade - Pós Graduação em Big Data
 
Pré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big DataPré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big Data
 
Algoritmos de Agrupamento - Aprendizado não supervisionado
Algoritmos de Agrupamento - Aprendizado não supervisionadoAlgoritmos de Agrupamento - Aprendizado não supervisionado
Algoritmos de Agrupamento - Aprendizado não supervisionado
 
Human Activity Recognition
Human Activity RecognitionHuman Activity Recognition
Human Activity Recognition
 
Oficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando ROficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando R
 
Iniciativas em Big Data no VAGAS.com
Iniciativas em Big Data no VAGAS.comIniciativas em Big Data no VAGAS.com
Iniciativas em Big Data no VAGAS.com
 
Web Data Mining com R
Web Data Mining com RWeb Data Mining com R
Web Data Mining com R
 
Web Data Mining com R: identificação de spam utilizando Random Forest
Web Data Mining com R: identificação de spam utilizando Random ForestWeb Data Mining com R: identificação de spam utilizando Random Forest
Web Data Mining com R: identificação de spam utilizando Random Forest
 
Web Data Mining com R: design de projetos para criação de modelos preditivos
Web Data Mining com R: design de projetos para criação de modelos preditivosWeb Data Mining com R: design de projetos para criação de modelos preditivos
Web Data Mining com R: design de projetos para criação de modelos preditivos
 
Web Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitterWeb Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitter
 
Web Data Mining com R: criação de regras de associação a partir da navegação ...
Web Data Mining com R: criação de regras de associação a partir da navegação ...Web Data Mining com R: criação de regras de associação a partir da navegação ...
Web Data Mining com R: criação de regras de associação a partir da navegação ...
 
Web Data Mining com r: aprendizagem de máquina
Web Data Mining com r: aprendizagem de máquinaWeb Data Mining com r: aprendizagem de máquina
Web Data Mining com r: aprendizagem de máquina
 
Projeto Simple Maps
Projeto Simple MapsProjeto Simple Maps
Projeto Simple Maps
 
Atena: um sistema para suporte ao planejamento na área de Gestão de Projeto
Atena: um sistema para suporte ao planejamento na área de Gestão de ProjetoAtena: um sistema para suporte ao planejamento na área de Gestão de Projeto
Atena: um sistema para suporte ao planejamento na área de Gestão de Projeto
 

Uma introdução à mineração de informações na era do Big Data

  • 1. Uma Introdu¸˜o ` Minera¸˜o de ca a ca Informa¸˜es na era do Big Data co Fabr´ J. Barth ıcio VAGAS Tecnologia e Faculdades BandTec Setembro de 2012
  • 2. Palestrante • Fabr´ ıcio J. Barth. Formado em Ciˆncia da e Computa¸˜o pela FURB. Mestrado e Doutorado em ca Engenharia da Computa¸˜o pela USP. ca • Recupera¸˜o e minera¸˜o de informa¸˜es para ca ca co dom´ ınios de investiga¸˜o; Identifica¸˜o de temas ca ca emergentes e especialistas em bases de patentes e artigos; Desenvolvimento e gest˜o de uma plataforma a de busca georeferenciada (www.apontador.com.br). • Data Scientist na VAGAS Tecnologia (www.vagas.com.br). Professor da Faculdade BandTec (www.bandtec.com.br). Uma Introdu¸˜o ` Minera¸˜o de Informa¸˜es na era do Big Data — ca a ca co Palestrante 2
  • 3. 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 na era do Big Data — ca a ca co Objetivo 3
  • 4. Sum´rio a • Importˆncia do Tema a • Manipulando dados estruturados • Manipulando dados n˜o-estruturados (textos) a Agrupamento Classifica¸˜o ca • Web Data Mining • Considera¸˜es Finais co • Referˆncias e Uma Introdu¸˜o ` Minera¸˜o de Informa¸˜es na era do Big Data — ca a ca co Sum´rio a 4
  • 7. 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... 7
  • 8. 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... 8
  • 9. 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...”[1] Importˆncia do Tema — a Big Data 9
  • 10. Mais n´meros u • A380: Heathrow → JFK: 640 TBs de log • Twitter: 12+ TBs of tweet every day • Facebook: 25+ TBs of log data every day • Sistemas baseados em RFID • Smartphones com GPS, aceler´metro, ... o http://www.ibmbigdatahub.com/ Mitchell. Mining our reality. Science. 2009 Importˆncia do Tema — a Mais n´meros u 10
  • 11. Por que minerar informa¸oes? c˜ • Explicitar conhecimento m´dico a partir de registros e m´dicos. e • Identificar comportamento anˆmalo (i.e., fraudes, o falhas) • 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 11
  • 12. • 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 • Recomenda¸˜o de livros, filmes, restaurantes e ca empregos. Importˆncia do Tema — a Por que minerar informa¸˜es? co 12
  • 13. Explicitar conhecimento m´dico e a partir de registros m´dicos e 13
  • 14. 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 14
  • 15. Banco de dados do ambiente de produ¸˜o ca Explicitar conhecimento m´dico a partir de registros m´dicos — e e Banco de dados do ambiente de produ¸˜o ca 15
  • 17. Responder as seguintes perguntas: • Que objetos/atributos s˜o relevantes para a cria¸˜o da a ca hip´tese? 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 Por onde come¸ar? — c Responder as seguintes perguntas: 17
  • 18. • 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 Por onde come¸ar? — c Responder as seguintes perguntas: 18
  • 19. 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) Por onde come¸ar? — c Atributos 19
  • 23. 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? Por onde come¸ar? — c Extra¸˜o de “conhecimento” ca 23
  • 24. Extra¸˜o de “conhecimento” ca • Extrair a informa¸˜o realmente relevante. ca • Utilizar uma linguagem de representa¸˜o ca compreens´ ao ser humano. ıvel (mostrar exemplo no RapidMiner - www.rapid-i.com) Por onde come¸ar? — c Extra¸˜o de “conhecimento” ca 24
  • 25. ´ Arvore de decis˜o a Por onde come¸ar? — c ´ Arvore de decis˜o a 25
  • 26. ´ 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[7]: 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. Por onde come¸ar? — c ´ Algoritmos Indutores de Arvores de Decis˜o a 26
  • 27. Resultado: Sistema Especialista (none, soft, hard) Por onde come¸ar? — c Resultado: Sistema Especialista 27
  • 29. O que fazer com grandes quantidades de documentos? • Not´ ıcias, patentes, artigos, mensagens de twitter, quest˜es abertas de um question´rio de pesquisa, ... o a • 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? 29
  • 30. Exemplo de classifica¸˜o/agrupamento ca Organizar documentos — Exemplo de classifica¸˜o/agrupamento ca 30
  • 31. Etapas • Pr´-processamento dos dados. e • Modelagem (supervisionada ou n˜o supervisionada). a • Avalia¸˜o do modelo. ca • Utiliza¸˜o ca Organizar documentos — Etapas 31
  • 33. 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. ... Pr´-processamento dos dados — e Formato de um documento 33
  • 34. Conjunto de Exemplos - Atributo/Valor Doc. apresent form tecnic caracteriz ··· d1 0.33 0.33 0.33 0.33 ··· d2 0 0.5 0.2 0.33 ··· d3 1 0.6 0 0 ··· d4 0.4 0.3 0.33 0.4 ··· d5 1 0.4 0.1 0.1 ··· dn ··· ··· ··· ··· ··· Pr´-processamento dos dados — e Conjunto de Exemplos - Atributo/Valor 34
  • 35. 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 Pr´-processamento dos dados — e Atributo/Valor usando vetores 35
  • 36. 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 ··· Pr´-processamento dos dados — e Diminuindo a dimensionalidade do vetor 36
  • 37. 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. Pr´-processamento dos dados — e Diminuindo ainda mais a dimensionalidade do vetor 37
  • 38. 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. Pr´-processamento dos dados — e Atributo/Valor usando vetores 38
  • 39. 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) Pr´-processamento dos dados — e Por freq¨ˆncia do termo ue 39
  • 40. An´lise do conte´do a u publicado no Twitter atrav´s de algoritmos e de agrupamento 40
  • 41. Componentes para uma solu¸˜o... ca Fonte Coletor Pré-processamento dos documentos Agrupa documentos Agrupamentos de documentos An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento — a u e Componentes para uma solu¸˜o... ca 41
  • 42. Coletando dados do twitter § ¤ $ c u r l −o a b o u t B r a s i l . t x t h t t p s : / / s t r e a m . t w i t t e r . com/1/ s t a t u s e s / f i l t e r . j s o n ? t r a c k= b r a s i l −u u s e r : passwd % Total 100 4549 k % Received % Xferd 0 4549 k 0 A v e r a g e Speed Time Time Time C u r r e n t Dload U p l o a d Total Spent Left Speed 0 5986 0 − − − −: −: − 0 : 1 2 : 5 8 − − − −: −: − 6226 $ wc −l a b o u t B r a s i l . t x t 1501 a b o u t B r a s i l . t x t $ date Ter 28 Ago 2012 2 3 : 5 1 : 1 0 BRT ¦ An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento — a u e ¥ Coletando dados do twitter 42
  • 43. § ¤ # # f o r m a de u s o : r u b y t w i t t e r . r b men sa gens . c s v # require require ’ r ub yg em s ’ ’ json ’ c o n t e n t = F i l e . open ( ’ a b o u t B r a s i l . t x t ’ ) c o n t e n t . e a c h do | l i n e | p u t s JSON . p a r s e ( l i n e ) [ ’ t e x t ’ ] end ¦ An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento — a u e ¥ Coletando dados do twitter 43
  • 44. Componentes para uma solu¸˜o... ca Fonte Coletor Pré-processamento dos documentos Agrupa documentos Agrupamentos de documentos Wiki2Group - http://trac.fbarth.net.br/wikiAnalysis An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento — a u e Componentes para uma solu¸˜o... ca 44
  • 45. 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. An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento a u e Agrupamento — Defini¸˜es de Algoritmos de co 45
  • 46. 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 An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento — a u e K-means Algoritmos para Agrupamento - 46
  • 47. 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 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 8 1 2 3 4 5 6 7 8 (4) Definição do centro do agrupamento An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento — a u e K-means 3 Algoritmo para Agrupamento - 47
  • 48. Algoritmo para agrupamento dos twittes Resultados Execu¸˜o do processo no RapidMiner ca An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento — a u e twittes - Resultados Algoritmo para agrupamento dos 48
  • 49. An´lise dos agrupamentos (clusters) a RT @TWlTTEI : ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ tchu tcha ’ ’ lelele ’ ’ paragada ’ ’ tharara ’ ’ RT @TWlTTEI : ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ tchu tcha ’ ’ lelele ’ ’ paragada ’ ’ tharara ’ ’ RT @PiadaDePobre : RT @ s o u c r a c k : ’ t c h e r e r e tche tche ’ ’ t c h e r e r e tche tche ’ RT @PiadaDePobre : RT @PiadaDePobre : ’ bara bere ’ ’ t c h e r e r e tche tche ’ ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ bara bere ’ ’ thara ’ p a r a p a p a ’ ach ’ paragada ’ ’ tharara ’ ’ thara ’ tharara ’ ’ paragada ’ ’ tharara ’ ’ lelele ’ ’ paragada ’ ’ paragada ’ ’ paragada ’ ’ lelele ’ ’ paragada ’ ’ tchu tcha ’ ’ lelele ’ ’ lelele ’ ’ lelele ’ ’ tchu tcha ’ ’ lelele ’ ’ bara bere ’ ’ tchu tcha ’ ’ tchu tcha ’ ’ tchu tcha ’ ’ bara bere ’ ’ tchu tcha ’ ’ t c h e r e r e tche tche ’ ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ thara ’ p a r a p a p a ’ ach RT @PiadaDePobre : ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ tchu tcha ’ ’ lelele ’ ’ paragada ’ ’ thara RT @PiadaDePobre : ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ tchu tcha ’ ’ lelele ’ ’ paragada ’ ’ thara RT @TWlTTEI : ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ tchu tcha ’ ’ lelele ’ ’ paragada ’ ’ tharara ’ ’ RT @TWlTTEI : ’ t c h e r e r e tche tche ’ ’ bara bere ’ ’ tchu tcha ’ ’ lelele ’ ’ paragada ’ ’ tharara ’ ’ An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento a u e (clusters) — An´lise dos agrupamentos a 49
  • 50. An´lise do conte´do publicado no Twitter atrav´s de algoritmos de agrupamento a u e (clusters) — An´lise dos agrupamentos a 50
  • 52. An´lise de Sentimento em mensagens no a Twitter Teor das mensagens sobre a empresa Vale nos ultimos sete dias. http://www.opsys.com.br/ - [4] ´ Classifica¸˜o de documentos — ca An´lise de Sentimento em mensagens no Twitter a 52
  • 53. 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 • Rotular manualmente • Utilizar emoticons :) :( Classifica¸˜o de documentos — ca Conjunto de Exemplos Rotulados 53
  • 54. 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 54
  • 55. Classificando objetos • Na¨ Bayes [6] ıve • Support Vector Machines (SVM) [2] Classifica¸˜o de documentos — ca Classificando objetos 55
  • 56. Utiliza¸˜o ca Utilizando o modelo criado ´ poss´ inferir se novos e ıvel twittes possuem sentimento positivo ou negativo. § 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 Utiliza¸˜o ca ¤ ¥ 56
  • 57. Outro Exemplo: Classifica¸˜o e Filtragem ca de Not´ ıcias Classifica¸˜o de documentos — ca Outro Exemplo: Classifica¸˜o e Filtragem de Not´ ca ıcias 57
  • 58. Qual ´ o problema? e http://fbarth.net.br/projetos/riInteligente.html - Sistema FaroFino [5] Classifica¸˜o de documentos — ca Qual ´ o problema? e 58
  • 59. Processo de trabalho Web Coletor de RSS Pré-processamento dos documentos Classifica e filtra documentos implementação Notícia Notícia Notícia Notícia Notícia Notícia Notícia 1 2 3 4 5 6 7 = = = = = = = gostei não gostei gostei gostei gostei não gostei gostei Classifica¸˜o de documentos — ca Algoritmo gerador de hipóteses ID3, C4.5, J4.8 Naïve Bayes Knn, SVM Processo de trabalho Hipótese Treinamento, Testes e Prototipação 59
  • 60. Minerando o log de um servidor Web 60
  • 61. Processo de minera¸˜o de padr˜es na ca o Web Pré−processamento dos dados Limpeza dos dados Identificação de pageview Identificação de seções Integração de dados Transformação dos dados Log dos servidores de aplicação Banco de dados com as transações dos usuários Padrões de uso Padrões Agrupamento de pageview Análise de correlação Mineração de regras de associação Mineração de padrões sequenciais Minerando o log de um servidor Web — Processo de minera¸˜o de padr˜es na Web ca o 61
  • 62. Exemplo t´ ıpico de log Minerando o log de um servidor Web — Exemplo t´ ıpico de log 62
  • 63. 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 63
  • 64. 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 64
  • 65. Matriz de transa¸oes c˜ Minerando o log de um servidor Web — Matriz de transa¸˜es co 65
  • 66. Matriz de transa¸oes com c˜ meta-informa¸oes sobre as p´ginas c˜ a usu´rio a categoria1 categoria2 categoria3 ··· categoriam user1 0 2 0 ··· 1 user2 1 1 0 ··· 0 user3 2 0 1 ··· 0 user4 0 1 0 ··· 0 ··· ··· ··· ··· ··· ··· usern 1 1 0 ··· 1 • Cada p´gina pode pertencer a uma categoria (i.e., tipo de livro, tipo de estabelecimento comercial) a • Cada p´gina pode estar associada a uma cidade (i.e., um estabelecimento, uma vaga de emprego) a Minerando o log de um servidor Web — Matriz de transa¸˜es com meta-informa¸oes sobre as p´ginas co c˜ a 66
  • 67. 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 67
  • 69. Processo Entendimento do problema Pré−processamento Criação dos modelos Avaliação Utilização Eficiente (tempo e espaço) Acertivo Levantamento de requisitos Ferramentas (i.e., RapidMiner, Weka, libsvm, Octave, Matlab) Análise descritiva dos dados Considera¸˜es Finais — co Processo 69
  • 70. 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 • Mahout, Hadoop, Carrot2. Antes de instalar ferramentas para a minera¸˜o das informa¸˜es, tente ca co entender os seus dados e os seus problemas! Fa¸a uma c an´lise descritiva dos dados. a • Muitos dados... Muitas oportunidades... Considera¸˜es Finais — co Considera¸˜es Finais co 70
  • 73. References [1] Data, data everywhere. a special report on managing information. The Economist, pages 1–16, February 2010. [2] Chih-Chung Chang and Chih-Jen Lin. LIBSVM: A library for support vector machines. ACM Transactions on Intelligent Systems and Technology, 2:27:1–27:27, 2011. Software available at http://www.csie.ntu.edu. tw/~cjlin/libsvm. [3] Bing Liu. Web Data Mining: Exploring Hyperlinks, Contents, and Usage Data (Data-Centric Systems and Applications). Springer, 1st ed. 2007. corr. 2nd printing edition, January 2009. 72-1
  • 74. [4] Thomas Jefferson P. Lopes, Gabriel Koji Lemos Hiratani, Fabr´ J. Barth, Orlando Rodrigues, Jr., and Juıcio liana Maraccini Pinto. Minera¸˜o de opini˜es aplicada ` ca o a an´lise de investimentos. In Companion Proceedings of a the XIV Brazilian Symposium on Multimedia and the Web, WebMedia ’08, pages 117–120, New York, NY, USA, 2008. ACM. [5] Jo˜o Carlos Medau, Maria Cristina Belderrain, and a Fabr´ J. Barth. Reordena¸˜o de resultados de busca na ıcio ca web conforme crit´rio de relevˆncia definido pelo usu´rio. e a a In Anais do XI Simp´sio Brasileiro de Sistemas Multim´ o ıdia e Web - WebMedia, pages 220–222, 2005. [6] Tom M. Mitchell. Machine Learning. McGraw-Hill, 1997. 72-2
  • 75. [7] J. R. Quinlan. Knowledge Acquisition for Knowledge-Based Systems, chapter Simplifying Decision Trees. Academic Press, 1988. [8] Stuart J. Russel and Peter Norvig. Artificial intelligence: a modern approach. Prentice-Hall, 2 edition, 2003. [9] Ian H. Witten and Eibe Frank. Data Mining: Practical Machine Learning Tools and Techniques. Elsevier, second edition, 2005. 72-3