• Nenhum resultado encontrado

2009.1HenriqueSantosBrandão-Monografia.vFinal-3

N/A
N/A
Protected

Academic year: 2021

Share "2009.1HenriqueSantosBrandão-Monografia.vFinal-3"

Copied!
76
0
0

Texto

(1)

UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA

HENRIQUE SANTOS BRANDÃO

ANÁLISE DE DESEMPENHO DE TÉCNICAS DE

CLASSIFICAÇÃO AUTOMÁTICA DE TEXTOS

FEIRA DE SANTANA

2010

(2)

HENRIQUE SANTOS BRANDÃO

ANÁLISE DE DESEMPENHO DE TÉCNICAS DE CLASSIFICAÇÃO

AUTOMÁTICA DE TEXTOS

Trabalho de Conclusão de Curso apresentado ao curso de Engenharia de Computação da Universidade Estadual de Feira de Santana como requisito parcial para a obtenção do título de Bacharel em Engenharia de Computação

Orientadora:

Profa. Dra. Fabiana Cristina Bertoni

FEIRA DE SANTANA

2010

(3)
(4)

Dedico este trabalho a minha família e a toda turma de 2005.1 do curso de Engenharia de Computação da Universidade Estadual de Feira de Santana.

(5)

A Classificação de Textos é uma importante técnica para extração de conhecimento na Mineração de Textos, a qual envolve conceitos de Recuperação da Informação, Lingüística Computacional, Estatística, Aprendizado de Máquina e Mineração de Dados. Esta técnica é utilizada para organizar documentos em categorias pela aplicação de métodos estatísticos ou técnicas de inteligência artificial.

Este trabalho tem o objetivo de avaliar e comparar a funcionalidade e eficiência de alguns métodos de classificação automática de documentos de texto, sendo eles o

Naïve Bayes, o K-Nearest Neighbor e o Support Vector Machine. A exatidão, a

precisão, a medida f e o tempo de processamento serão utilizados como critério de avaliação. Serão discutidos conceitos e técnicas relacionados à Mineração de Textos e Classificação Automática de Textos.

Com base em algoritmos disponíveis na literatura, foram implementadas algumas técnicas de pré-processamento e representação, além das técnicas de classificação que foram analisadas, dando ênfase à abordagem de técnicas de mineração relacionadas à língua inglesa. Para avaliação da classificação, foram utilizados alguns subconjuntos de documentos da base Reuters-21578.

A técnica Naïve Bayes apresentou os melhores resultados, a exatidão e a precisão média alcançaram 96,3% e 96,6% respectivamente. A técnica SVM apresentou resultados no mínimo razoáveis, entre 73% e 92,8% de exatidão, necessitando de pouco tempo de processamento. A exatidão da técnica KNN variou em torno de 80%, porém o tempo de processamento foi maior que o das demais técnicas.

Palavras-chave: Mineração de Textos. Classificação Automática de Textos. Reconhecimento de Padrões.

(6)

The Text Categorization is an important technique for knowledge extraction in Text Mining, which involves concepts about Information Retrieval, Computational Linguistics, Statistics, Machine Learning and Data Mining. It is used to organize documents in categories by application of statistical methods or artificial intelligence techniques.

This study aims to evaluate and compare the functionality and efficiency of some methods of Automatic Text Classification, they being Naïve Bayes, K-Nearest Neighbor and Support Vector Machine. The correctness, precision, f measure and processing time will be used as evaluation criteria. Concepts and techniques related to Text Mining and Automatic Text Classification will be discussed.

Based on available algorithms in literature, besides classification techniques, some techniques of text pre-processing and representation have been implemented, emphasizing approach of English. For evaluate the classification, some subsets of documents in the Reuters-21578 were used.

Naïve Bayes had better results, the correctness and medium precision reached 96,3% and 96,6% respectively. The SVM technique had results at least reasonable, between 73% and 92,8% correctness, requiring few processing time. The correctness of KNN technique was around 80%, but the processing time was greater than time of other techniques.

(7)

Figura 1 - Etapas da Mineração de Textos... 15

Figura 2 - A curva de Zipf e os cortes de Luhn... 18

Figura 3 - Representação de uma coleção de documentos utilizando o Modelo de Espaço Vetorial. ... 21

Figura 4 - Um modelo de classificação de textos. ... 25

Figura 5 - Margem entre hiperplanos de duas categorias. ... 29

Figura 6 - Projeção de dados não linearmente separáveis (a) em um espaço de dimensão maior que pode ser separado linearmente (b). ... 30

Figura 7 - Representação dos documentos em um espaço de duas dimensões. ... 31

Figura 8 - Documentos corretamente classificados. ... 32

Figura 9 - Diagrama de Classes do Classificador. ... 39

Figura 10 - Algoritmo Naïve Bayes: treinamento e teste. ... 47

Figura 11 - Algoritmo KNN. ... 48

Figura 12 - Algoritmo Kernel-Adatron para treinamento de um classificador SVM. ... 50

Figura 13 - Exatidão das técnicas de classificação em função da quantidade categorias. ... 61

Figura 14 - Diagrama de Seqüência de Treinamento. ... 67

Figura 15 - Diagrama de Seqüência de Classificação. ... 68

(8)

Tabela 1 - Exemplo de representação de uma coleção de documentos utilizando o

Modelo de Espaço Vetorial. ... 20

Tabela 2 - Tabela de Contingência para um conjunto de decisões binárias. ... 32

Tabela 3 - Distribuição dos textos da base Reuters de acordo com a quantidade de rótulos. ... 36

Tabela 4 - Principais categorias da base Reuters-21578. ... 37

Tabela 5 - Coleções da base Reuters utilizadas neste trabalho. ... 38

Tabela 6 - Quantidade de termos da base Reuters por número de ocorrências. ... 42

Tabela 7 - Tempo de processamento das técnicas de representação. ... 43

Tabela 8 - Quantidade de documentos utilizados na seleção das técnicas de pré-processamento. ... 44

Tabela 9 - Configurações de pré-processamento e representação analisados para cada classificador. ... 44

Tabela 10 - Eficiência do classificador kNN em função da quantidade de vizinhos selecionados. ... 49

Tabela 11 - Avaliação da influência do parâmetro p nos resultados da classificação SVM utilizando o kernel polinomial e mantendo o valor de C constante. ... 51

Tabela 12 - Configurações que obtiveram os melhores resultados na classificação SVM utilizando o kernel polinomial e mantendo o valor de p constante. .. 51

Tabela 13 - Resultados da classificação KNN variando-se as técnicas de Pré-Processamento e Representação. ... 54

Tabela 14 - Resultados da classificação Naïve Bayes variando-se as técnicas de Pré-Processamento e Representação. ... 55

Tabela 15 - Resultados da classificação SVM variando-se as técnicas de Pré-Processamento e Representação. ... 56

(9)

Tabela 17 - Resultados da classificação da coleção Reuters-3C... 58

Tabela 18 - Resultados da classificação da coleção Reuters-5C... 59

Tabela 19 - Resultados da classificação da coleção Reuters-6C... 59

Tabela 20 - Complexidade algorítmica de cada técnica de classificação. ... 60

Tabela 21 - Comparação da exatidão entre este trabalho e Araújo (2009). ... 61

Tabela 22 - Comparação do erro total entre este trabalho e Correa (2002). ... 61

Tabela 23 - Resultados obtidos durante a seleção de técnicas de pré-processamento e representação utilizados com o KNN. ... 69

Tabela 24 - Resultados obtidos durante a seleção de técnicas de pré-processamento e representação utilizados com o Naïve Bayes. ... 70

Tabela 25 - Resultados obtidos durante a seleção de técnicas de pré-processamento e representação utilizados com o SVM. ... 71

Tabela 26 - Resultados obtidos com a classificação da coleção Reuters-3C. ... 72

Tabela 27 - Resultados obtidos com a classificação da coleção Reuters-5C. ... 73

(10)

Introdução ... 11

