• Nenhum resultado encontrado

Equação 10: Honore

1. INTRODUÇÃO

2.6. DESENVOLVIMENTO

Nesta seção será exposto o aplicativo utilizado que auxiliou a aplicação da abordagem por meio do classificador SVM, que foi o ambiente WEKA [HFHPRW09]. Será apresentada, também, a linguagem de programação utilizada para criação das ferramentas que foram necessárias para a continuidade da pesquisa, como as de extração de atributos e o PPM.

2.6.1. WEKA

A utilização do SVM neste trabalho se deu por meio do ambiente WEKA. O projeto WEKA, acrônimo para Waikato Environment for Knowledge Analysis, foi desenvolvido pelo governo da Nova Zelândia, e criado em 1993 [HFHPRW09]. No ano de 2006, o projeto WEKA foi adquirido pela empresa Pentaho Corporation [WF05].

A meta inicial deste projeto foi criar um aplicativo que reunisse as principais técnicas de aprendizado de máquina e Inteligência Artificial (IA), para

ser aplicada em áreas chaves na economia da Nova Zelândia. Além disso, um requisito importante para seu desenvolvimento é que ela deveria ser de fácil manipulação, podendo ajustar os algoritmos disponibilizados rapidamente [HFHPRW09].

A motivação de se reunir diversos algoritmos em uma única ferramenta computacional reside no fato de que nem todos os algoritmos de aprendizado de máquina e IA são apropriados para todos os contextos [WF05]. Na verdade, dependendo da aplicação a ser utilizada, deve-se utilizar mais de um algoritmo em busca da solução mais adequada.

A ferramenta WEKA pode ser utilizada por meio de sua interface gráfica ou pela linha de comando. A interface gráfica inicial disponível, que pode ser vista na Figura 2, divide-se em três categorias:

Explorer: permite ao usuário acessar todos os algoritmos rapidamente, usando os menus de seleção, bem como poder visualizar os gráficos associados aos algoritmos. Por exemplo, quando se utiliza o algoritmo de árvore de decisão é possível conferir a árvore que foi gerada referente àquele conjunto de dados informado;

Knowledge Flow: quando se utiliza a interface Explorer, a ferramenta trabalha com todo o conjunto de dados informado em memória. Com a interface Knowledge Flow, é possível aplicar os algoritmos de classificação apenas em parte dos dados informado e, depois, agregar os resultados;

Experimenter: auxilia o usuário a escolher a abordagem adequada de classificação ou regressão a serem trabalhados com o conjunto de dados informado.

Além dessas três interfaces, como se pode ver na Figura 2, há a opção de SimpleCLI (Command-line interface). Nesta opção, o usuário passará a trabalhar com o WEKA pela linha de comando.

Figura 2: Interface de usuário inicial do WEKA

A interface gráfica utilizada neste projeto foi a Explorer, que pode ser vista na Figura 3, pois os dados utilizados não foram extensos e o algoritmo a ser aplicado, o SVM, foi baseado em outros dois trabalhos [Cor03] e [Pav07]. As áreas mais utilizadas neste trabalho foram PreProcess, que identifica o arquivo com o conjunto de dados e os atributos utilizados, e Classify, que disponibiliza a opção de selecionar o algoritmo de classificação a ser utilizado.

Na aba referente a PreProcess, pode-se escolher trabalhar com todos ou com alguns dos atributos selecionados do texto. É possível, ainda, selecionar alguns filtros para a classificação.

Figura 3: Interface gráfica de usuário do menu Explorer

O algoritmo SVM disponibilizado pelo ambiente WEKA é o Sequencial

Minimal Optimization, ou SMO [Pla99]. No entanto, o SVM utilizado neste

trabalho foi o presente na biblioteca LibSVM, que é uma implementação baseada no SMO, mas com maior eficiência computacional [CL01].

O LibSVM, uma biblioteca integrada de algoritmos do SVM, não é instalado juntamente com o ambiente WEKA. Ela deve ser adicionada à ferramenta separadamente, e está disponível para download em [CL01]. Nessa biblioteca de algoritmos do SVM, estão disponíveis as variantes do SVM para classificação vetorial (C-SVC, nu-SVC) [SSWB00], regressão (epsilon-SVR, nu- SVR) [SPSSW01] e estimativa de distribuição (one-class SVM), suportando a classificação multi-class.

