Escolar Documentos
Profissional Documentos
Cultura Documentos
=
) (
log ) (
i
i
w DF
n
w IDF
produtos venda. Quando uma sentena
reconhecida como um preo um termo
genrico associado pela classe, denominado
pricestring;
- StopList: tal classe mantm um conjunto de
sentenas predefinidas (artigos e preposies,
p.e.) que devem ser ignoradas como palavras
vlidas.
Dictionary nesta etapa procura-se definir um
dicionrio de palavras especficas do domnio em
questo. Classe responsvel:
- Dictionary: obtm todas as palavras vlidas de
cada arquivo texto, atravs da instncia de uma
classe TextTokenizer. Cada palavra que
atender a regra (encontrada em trs
documentos, pelo menos) armazenada
ordenadamente em um arquivo texto, chamado
words. O conjunto completo de palavras
mantido pela classe em uma estrutura
HashTable, quando da instncia da classe
Dictionary, a fim de otimizar a consulta por
palavras.
Weighting objetiva-se aqui o clculo da medida
TFIDF para cada feature presente no arquivo texto.
Classes implementadas:
- FeaturesFrequences: esta a nica classe a
realizar a leitura do arquivo texto nesta etapa.
Ela realiza a contagem do nmero de vezes
(TF) que cada feature (palavra vlida do
Dictionary) aparece no documento, e cria uma
estrutura Set para cada documento, onde
descreve os pares: feature/TF;
- FeaturesIDF: recebe as estruturas Set da classe
FeaturesFrequences e as fornece, uma a uma,
classe FeaturesDF. A seguir, obtm de
FeaturesDF o valor DF (Document
Frequency) para cada feature calculando seu
peso IDF (Inverse Document Frequency), o
qual ordenadamente armazenado em um
arquivo words.idf como um valor numrico
float;
- FeaturesDF: realiza a contagem dos
documentos (Document Frequency) que
contm cada palavra, baseando-se nas
estruturas Set recebidas da classe
FeaturesIDF.
Vectors a ltima etapa do pr-processamento refere-se
criao dos vetores de caractersticas (features
vectors) para cada exemplo obtido de um documento
textual. Classe envolvida:
- FeaturesVectors: sua funo consiste em obter
os valores TF e IDF para cada feature,
providos pela instncia das classes
FeaturesFrequences e FeaturesIDF, e calcular
o valor TFIDF (TF*IDF). Um vetor criado
para cada exemplo contendo todos os pares de
valores feature/TFIDF, e armazenado em uma
linha individual de um arquivo texto
denominado train.dat (para fins de
treinamento; e test.dat para teste).
A Figura 3 apresenta uma viso geral dos estados
inicial e final dos exemplos, separados pelas fases de
obteno e pr-processamento. O estado inicial
representa o domnio completo em questo, composto
pelas pginas Web brasileiras.
Figura 3 Pginas Web brasileiras (a) e representao
vetorial(b)
c) Extrao do conhecimento
Os algoritmos aplicados nesta fase implementam
os diferentes mtodos para a classificao automtica de
textos. O mtodo Support Vector Machines (SVM) foi
adotado para o presente trabalho.
SVM foi desenvolvido por Vapnik (Vapnik, 1995)
baseando-se no princpio da Minimizao do Risco
Estrutural (Structural Risk Minimization) da teoria do
aprendizado estatstico. Consiste de um mtodo
utilizado para o reconhecimento de padres definidos
em um espao vetorial, onde o problema resume-se em
encontrar uma superfcie de deciso que melhor separe
os dados em duas classes (positiva e negativa) distintas.
Isso previamente qualifica o mtodo como adequado
para problemas de classificao, como o apresentado
por este trabalho.
Na sua forma bsica, o classificador SVM aprende
regras lineares binrias descritas por um vetor de pesos
w e um ponto inicial b. Dependendo do lado do
hiperplano em que o vetor de atributos for representado,
ser classificado como +1 (positive) ou 1 (negative).
A Minimizao do Risco Estrutural visa encontrar
uma hiptese que garanta a menor probabilidade de
erros de classificao, o que pode ser traduzido em
encontrar o hiperplano h com margem mxima,
separando os dados em duas classes distintas (exemplos
positivos e negativos) em uma representao do espao
vetorial, conforme mostra a Figura 4 (obtida de
MLnet.org). Os exemplos representados juntos
margem do hiperplano h (marcados com crculos)so
denominados Support Vectors.
Figura 4 Hiperplanos em um espao vetorial
O uso de Support Vector Machines aplicado
classificao de textos foi introduzido por Joachims
(Joachims, 1998). Em seu trabalho, Joachims
apresentou um estudo comparativo entre o SVM e
outros algoritmos, como Bayes, Rocchio, C4.5 e K-NN.
O SVM apresentou o melhor resultado quando
comparado a tais algoritmos. A fim de facilitar o
processo de aprendizado na classificao de textos, cada
categoria associada a um problema especfico de
classificao binria (Joachims, 1999).
SVM
light
uma implementao do algoritmo SVM
desenvolvida por Joachims, que pode ser livremente
utilizada em pesquisas cientficas. O SVM
light
consiste
basicamente de dois mdulos:
- svm_learn: trata-se do mdulo de treinamento
do SVM
light
que especifica como entrada um
arquivo texto contendo o conjunto de vetores
que representam os exemplos de treinamento.
Cada linha do arquivo deve conter um vetor.
Para os casos de classificao linear com
SVM, as linhas contm os pares feature-value
dispostos em ordem crescente, ordenados por
feature. Cada feature representada pelo seu
nmero de linha no arquivo words. Os dois
primeiros caracteres da linha, +1 ou 1,
representam as opes positive ou negative,
respectivamente. Value o peso TFIDF da
feature representado como um valor numrico
do tipo float. svm_learn armazena o modelo
(classificador) gerado em um arquivo texto,
denominado model;
- svm_classify: consiste do mdulo de
classificao do SVM
light
e requer, como
entrada, um arquivo contendo os exemplos de
teste (no mesmo formato que o arquivo com
exemplos de treinamento) e outro, que contm
o modelo gerado pelo mdulo svm_learn.
Fornece, como sada, um arquivo texto com as
classificaes realizadas para cada exemplo.
d) Avaliao do conhecimento
Para tarefas de classificao que envolvem classes
com valores discretos, algumas medidas de qualidade
podem ser estimadas a partir dos seguintes resultados
observados:
- tp (true positive positivos verdadeiros):
nmero de exemplos positivos que foram
corretamente classificados;
- fp (false positive falsos positivos): nmero
de exemplos negativos classificados como
positivos;
- fn (false negative falsos negativos): nmero
de exemplos positivos classificados como
negativos;
- tn (true negative negativos verdadeiros):
nmero de exemplos negativos corretamente
classificados;
Medidas:
- Precision: proporo de exemplos positivos
que foram classificados corretamente. Em
problemas de classificao binria, a precision
pode ser obtida pela frmula apresentada pela
Equao 2;
- Recall: descreve a poro que foi classificada
corretamente como exemplos positivos. Esta
medida pode ser estimada pela frmula da
Equao 3;
+
=
fp tp
tp
PRECISION
(2)
+
=
fn tp
tp
RECALL
(3)
- Accuracy: trata-se da proporo de
classificaes corretas, e seu clculo descrito
pela Equao 4.
5 Resultados obtidos
Todas as classes mencionadas na seo 4 foram
implementadas durante a realizao deste trabalho
(Martins Junior, 2003) utilizando-se de tecnologia Java
(j2sdk1.3.1 The Java 2 Standard Development Kit).
Visando-se otimizar as operaes de ordenao e
recuperao de dados, foram utilizadas, durante o
desenvolvimento, estruturas e recursos apropriados,
como HashTable, HashSet e SortedMap.
Diversos testes foram realizados a fim de se
confirmar a capacidade de aprendizado da soluo
implementada. A Tabela 1 apresenta o conjunto de
exemplos obtidos e utilizados durante a fase de
treinamento para a gerao do modelo (classificador).
Esse conjunto contribuiu para a criao de um
dicionrio do domnio analisado com um total de 11205
palavras.
O experimento foi realizado em um computador
com processador AMD-Athlon 1GHz, e com 512 MB
de RAM, sobre uma plataforma composta pelo sistema
operacional Linux, distribuio Debian com kernel da
verso 2.4.18. Os tempos obtidos na execuo da fase
de treinamento foram os seguintes:
- Criao do dicionrio: 20 s;
- Gerao dos vetores: 2 min 50 s.
Tabela 1 Conjunto de treinamento
Site Positivos Negativos
Americanas 212 68
Bondfaro 40 50
Buscape 20 19
Estado Economia 0 25
Extra 33 25
Globo Shopping 21 2
Kalunga 54 17
Liv Cultura 33 33
Liv Saraiva 51 46
Luiza 103 93
Mercado Livre 50 71
Shopping UOL 27 10
Shoptime 36 26
Submarino 45 42
725 527
O modelo obtido foi utilizado para a classificao
de exemplos positivos e negativos obtidos de outros
sites. A Tabela 2 apresenta as medidas precision, recall
e accuracy que foram calculadas sobre os resultados da
classificao, quando aplicada em pginas Web de sites
no comerciais.
Tabela 2 Avaliao em sites no comerciais
Banespa ICMC Receita
Positivos 0 0 0
Negativos 60 90 40 Amostra
Total 60 90 40
fp 1 0 0
fn 0 0 0
tp 0 0 0
Resultado
tn 59 90 40
Accuracy 98,33% 100% 100%
Precision NA NA NA Avaliao
Recall NA NA NA
A Tabela 3 apresenta a mesma avaliao, mas
sobre os resultados da classificao de pginas de outros
sites comerciais.
Tabela 3 Avaliao em outros sites comerciais
Ponto
Frio
Ri
Happy
Som
Livre
Positivos 85 33 54
Negativos 0 3 19 Amostra
Total 85 36 73
fp 0 0 1
fn 0 0 7
tp 85 33 47
Resultado
tn 0 3 18
Accuracy 100% 100% 89,04%
Precision 100% 100% 97,92% Avaliao
Recall 100% 100% 87,04%
+ + +
+
=
fn tn fp tp
tn tp
ACCURACY
(4)
6 Concluso e trabalhos futuros
Observando a avaliao dos resultados apresentados,
conclui-se que um mtodo estatstico pode ser aplicado
a tarefas de classificao de textos, mesmo quando o
problema em questo requer o reconhecimento da
presena de uma determinada caracterstica, como a
descrio textual de produtos venda, abordada pelo
presente trabalho.
A eficincia do modelo depende da qualidade dos
exemplos positivos e negativos selecionados para a
composio do conjunto de treinamento.
Outro ponto importante descrito no presente
trabalho refere-se adaptao das tarefas envolvidas na
anlise do domnio, como a abordagem do
reconhecimento de padres de sentenas que descrevem
preos, apresentada na seo 4.
Finalmente, sugere-se como trabalhos futuros a
aplicao do mtodo apresentado para a soluo de
outros problemas de deciso na classificao de textos,
e tambm sua avaliao, quando aplicado em outros
domnios.
A experincia agregada por este trabalho ao grupo
de pesquisas pode ser til quando da aplicao de
soluo parecida em processos de deciso enfrentados
por sistemas detectores de intruso. O reconhecimento
de padres de ataque atravs de fatos descritos em
contedos textuais de arquivos de log do sistema
operacional pode se tornar um objeto da aplicao de
uma soluo similar explorada pelo presente trabalho.
Outra sugesto para a elaborao de futuros
trabalhos consiste da aplicao de outros mtodos de
classificao de textos para a soluo do mesmo
problema que buscou-se solucionar.
7 Referncias
J. Martins Junior, Classificao de pginas na Internet,
So Carlos, 2003, 81p, Dissertao de Mestrado -
Instituto de Cincias Matemticas e de Computao de
So Carlos, Universidade de So Paulo.
M. Song, A. Pereira, G. Gorgulho, S. Campos, W.
Meira Jr, Model Checking Patterns for e-Commerce
Systems, In: Proceedings of the First International
Seminar on Advanced Research in Electronic Business,
Rio de Janeiro, Brazil, 2002.
J. Magalhes, C. Lucena, A Multi-Agent Product Line
Architecture for Websearching, In: Proceedings of the
First International Seminar on Advanced Research in
Electronic Business, Rio de Janeiro, Brazil, 2002.
B. Coutinho, G. Teodoro, T. Tavares, R. Pinto, D.
Nogueira, W. Meira Jr, Assessing the impact of
distribution on e-business services, In: Proceedings of
the First International Seminar on Advanced Research
in Electronic Business, Rio de Janeiro, Brazil, 2002.
F. Milagres, E. Moreira, J. Pimento, P. Sousa, Security
Analysis of a Multi-Agent System in EUs DEEPSIA
Project, In: Proceedings of the First International
Seminar on Advanced Research in Electronic Business,
Rio de Janeiro, Brazil, 2002.
J. F. Herrera, J. Martins Junior, E. Moreira, A Model for
Data Manipulation and Ontology Navigation in
DEEPSIA, In: Proceedings of the First International
Seminar on Advanced Research in Electronic Business,
Rio de Janeiro, Brazil, 2002.
C. Badue, R. Baeza-Yates, W. Meira, B. Ribeiro-Neto,
N. Ziviani, Distributed Architecture for Information
Retrieval, In: Proceedings of the First International
Seminar on Advanced Research in Electronic Business,
Rio de Janeiro, Brazil, 2002.
M. Rappa, Managing the Digital Enterprise: Business
Models on the Web, In: E-Commerce Learning Center
of North Carolina State University web site:
http://ecommerce.ncsu.edu/research.html, ltimo acesso
em: 20/04/2003.
A. S. Garo, P. A. Sousa, J. P. Pimento, B. R. Santos,
V. Blasquz, L. Obratanski, Annex to DEEPSIAs
Deliverable 4 System Architecture, Technical Report
of IST PROJECT-1999-20483, January, 2001.
T. Joachims, A Probabilistic Analysis of the Roccio
Algorithm with TFIDF for Text Categorization,
Universitat Dortmund, 1997.
F. Sebastiani, Machine Learning in Automated Text
Categorization, Technical Report IEI B4-31-12-99,
Instituto di Elaborazione della Informazione, Consiglio
Nazionale delle Ricerche, Pisa, Italy, 1999.
C. Y. Imamura, Pr-processamento para Extrao de
Conhecimento de Bases Textuais, So Carlos, 2001,
Dissertao de Mestrado - Instituto de Cincias
Matemticas e de Computao de So Carlos,
Universidade de So Paulo.
D. Mladenic, Machine Learning on non-homogeneous,
distributed text data, PhD thesis, University of
Ljubljana, Faculty of Computer and Information
Science, Ljubljana, 1998.
T. Joachims, Text Categorization with Support Vector
Machines: Learning with Many Relevant Features,
Universitat Dortmund, 1998.
V. Vapnik, The Nature of Statistical Learning Theory,
Springer-Verlag, 1995.
T. Joachims, Transductive Inference for Text
Classification using Support Vector Machines, In:
Proceedings of the International Conference on Machine
Learning (ICML), 1999.