1 Mineração de Textos ... 13

1.1 Etapas da Mineração de Textos ... 14

1.2 Pré-Processamento ... 15

1.2.1 Extração de Palavras ... 16

1.2.2 Redução da Dimensionalidade ... 16

1.2.2.1 Eliminação de Stopwords ... 17

1.2.2.2 A Lei de Zipf e os Cortes de Luhn ... 18

1.2.2.3 Stemming ... 18

1.3 Representação de Textos ... 19

1.3.1 Modelo de Espaço Vetorial ... 19

1.3.2 Distribuição de Pesos ... 21

1.3.2.1 Método Binário ... 21

1.3.2.2 Term Frequency (TF) ... 22

1.3.2.3 Inverse Document Frequency (IDF) ... 22

1.3.2.4 TF-IDF ... 22

1.3.3 Considerações ... 23

1.4 Métodos de Extração de Conhecimento ... 23

2 Classificação Automática de Textos ... 25

2.1 Métodos de Classificação Automática de Textos ... 27

2.1.1 Naïve Bayes ... 28

2.1.2 Support Vector Machine (SVM) ... 28

2.1.3 K-Vizinhos mais Próximos (K-Nearest Neighbor) ... 30

2.2 Medidas de Avaliação de Eficácia ... 31

2.3 Trabalhos Relacionados ... 33

3 Metodologia ... 35

3.1 Seleção e Preparação da Coleção ... 36

3.2 Arquitetura ... 38

(11)

3.3.3 Seleção de Técnicas ... 43 3.4 Classificação ... 45 3.4.1 Naïve Bayes ... 46 3.4.2 KNN ... 48 3.4.3 SVM ... 49 4 Resultados e Discussão ... 53

4.1 Seleção das Técnicas ... 53

4.1.1 Seleção das técnicas aplicadas ao KNN ... 54

4.1.2 Seleção das técnicas aplicadas ao Naïve Bayes ... 54

4.1.3 Seleção das técnicas aplicadas ao SVM ... 55

4.1.4 Discussão sobre as técnicas de Pré-Processamento ... 56

4.2 Análise das Técnicas de Classificação ... 57

4.2.1 Resultados da Coleção Reuters-3C ... 58

4.2.2 Resultados da Coleção Reuters-5C ... 58

4.2.3 Resultados da Coleção Reuters-6C ... 59

4.2.4 Discussão ... 60

Conclusão ... 62

Trabalhos futuros ... 63

Referências ... 64

Apêndice A - Diagrama de Seqüência de Treinamento... 67

Apêndice B - Diagrama de Seqüência de Classificação ... 68

Apêndice C - Análise das Configurações... 69

Apêndice D - Resultados Da Classificação ... 72

(12)

I

NTRODUÇÃO

A representação textual é o principal meio de registro da informação. Sem a escrita, a transmissão de conhecimento seria comprometida. Grande parte do conhecimento humano está representada na forma de documentos textuais, como, por exemplo, livros científicos, livros literários, revistas e jornais.

Um estudo indica que 80% da informação das corporações no mundo está representada na forma de documentos textuais (MOURA, 2004), sendo que muitos desses documentos são armazenados em meio eletrônico formando grandes coleções de dados.

Com o aumento da quantidade de informação produzida, torna-se cada vez mais longa a busca por informações relevantes. A disponibilidade de grandes quantidades de documentos em formatos texto gera uma condição de sobrecarga de informação. Neste contexto, são necessárias técnicas de mineração automática de informação em documentos textos. Tendo em vista que muitos documentos textuais são armazenados em meio eletrônico formando grandes coleções de dados, é possível utilizar técnicas computacionais para extração de conhecimento destas coleções. A importância de técnicas de Mineração de Textos é evidenciada pelo papel da informação na produção de conhecimento. Segundo Tan (1999), acredita-se que a Mineração de Textos ainda possua muitos benefícios a serem explorados.

Uma importante técnica para extração de conhecimento é a Classificação de Textos. Esta técnica é utilizada para organizar documentos em categorias pela aplicação de métodos estatísticos e técnicas de Inteligência Artificial.

As pesquisas na área de classificação de textos são relativamente recentes, foram iniciadas na década de 1960. Porém a classificação de textos só começou a ser amplamente utilizada por volta de 1990 (BUDDEEWONG; KREESURADEJ, 2005). A Classificação de Textos possibilita uma utilização mais eficiente dos documentos e uma melhor gestão do conhecimento, visto que auxilia a busca seletiva de informações. Estas características possibilitam que esta técnica seja utilizada para

(13)

limitar o domínio da busca em Sistemas de Recuperação de Informação (SRI), ou até mesmo, para organizar e filtrar informações em uma empresa.

Existem muitas técnicas que podem ser utilizadas para a Classificação de Textos, dentre elas o Naïve Bayes, o K-Nearest Neighbor, as Redes Neurais Artificiais e o

Support Vector Machine. Estas técnicas também podem ser utilizadas para

reconhecimento de padrões não textuais, como a classificação de spam, o reconhecimento de fala, reconhecimento de caracteres, reconhecimento de faces, reconhecimento biométrico e reconhecimento de imagem (ABREU, 2006).

O objetivo deste trabalho é avaliar e comparar a funcionalidade, a aplicabilidade e eficiência de alguns métodos de classificação automática de documentos de texto, sendo eles o Naïve Bayes, o K-Nearest Neighbor e o Support Vector Machine. Para isso, é necessário selecionar e implementar técnicas de pré-processamento e representação de textos, implementar as técnicas de classificação analisadas, além de selecionar bases de texto para avaliação.

Uma motivação para a realização deste trabalho é que, dentre os trabalhos relacionados analisados na Seção 2.3, nenhum efetua a comparação entre estas três técnicas de Classificação de Textos.

Além desta seção introdutória e a conclusão, este trabalho está organizado da seguinte forma: o Capítulo 1 apresenta conceitos gerais sobre a Mineração de Textos e suas etapas; no Capítulo 2, são apresentados conceitos específicos a respeito da Classificação de Textos e métodos de avaliação; o Capítulo 3 aborda a metodologia empregada na realização da classificação automática de textos; Por fim, no Capítulo 4 são relatados e discutidos os resultados encontrados.

(14)

1

M

INERAÇÃO DE

T

EXTOS

Este capítulo expõe um levantamento sobre os conceitos gerais relacionados às etapas da Mineração de Textos, bem como discute a influência de cada etapa no resultado da extração do conhecimento. Na Seção 1.1, são apresentadas as etapas da Mineração de Textos. As Seções 1.2 e 1.3, apresentam, respectivamente, conceitos sobre o pré-processamento e representação de textos. A Seção 1.4 discute os principais métodos de extração do conhecimento.

Mineração de Textos pode ser compreendida como um processo de descoberta de conhecimento a partir da aplicação de técnicas computacionais sobre dados textuais não-estruturados que estão em linguagem natural. Envolve conceitos de Recuperação da Informação, Lingüística Computacional, Estatística, Aprendizado de Máquina e Mineração de Dados.

Existem várias definições para Mineração de Textos. Sullivan (2000) define Mineração de Textos como o estudo e prática de extração de informações de textos utilizando princípios da lingüística computacional.

Segundo Moura (2004), Mineração de Textos é uma área de pesquisa cujo objetivo é a busca por padrões, tendências e regularidades em textos escritos em linguagem natural.

A Mineração de Textos utiliza técnicas de análise e extração de dados, além de algoritmos capazes de processar textos em linguagem natural, com o objetivo de identificar informações úteis e não-triviais, que geralmente não poderiam ser obtidas de forma direta. A complexidade do processo de Mineração de Textos está relacionada a alguns fatores, tais como (MARTINS, 2003):

• Alta dimensionalidade: geralmente para a extração de conhecimento em uma coleção de textos, é manipulado um grande volume de palavras diferentes;

• Ambigüidade: uma palavra pode ter mais de um significado e pode ser interpretada de diferentes formas dependendo do contexto;