2.6.2. Java

Java é uma linguagem de programação orientada a objetos, criada em meados dos anos 90, oriunda do projeto Green, liderado por Patrick Naughton e James Gosling, com a proposta de melhorar todas as limitações encontradas nas linguagens anteriores, sendo uma delas a portabilidade [HC03].

Na utilização dessa linguagem, geralmente, é dada mais ênfase nos dados e nas operações que um componente suporta. Essa técnica de programação, orientação a objetos, também pode ser encontrada em linguagens como C++, Ada e Smalltalk [WF04].

Além dessas características, o uso dessa linguagem maximiza o conceito de portabilidade, que tem como slogan “Escreva uma vez, rode em qualquer lugar”. Isto quer dizer que, um sistema desenvolvido nessa linguagem não é dependente de uma plataforma específica, como mostra a Figura 4, podendo ser escrita, e compilada, em uma e utilizada, ou interpretada, em várias.

Figura 4: Mecanismo de portabilidade da linguagem Java

Além disso, com o conjunto de desenvolvimento dessa linguagem vêm diversas bibliotecas que são utilizadas constantemente para desenvolvimento

de sistemas, com a finalidade de evitar o desperdício de esforço construindo componentes já criados e consolidados.

2.7. TRABALHOS RELACIONADOS

Diversos métodos já foram utilizados visando minimizar o problema da atribuição de autoria. Em contextos de aplicação geral, não apenas na atribuição de obras literárias, como análise de cartas criminosas e identificação de e-mails classificados como Spam [Cor03], a taxa de classificação correta de documentos está em entre 72% a 89% [Cha05].

No estudo realizado em [Cha05], é tratado da atribuição de autoria de textos baseado em 10 tópicos criados pelo autor. Foram escolhidas 10 pessoas adultas, cinco homens e cinco mulheres, entre 18 e 48 anos de idade. Todos os autores completaram o ensino médio e estavam com pelo menos três anos de curso de alguma graduação superior. Os autores escolhidos tiveram que escrever quatro documentos baseado nesses 10 tópicos. Cada documento era composto por 100 sentenças ou 2000 palavras, independente se em um mesmo texto tratava de mais de um tema. Neste trabalho foram colhidos atributos estilométricos, baseado em análise sintática, para posterior aplicação da análise de função discriminante (DFA) existente no aplicativo SPSS (Statistical Package

for the Social Sciences) [PASW09]. A taxa de acerto obtida foi de 95%.

Dentre as técnicas já utilizadas para otimizar os resultados de classificação de autoria, têm-se redes neurais e métodos de aprendizado estatísticos, como o SVM. Ainda de acordo com o levantamento realizado em [Cha05], os resultados obtidos utilizando redes neurais por [Hay99] e [DA03] foram de 84% de classificação correta. Já com a utilização do SVM a média ficou em torno de 73% em [DVAC01]. Todos esses estudos usaram um número reduzido de autores, entre 4 e 18 escritores na base de dados, e mais de 30 textos por autor.

Outro trabalho que obteve resultados comparáveis com o da literatura foi em [HNADBB07], onde se aborda a questão de atribuição de autoria de obras

da literatura brasileira. Neste trabalho, foram selecionados os mesmos atributos estilométricos que estão disponíveis na Seção 3.3.1, ou seja, baseado nas palavras. Após isso, foram usados os classificados SVM e árvore de decisão, ambos por meio do ambiente WEKA. Para utilização do SVM, foi utilizado o algoritmo nativo do ambiente, que é o SMO. Já para a utilização árvore de decisão, foi utilizada a implementação da árvore C4.5. Foram selecionados 10 autores para compor o banco de autores, neste estudo, onde para cada escritor colheu-se quatro obras. Para classificação com a C4.5 foi obtida uma taxa de 75%, e com o SVM alcançou-se o resultado de 85% de obras classificadas corretamente.

