• Nenhum resultado encontrado

Nos ´ultimos anos outros investigadores tˆem desenvolvido trabalhos sobre classifica¸c˜ao de textos escritos na l´ıngua Portuguesa. De seguida referem-se sucintamente alguns deles.

Langie [2004] e Moraes and Lima [2007] utilizam o algoritmo dos k-vizinhos-mais- pr´oximos num processo de classifica¸c˜ao hier´arquica de documentos com uma repre- senta¸c˜ao saco-de-palavras. Ambos utilizam a mesma hierarquia de classes desenvolvida por Langie mas enquanto o primeiro utiliza um corpus com relativamente poucos documentos (2896 textos jornal´ısticos), o corpus do ´ultimo tem 26606 textos do corpus PLN-BR CATEG.

Oliveira et al. [2007] utilizam redes neuronais com uma representa¸c˜ao saco-de-palavras para classificar um conjunto de 3281 relat´orios de objectivos de empresas brasileiras em 764 classes, um subconjunto das actividades econ´omicas reconhecidas pela lei Brasileira. A informa¸c˜ao morfo-sint´actica gerada pelo PALAVRAS ´e utilizada por Silva and Vieira [2007] na selec¸c˜ao de termos de indexa¸c˜ao de documentos da Folha de S. Paulo (o corpus Folha descrito em 7.2.2). Utilizando uma representa¸c˜ao saco-de-palavras comparam algoritmos de ´arvores de decis˜ao e m´aquina de vectores de suporte e referem que, ao contr´ario do primeiro, na m´aquina de vectores de suporte o aumento do n´umero de termos tem uma influˆencia de cont´ınua redu¸c˜ao dos erros.

Por outro lado, Camargo [2007] utiliza o mesmo tipo de informa¸c˜ao morfo-sint´actica para comparar os algoritmos na¨ıve de Bayes e m´aquina de vectores de suporte, apli- cando estes algoritmos de aprendizagem aos corpora Folha e Teses. Este ´ultimo corpus ´e composto por 475 documentos com o resumo de teses de p´os-gradua¸c˜ao que est˜ao distribuidos por 5 classes. Os resultados obtidos indicam que o algoritmo na¨ıve de Bayes gera classificadores com percentagem de erros mais baixas, pelo menos em representa¸c˜oes com um pequeno n´umero de termos; no entanto n˜ao foram feitos testes de significˆancia entre as diferen¸cas.

Rigo et al. [2007] classificam documentos relacionados com linguagens de programa¸c˜ao orientada por objectos, utilizando informa¸c˜ao lingu´ıstica descrita em ontologias do dom´ınio. Esta ontologia foi criada manualmente a partir de conceitos sobre a estrutura dos documentos e do pr´oprio dom´ınio; foram identificados os termos mais frequen- tes, al´em de sin´onimos e poss´ıveis hierarquias entre conceitos. Com a utiliza¸c˜ao de heur´ısticas e da ontologia s˜ao identificadas as constru¸c˜oes relevantes que permitem a

classifica¸c˜ao de documentos nesse dom´ınio. Para a classifica¸c˜ao foram utilizados 46 documentos: 37 documentos jornal´ısticos da Folha de S. Paulo, 4 de um livro did´actico de ciˆencias e 2 tutoriais sobre linguagens de programa¸c˜ao orientada por objectos. Aires et al. [2004] classificam p´aginas Web escritas em Portuguˆes do Brasil num con- junto de 7 classes. Estas correspondem a inten¸c˜oes de pesquisa do utilizador durante a navega¸c˜ao (por exemplo a pesquisa de uma defini¸c˜ao, um estudo ou uma not´ıcia sobre determinado assunto). Utiliza as ´arvores de decis˜ao da ferramenta WEKA e baseia-se em 46 caracter´ısticas estil´ısticas dos documentos; o corpus ´e composto por 511 documentos distribuidos equitativamente pelas 7 classes.