• Linguagem: geralmente, os algoritmos de processamento de texto são dependentes da língua;

(15)

• Estilo do documento: documentos informais são mais difíceis de serem processados;

• Natureza do conteúdo do documento: geralmente, documentos que contêm muita informação irrelevante são difíceis de serem processados;

• Erros ortográficos: muitas vezes são encontrados erros nos textos analisados, como falta de acento e letras invertidas, que podem afetar negativamente o resultado.

1.1 Etapas da Mineração de Textos

O processo de Mineração de Textos pode ser divido nas seguintes etapas (NEVES, 2001):

Pré-processamento: tem a finalidade de preparar o texto para que seja feita a extração do conhecimento. Durante esta fase, é realizada a redução da dimensionalidade do texto, eliminando caracteres e palavras irrelevantes, corrigindo erros ortográficos e selecionando características mais representativas;

Representação: consiste na representação de um documento de modo que este possa ser processado pela etapa de extração de conhecimento. Na maioria das vezes, esta representação é feita na forma de vetores numéricos, onde são atribuídos pesos a cada palavra que indicam sua relevância no documento;

Extração do Conhecimento: etapa onde é realizada a atividade de descoberta do conhecimento, a qual são aplicados os algoritmos de reconhecimento de padrões, de forma a obter o conhecimento implícito presente.

A Figura 1 apresenta as etapas da Mineração de Textos. Um conjunto de documentos de textos, chamado corpus, é pré-processado. A partir dos documentos que foram preparados pelo pré-processamento, é obtida uma representação vetorial com os pesos de cada termo no documento. Esta representação vetorial é utilizada pelo processo de extração de conhecimento.

(16)

Figura

1.2 Pré-Processamento

O Pré-Processamento de Textos consiste em um conjunto de transformações realizadas sobre uma coleção de textos

representá-los de forma estruturada

preparação das informações extraídas dos doc Mineração do Texto.

O Pré-Processamento de Textos t

através da seleção dos termos mais representativos eliminação de caracteres e palavras irrele

organizar os dados, geralmente utilizando a abordagem

abordagem, cada documento é representado como um conjunto de palavras distinção da ordem em que estas aparecem no texto ou qualquer informaç pontuação e estrutura, mas levando em consideração o número de ocorrência cada palavra no texto (MORAIS, 2007).

O Pré-Processamento é importante para aumentar a eficiência e a eficácia computacional da Mineração de

durante o pré-processamento existe a possibilidade de que parte da informação intrínseca ao conteúdo dos textos seja perdida. Um desafio, nesse caso, é obter

Figura 1 - Etapas da Mineração de Textos.

Processamento

ento de Textos consiste em um conjunto de transformações realizadas sobre uma coleção de textos em formato livre, com o objetivo de

los de forma estruturada (ARANHA, 2007). Esta técnica é

preparação das informações extraídas dos documentos para as próximas etapas da

Processamento de Textos tem por finalidade melhorar a qualidade dos dados através da seleção dos termos mais representativos dos documentos da coleção e eliminação de caracteres e palavras irrelevantes. Além disso, tem o objetivo de organizar os dados, geralmente utilizando a abordagem bag

cada documento é representado como um conjunto de palavras distinção da ordem em que estas aparecem no texto ou qualquer informaç pontuação e estrutura, mas levando em consideração o número de ocorrência

(MORAIS, 2007).

Processamento é importante para aumentar a eficiência e a eficácia computacional da Mineração de Textos (CASTELLANO et. al.

processamento existe a possibilidade de que parte da informação intrínseca ao conteúdo dos textos seja perdida. Um desafio, nesse caso, é obter ento de Textos consiste em um conjunto de transformações em formato livre, com o objetivo de Esta técnica é utilizada na umentos para as próximas etapas da

em por finalidade melhorar a qualidade dos dados dos documentos da coleção e vantes. Além disso, tem o objetivo de

bag-of-words. Nesta

cada documento é representado como um conjunto de palavras sem distinção da ordem em que estas aparecem no texto ou qualquer informação de pontuação e estrutura, mas levando em consideração o número de ocorrências de

Processamento é importante para aumentar a eficiência e a eficácia et. al., 2007). Porém, processamento existe a possibilidade de que parte da informação intrínseca ao conteúdo dos textos seja perdida. Um desafio, nesse caso, é obter

(17)

uma boa representação minimizando a perda de informação. A etapa de pré-processamento em um processo de Mineração de Textos é, portanto, fundamental para o desempenho de todo o processo (MARTINS, 2003).

Durante o pré-processamento, é realizada a extração das palavras presentes no texto e são utilizadas técnicas para redução da dimensionalidade, como Stemming e Eliminação de Stopwords. Estas técnicas serão discutidas nas seções a seguir.

1.2.1 Extração de Palavras

Um documento de texto pode ser visto como um stream de caracteres. Stream é um fluxo de dados em um sistema computacional. Para a identificação das características, é necessário converter o documento de texto em um stream de palavras, onde uma palavra é definida como um conjunto de caracteres com importância coletiva (FRAKES; BAEZA-YATES, 1992). Este processo é realizado utilizando a análise léxica. A análise léxica é responsável por fragmentar um texto em componentes básicos, neste caso as palavras, tendo como base padrões que descrevem como reconhecer estes componentes.

Em linguagens onde os limites entre palavras são definidos por caracteres de pontuação ou espaço, como no caso da língua portuguesa e inglesa, a análise léxica é relativamente simples. Porém, em linguagens como o chinês e o japonês, onde não são utilizados espaços entre as palavras, são necessárias técnicas mais complexas (YIN, 1996). Neste trabalho, será dada ênfase a abordagem da língua inglesa.

1.2.2 Redução da Dimensionalidade

Um dos maiores problemas de mineração de texto é lidar com espaços de dimensão muito alta. Uma vez que cada termo representa uma dimensão na representação vetorial de um texto, haverá tantas dimensões quanto forem os termos diferentes na coleção (ARANHA, 2007). Sendo assim, outra tarefa importante realizada durante o

(18)

pré-processamento é reduzir o número de termos na coleção, porém, tentando evitar a perda de informação significativa. Essa redução também é chamada de seleção de atributos relevantes.

Vários métodos podem ser utilizados para reduzir a dimensão de uma coleção durante o pré-processamento, dentre eles a Eliminação de Stopwords e o Stemming. Porém, a utilização de uma determinada técnica ou de um conjunto determinado de técnicas pode afetar, positiva ou negativamente, a eficiência e a eficácia do processo de Mineração de Texto. A decisão, entre quais técnicas utilizar, deve levar em consideração a coleção de documentos e o resultado esperado. Uma análise mais detalhada sobre a aplicabilidade de técnicas de redução de dimensionalidade no processo de classificação de textos é feita por Araújo (2009).

Nas seções a seguir, serão apresentadas algumas técnicas utilizadas na redução da dimensionalidade.

1.2.2.1 Eliminação de Stopwords

Em cada língua, existe um conjunto de palavras que são utilizadas com muita freqüência e possuem pouca influência no significado do texto dos documentos. Geralmente, são preposições, artigos, conjunções, pronomes e verbos muito utilizados, como por exemplo, as palavras: “of”, “in”, “is”, “are”, “and”, “this” e “that” na língua inglesa. Através da análise deste conjunto de palavras, não é possível fazer uma distinção entre o conteúdo dos documentos, por isso, elas possuem baixa relevância no processo de mineração de textos. Estas palavras são chamadas

Stopwords (YIN, 1996).

As Stopwords podem influenciar negativamente no resultado de um processo de Mineração de Texto, além de aumentar a quantidade de termos analisados e, conseqüentemente, o esforço computacional na etapa de extração de conhecimento posterior. Por este motivo, geralmente durante o pré-processamento, as Stopwords são removidas dos documentos. A implementação mais comum é manter uma lista com todas as Stopwords, e no início do pré-processamento, verificar se cada termo

(19)