O método PPM também já foi inserida no contexto de atribuição de autoria de artigos para jornais e revistas [POJND09]. Em [POJND09], vinte diferentes perfis de jornalistas e colunistas foram selecionados escrevendo para os mais variados gêneros, sobre economia, política, literatura e esporte. Cada escritor teve 15 textos selecionados. As abordagens de classificação com o SVM e o PPM foram utilizadas e comparadas entre si para verificação da atribuição. Para utilização do SVM foram selecionadas 72 conjunções. Após essa seleção, era informado ao classificador SVM, onde foi utilizado a biblioteca LibSVM, para atribuição de autoria. Com relação aos resultados obtidos, o SVM obteve uma taxa de acerto de 83.3%, enquanto que com a utilização do PPM a taxa de classificação correta foi de 84.3%.

Em outro trabalho realizado [CMRB05], agora com obras literárias, utilizando o PPM como o método de atribuição, a maior taxa de acerto obtida foi de 87,5%. Neste estudo, a base de dados foi composta por 12 autores, e foram selecionados quatro textos por autor. Neste trabalho, os textos sofreram pré- processamento com redução ou supressão de caracteres, como números. Além disso, os caracteres de pontuação foram limitados. Os textos utilizados não foram normalizados, ou seja, foram usados na sua forma integral.

2.8. COMENTÁRIOS FINAIS

Neste capítulo, foram vistas as principais técnicas que fundamentaram e foram importantes para este estudo. Como principais seções têm-se as referentes ao PPM e ao SVM. O PPM, um método de compressão de dados, pelo fato de ser o ponto-chave deste trabalho, enquanto o SVM é o que se está em constante utilização, e apresentando bons resultados, nos trabalhos que envolvem classificação. Para discorrer sobre o SVM, faz-se necessário ressaltar a importância de se haver um processamento prévio, para colher características, ou atributos estilométricos, em um texto. Para se selecionar tais atributos, deve-se informar ao sistema os padrões de atributos que deverão ser extraídos.

Já com relação aos trabalhos relacionados expostos, percebe-se que grande parte das técnicas de classificação (árvore de decisão, SVM e análise de função discriminante) requer um breve processamento do texto, para extração de características. O PPM não faz uso dessa etapa de seleção de atributos. No entanto, os resultados obtidos pelo PPM e pelas outras técnicas estão compatíveis, tendo o compressor de dados obtido índices maiores nas taxas de acerto quando comparado com o SVM.

No próximo capítulo, serão vistos os materiais e métodos que foram utilizados neste trabalho. A criação do banco de autores, a escolha das obras literárias, os métodos utilizados para atribuição de autoria, o procedimento utilizado na etapa de treinamento e testes serão explanados na próxima seção. Além disso, serão detalhados alguns aspectos sobre a implementação das ferramentas que foram necessárias para a realização deste estudo.

3. MATERIAIS E MÉTODOS

Dois métodos de atribuição de autoria foram utilizados neste estudo. Um relacionado com a utilização do método de compressão de dados PPM e outro com o SVM. Para o SVM, dois tipos de atributos foram selecionados neste trabalho.

Dessa forma, este capítulo foi dividido em duas seções, que se referem aos dois métodos utilizados. Além disso, a seção referente ao SVM se subdivide em duas vertentes, devido às duas formas de extração de atributos.

Ainda que o método PPM seja o proposto por este trabalho para minimização do problema de atribuição de autoria, o SVM também foi utilizado para realizar um comparativo entre os resultados. Algumas etapas com essas duas abordagens foram utilizadas da mesma forma. As fases referentes à seleção de obras e ao pré-processamento foram as mesmas nas duas abordagens. Já às etapas que foram únicas para cada método, serão devidamente descritas. As fases que tiveram interseção em ambos os métodos foram:

Fase de seleção das obras literárias: neste momento, foram escolhidos os autores e seus respectivos textos para compor o banco de autores para avaliação experimental.

Fase de pré-processamento: os textos já selecionados da fase anterior passam por uma fase de pré-processamento, com a finalidade de homogeneizar os documentos.

Documentos relacionados