Ferramentas Java para Recuperaç˜ao e Mineraç

Propaganda
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Ferramentas Java para Recuperação e Mineração
de Informações
Fabrı́cio J. Barth1,2
1 Fundação
2 Centro
Atech Tecnologias Crı́ticas ([email protected])
Universitário SENAC ([email protected])
9 de setembro de 2008
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
1
Contexto, Problemas e Objetivos
Problema 1: recuperar a informação
Problema 2: tratar a informação recuperada
2
Estudo de caso
3
Conceitos, técnicas e ferramentas
Agrupamento de documentos
Classificação de documentos
Recuperação de Informação
4
Considerações e Referências
Considerações
Referências
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Contexto: Enorme quantidade de dados que precisa ser
processada
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Problema 1: recuperar a informação
Problema 1: recuperar a informação
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Problema 2: tratar a informação recuperada
Problema 2: tratar a informação recuperada
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Quantidade de notı́cias produzidas na Web?
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
55
60
65
70
75
80
85
Tempo (Dias)
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Quantidade de notı́cias produzidas na Web?
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
Fabrı́cio J. Barth - Just Java 2008
40
50
60
70
80
90
Dia
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Problema e Sugestões
Problema:
Para tirar proveito desta informação é necessário organizá-la de
alguma forma...
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Problema e Sugestões
Problema:
Para tirar proveito desta informação é necessário organizá-la de
alguma forma...
Sugestões:
Agrupamento de Notı́cias.
Classificação, Recomendação e Filtragem de Notı́cias.
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Por que agrupar notı́cias?
Como agrupá-las?
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Definições de Algoritmos de Agrupamento
O objetivo dos algoritmos de agrupamento é colocar os
objetos similares em um mesmo grupo e objetos não similares
em grupos diferentes.
Normalmente, objetos são descritos e agrupados usando um
conjunto de atributos e valores.
Não existe nenhuma informação sobre a classe ou categoria
dos objetos.
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Formato de um documento
... Esta disciplina tem como objetivo apresentar os principais conceitos da
área de Inteligência Artificial, caracterizar as principais técnicas e
métodos, e implementar alguns problemas clássicos desta área sob um
ponto de vista introdutório.
A estratégia de trabalho, o conteúdo ministrado e a forma dependerão
dos projetos selecionados pelos alunos. Inicialmente, os alunos deverão
trazer os seus Projetos de Conclusão de Curso, identificar intersecções
entre o projeto e a disciplina, e propor atividades para a disciplina. ...
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Atributo/Valor usando vetores
Como representar os documentos?
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Atributo/Valor usando vetores
Como representar os documentos?
−
→
di = (pi1 , pi2 , · · · , pin)
(1)
Os atributos são as palavras que aparecem nos documentos.
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Atributo/Valor usando vetores
Como representar os documentos?
−
→
di = (pi1 , pi2 , · · · , pin)
(1)
Os atributos são as palavras que aparecem nos documentos.
Se todas as palavras que aparecem nos documentos forem
utilizadas, o vetor não ficará muito grande?
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Diminuindo a dimensionalidade do vetor
Como filtrar as palavras que devem ser usadas como
atributos?
Em todos os idiomas existem átomos (palavras) que não
significam muito. Stop-words
Esta disciplina tem como objetivo apresentar os principais conceitos da
área de Inteligência Artificial, caracterizar as principais técnicas e
métodos, e implementar alguns problemas clássicos desta área sob um
ponto de vista introdutório.
···
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Diminuindo ainda mais a dimensionalidade do vetor
Algumas palavras podem aparecer no texto de diversas
maneiras: técnica, técnicas, implementar, implementação...
Stemming - encontrar o radical da palavra e usar apenas o
radical.
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Atributo/Valor usando vetores
Já conhecemos os atributos.
E os valores?
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Atributo/Valor usando vetores
Já conhecemos os atributos.
E os valores?
Booleana - se a palavra aparece ou não no documento (1 ou 0)
Por freqüência do termo - a freqüência com que a palavra
aparece no documento (normalizada ou não)
Ponderação tf-idf - o peso é proporcional ao número de
ocorrências do termo no documento e inversamente
proporcional ao número de documentos onde o termo aparece.
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Por freqüência do termo
(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)
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Conjunto de Exemplos - Atributo/Valor
Doc.
apresent
form
tecnic
caracteriz
···
d1
d2
d3
d4
d5
dn
0.33
0
1
0.4
1
···
0.33
0.5
0.6
0.3
0.4
···
0.33
0.2
0
0.33
0.1
···
0.33
0.33
0
0.4
0.1
···
···
···
···
···
···
···
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Componentes da Solução
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Coletor de RSS e Pré-Processamento
function coletorRSS(Lista de RSS): tabela
i ← 0;
for cada rssi em RSS do
for cada noticiaj em rssi do
di ← di + rssi .noticiaj .TITLE;
di ← di + rssi .noticiaj .DESCRIPTION;
di ← eliminaStopWords(di );
di ← stemming(di );
i ← i + 1;
end for
end for
return criaTabelaExemplos(d,TF-IDF);
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Pré-processamento dos documentos - RapidMiner
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Caracterı́sticas e Funcionalidades do RapidMiner
O usuário define um processo de tratamento dos dados.
Os operadores podem ser divididos nas seguintes categorias:
IO
Learner (Supervised / Unsupervised)
OLAP (On-line Analytical Processing)
Postprocessing
Preprocessing
Validation
Visualization
Cada operador pode ser devidamente configurado.
Existem ambientes para: definição do processo e execução do
processo.
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Pré-processamento dos documentos - RapidMiner
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Pré-processamento dos documentos - Código
i m p o r t edu . udo . c s . w v t o o l . g e n e r i c . stemmer . P o r t e r S t e m m e r W r a p p e r ;
i m p o r t edu . udo . c s . w v t o o l . g e n e r i c . t o k e n i z e r . S i m p l e T o k e n i z e r ;
i m p o r t edu . udo . c s . w v t o o l . g e n e r i c . w o r d f i l t e r . StopWordsWrapper ;
...
p u b l i c S t r i n g manipulaTextoComStemming ( S t r i n g nomeArquivo ){
try{
WVTDocumentInfo d o c u m e n t I n f o = new WVTDocumentInfo
( n u l l , ” html ” , n u l l , ” e n g l i s h ” ) ;
S i m p l e T o k e n i z e r t o k e n i z e r = new S i m p l e T o k e n i z e r ( ) ;
TokenEnumeration t o k e n s = t o k e n i z e r . t o k e n i z e (
new I n p u t S t r e a m R e a d e r (
new F i l e I n p u t S t r e a m ( nomeArquivo ) ) , d o c u m e n t I n f o ) ;
P o r t e r S t e m m e r W r a p p e r stemmer = new P o r t e r S t e m m e r W r a p p e r ( ) ;
StopWordsWrapper s t o p W o r d s = new StopWordsWrapper ( ) ;
T o k e n E n u m e r a t i o n tokenSemStopWord = s t o p W o r d s . f i l t e r (
tokens , documentInfo ) ;
S t r i n g r e t o r n o = ”” ;
w h i l e ( tokenSemStopWord . hasMoreTokens ( ) )
retorno = retorno +
stemmer . g e t B a s e ( tokenSemStopWord . n e x t T o k e n ())+ ” ” ;
return retorno ;
...
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Conjunto de treinamento - Arquivo Arff
@RELATION R a p i d M i n e r D a t a
@ATTRIBUTE
@ATTRIBUTE
@ATTRIBUTE
@ATTRIBUTE
...
...
’ network ’ r e a l
’ februari ’ real
’ member ’ r e a l
’ wait ’ r e a l
@DATA
0.1313298612447743 ,0.004041576682790196 ,0.01774727854659112 ,0.003549455709318225
0.1313298612447743 ,0.004041576682790196 ,0.01774727854659112 ,0.003549455709318 ,0
0.0 ,0.0 ,0.0 ,0.0
0.0 ,0.0 ,0.0 ,0.0
0.0 ,0.014857582309589007 ,0.0 ,0.0024848992203904758
...
...
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Que algoritmo de agrupamento utilizar?
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Algoritmos para Agrupamento - K-means
K significa o número de agrupamentos (que deve ser
informado à priori).
Sequência de ações iterativas.
A parada é baseada em algum critério de qualidade dos
agrupamentos (por exemplo, similaridade média).
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
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
Fabrı́cio J. Barth - Just Java 2008
1
2
3
4
5
6
7
8
(4) Definição do centro do agrupamento
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Algoritmo para agrupamento dos documentos - Weka
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Caracterı́sticas e Funcionalidades do Weka
Mais simples que o RapidMiner.
Com menos funcionalidades.
Os operadores podem ser divididos nas seguintes categorias:
Entrada e pré-processamento.
Classificação.
Agrupamento.
Associação.
Visualização.
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Algoritmo para agrupamento dos documentos - Weka
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Algoritmo para agrupamento dos documentos - Código
p u b l i c AgrupamentoComKMeans ( S t r i n g a r q u i v o ){
try{
I n s t a n c e s i n s t a n c e s = new I n s t a n c e s ( new F i l e R e a d e r ( a r q u i v o ) ) ;
/∗
∗ Para v i s u a l i z a r o s d a d o s do a r q u i v o a r f f
∗/
System . o u t . p r i n t l n ( ” D a t a s e t : ” ) ;
System . o u t . p r i n t l n ( i n s t a n c e s ) ;
/∗
∗ U t i l i z a ç ã o do KMeans
∗/
SimpleKMeans kmeans = new SimpleKMeans ( ) ;
kmeans . b u i l d C l u s t e r e r ( i n s t a n c e s ) ;
/∗
∗ I m p r i m i n d o i n f o r m a ç ã o s o b r e i n s t â n c i a − a g r u p a m e n t o
∗/
f o r ( i n t i =0; i<i n s t a n c e s . n u m I n s t a n c e s ( ) ; i ++){
System . o u t . p r i n t l n ( ”A i n s t â n c i a ”+
i n s t a n c e s . i n s t a n c e ( i ) . t o S t r i n g ()+
” e s t a h no c l u s t e r ”+
kmeans . c l u s t e r I n s t a n c e ( i n s t a n c e s . i n s t a n c e ( i ) ) ) ;
}
} c a t c h ( E x c e p t i o n e ){
System . o u t . p r i n t l n ( e ) ;
}
}
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Agrupamento de documentos
Algoritmo para agrupamento dos documentos - Resultados
A
A
A
A
A
A
A
A
A
A
A
A
A
A
i n s t â n c i a
i n s t â n c i a
i n s t â n c i a
i n s t â n c i a
i n s t â n c i a
i n s t â n c i a
i n s t â n c i a
i n s t â n c i a
i n s t â n c i a
i n s t â n c i a
i n s t â n c i a
i n s t â n c i a
i n s t â n c i a
i n s t â n c i 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
,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
e s t á
e s t á
e s t á
e s t á
e s t á
e s t á
e s t á
e s t á
e s t á
e s t á
e s t á
e s t á
e s t á
e s t á
no
no
no
no
no
no
no
no
no
no
no
no
no
no
Fabrı́cio J. Barth - Just Java 2008
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
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Classificação de documentos
Classificação e Filtragem de Notı́cias
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Classificação de documentos
Classificação e Filtragem de Notı́cias
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Classificação de documentos
Conjunto de Exemplos - Atributo/Valor e Classe
Doc.
apresent
form
tecnic
caracteriz
···
Relevante
d1
d2
d3
d4
d5
dn
0.33
0
1
0.4
1
···
0.33
0.5
0.6
0.3
0.4
···
0.33
0.2
0
0.33
0.1
···
0.33
0.33
0
0.4
0.1
···
···
···
···
···
···
···
1
0
1
1
1
···
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Classificação de documentos
Qual é o problema?
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Classificação de documentos
Uma solução...
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Classificação de documentos
Processo de trabalho
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Recuperação de Informação
Recuperação de Informação
Como construir sistemas de “busca” sob medida?
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Recuperação de Informação
Recuperação de Informação
Como construir sistemas de “busca” sob medida?
Lucene: biblioteca para Recuperação de Informação escrita
em Java e código aberto. Possui: indexador e search engine.
Outras funcionalidades (web crawler e parsing de páginas
HTML) são implementados por outras ferramentas baseadas
no Lucene, i.e, Nutch.
Mantido pela Apache Software Foundation.
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Recuperação de Informação
Recuperação de Informação
Utilizando o Lucene, o desenvolvedor pode alterar a search
engine para ter um mecanismo de busca apropriado para o
domı́nio da sua aplicação.
Exemplos de alterações possı́veis:
Expansão da consulta usando uma taxonomia da empresa.
Alteração da função de ordenação (PageRank, BM25,
Booleano).
Reordenação dos resultados utilizando informações do perfil do
usuário.
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Considerações
Considerações
Todas as fases de um sistema ou componente para
tratamento de informações podem ser implementadas com as
ferramentas vistas nesta apresentação:
Indexação.
Recuperação.
Mineração (determinação de padrões).
Com o RapidMiner e Weka é possı́vel:
Reutilizar diversos algoritmos necessários.
Prototipar (criar e validar) uma solução rapidamente.
Integrar a solução criada em outras aplicações.
Com o Lucene é possı́vel:
Desenvolver um mecanismo de “busca” sob medida.
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Referências
Referências (1/2)
Ian H. Witten, Eibe Frank. Data Mining: Practical Machine
Learning Tools and Techniques (Second Edition), 2005.
Weka 3: Data Mining Software in Java
(http://www.cs.waikato.ac.nz/m̃l/weka/index.html).
RapidMiner Community Edition (http://rapid-i.com/).
Christopher D. Manning, Prabhakar Raghavan and Hinrich
Schütze, Introduction to Information Retrieval, Cambridge
University Press. 2008. (http://wwwcsli.stanford.edu/h̃inrich/information-retrieval-book.html).
Apache Lucene (http://lucene.apache.org/java/docs/).
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Sumário Contexto, Problemas e Objetivos Estudo de caso Conceitos, técnicas e ferramentas Considerações e Referências
Referências
Referências (2/2)
Extra: Processamento de Linguagem Natural
GATE, A General Architecture for Text Engineering
(http://gate.ac.uk/).
UIMA - Unstructured Information Management Architecture
(www.research.ibm.com/UIMA/).
Fabrı́cio J. Barth - Just Java 2008
Ferramentas para Recuperação e Mineração de Informações
Download