extraído do texto está presente na lista das Stopwords; em caso positivo, o termo é removido.

1.2.2.2 A Lei de Zipf e os Cortes de Luhn

Segundo a Lei de Zipf, a freqüência de palavras em língua natural está relacionada a uma função de ordenação. Se f é a freqüência de ocorrência de uma palavra do texto, e r a posição de ordenação com relação às outras palavras, então o produto

f × r é aproximadamente constante (ARANHA, 2007).

Luhn propôs que existem duas linhas de corte sobre a curva de ordenação de Zipf que separam os termos relevantes (ao centro) dos irrelevantes (nos extremos). As palavras que estiverem fora do intervalo são excluídas da análise. Esta teoria está ilustrada na Figura 2.

Figura 2 - A curva de Zipf e os cortes de Luhn. (ARANHA, 2007)

1.2.2.3 Stemming

Uma palavra pode possuir inúmeras variantes morfológicas, por exemplo, a palavra “compute” possui as variantes: “computing”, “computed”, “computes’” e “computer”. Na maior parte dos casos, as variantes possuem significado semelhante (YIN, 1996). Em alguns casos, é desejado que o tratamento para este conjunto de

(20)

palavras seja o mesmo. O processo de reduzir um conjunto de variantes morfológicas a uma mesma representação é chamado de Stemming e a representação resultante é chamada de stem.

O objetivo do processo de Stemming é remover os sufixos de cada termo presente na coleção, sendo que os principais sufixos indicam plurais e formas verbais. Assim, um Stemmer, módulo responsável por realizar o stemming, de uma determinada linguagem pode não funcionar corretamente em outra. Dentre os algoritmos de

Stemming mais conhecidos estão os algoritmos de Porter, Lovins e Orengo

(CORREA, 2002).

Uma das vantagens da utilização desta técnica é a diminuição da quantidade de termos na coleção. Porém, como nos algoritmos de Stemming não existe um mapeamento de cada palavra da linguagem para seu stem, o que seria muito custoso e de difícil implementação, existem casos em que os algoritmos não apresentam resultados satisfatórios. Por exemplo, utilizando o algoritmo de Porter, as palavras “news” e “new” são representadas pelo mesmo stem, porém possuem significados distintos.

1.3 Representação de Textos

Após o pré-processamento, é necessário mapear o texto em uma representação compacta de seu conteúdo, de modo que possa ser compreendido pela etapa de extração de conhecimento.

Dentre os modelos de representação bastante difundidos, tem-se o Modelo de Espaço Vetorial (BAEZA-YATES; RIBEIRO-NETO, 1999), o qual será detalhado na Seção 1.3.1.

1.3.1 Modelo de Espaço Vetorial

O Modelo de Espaço Vetorial é um modelo algébrico para representação de documentos de texto através de vetores, os quais contêm os termos que aparecem

(21)

ao menos uma vez em algum documento presente na coleção. Termo pode ser definido como uma palavra ou frase presente no texto. Porém, apesar de frases apresentarem melhor semântica, possuem qualidades estatísticas inferiores quando se comparada à utilização de palavras isoladas (TORRES, 2007).

A partir do Modelo de Espaço Vetorial, o documento Dj pode ser representado

conforme a Equação 1.

 = < ,  , . . . ,  > (1)

Onde k é o número de termos distintos existentes em toda a coleção, e wj i é o peso

do termo ti no documento Dj. Este peso representa a contribuição de cada termo

para a semântica do documento (YIN, 1996). Algumas técnicas para determinar o peso de cada termo serão discutidas na Seção 1.3.2.

A representação da coleção de documentos é feita através de uma matriz formada pelo conjunto de vetores dos documentos, como mostrado na Tabela 1, onde cada linha representa um documento e cada coluna representa um termo da coleção (BERRY, 2003). Na Tabela 1, um conjunto de documentos é representado em função dos termos “casa”, “carro” e “livro” utilizando o Modelo de Espaço Vetorial.

Tabela 1 - Exemplo de representação de uma coleção de documentos utilizando o Modelo de Espaço Vetorial.

Documento "casa" "carro" "livro"

doc1 8 3 1

doc2 6 2 1

doc3 0 2 6

doc4 3 2 4

Através do Modelo de Espaço Vetorial, os vetores de documentos similares tendem a estar próximos no espaço, enquanto que para documentos poucos similares, os vetores tendem a estar mais distantes. A quantidade de dimensões existentes no modelo é dada em função da quantidade de termos distintos encontrados na coleção.

Na Figura 3, são representados quatro documentos em função dos termos t1, t2 e t3. Os documentos doc1 e doc2 estão próximos no espaço, e por isso tendem a possuir conteúdos similares.

(22)

Figura 3 - Representação de uma coleção de documentos utilizando o Modelo de Espaço Vetorial.

O Modelo de Espaço Vetorial possui algumas desvantagens, tais como, o poder computacional exigido aumenta em função da quantidade de documentos e termos presentes na coleção; e documentos com conteúdo similar, mas com diferentes vocabulários, podem resultar em vetores distantes no espaço (CORREA, 2002).

1.3.2 Distribuição de Pesos

Para extrair as características iniciais para a representação do documento, deve ser analisada a importância de cada termo. Isto envolve designar para cada termo um peso, indicando a importância relativa para um documento. Este processo é conhecido como term-weighting (YIN, 1996).

Existem diferentes técnicas para determinar o peso associado a cada termo em um documento. A seguir serão apresentadas algumas delas:

1.3.2.1 Método Binário

Este é o método de cálculo de pesos mais simples, o qual envolve um peso binário. O peso de cada termo no documento é igual a 0 se o termo não está presente no documento, e 1 caso contrário. Neste método, a freqüência de cada termo no

(23)

documento não interfere no cálculo dos pesos, e todas as palavras presentes no documento possuem o mesmo valor de relevância.

1.3.2.2 Term Frequency (TF)

Nesta técnica, o peso do termo é igual a sua freqüência no documento. É considerado que um termo que é mencionado mais vezes em um documento tem maior relevância na construção do seu significado, e por isso, deve possuir um peso mais alto (YIN, 1996). A desvantagem na distribuição de pesos utilizando TF é que termos com alta freqüência podem não ajudar a definir o significado de um documento, principalmente quando estão presentes em muitos documentos da coleção.

1.3.2.3 Inverse Document Frequency (IDF)

IDF é uma métrica para determinar um valor de discriminação de cada termo na coleção de documentos. O cálculo da IDF é dado pela Equação 2.

 = log (2)

Onde N é o número de documentos na coleção, e n é o número de documentos em que existe o termo i. Em geral, termos que aparecem em poucos documentos têm maior influência na definição do significado de cada documento (YIN, 1996).

1.3.2.4 TF-IDF

TF-IDF procura aproveitar as vantagens do cálculo da TF e da IDF. O peso do termo é igual ao produto da TF pela IDF, conforme é apresentado na Equação 3.

(24)

Nesta abordagem, o termo que possui maior freqüência e aparece em poucos documentos é considerado mais relevante na discriminação do conteúdo do documento.

1.3.3 Considerações

Em suma, após o cálculo do peso de cada termo, o conjunto de documentos de texto da coleção é transformado em uma matriz. Devido às propriedades inerentes dos documentos de texto, podem existir milhares de termos distintos em uma coleção. Como cada termo representa uma nova dimensão, a matriz de pesos possui uma alta dimensionalidade (YIN, 1996). Desta forma, as técnicas de redução de dimensionalidade são importantes para diminuir o esforço computacional da próxima etapa da mineração. Algumas implementações utilizam a normalização para ajustar os pesos dos termos, para que tanto documentos pequenos, quanto documentos maiores possam ser comparados na mesma escala (MARTINS, 2003).

1.4 Métodos de Extração de Conhecimento

Durante a etapa de extração de conhecimento, ocorre a busca efetiva por conhecimentos novos e úteis a partir dos dados existentes. Dentre os principais métodos de extração de conhecimento utilizados no processo de Mineração de Textos, destacam-se:

Classificação: consiste em determinar se um documento pertence ou não a uma categoria, sendo que o conjunto de categorias é previamente definido. Em alguns sistemas de classificação, um documento pode pertencer a somente uma categoria, ou a um conjunto de categorias.

Agrupamento: consiste em agrupar documentos que possuem conteúdo relacionado, sendo que os grupos são determinados automaticamente de acordo com as características em comum identificadas (DOURADO, 2009).

(25)

Sumarização: tem o objetivo de obter a essência de um documento de texto, ou seja, é o processo de gerar um documento resumido, contendo as principais informações do documento original e mantendo o significado original (MARTINS, 2003).

Filtragem: pode ser descrita como disseminação seletiva de informações textuais. Este método envolve a seleção de um subconjunto de documentos de textos disponíveis, de acordo as necessidades do usuário (YIN, 1996). No próximo capítulo, serão abordados os conceitos relacionados à Classificação de Textos, que é o foco deste trabalho.

(26)

2

C

LASSIFICAÇÃO

Este capítulo apresenta um levantamento sobre os conceitos específicos relacionados à Classificação Automática de Textos. Algumas técnicas de classificação são apresentad

Seção 2.1 apresenta as técnicas utilizadas neste trabalho. Na Seção

discutidos critérios de avaliação de resultados da classificação. E por fim, na Seção 2.3, são apresentados trabalhos relacionados na área de Classificação de Textos. Dado um conjunto de documentos,

A tarefa de agrupar documentos em grupos pré classificação, ou categorização. Esta

publicações, ou até mesmo documentos em Classificação Automática de Textos

utilizada para agrupar documentos em uma ou mais categorias pré

baseado em características dos textos. Estas características são extraídas e representadas a partir das etapas de pré

respectivamente.

Um exemplo da utilização

onde um classificador define se um documento pertence à categoria de Entretenimento, Esporte ou Saúde, a partir

Figura

LASSIFICAÇÃO

A

UTOMÁTICA DE

T

EXTOS

Este capítulo apresenta um levantamento sobre os conceitos específicos relacionados à Classificação Automática de Textos. Algumas técnicas de classificação são apresentadas, bem como os critérios de avaliação de resultados. A

apresenta as técnicas utilizadas neste trabalho. Na Seção

discutidos critérios de avaliação de resultados da classificação. E por fim, na Seção ntados trabalhos relacionados na área de Classificação de Textos. Dado um conjunto de documentos, pode ser necessário organizá

A tarefa de agrupar documentos em grupos pré-existentes é conhecida classificação, ou categorização. Esta pode ser utilizada para classificar publicações, ou até mesmo documentos em uma empresa.

Automática de Textos é a técnica de extração de conhecimento utilizada para agrupar documentos em uma ou mais categorias pré

baseado em características dos textos. Estas características são extraídas e representadas a partir das etapas de pré-processamento e representação de textos,

Um exemplo da utilização da classificação de textos é apresentado na

onde um classificador define se um documento pertence à categoria de Entretenimento, Esporte ou Saúde, a partir da análise de suas características.

Figura 4 - Um modelo de classificação de textos.

Este capítulo apresenta um levantamento sobre os conceitos específicos relacionados à Classificação Automática de Textos. Algumas técnicas de bem como os critérios de avaliação de resultados. A apresenta as técnicas utilizadas neste trabalho. Na Seção 2.2, são discutidos critérios de avaliação de resultados da classificação. E por fim, na Seção

ntados trabalhos relacionados na área de Classificação de Textos. organizá-lo em categorias. existentes é conhecida como pode ser utilizada para classificar notícias,

técnica de extração de conhecimento utilizada para agrupar documentos em uma ou mais categorias pré-definidas baseado em características dos textos. Estas características são extraídas e processamento e representação de textos,

da classificação de textos é apresentado na Figura 4, onde um classificador define se um documento pertence à categoria de

da análise de suas características.

(27)

A classificação manual de textos é feita através da leitura e dedução das classes que o documento pertence, a partir de expressões específicas e seus padrões de contexto. A classificação automática tem o objetivo de realizar este processo, reconhecendo os padrões de classificação como uma combinação de características de texto. Estes padrões devem ser gerais o bastante para ter grande aplicabilidade, mas específicos o suficiente para serem seguros quanto à classificação de uma grande quantidade de textos (MOENS, 2000).

A classificação de textos, ao agrupar os documentos similares em categorias, cria domínios com menores quantidades de informação. Esta característica pode acelerar o processo de encontrar a informação relevante. Um leitor pode identificar uma categoria que seja relevante para suas necessidades e analisar somente os documentos desta categoria. Dessa maneira, a quantidade de documentos analisados é reduzida.

A classificação pode ser utilizada na organização e filtragem de documentos. Essa capacidade faz com que esta técnica possa ser aplicada em empresas, contribuindo no processo de coleta, análise e distribuição de informações e, conseqüentemente, na gestão e na estratégia empresarial (CAMARGO, 2007).

A classificação automática também pode ser utilizada na categorização hierárquica de páginas Web, e na redução do escopo de buscas em sistemas de recuperação de informação, onde as buscas podem ser realizadas em apenas algumas categorias.

A classificação automática de textos pode ser do tipo Binário, Graduado, Simples ou Múltiplo. Na classificação binária, cada documento é classificado como contido, ou não, em cada categoria. Na classificação graduada, cada documento possui um grau de pertinência, ou relevância, para cada categoria. No caso da classificação simples, um documento pode pertencer a apenas uma categoria, e por fim, na classificação múltipla, um documento pode pertencer a mais de uma categoria. Algumas técnicas de classificação automática de textos têm sido propostas, tais como o K-Nearest Neighbor (KNN), o Naïve Bayes e o Support Vector Machine. A Seção 2.1 descreve cada uma destas técnicas.

(28)

2.1 Métodos de Classificação Automática de Textos

O processo de classificação de documentos de texto necessita da apresentação de um conjunto de exemplos de treinamento rotulados a um indutor. A tarefa do indutor é gerar uma hipótese, denominada descrição de conceito, a partir do qual, dado um novo texto não rotulado, o classificador é capaz de determinar sua classe (MATSUBARA, 2004).

Os métodos ou técnicas de classificação de textos são criados através da apresentação deste conjunto de exemplos de treinamento para um algoritmo de aprendizagem, e posteriormente testados através da classificação de um conjunto de exemplos de teste. Como a classe de um documento é induzida a partir de exemplos que estão pré-classificados, as técnicas de classificação utilizam aprendizado supervisionado (MARTINS, 2003).

Os conjuntos de treinamento e teste devem ser obtidos a partir de uma coleção de documentos que foram previamente classificados, manualmente ou não; e não é desejável que exista uma intersecção entre estes dois conjuntos.

As técnicas de classificação baseadas em aprendizagem possuem, basicamente, três etapas (CAMARGO, 2007):

1. Treinamento: fase em que é realizada a aprendizagem a partir do conjunto de exemplos de treinamento;

2. Teste: o conjunto de exemplos de teste é classificado, sendo avaliados os resultados, podendo haver necessidade de repetir o treinamento;

3. Fase de uso: o sistema é utilizado para classificar documentos não rotulados. As seções a seguir apresentam as técnicas de classificação, baseadas em aprendizagem supervisionada, que serão aplicadas e comparadas neste trabalho para classificação automática de textos.

(29)

2.1.1 Naïve Bayes

Naïve Bayes é uma das técnicas de aprendizagem bayesiana mais utilizada para a

tarefa de categorização de documentos (MITCHELL, 1997). Nesta abordagem, a partir da probabilidade de que um conjunto de palavras pertença a algum documento de determinada categoria, é feito o cálculo da probabilidade de um determinado documento pertencer a esta categoria. Dentre todas as categorias possíveis, o documento é atribuído àquela que possuir maior probabilidade, realizando, portanto, uma classificação simples.