Por outro lado, Pavelec et al. [2006] utilizam atributos estilom´etricos da l´ıngua Portu- guesa para identificar a autoria de documentos digitais. A abordagem utiliza m´aquinas de vectores de suporte aplicada a um corpus de 150 textos jornal´ısticos escritos por 10 autores. A extrac¸c˜ao dos atributos estilom´etricos baseia-se na an´alise sint´actica, utilizando ocorrˆencias normalizadas de conjun¸c˜oes.

Cap´ıtulo 5

N´ucleos para classifica¸c˜ao de texto

Em CT, e como referido na sec¸c˜ao 4.3.2, os melhores desempenhos tˆem sido obtidos pelos classificadores baseados em m´etodos de estimula¸c˜ao, m´aquinas de vectores de suporte, m´etodos baseados em exemplos e m´etodos de regress˜ao. Algumas varia¸c˜oes do m´etodo de Rocchio e de ´arvores de decis˜ao tamb´em apresentaram resultados equi- valentes.

Neste estudo escolheu-se, como algoritmo de classifica¸c˜ao, a m´aquina de vectores de suporte (MVS). Este algoritmo insere-se num conjunto mais vasto de m´etodos de an´alise de padr˜oes1 – os m´etodos de n´ucleo2. Esta aproxima¸c˜ao coloca os dados num

espa¸co de caracter´ısticas3 apropriado e utiliza algoritmos baseados em ´algebra linear,

geometria e estat´ıstica para descobrir padr˜oes nos dados transformados. Este espa¸co ´e especificado de forma natural mas indirecta, atrav´es de uma fun¸c˜ao de n´ucleo4.

A escolha deste algoritmo justifica-se pelos seguintes factos:

• os m´etodos de regress˜ao e de estimula¸c˜ao s˜ao pouco eficientes na fase de cons- tru¸c˜ao do classificador;

• a constru¸c˜ao de uma ´arvore de decis˜ao embora mais r´apida que os m´etodos ante- riores ´e muito mais lenta que um classificador baseado em m´aquina de vectores de suporte;

• os m´etodos baseados em exemplos s˜ao pouco eficientes na fase de classifica¸c˜ao; • o m´etodo de Rocchio (modificado) embora possua uma eficiˆencia computacional

1

Do inglˆes, pattern analysis methods.

2

Do inglˆes, kernel methods.

3

Do inglˆes, feature space.

4

Do inglˆes, kernel function.