Cada um dos exemplos do conjunto de treinamento é descrito por uma série de atributos, que indicam a presença ou ausência de termos. A classificação é realizada pela seleção da categoria mais provável para cada um dos documentos, por meio de uma função (CORREA, 2002).

A técnica Naïve Bayes foi elaborada pela suposição de que os atributos que indicam a presença dos termos são condicionalmente independentes. Sendo assim, a probabilidade de ocorrência de um conjunto de atributos em um dado exemplo é igual ao produto das probabilidades de ocorrência de cada atributo isoladamente. A Equação 4 apresenta a fórmula de atribuição da categoria ao documento de teste.

 = max  × ∏ P "( #%$&') (4)

Onde:

vNB é a categoria atribuída ao documento; • vj é cada uma das possíveis categorias;

P(vj) é a probabilidade inicial de cada categoria;

P(ai /vj) é a probabilidade de ocorrência de cada atributo dada a categoria.

2.1.2 Support Vector Machine (SVM)

Máquina de Vetores de Suporte, do inglês Support Vector Machine, é um método de aprendizado de máquina utilizado para reconhecimento de padrões definidos sobre

(30)

o espaço vetorial. O problema consiste em

entre hiperplanos definidos pela representação dos dados de duas classe WATTERS, SHEPERD, 2002

A solução ótima é obtida com

hiperplanos. Estas fronteiras são definidas por um subconjunto reduzido de pontos, que são chamados de

2009).

A Figura 5 mostra os vetores de suporte de duas categorias. A partir destes vetores, a máquina SVM define os hiperplanos de cada categoria com a maior margem possível. A decisão da categoria de um novo

do vetor do documento em relação à hiperplanos.

Figura 5

Em alguns casos não é possível encont hiperplanos, conforme é apresentado na deste problema é a utilização de funções

projetar os vetores de características em um espaço com maior dimensão, e en O problema consiste em encontrar uma superfície

entre hiperplanos definidos pela representação dos dados de duas classe WATTERS, SHEPERD, 2002).

é obtida com a máxima margem existente entre as fronteiras dos . Estas fronteiras são definidas por um subconjunto reduzido de pontos,

vetores de suporte (MANNING; RAGHAVAN; S

mostra os vetores de suporte de duas categorias. A partir destes vetores, a máquina SVM define os hiperplanos de cada categoria com a maior margem possível. A decisão da categoria de um novo documento é feita a partir

do vetor do documento em relação à superfície de separação definida entre os dois

- Margem entre hiperplanos de duas categorias.

Em alguns casos não é possível encontrar uma separação linear entre dois hiperplanos, conforme é apresentado na Figura 6.a. Uma abordagem p

deste problema é a utilização de funções kernel. Estas funções têm a finalidade de projetar os vetores de características em um espaço com maior dimensão, e en

superfície de separação entre hiperplanos definidos pela representação dos dados de duas classes (BASU,

a máxima margem existente entre as fronteiras dos . Estas fronteiras são definidas por um subconjunto reduzido de pontos, (MANNING; RAGHAVAN; SCHÜTZE,

mostra os vetores de suporte de duas categorias. A partir destes vetores, a máquina SVM define os hiperplanos de cada categoria com a maior margem documento é feita a partir da posição superfície de separação definida entre os dois

Margem entre hiperplanos de duas categorias.

rar uma separação linear entre dois .a. Uma abordagem para a solução . Estas funções têm a finalidade de projetar os vetores de características em um espaço com maior dimensão, e então

(31)

para este novo espaço é traçado um hiperplano ótimo separando as classes (MANNING; RAGHAVAN; SCHÜTZE, 2009)

vetores não linearmente separáveis em uma dimensão (a), em onde é possível separar linearmente os vetores (b).

Figura 6 - Projeção de dados não linearmente separáveis (a) em um espaço de dimensão maior que pode ser separado linearme

2.1.3 K-Vizinhos mais Próximos (

A técnica K-Nearest Neighbor

similaridade de um documento com um conjunto de exemplos de treinamento previamente classificados. A categoria do docu

das categorias dos vizinhos mais próximos, ou seja, que possuem uma maior similaridade (CAMARGO, 2007).

A técnica KNN assume que documentos podem ser representados como pontos em um espaço Euclidiano (Figura

igual à quantidade de atributos analisados. Os vizinhos mais próximos de um documento são, geralmente, definidos em função da distância Euclidiana.

para este novo espaço é traçado um hiperplano ótimo separando as classes (MANNING; RAGHAVAN; SCHÜTZE, 2009). A Figura 6 apresenta a projeção de

ente separáveis em uma dimensão (a), em onde é possível separar linearmente os vetores (b).

Projeção de dados não linearmente separáveis (a) em um espaço de dimensão maior que pode ser separado linearmente (b).

ais Próximos (K-Nearest Neighbor)

Nearest Neighbor (KNN) realiza a classificação a partir da análise de

similaridade de um documento com um conjunto de exemplos de treinamento previamente classificados. A categoria do documento é definida pela ponderação das categorias dos vizinhos mais próximos, ou seja, que possuem uma maior similaridade (CAMARGO, 2007).

A técnica KNN assume que documentos podem ser representados como pontos em Figura 7), sendo que o número de dimensões do espaço é igual à quantidade de atributos analisados. Os vizinhos mais próximos de um

ente, definidos em função da distância Euclidiana.

para este novo espaço é traçado um hiperplano ótimo separando as classes apresenta a projeção de ente separáveis em uma dimensão (a), em duas dimensões

Projeção de dados não linearmente separáveis (a) em um espaço de dimensão

a partir da análise de similaridade de um documento com um conjunto de exemplos de treinamento mento é definida pela ponderação das categorias dos vizinhos mais próximos, ou seja, que possuem uma maior

A técnica KNN assume que documentos podem ser representados como pontos em endo que o número de dimensões do espaço é igual à quantidade de atributos analisados. Os vizinhos mais próximos de um

(32)

Figura 7 - Representação dos documentos em um espaço de duas dimensões.

O cálculo de um fator de similaridade com cada documento de treinamento vizinho ao documento a ser classificado é usado como peso de suas categorias (CORREA, 2002). A cada categoria é atribuída uma pontuação que é calculada a partir do somatório dos pesos dos k-vizinhos que pertençam a esta categoria. Esta soma resultante é usada como pontuação da possibilidade do documento de teste pertencer àquela categoria. Após a análise de todos k-vizinhos, a categoria que possuir maior pontuação é atribuída ao documento.

2.2 Medidas de Avaliação de Eficácia

Um classificador de textos pode falhar na tomada de decisão basicamente de duas formas: decidindo que um documento de determinada categoria não pertença a ela, os falsos negativos, ou inserindo documentos em uma categoria que eles não pertençam, os falsos positivos. Na Figura 8, apenas os documentos ao centro estão corretamente classificados.

(33)

Figura 8 - Documentos corretamente classificados.

Um sistema de classificação decide se cada documento está ou não presente em determinada categoria. Considerando que um classificador realiza um conjunto de decisões binárias, Lewis (1991) propôs um modelo de tabela de contingência, ilustrada na Tabela 2. A Tabela de Contingência é preenchida para cada categoria, sendo que cada entrada especifica o número de decisões de cada tipo.

Tabela 2 - Tabela de Contingência para um conjunto de decisões binárias.

Sim é correto Não é correto

Decide Sim a (verdadeiro positivo) b (falso positivo) a + b

Decide Não c (falso negativo) d (verdadeiro negativo) c + d

a + c b + d n = a + b + c + d

Fonte: (LEWIS, 1991)

A partir da análise da Tabela de Contingência é possível extrair um conjunto de métricas de avaliação de eficácia para sistemas de decisão binária. A seguir serão apresentados alguns indicadores utilizando os dados presentes na Tabela 2:

Precisão: mede a proporção entre a quantidade de documentos corretamente classificados e o número total de documentos classificados em uma determinada categoria (CORREA, 2002). A precisão é máxima quando todos os documentos classificados em determinada categoria realmente pertençam a ela. A fórmula de cálculo da precisão é definida na Equação 5.

*+,-./.01 = 2 3 42 (5)

Recall ou Abrangência: é a proporção de documentos relevantes que foram

rotulados corretamente para determinada categoria (LEWIS, 1991). O recall indica a cobertura dos documentos de uma categoria. Seu valor é máximo quando todos os

(34)

documentos de uma categoria forem atribuídos a ela. A fórmula de cálculo do recall é definida na Equação 6.

+,-566 = 2 3 72 (6)

Fallout: mede a proporção de documentos irrelevantes que são rotulados (LEWIS,

1991). Ele é mínimo quando nenhum documento irrelevante é rotulado. A fórmula de cálculo do fallout é definida na Equação 7.

856609: = 4 3 ;4 (7)

Medida F: é calculada a partir da média harmônica entre a precisão e o recall (CORREA, 2002). Sua importância na avaliação da qualidade da classificação é evidenciada pela união de duas métricas que isoladas podem gerar uma avaliação distorcida. Um classificador pode possuir precisão elevada, retornando poucos documentos; ou possuir recall alto, retornando muitos documentos não-relevantes. Uma medida F elevada indica que a precisão e o recall são elevados. A fórmula de cálculo da medida f é definida na Equação 8.

 = 

<=>7?2@

A 3  =>72BBA (8)

Acurácia ou grau de acerto: é a razão entre a quantidade de documentos corretamente classificados e o número total de documentos que foram classificados (CAMARGO, 2007). A acurácia é máxima quando todos os documentos forem classificados corretamente. É calculada a partir da seguinte fórmula da Equação 9.

5--9+5-C = 23; (9)

2.3 Trabalhos Relacionados

Araújo (2009) faz uma análise da eficiência das técnicas utilizadas na fase de pré-processamento, utilizando como cenário de avaliação um problema de classificação. O autor utilizou o software Weka© para a tarefa de classificação. Araújo (2009) concluiu que o método de distribuição de pesos binário foi o mais eficiente na

(35)

classificação da base Reuters-21578. Em seus experimentos, o classificador Naïve

Bayes apresentou maior exatidão que o KNN.

Camargo (2007) aborda uma classificação automática de textos em português. Os classificadores utilizados são o Naïve Bayes, a Máquina de Vetor Suporte e um classificador baseado em regras de decisão. O autor conclui que o Naïve Bayes oferece os melhores resultados na classificação de textos.

Na área de classificação de textos, Correa (2002) efetua a categorização de textos utilizando redes neurais artificiais e compara com os resultados obtidos por outras técnicas. Em Correa (2002), as técnicas Naïve Bayes e Perceptron Multicamadas apresentaram os melhores resultados. Em um de seus experimentos, o classificador

Naïve Bayes obteve um percentual de 76,75% de abrangência e precisão, enquanto

as redes Multilayer Perceptron obtiveram abrangência e precisão iguais a 72,22%. Yin (1996) propõe a categorização de textos utilizando uma rede neural artificial treinada através do algoritmo de aprendizagem Back Propagation. Neste trabalho, o autor utiliza algumas técnicas de pré-processamento para diminuir o espaço de características analisadas pelo classificador. Para o teste de eficiência do modelo é utilizado um subconjunto da base Reuters-22173.

(36)

3

M

ETODOLOGIA

Neste capítulo, serão discutidos os métodos empregados na implementação, treinamento e avaliação dos classificadores. Além disso, será descrita a coleção de documentos utilizada para avaliação e validação do classificador.

As técnicas de pré-processamento, representação e classificação automática de textos foram implementadas utilizando a linguagem Java 6. As simulações foram realizadas em um computador AMD Quad-Core com 4 GB de memória RAM, sendo que 2 GB de memória foram dedicadas à máquina virtual Java 6.15 (64 bits).

Durante o desenvolvimento do trabalho, foi dado ênfase à abordagem de técnicas de mineração relacionadas à língua inglesa. Esta abordagem é utilizada em muitos trabalhos na área de Mineração de Textos, dentre eles, os trabalhos de Correa (2002), Yin (1996) e Lewis (1991). Além disso, a base de dados utilizada para a simulação contém apenas documentos na língua inglesa.

Neste trabalho, foram realizadas as seguintes etapas:

• Seleção e implementação de técnicas de pré-processamento de textos e representação de textos;

• Seleção e implementação de técnicas de reconhecimento e classificação de padrões;

• Levantamento de bases de texto para a avaliação da solução;

• Avaliação da eficiência e aplicabilidade de cada técnica.

Este capítulo está organizado da seguinte forma: a Seção 3.1 apresenta os critérios analisados para a seleção da coleção de textos e quais conjuntos de dados desta coleção serão utilizados; a Seção 3.2 descreve a arquitetura do sistema de classificação desenvolvido; a Seção 3.3 apresenta as técnicas de pré-processamento e representação, e a metodologia aplicada na seleção das técnicas aplicadas à classificação; e por fim, na Seção 3.4, são descritas as técnicas de classificação e os métodos de avaliação de resultados utilizados.

(37)

3.1 Seleção e Preparação da Coleção

Para simulação e análise das técnicas de classificação de textos, é necessária uma coleção de documentos previamente classificados. Desta coleção, um conjunto de documentos é utilizado para o treinamento do classificador, enquanto outro conjunto é utilizado para teste.

Neste trabalho, foram utilizados os documentos da coleção Reuters-21578. Esta coleção de notícias foi publicada pela Reuters durante o ano de 1987. Os documentos foram classificados manualmente por funcionários da Reuters Ltd. e Carniege Group Inc., e posteriormente disponibilizados para fins de estudo na área de Recuperação de Informação (CORREA, 2002).

Uma vantagem da utilização da Reuters-21578 é que diversos estudos nas áreas de Mineração de Textos e Recuperação da Informação foram realizados a partir desta coleção, dentre eles, os trabalhos de Correa (2002), Joachims (1998) e Lewis (1991).

Outra vantagem é que o conteúdo da coleção é relativamente diversificado e extenso. Os documentos estão divididos em 120 categorias. A coleção contém 21.578 notícias na língua inglesa, distribuídos em 22 arquivos no formato Standard

Generalized Markup Language (SGML). Além disso, a coleção é disponibilizada

gratuitamente e seus documentos representam dados reais.

Com o objetivo de reduzir a complexidade das técnicas de classificação utilizadas neste trabalho, optou-se pela realização de classificação simples, onde um documento pertence a apenas uma categoria. Para tal, foi utilizado o subconjunto de documentos da base Reuters-21578 que possuem um único rótulo. Este subconjunto é composto por 9.494 documentos. Na Tabela 3, é ilustrada a quantidade de documentos de acordo com a quantidade de rótulos.

Tabela 3 - Distribuição dos textos da base Reuters de acordo com a quantidade de rótulos.

Quantidade de rótulos Quantidade de documentos Nenhum Rótulo 10 211 Rótulos Simples 9 494 Rótulos Múltiplos 1 873

(38)

Conforme dito anteriormente, esta coleção é composta por 120 categorias, porém a quantidade de documentos por coleção não é uniforme. A maior categoria possui 3.987 documentos, e outras, como red-bean e cottonseed, possuem apenas um documento. Sendo assim, a seleção de quais categorias serão utilizadas deve levar em consideração a quantidade de documentos necessários para treinamento e teste. A Tabela 4 apresenta as categorias que possuem maior quantidade de documentos.

Tabela 4 - Principais categorias da base Reuters-21578.

Categoria Quantidade de documentos earn 3 987 acq 2 448 money-fx 801 crude 634 grain 628 trade 552 interest 513 wheat 306 ship 305 corn 254 dlr 217 oilseed 192

Com a finalidade de reduzir o esforço computacional, optou-se por limitar a quantidade de categorias analisadas. Araújo (2009) e Correia (2002) utilizaram subconjuntos de documentos da base Reuters-21578 com uma quantidade limitada de categorias. Em Araújo (2009), dois subconjuntos da base Reuters foram analisados. O primeiro composto pelas categorias: crude, trade e money-fx; e o segundo formado por: interest, money-supply, ship, sugar e coffee. Correia (2002) utilizou um subconjunto da base Reuters-21578, chamado metais, que é formado pelas categorias: alum, copper, gold, iron-steel, silver e zinc. Com a finalidade de possibilitar a comparação dos resultados, foram utilizados estes mesmos subconjuntos de documentos neste trabalho. A Tabela 5 apresenta estas coleções.

(39)

Tabela 5 - Coleções da base Reuters utilizadas neste trabalho.

Coleção Categorias Quantidade de

documentos Reuters-3C crude, trade e

money-fx 947 Reuters-5C coffee, interest, money-supply, ship e sugar 708 Reuters-6C (metais)

alum, copper, gold, iron-steel, silver e

zinc

264

3.2 Arquitetura

A arquitetura do classificador de textos foi elaborada com base nas três etapas da Mineração de Textos. O sistema é composto basicamente pelos módulos: PreProcessing, TermWeighting e Classifying. O módulo PreProcessing efetua o pré-processamento do texto; o módulo TermWeighting é responsável pela representação vetorial dos documentos; e o módulo Classifying realiza a extração de conhecimento através da classificação. A Figura 9 apresenta o diagrama de classes contendo os principais módulos do sistema classificador desenvolvido.

Além destes módulos, o sistema possui módulos auxiliares. O módulo Reuters extrai a informação contida em arquivos no formato da coleção Reuters-21578. O módulo Assessment efetua a avaliação dos resultados da classificação. O módulo Report é responsável por gerar relatórios após a execução de cada fase da mineração.

Para que seja possível realizar a classificação, é necessário treinar o classificador previamente. Durante a fase de treinamento, um conjunto de características dos documentos de treinamento é extraído e armazenado. Durante a fase de classificação, estas características são comparadas as características extraídas dos documentos de testes, e, a partir destas comparações, a classe de cada documento é definida. As etapas do treinamento são apresentadas no Apêndice A - Diagrama de Seqüência de Treinamento. As etapas da categorização de documentos são apresentadas no Apêndice B - Diagrama de Seqüência de Classificação.

(40)

Figura 9 - Diagrama de Classes do Classificador.

O classificador foi desenvolvido visando ser configurável e extensível. A alteração de quais técnicas de pré-processamento, representação e classificação serão utilizadas é feita a partir de um arquivo de configuração. A adição de novas técnicas de categorização é feita sem necessidade de alteração do código base. As classes que são responsáveis por realizar a classificação devem implementar os métodos de treinamento e classificação da interface Classifier.

(41)

3.3 Pré-processamento e Representação

Nesta seção, serão apresentados a metodologia utilizada na implementação das técnicas de pré-processamento e representação, e o conjunto de combinações destas técnicas que serão analisadas para cada classificador.

3.3.1 Pré-processamento

O pré-processamento tem como objetivo preparar o texto para que seja feita a extração do conhecimento. A etapa de pré-processamento é fundamental para o desempenho da classificação. Para garantir uma qualidade final dos resultados é necessário obter uma boa representação minimizando a perda de informação durante esta fase.

O primeiro passo do pré-processamento de textos é a análise léxica, onde as palavras são extraídas dos documentos. Neste trabalho, as palavras extraídas são pré-validadas, palavras com menos de três caracteres ou que contenham números são descartadas. Além disso, os caracteres são padronizados como letras minúsculas para facilitar sua comparação. A análise léxica dos documentos da base Reuters que possuem corpo e um único rótulo extraiu 24.478 termos distintos, levando em média 7.300 milissegundos.

Com o objetivo de diminuir o custo computacional nas outras etapas do pré-processamento, o cálculo de ocorrências de cada termo no documento foi realizado durante a análise léxica. Desta forma, a complexidade algorítmica dos próximos passos do pré-processamento que era dada em função da quantidade de palavras no documento, sendo elas repetidas, ou não, é reduzida à quantidade de termos distintos.

A remoção de Stopwords tem o objetivo de reduzir a dimensionalidade dos vetores de termos, eliminando palavras de uso freqüente que pouco contribuem para a identificação do conteúdo relacionado a um documento. Yin (1996), em seu trabalho sobre categorização de textos através de redes neurais artificiais, propôs uma lista de Stopwords para a língua inglesa, a qual será utilizada neste trabalho. O módulo

(42)

de remoção de Stopwords verifica se a palavra em análise está contida na lista de

Stopwords, e caso esteja, esta é removida do conjunto de palavras. Após a

execução deste algoritmo, o número de termos foi reduzido para 24.126, e o pré-processamento levou em média 8.200 milissegundos.

A técnica de Stemming tem a finalidade de diminuir a dimensionalidade da coleção a partir da identificação de padrões nos radicais das palavras. Para a língua inglesa, o algoritmo de extração de radicais de Martin Porter é o mais conhecido e aceito pela comunidade da área (CORREA, 2002). Neste trabalho, foi utilizada a implementação do algoritmo de Porter desenvolvida por John Keyes e disponível em (TARTARUS, 2004). A sequência de execução deste algoritmo é apresentada no Anexo A - Algoritmo de Porter. Com a adoção desta técnica, após cerca de 9.600 milissegundos de pré-processamento, foram extraídos 17.859 termos.

Termos de uma coleção que possuem poucas ocorrências ou são muito freqüentes têm pouca relevância na etapa de Mineração de Textos. Por exemplo, a análise de um termo que possui apenas uma ocorrência em toda a coleção terá pouca influência na distinção sobre qual classe o documento pertence, exceto casos em que a categoria possua apenas um documento. Com o objetivo de reduzir a quantidade de termos analisados através da seleção daqueles que sejam mais relevantes, foram utilizados os cortes de Luhn. As linhas de corte foram traçadas a partir da análise da Tabela 6.

Neste trabalho, para evitar uma tarefa de ordenação por freqüência entre todos os termos, as linhas de corte foram definidas em função da freqüência de cada termo e não da ordem deste termo na função de ordenação de Zipf. Foram considerados relevantes os termos que possuem entre 5 e 1.000 ocorrências, os demais foram removidos. A freqüência total dos termos com mais de 1.000 ocorrências representam cerca de 50% da soma das freqüências de todos os 17.859 termos extraídos após a realização do Stemming. Os termos com menos de 5 ocorrências representam cerca de 60% do número total de termos distintos.

Referências

Documentos relacionados

Esta pesquisa discorre de uma situação pontual recorrente de um processo produtivo, onde se verifica as técnicas padronizadas e estudo dos indicadores em uma observação sistêmica

Roberto Cabrini: É hora do almoço!.. Fernando Sardinha: E aqui é onde eu costumo comer sempre. Isso faz parte de uma das sete refeições por dia. Fernando Sardinha: Variações

As organizações sindicais aceitam reservar para as negociações a decorrer no Ministério das Finanças a recuperação do tempo de serviço perdido pela aplicação da Lei 43/2005,

Por outro lado, a batimetria correspondente a cada zona costeira pode envolver quer zonas de grande profundidade, quer de pequena profundidade e, para qualquer dessas zonas,

§ 4º Os livros ou fichas do Diário, bem como os livros auxiliares referidos no § 1º, deverão conter termos de abertura e de encerramento, e ser submetidos à autenticação

Verificada a possibilidade de não utilização de todos os apartamentos pré- reservados conforme requisição de serviços, ainda dentro do prazo de envio do rooming

beneficiadas com investimentos para a Copa e as Olimpíadas, mas em áreas periféricas da cidade. Não é por acaso que a grande parte das famílias de baixa renda foi

Pertenceu às Direcções ou outros Corpos da: Associação Portuguesa de Escritores, Associação Portuguesa de Literatura Comparada, Associação Portuguesa de Tradutores,