equiparada `a MVS, ´e considerado um m´etodo com fracas bases te´oricas5 [Joa-

chims 2002; Moschitti 2003b].

Mais ainda, por constituir um m´etodo de n´ucleo, a utiliza¸c˜ao de exemplos estruturados ´e mais simples j´a que n˜ao exige altera¸c˜oes ao funcionamento do algoritmo.

Este Cap´ıtulo come¸ca por apresentar os m´etodos de n´ucleo, enumerando, de seguida, as propriedades te´oricas que caracterizam as fun¸c˜oes de n´ucleo e os espa¸cos de carac- ter´ısticas induzidos. A sec¸c˜ao 5.3 introduz as m´aquinas de vectores de suporte e a sec¸c˜ao 5.4 mostra como o modelo do espa¸co de vectores desenvolvido pela comunidade de RI pode ser reinterpretado por fun¸c˜oes de n´ucleo e apresenta n´ucleos para dados estruturados.

Os conceitos b´asicos sobre ´algebra linear s˜ao apresentados no Anexo D; as demons- tra¸c˜oes dos teoremas e propriedades relativos aos n´ucleos encontram-se em [Shawe- Taylor and Cristianini 2004, Cap´ıtulo 3].

5.1

M´etodos de n´ucleo

A estrat´egia adoptada pelos m´etodos de n´ucleo consiste em mapear os dados para um espa¸co de caracter´ısticas onde os padr˜oes6 existentes possam ser descobertos atrav´es

de rela¸c˜oes lineares7. Este processo ´e realizado de forma modular j´a que cada um dos

passos ´e realizado por componentes distintos.

A componente de mapeamento dos dados ´e definida implicitamente atrav´es de uma fun¸c˜ao de n´ucleo. Ela depende dos dados espec´ıficos do problema e do conhecimento acerca dos padr˜oes que se espera encontrar e pode ser constru´ıda a partir de diferentes tipos de dados.

Neste novo espa¸co de caracter´ısticas, s˜ao ent˜ao encontrados padr˜oes lineares atrav´es de algoritmos de aprendizagem gen´ericos, robustos e eficientes. S˜ao robustos porque tˆem bases estat´ısticas firmes que lhe conferem resistˆencia ao sobre-ajustamento e eficientes porque requerem uma quantidade de recursos computacionais de ordem polinomial com o tamanho e n´umero de exemplos, mesmo quando a dimens˜ao do novo espa¸co cresce exponencialmente.

A Figura 5.1 mostra um exemplo entre as rela¸c˜oes existentes nos dados no espa¸co de exemplos e no novo espa¸co de caracter´ısticas.

5

Do inglˆes, theorically weak method.

6

Entende-se por padr˜ao, uma rela¸c˜ao existente nos dados, seja ela exacta, aproximada ou estat´ıstica.

7

Figura 5.1: Atrav´es da fun¸c˜ao Φ, os exemplos s˜ao mapeados para um espa¸co de caracter´ısticas onde as rela¸c˜oes n˜ao lineares se tornam lineares. A fun¸c˜ao de n´ucleo permite encontrar essas rela¸c˜oes directamente a partir dos exemplos.

A modularidade dos m´etodos de n´ucleo torna o desenho de sistemas de aprendizagem simples e elegante: os m´odulos s˜ao combinados entre si para obter um sistema de aprendizagem. Al´em disso, permite a reutiliza¸c˜ao do algoritmo de aprendizagem e da fun¸c˜ao de n´ucleo. O mesmo algoritmo pode ser utilizado com qualquer n´ucleo e, desta forma, em qualquer dom´ınio e a componente do n´ucleo, que ´e espec´ıfica para cada tipo de dados, pode ser combinada com diferentes algoritmos para resolver uma completa gama de tarefas de an´alise de padr˜oes. Entre essas tarefas, destacam-se a classifica¸c˜ao bin´aria e multi-classe, a regress˜ao, a detec¸c˜ao de novidades8, o agrupamento9 e a

redu¸c˜ao de dimens˜ao10. Shawe-Taylor and Cristianini [2004] apresentam e discutem

diversos (tipos de) algoritmos de aprendizagem que utilizam m´etodos de n´ucleo. A Figura 5.2 mostra as etapas envolvidas na utiliza¸c˜ao de m´etodos de n´ucleo. Este constitui o aprendiz da aproxima¸c˜ao de Aprendizagem Autom´atica na classifica¸c˜ao de textos (ver Figura 3.1).

Figura 5.2: Os dados s˜ao processados utilizando uma fun¸c˜ao de n´ucleo para criar uma matriz que, por sua vez, ´e processada por um algoritmo de aprendizagem que produz uma fun¸c˜ao que reconhece padr˜oes. Esta fun¸c˜ao ´e utilizada para classificar novos exemplos.

8

Do inglˆes, novelty detection.

9

Do inglˆes, clustering.

10

Do ponto de vista computacional os m´etodos de n´ucleo tˆem duas propriedades im- portantes. Primeiro, permitem o acesso a espa¸cos de caracter´ısticas de muito grandes dimens˜oes e, assim, muito flex´ıveis, com um baixo custo computacional em termos de tempo e espa¸co. Depois, e apesar da complexidade das classes de fun¸c˜oes resultan- tes, uma grande parte dos algoritmos resolve problemas de optimiza¸c˜ao convexa n˜ao sofrendo, assim, de m´ınimos locais.