atribuiÇÃo automÁtica de autoria de obras da … · paraíba, como requisito parcial para...
Post on 19-Oct-2020
7 Views
Preview:
TRANSCRIPT
UNIVERSIDADE FEDERAL DA PARAÍBA
CENTRO DE CIÊNCIAS EXATAS E DA NATUREZA
DEPARTAMENTO DE INFORMÁTICA
PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA
ATRIBUIÇÃO AUTOMÁTICA DE AUTORIA DE OBRAS DA
LITERATURA BRASILEIRA
FRANCISCO DANTAS NOBRE NETO
JOÃO PESSOA - PB
2010
1
FRANCISCO DANTAS NOBRE NETO
ATRIBUIÇÃO AUTOMÁTICA DE AUTORIA DE OBRAS DA
LITERATURA BRASILEIRA
Dissertação de mestrado apresentada
ao Programa de Pós-Graduação em
Informática da Universidade Federal da
Paraíba, como requisito parcial para
obtenção do título de Mestre em
Informática.
Orientador: Prof. Dr. Leonardo Vidal Batista
JOÃO PESSOA - PB
2010
2
N754a Nobre Neto, Francisco Dantas.
Atribuição automática de autoria de obras da literatura brasileira / Francisco Dantas Nobre Neto. - - João Pessoa: UFPB, 2010.
90f. : il.
Orientador: Leonardo Vidal Batista. Dissertação (Mestrado) – UFPB/CCEN.
1.Informática. 2. Processamento – Linguagem Natural. 3.Estilometria.
UFPB/BC CDU: 004(043)
3
Dedico este trabalho aos meus pais,
Antônio Telmi Dantas Nobre e Soraya
Formiga Mariz Dantas, pelo exemplo
de determinação, honestidade e amor e
pelas palavras de motivação.
4
AGRADECIMENTOS
Agradeço a Deus, por ter sempre guiado os meus passos, ter me dado força e
coragem necessárias para enfrentar os obstáculos que aparecem em qualquer
caminhada e por cada conquista que foi de grande importância para a
conclusão deste trabalho.
Aos meus pais, Antônio Telmi Dantas Nobre e Soraya Formiga Mariz Dantas,
pelo amor, paciência, carinho, atenção e incentivo que sempre me dedicaram,
por confiarem em mim e pelo apoio em todos os momentos em que este
trabalho estava sendo escrito. Agradeço também por imporem disciplina,
quando necessário, pois isso foi importante para o meu crescimento. Vocês
dois são meu grande espelho.
Aos meus familiares, em especial a Francisco Dantas Nobre, Maria Leite, Lauro
Mariz e Maria Guiomar, meus avós, que são exemplos de pessoas
batalhadoras e dedicadas, aos meus tios, em especial a Marcelo Augusto por
ter me influenciado a seguir na carreira de computação, e aos meus primos.
À minha amiga e namorada, Niara Formiga, que sempre esteve do meu lado
com sua paciência ímpar, pelas palavras de motivação nos momentos mais
difíceis e pelo amor. Você é uma pessoa muito especial para mim.
Aos meus amigos, tanto aqueles de infância, que me ensinaram que a
verdadeira amizade não é medida em distância nem em tempo, como os que
tive a grande satisfação de conhecer na Academia e que contribuíram para o
desenvolvimento deste trabalho, sempre me ajudando nos momentos que
precisei.
Agradeço ao professor Leonardo Batista, por ter me incentivado no caminho da
pesquisa, ensino e extensão, e por ter apresentado um tema com o qual
identifiquei rapidamente. Agradeço também pela orientação neste trabalho,
sempre observando pontos de extrema importância que só grandes
pesquisadores conseguem.
5
Agradeço aos amigos de trabalho, em especial Rômulo Paiva e Rodrigo
Lustosa, que sempre entenderem a correria de conciliar o emprego com o
Mestrado.
Agradeço ainda às pessoas do Programa de Pós-Graduação em Informática
(PPGI) da UFPB, em especial aos Professores Lucídio dos Anjos, Tatiana
Aires, Antônio Carlos e Natasha Queiroz, pela compreensão e apoio nos
momentos difíceis e por ter enriquecido este projeto com comentários
importantes.
6
RESUMO
Atribuição de autoria consiste em categorizar um documento desconhecido dentre algumas classes de autores previamente selecionadas. Saber a autoria de um texto pode ser útil quando é necessário detectar plágio em alguma obra literária ou dar os devidos créditos ao autor de um livro. A forma mais intuitiva ao ser humano para se analisar um texto é selecionando algumas características que ele possui. O estudo de selecionar atributos em um documento escrito, como tamanho médio das palavras e riqueza vocabular, é conhecido como estilometria. Para análise humana de um texto desconhecido, descobrir a autoria pode demandar meses, além de se tornar uma tarefa cansativa. Algumas ferramentas computacionais têm a funcionalidade de extrair tais características do texto, deixando a análise subjetiva para o pesquisador. No entanto, existem métodos computacionais que, além de extrair atributos, atribuem a autoria baseado nas características colhidas ao longo do texto. Técnicas como redes neurais, árvores de decisão e métodos de classificação já foram aplicados neste contexto e apresentaram resultados que os tornam relevantes para tal questão. Este trabalho apresenta um método de compressão de dados, o Prediction by Partial Matching (PPM), para solução do problema de atribuição de autoria de obras da literatura brasileira. Os escritores e obras selecionados para compor o banco de autores se deram, principalmente, pela representatividade que possuem na literatura nacional. Além disso, a disponibilidade dos livros em formato eletrônico também foi considerada. O PPM realiza a identificação de autoria sem ter qualquer interferência subjetiva na análise do texto. Este método, também, não faz uso de atributos presentes ao longo do texto, diferentemente de outros métodos. A taxa de classificação correta alcançada com o PPM, neste trabalho, foi de aproximadamente 93%, enquanto que trabalhos relacionados mostram uma taxa de acerto entre 72% e 89%. Neste trabalho, também foi realizado atribuição de autoria com a abordagem SVM. Para isso, foram selecionados atributos no texto dividido em dois tipos, sendo um baseado em palavras e o outro na contagem de palavras-função, obtendo uma taxa de acerto de 36,6% e 88,4%, respectivamente. Palavras-chaves: Atribuição de autoria, Prediction by Partial Matching (PPM), Processamento de Linguagem Natural (PLN), literatura brasileira, estilometria
7
ABSTRACT
Authorship attribution consists in categorizing an unknown document among some classes of authors previously selected. Knowledge about authorship of a text can be useful when it is required to detect plagiarism in any literary document or to properly give the credits to the author of a book. The most intuitive form of human analysis of a text is by selecting some characteristics that it has. The study of selecting attributes in any written document, such as average word length and vocabulary richness, is known as stylometry. For human analysis of an unknown text, the authorship discovery can take months, also becoming tiring activity. Some computational tools have the functionality of extracting such characteristics from the text, leaving the subjective analysis to the researcher. However, there are computational methods that, in addition to extract attributes, make the authorship attribution, based in the characteristics gathered in the text. Techniques such as neural network, decision tree and classification methods have been applied to this context and presented results that make them relevant to this question. This work presents a data compression method, Prediction by Partial Matching (PPM), as a solution of the authorship attribution problem of Brazilian literary works. The writers and works selected to compose the authors’ database were, mainly, by their representative in national literature. Besides, the availability of the books has also been considered. The PPM performs the authorship identification without any subjective interference in the text analysis. This method, also, does not make use of attributes presents in the text, differently of others methods. The correct classification rate obtained with PPM, in this work, was approximately 93%, while related works exposes a correct rate between 72% and 89%. In this work, was done, also, authorship attribution with SVM approach. For that, were selected attributes in the text divided in two groups, one word based and other in function-words frequency, obtaining a correct rate of 36,6% and 88,4%, respectively. Keywords: Authorship Attribution, Prediction by Partial Matching (PPM), Natural Language Processing (NLP), Brazilian literature, stylometry
8
LISTA DE TABELAS
Tabela 1: Criação do modelo para a palavra abraabra ..................................... 24
Tabela 2: Banco de Autores .............................................................................. 38
Tabela 3: Textos utilizados para montar o arquivo de treinamento ................... 43
Tabela 4: Atributos baseados em palavras ....................................................... 55
Tabela 5: Palavras-função selecionadas e agrupadas por grupo de
conjunções/advérbios................................................................................. 56
Tabela 6: Resultados da taxa de classificação por arquivo de treinamento ...... 66
Tabela 7: Matriz de confusão da fase de treinamento referente a RS_10 ........ 68
Tabela 8: Matriz de confusão da fase de treinamento referente a RS_06 ........ 69
Tabela 9: Matriz de confusão da fase de treinamento referente a RS_01 ........ 70
Tabela 10: Resultado com a seleção de atributos baseado nas palavras ......... 72
Tabela 11: Matriz de confusão referente ao identificador RS_10 ...................... 73
Tabela 12: Matriz de confusão referente ao identificador RS_01 ...................... 74
Tabela 13: Resultado com a seleção de atributos baseado em palavras-função
................................................................................................................... 75
Tabela 14: Matriz de confusão referente ao identificador RS_10 ...................... 76
Tabela 15: Matriz de confusão referente ao identificador RS_01 ...................... 77
9
LISTA DE FIGURAS
Figura 1: Dois hiperplanos traçados com os mesmos vetores de suporte (Fonte:
[Wan05]) ..................................................................................................... 28
Figura 2: Interface de usuário inicial do WEKA ................................................. 30
Figura 3: Interface gráfica de usuário do menu Explorer ................................... 31
Figura 4: Mecanismo de portabilidade da linguagem Java ............................... 32
Figura 5: Módulos de Pré-Processamento e Classificação ............................... 40
Figura 6: Processo de criação de uma árvore trie (Fonte: [Sal04]) ................... 49
Figura 7: Criação da árvore trie PPM e ajuste do vine pointer (Fonte: [Sal04]) 51
Figura 8: Árvore trie PPM final para a mensagem "assanissimassa" (Fonte:
[Sal04]) ....................................................................................................... 52
Figura 9: Atributos alterados no SVM para testes ............................................. 60
Figura 10: Arquivo gerado com os atributos baseado nas palavras .................. 62
Figura 11: Arquivo gerado com os atributos baseado nas palavras-função ...... 63
10
LISTA DE EQUAÇÕES
Equação 1: Cálculo da entropia de ordem 1............................................ 21
Equação 2: Cálculo da entropia condicionada a um contexto................. 22
Equação 3: Função de decisão do SVM linear........................................ 27
Equação 4: Guirad................................................................................... 55
Equação 5: Herdan.................................................................................. 55
Equação 6: Rubert................................................................................... 55
Equação 7: Maas..................................................................................... 55
Equação 8: Dugast................................................................................... 55
Equação 9: Luk Janenkov........................................................................ 55
Equação 10: Honore................................................................................ 55
11
LISTA DE ABREVIATURA E SIGLAS HTML : HyperText Markup Language
IA : Inteligência Artificial
PDF : Portable Document Format
PLN : Processamento de Linguagem Natural
PPM : Prediction by Partial Matching
RC : Razão de Compressão
RTF : Rich Text Format
SPSS : Statistical Package for the Social Sciences
SRM : Structure Risk Minimisation
SVM : Support Vector Machine
TI : Tecnologia da Informação
WEKA : Waikato Environment for Knowledge Analysis
12
SUMÁRIO
LISTA DE TABELAS .................................. ........................................................ 8
LISTA DE FIGURAS .................................. ......................................................... 9
LISTA DE EQUAÇÕES ................................. ................................................... 10
LISTA DE ABREVIATURA E SIGLAS ..................... ........................................ 11
1. INTRODUÇÃO ............................................................................................ 14
1.1. O PROBLEMA ........................................................................................... 16
1.2. OBJETIVO GERAL.................................................................................... 17
1.3. OBJETIVO ESPECÍFICO .......................................................................... 17
1.4. JUSTIFICATIVA ......................................................................................... 18
1.5. ESTRUTURA DO TRABALHO ................................................................... 19
2. FUNDAMENTAÇÃO TEÓRICA ............................. ..................................... 20
2.1. PROCESSAMENTO DE LINGUAGEM NATURAL ..................................... 20
2.2. COMPRESSÃO DE DADOS ....................................................................... 21
2.2.1. Prediction by Partial Matching (PPM) ................................................... 23
2.3. RECONHECIMENTO DE PADRÃO ........................................................... 24
2.4. ESTILOMETRIA .......................................................................................... 25
2.5. SUPPORT VECTOR MACHINE (SVM) ...................................................... 26
2.6. DESENVOLVIMENTO ................................................................................ 28
2.6.1. WEKA ............................................................................................ 28
2.6.2. Java ............................................................................................... 32
2.7. TRABALHOS RELACIONADOS ................................................................. 33
2.8. COMENTÁRIOS FINAIS ............................................................................. 35
3. MATERIAIS E MÉTODOS ............................... ........................................... 36
3.1. FASE DE SELEÇÃO DAS OBRAS LITERÁRIAS ...................................... 36
3.2. PRÉ-PROCESSAMENTO DAS OBRAS .................................................... 39
3.3. ABORDAGEM PPM .................................................................................... 40
3.3.1. Fase de Treinamento ....................................................................... 41
3.3.2. Fase de Classificação ...................................................................... 45
3.3.3. Implementação ................................................................................. 46
13
3.4. ABORDAGEM SVM .................................................................................... 53
3.4.1. Fase de Seleção de Atributos Baseado nas Palavras...................... 54
3.4.2. Fase de Seleção de Atributos Baseado nas Palavras-Função ........ 56
3.4.3. Fase de Testes................................................................................. 58
3.4.4. Implementação ................................................................................. 61
3.5. COMENTÁRIOS FINAIS ............................................................................. 64
4. RESULTADOS ........................................ ................................................... 65
4.1. RESULTADOS COM O PPM ...................................................................... 65
4.2. RESULTADOS COM O SVM ..................................................................... 71
4.2.1. SVM para a Extração de Atributos Baseada nas Palavras .............. 72
4.2.2. SVM para a Extração de Atributos Baseada nas Palavras-Função . 75
4.3. COMENTÁRIOS FINAIS ............................................................................. 78
5. DISCUSSÕES E CONCLUSÃO ......................... .......................................... 80
5.1. COMPARATIVOS ENTRE OS EXPERIMENTOS ...................................... 80
5.1.1. Comparativo entre o PPM e Extração de Atributos Baseada Em
Palavras ..................................................................................................... 80
5.1.2. Comparativo entre o PPM e Extração de Atributos de Palavras-
Função ....................................................................................................... 81
5.2. COMENTÁRIOS GERAIS .......................................................................... 82
5.3. TRABALHOS FUTUROS ........................................................................... 84
REFERÊNCIAS ................................................................................................. 86
14
1. INTRODUÇÃO
Com o advento da Tecnologia da Informação, ou TI, diversos setores da
economia e da indústria têm buscado automatizar seus serviços oferecidos à
população. Serviços antes disponíveis apenas de forma presencial pelas
organizações, hoje estão disponíveis na Internet, para maior comodidade
[RWS09].
As empresas estão utilizando a informática não apenas para informatizar
seus processos ou expor produtos na Internet, mas também para conhecer
cada vez melhor os seus clientes. Isso é importante quando se quer traçar o
perfil destas pessoas, pois com isso pode-se criar uma promoção para um
público específico ou direcionar o usuário a um produto de seu interesse.
No caso das livrarias, cujos produtos de interesse são os livros, uma
aplicação de TI interessante é guiar o leitor a um determinado livro adequado
ao seu gosto. Atualmente, as livrarias eletrônicas oferecem sugestões de
leituras aos seus clientes, mas apenas baseadas nos gêneros do livro ou no
escritor, de acordo com compras passadas. Assim, a parte mais rica de um
livro, seu conteúdo, está sendo desperdiçada na tentativa de guiar o leitor a
uma leitura mais agradável.
Além disso, poder categorizar uma obra dentre os mais diversos estilos
literários que se conhece e identificar a dificuldade de ler um livro, pela riqueza
vocabular que ele apresenta, são desafios com que a Tecnologia da Informação
deve lidar. Enfrentando esses desafios, programas de computadores poderão
direcionar o usuário com maior precisão a um livro de seu agrado, evitando que
o leitor gaste tempo com algo que não seja de seu interesse.
Nesse contexto, o Processamento de Linguagem Natural (PLN)
apresenta algumas ferramentas que venham dar suporte para auxiliar na
classificação de textos. Sua aplicação pode ser encontrada também em
questões pertinentes do dia-a-dia, como em letras de músicas, geração de
linguagem natural e tradução automática.
15
Devido a essa característica de transversalidade nas mais variadas áreas
do conhecimento, PLN é considerada uma área multidisciplinar. Portanto, esta
técnica, ramo da Inteligência Artificial, pode ser aplicada para solucionar
questões não apenas na informática, mas servir de auxílio na resolução de
problemas a profissionais de outras áreas, especialmente o de Letras e o de
Música.
Um contexto importante em que a aplicação dos conceitos de PLN é útil
está relacionado com atribuição automática de autoria de textos. Atribuir autoria
de uma obra pode levar meses, quando feita por um ser humano, e é uma
tarefa de grande importância, principalmente quando se quer identificar plágio
ou dar os devidos créditos ao autor correto. No entanto, além de demorada,
essa atividade não é nada simples, pois identificar o autor correto de uma obra
desconhecida pode envolver diversas características existentes em um texto.
Devido a isso, tem-se pesquisado métodos computacionais que auxiliem o
pesquisador no problema da atribuição de autoria [Cha05].
Um método computacional que tem tido grande destaque nos últimos
anos no problema de atribuição de autoria é o Support Vector Machine (SVM)
[Vap98]. Os resultados obtidos com essa abordagem tem sido satisfatórios, e
este método tem sido aplicado na identificação de autoria de documentos em
diversos idiomas.
Outra abordagem que tem sido pesquisada para tratar a dificuldade de
atribuição de autoria é o Prediction by Partial Matching (PPM) [Mof90]. O PPM é
um compressor de dados e, embora não seja uma abordagem convencional
para o contexto de classificação de autoria, já demonstrou resultados
compatíveis com o da literatura.
Neste trabalho, o conceito de PLN será utilizado na busca de minimizar a
dificuldade de atribuição automática de autoria de obras da literatura brasileira.
Será utilizado o método de compressão de dados Prediction by Partial Matching
(PPM) [Mof90] que obteve resultados compatíveis com o estado da arte
[Cha05]. Além disso, será realizada uma classificação com o Support Vector
Machine (SVM) e será feito um comparativo entre os dois métodos com relação
aos resultados obtidos.
16
1.1. O PROBLEMA
A necessidade de identificar o autor correto de um documento – texto ou
imagem – é histórica. Prova disso é o problema conhecido como “Questão da
Autoria de Shakespeare” [WSA09] [Mal05]. Nesta questão, alguns
pesquisadores defendem a idéia de que parte dos poemas e dos textos
atribuídos a William Shakespeare de Stratford-upon-Avon, na verdade, foi
escrito por outros autores. Acredita-se que o escritor com maior probabilidade
de ter escrito parte dessas obras é Edward de Vere (17º Conde de Oxford).
Aqueles que contestam a atribuição de autoria de algumas obras a
Shakespeare alegam, dentre outros fatores, que ele não tinha uma riqueza
vocabular tão apurada quanto se evidencia em suas obras.
Descobrir a autoria de um documento não é uma tarefa simples para o
profissional de Letras. Diversos fatores devem ser considerados, como a
quantidade de verbos, de adjetivos, de pronomes, de hapax legomena1, a
riqueza vocabular, entre outras características, que podem ser encontradas em
um texto para auxiliar o pesquisador a fazer uma atribuição de uma obra
desconhecida.
Colher esses atributos por um ser humano pode demandar um tempo
considerável, dependendo da obra literária, e se tornar uma tarefa cansativa.
Por esta razão, existem ferramentas que buscam extrair uma série de atributos
do texto, deixando a cargo do leitor/pesquisador fazer uma identificação de
autoria subjetiva de acordo com as características selecionadas do documento.
Enquanto isso, outras ferramentas computacionais, além de fazer extração,
também tem embutido um módulo para atribuição de autoria automática,
utilizando a seleção dos atributos realizada.
O problema abordado neste trabalho é lidar com a questão da atribuição
de autoria, direcionado para obras da literatura brasileira. Essa atribuição será
feita pelo computador, com isenção total de análise subjetiva por parte do
usuário que esteja fazendo uso do sistema.
1 É uma palavra que ocorre apenas uma vez em todo o texto.
17
Atribuir a autoria de um documento de forma automática, por meio de
uma ferramenta de computador, consiste em associar um texto x desconhecido
a uma das N classes de autores Ci, onde i = 1...N.
Diversas abordagens podem ser utilizadas para se trabalhar com
atribuição de autoria, como redes neurais [Fau94], métodos de aprendizado
estatísticos, como o Support Vector Machine (SVM), e árvores de decisão
[HNADBB07]. No entanto, o método proposto neste trabalho é a utilização de
um algoritmo de compressão de dados, conhecido como Prediction by Partial
Matching (PPM).
Um aspecto positivo ao se utilizar a abordagem PPM está na ausência
da etapa de extração dos atributos. Essa extração é um fator decisivo em
métodos de classificação, podendo um mesmo método de classificação obter
altos ou baixos índices de acerto dependendo do grupo de atributos colhido
[Cor03]. No entanto, deve-se ressaltar que não há um conjunto de atributos
melhor ou pior em contexto geral, mas, sim, mais ou menos adequado para
uma situação.
Essa característica de não extrair atributos dos textos para posterior
classificação é um ponto positivo da abordagem baseada no PPM. Isso devido
ao fato de que, o pesquisador não necessariamente deve ter um profundo
conhecimento na área de aplicação que ele está trabalhando, para poder
selecionar os atributos mais indicados para aquele contexto.
1.2. OBJETIVO GERAL
O objetivo desse estudo é pesquisar, desenvolver e avaliar um método
de atribuição de autoria de obras da literatura brasileira.
1.3. OBJETIVO ESPECÍFICO • Fazer uma revisão da literatura, apresentando os resultados obtidos
por outras técnicas no contexto de atribuição de autoria;
18
• Pesquisar e desenvolver testes com o método para solucionar a
atribuição de autoria proposto por este trabalho;
• Comparar com outras técnicas que possam ser aplicadas na solução
de atribuição de autoria, para verificar a qualidade dos resultados
obtidos neste trabalho usando o algoritmo PPM;
• Pesquisar e desenvolver testes envolvendo o SVM e fazer
comparação com os resultados obtidos pelo PPM;
• Expor as limitações ao se usar as técnicas de classificação baseado
nos atributos extraídos dos documentos.
1.4. JUSTIFICATIVA A quantidade de Spams2 que invadem as caixas de e-mail todos os dias
cresce cada vez mais. Esses Spams vêm em forma de propagandas
indesejadas, e-mails que direcionam a sites de Internet mal intencionados,
boatos, e, ainda, pessoas que repassam textos de sua autoria.
Explanando especificamente sobre os boatos e os textos repassados por
e-mail, não se sabe se a notícia é verdadeira ou se é um boato – ou hoax, em
inglês. Além disso, com relação a textos que alguém desconhecido diz ter a
autoria, não é possível saber se foi mesmo esta pessoa quem escreveu.
Esse problema é especialmente difícil de identificar apenas por análise
humana nos dias de hoje. Isso devido ao fato de que, os textos que são
repassados por e-mail circulam em uma velocidade alta pela Internet e essa
quantidade de informação cresce diariamente.
Neste contexto, a justificativa deste trabalho é reduzir o problema de
atribuição automática de autoria. Isso é de grande importância quando se quer
detectar plágio em algum documento escrito ou quando há a necessidade de
comprovar a autoria de um texto quando uma pessoa diz tê-lo escrito. No
entanto, o foco deste trabalho é a atribuição de autoria de obras da literatura
brasileira.
2 Spam são mensagens eletrônicas enviadas em massa para o e-mail
19
Outra grande utilidade da classificação de textos e atribuição de autoria
está na identificação de livros cujos conteúdos sejam semelhantes. Na verdade,
não seria realizada uma identificação de autoria, mas seria elencada a
semelhança de escrita e conteúdo do texto de um escritor com livros de outro
autor.
Mesmo que este trabalho seja especificamente direcionado a autores e
textos da literatura nacional, o método neste trabalho utilizado pode ser
aplicado em outros contextos. Algumas possibilidades seriam: identificar o
gênero literário de um documento [BSBPB09], categorizar um texto por idade
ou pelo grau de dificuldade de leitura, entre outros.
1.5. ESTRUTURA DO TRABALHO No Capítulo 2 serão vistos os conceitos, tecnologias e ferramentas
envolvidas no presente trabalho. São apresentados, de forma breve, os
fundamentos teóricos e referências são feitas para um maior aprofundamento
do leitor.
No Capítulo 3 é apresentado o procedimento metodológico utilizado
neste estudo. Além disso, são expostas as tecnologias utilizadas para
implementação das ferramentas e a aplicação dos conceitos previamente
descritos. É detalhado todo o processo de atribuição de autoria, informando os
autores e suas respectivas obras utilizadas.
No Capítulo 4 podem ser vistos os resultados obtidos com a aplicação do
PPM na atribuição de autoria, bem como os grupos de atributos selecionados –
para classificação pelo SVM, e as matrizes de confusão obtidas na etapa de
testes para as duas abordagens.
No Capítulo 5 é feita uma discussão sobre os resultados obtidos com os
dois métodos de atribuição de autoria utilizados neste trabalho. É exposto um
comparativo entre essas duas técnicas, com relação às classificações corretas
e incorretas por autor. Além disso, é realizado um comentário geral sobre o
trabalho e são propostas outras atividades para projetos futuros.
20
2. FUNDAMENTAÇÃO TEÓRICA Neste capítulo serão abordados os principais conceitos, técnicas e
ferramentas que foram utilizadas para o desenvolvimento da pesquisa e
realização dos testes. Será também feita uma contextualização, ao final deste
capítulo, sobre como o embasamento apresentado deu sustentação ao
desenvolvimento deste estudo. Neste capítulo encontra-se uma seção de
trabalhos relacionados, onde se expõe como estão as pesquisas e os
resultados sobre atribuição de autoria.
2.1. PROCESSAMENTO DE LINGUAGEM NATURAL Processamento de Linguagem Natural (PLN) é uma área que está
relacionada tanto com Inteligência Artificial como quanto com Lingüística. O
Processamento de Linguagem Natural é a técnica de analisar um determinado
texto e ter a capacidade de compreender o que está sendo analisado [NLP07].
O conceito de entender o sentido de um texto diz respeito à capacidade
de deduzir o que uma frase ou palavra significa e poder compô-las de forma
coerente aos humanos [NLP07]. E esse entendimento está relacionado à
competência para reconhecimento de textos, para fazer análises sintáticas,
semânticas, e até aprender com os textos analisados [PLN07].
Alguns desafios em que Processamento de Linguagem Natural pode ser
aplicado são:
• Atribuição de autoria;
• Extração de atributos em um texto;
• Recuperação de textos baseado em conteúdo;
• Geração de linguagem natural;
• Segmentação de textos.
O campo de PLN pode envolver procedimentos estatísticos para resolver
os problemas descritos anteriormente. Quando se utiliza desses métodos
21
estatísticos ou probabilísticos, denomina-se PLN estatístico. Utilizar
procedimentos estatísticos significa percorrer um documento escrito em busca
de atributos quantitativos existentes no texto, para posterior classificação
[MS99].
O profissional de informática que atua nesse contexto de PLN,
certamente estará envolvido com áreas relacionadas à Lingüística,
caracterizando uma multidisciplinaridade.
2.2. COMPRESSÃO DE DADOS
Analisando a história é possível perceber que sempre se buscou
codificar de forma eficiente as informações trocadas entre impérios que
estavam distantes fisicamente. Em tais condições, se um mensageiro fosse
interceptado com uma mensagem codificada, seria impossível entender aquela
informação que ele levava.
Toda mensagem transmitida contém informação. O que varia, no
entanto, é o grau de informação que existe nela. Para medir o grau de
informação que está contida em uma mensagem, utiliza-se a entropia [Sha48].
A fórmula para o cálculo da entropia de ordem 1 é:
Equação 1: Cálculo da entropia de ordem 1
onde P(xi ) é a probabilidade de ocorrência do símbolo xi. A entropia de
ordem 1 está relacionada com a ocorrência de um símbolo existente na
mensagem, sem considerar um contexto.
Uma fórmula mais geral para a entropia, e que pode ser reduzida à
Equação (1), considera probabilidades condicionais, onde a probabilidade de
aparecimento de um símbolo está condicionada ao contexto dos últimos m
caracteres. A equação para o cálculo desta entropia é:
22
Equação 2: Cálculo da entropia condicionada a um contexto
onde aj é o contexto do símbolo xi. Em geral, aj é a seqüencia composta
pelos n símbolos que antecedem xi.
As técnicas de compressão de dados visam reduzir a representação da
informação, com a finalidade de transmiti-la de forma mais eficiente. Espera-se
que o destinatário possa restaurar a mesma informação transmitida
(compressão sem perdas), ou com distorções aceitáveis (compressão com
perdas) [Sal04]. Após a compressão de dados, pode-se obter a razão de
compressão (RC), que é a divisão da quantidade de bits usados na codificação
do texto original pela quantidade de bits usados na codificação do texto
comprimido. Assim, quanto maior for essa razão, maior o grau de compressão.
A busca por um compressor computacionalmente eficiente e que reduza
consideravelmente o tamanho da informação é uma tarefa que vem sendo
praticada desde os primórdios da computação. Isso devido ao fato de que
quanto maior a compressão menor serão os requisitos de armazenamento e
transmissão.
Várias técnicas de compressão de dados foram pesquisadas e
constatou-se que não há um método de compressão que seja o melhor em
qualquer contexto. Dependendo do arquivo a se comprimir, faz-se necessário
decidir sobre qual método de compressão utilizar [Sal04].
No quesito compressão de texto, é possível encontrar vários
compressores eficientes computacionalmente e em termos de razão de
compressão. O compressor utilizado no presente trabalho foi o Prediction by
Partial Matching (PPM).
23
2.2.1. Prediction by Partial Matching (PPM)
O algoritmo Prediction by Partial Matching (PPM) é um método
sofisticado de compressão de dados, baseado em modelos estatísticos. É o
estado-da-arte para compressão de dados sem perda de informação. O PPM foi
introduzido em 1984 por Cleary e Witten [Sal04].
A idéia central é usar um modelo adaptativo em um contexto finito. Em
outras palavras, atribui-se uma probabilidade a um símbolo não pela freqüência
de seu aparecimento ao longo de todo o texto, mas pela sua freqüência em um
contexto composto pelos últimos n caracteres [Sal04]. Para cada contexto
existente, há uma tabela de símbolos que é atualizada a cada novo símbolo
codificado.
Quando um caractere é lido da fonte a ser codificada, este é procurado
no contexto de mais alta ordem, ou seja, aquele que agrupa a maior quantidade
de caracteres. Caso ele não seja encontrado neste contexto, codifica-se um
símbolo especial, denominado de escape, e tenta-se codificar o símbolo no
contexto de menor ordem. Este procedimento de redução de contexto é
repetido até que o caractere da fonte seja codificado.
O contexto de tamanho zero (k = 0) referencia o contexto de menor
ordem do texto, que representa a freqüência de todos os caracteres
encontrados no texto. Caso um símbolo não esteja presente nesta tabela (k =
0), o escape é codificado, e uma tabela contendo todos os símbolos que ainda
não surgiram no texto (identificada com o contexto k = -1) é utilizada para
codificação. Nesta tabela, todos os caracteres têm probabilidades iguais de
ocorrência. A tabela final obtida pelo PPM é ilustrada, como exemplo da palavra
“abraabra”, na Tabela 1.
24
Tabela 1: Criação do modelo para a palavra abraabra
Ordem k = 2
Predição c p
Ordem k = 1
Predição c p
Ordem k = 0
Predição c p
Ordem k = -1
Predição c p
ab r 2
Esc 1
br a 2
Esc 1
ra a 1
Esc 1
aa b 1
Esc 1
a a 1
b 2
Esc 2
b r 2
Esc 1
r a 2
Esc 1
a 4
b 2
r 2
Esc 3
1
A tabela contém as probabilidades condicionais de aparecimento de um
símbolo. Após a codificação de cada símbolo, a sua probabilidade é atualizada
em um contexto. Por fim, as distribuições de probabilidades serão codificadas
em seqüência de bits por um Codificador Aritmético [Mof90].
Um aspecto importante do PPM para a atribuição de autoria é que as
tabelas criadas se moldam rapidamente às características da fonte que se está
comprimindo. Dessa forma, os modelos PPM gerados ficam mais fiéis aos
estilos literários dos autores mais rapidamente, durante o momento da
codificação do arquivo informado para treinamento.
2.3. RECONHECIMENTO DE PADRÃO Reconhecer um objeto é uma atividade realizada diariamente pelos seres
humanos devido à necessidade de lidar com o ambiente. Ela pode ser
encontrada em diversas circunstâncias, como na identificação de predadores.
1 5
2 11
2 5
4 11
2 11
3 11
2 5
2 3
1 3
2 3 1 3
2 3 1 3
2 3 1 3
1
2 1 2
1 2 1 2
A 1
#A
25
Desde os primórdios da computação, o projeto e a implementação de
algoritmos que simulem a capacidade humana de descrever e classificar um
objeto tem sido um desafio. Reconhecimento de padrão é a área do
conhecimento que lida com métodos para descrever e classificar um objeto
[Sa01].
É uma área muito rica no contexto de pesquisa, com ligações e atuações
nas mais variadas linhas, possuindo um alto grau de interdisciplinaridade
[Sa01]. Algumas situações em que sistemas e técnicas de reconhecimento de
padrões podem atuar é na agricultura, engenharia, segurança, medicina, além
daquelas relacionadas à informática, como inteligência artificial e
processamento de imagem.
Para reconhecimento de padrão neste trabalho, será usada a abordagem
SVM. Os padrões a identificar estão relacionados com atributos que se podem
extrair de um texto, mais especificamente aqueles baseados nas palavras e
aqueles baseados na contagem de palavras-função, ou function words.
2.4. ESTILOMETRIA Estilometria é o campo da lingüística que busca realizar uma análise do
texto a partir de atributos mensuráveis [Cor03].
O estudo pioneiro de selecionar atributos estilométricos existentes nos
textos para análise do estilo literário foi Mendenhall, onde foram criados
histogramas com o tamanho médio das palavras de diversos autores [Men87]
[Men01]. Nestes dois trabalhos, foram mostradas diferenças nos histogramas
de acordo com os idiomas e também a diferença por autores que escreveram
na mesma linguagem.
Trabalhando com estilometria, o pesquisador tentará definir um escritor
de acordo com uma série de atributos que podem ser encontrados em um texto
e, a partir de uma análise estatística, deverá identificar o autor do texto.
Diversos atributos, das mais variadas categorias, podem ser selecionados nos
textos. Dependendo da análise textual a ser feita, podem-se buscar as
26
características léxicas ou sintáticas de um texto. Algumas características que
podem ser buscadas em um texto são:
• O tamanho médio das palavras;
• A quantidade de hapax legomena e hapax dislegomena3;
• A quantidade de palavras diferentes que estão escritas no texto, também
conhecido por riqueza vocabular;
• A freqüência de ocorrência de palavras-função;
• Tamanho médio, em letras e palavras, das frases de um texto.
Não há um tipo de atributo que seja o mais adequado para os mais
diversos contextos [Cor03]. O domínio do problema é algo que deve ser
considerado, quando se decide pelo uso de um conjunto de atributo.
2.5. SUPPORT VECTOR MACHINE (SVM)
O algoritmo Support Vector Machine (SVM) vem sendo amplamente
utilizado em diversos trabalhos de classificação ou regressão [Bur98].
Regressão é uma técnica estatística que produz um modelo que permite
identificar uma determinada variável categórica a partir de observações das
relações de um conjunto de variáveis contínuas. Para classificação, no entanto,
utiliza-se um conjunto de valores discretos para determinar uma variável
categórica. Alguns contextos utilizados do SVM foram reconhecimento de
escrita [CV95] [SBV95] [SBV96], reconhecimento de fala [BS97], detecção de
faces em imagens [OFG97] e atribuição de autoria [Joa97] [Pav07].
O SVM é baseado em teorias de aprendizagem estatísticas, alinhado à
idéia de Minimização do Risco Estrutural (SRM, do inglês Structural Risk
Minimisation). SRM tenta minimizar a taxa de erro de acordo com o limite das
taxas de erro obtidas pelo conjunto de treinamento, ou seja, o erro empírico, e
por um termo que depende da dimensão Vapnick-Chervonenkis (VC) [Cor03]. O
3 É uma palavra que ocorre exatamente duas vezes em todo o texto.
27
classificador, também, busca diminuir o erro no conjunto de treinamento para
alcançar um baixo erro empírico na etapa de testes.
A dimensão VC é uma medida de capacidade de um conjunto de funções
{ f(a) }, e pode ser definida para várias classes de funções [TSVM98]. Para
função de decisão do SVM linear, tem-se a seguinte função apresentada na
Equação (3), onde w é o peso para o parâmetro de entrada x, e b é um fator de
decisão [Wan05].
Equação 3: Função de decisão do SVM linear
Dado um conjunto de dados para treinamento {xi, yi}, onde xi é o conjunto
de entradas e yi as possíveis classes de categorias, sendo {-1, +1}, o
treinamento do SVM será dado da seguinte forma:
O SVM irá separar linearmente os dados do conjunto de treinamento e
haverá diversos hiperplanos que podem prover essa separação, pela distância
Euclidiana, de acordo com as duas classes possíveis de atribuição {-1, +1}. A
partir daí, deverá ser localizado o hiperplano que apresenta a maior distância
Euclidiana no conjunto de treinamento, ou seja, a margem máxima. O
hiperplano que apresenta a maior distância é denominado de hiperplano ótimo
[Cor03], como pode ser visto na Figura 1. Os pontos, circulares e quadrados,
apresentados na Figura 1 são denominados de vetores de suporte.
28
Figura 1: Dois hiperplanos traçados com os mesmos vetores de suporte (Fonte: [Wan05])
Na Figura 1, percebe-se apenas a existência de duas classes de
categorias. Neste trabalho, como serão utilizadas mais de duas classes, que
são os escritores, o SVM será utilizado com várias classes.
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
29
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.
30
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.
31
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.
32
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
33
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
34
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.
35
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.
36
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.
3.1. FASE DE SELEÇÃO DAS OBRAS LITERÁRIAS Os critérios de seleção dos escritores e de suas respectivas obras
literárias foram a importância das obras literárias, a representatividade e
influência do escritor na literatura brasileira e, também, a facilidade de
encontrar, em meio eletrônico, os livros dos escritores. Ao total, foram
escolhidos quatro textos para cada autor disponibilizado na base de dados.
37
Muitos autores consagrados da literatura possuíam menos de quatro obras
disponíveis de tamanho adequado em meio eletrônico, e, por esta razão, estão
ausentes na base de dados.
Outro critério estabelecido foi utilizar apenas contos, crônicas e
romances, excluindo a participação de poesias, peças de teatro e biografias. Os
documentos foram selecionados também de acordo com a quantidade de
caracteres que possui, e apenas livros contendo uma quantidade mínima foram
selecionados. O limite inferior de caracteres que um texto poderia ter era de
aproximadamente 64.000. A exceção a essa regra foi à obra Brás, Bexiga e
Barra Funda de Alcântara Machado, uma das obras mais importantes deste
autor, possuindo cerca de 58.000 caracteres.
Um fato que vale salientar é que não se levou em conta o período
literário dos escritores. Assim, o banco de autores possui tanto escritores do
início do século 20 como aqueles que escrevam livros na década de 1990 e no
começo dos anos 2000.
Alguns autores, como Machado de Assis e José de Alencar, devido as
suas participações em mais de uma escola literária, tiveram suas obras
divididas em subclasses. Desse modo, as obras de Machado de Assis foram
separadas nos períodos Romancista (Ro) e Realista (Re). Já as obras escritas
por José de Alencar foram categorizadas nos períodos Urbanista (U) e Histórico
(H).
As obras utilizadas neste trabalho foram selecionadas na Biblioteca
Virtual do Estudante de Língua Portuguesa (Bibvirt) [Bib07], no Portal de
Democratização da Leitura [PDL09] e na Virtual Book Store [VBS09]. Na Tabela
2 podem ser vistos os autores e suas respectivas obras.
38
Tabela 2: Banco de Autores
Autores Textos utilizados
Adolfo Caminha Tentação; No Pais dos Ianques; Bom crioulo; A Normalista
Alcântara Machado Mana Maria; Laranja da China; Contos Avulsos; Brás Bexiga e Barra Funda
Aluisio Azevedo O Mulato; O Cortiço; Casa de Pensão; A Mortalha de Alzira
Bernardo Guimarães O Seminarista; O Garimpeiro; O Ermitão do Muquem; Escrava Isaura
Camilo Castelo Branco Os Brilhantes do Brasileiros; Coraca Cabeça e Estomago; Coisas Que Só Eu Sei;
Amor de Perdição
Clarice Lispector O Lustre; Cidade Sitiada; A Paixão segundo GH; Água Viva
Erico Veríssimo O Senhor Embaixador; Olhai os Lírios do Campo; Incidente em Antares; Clarissa
Euclides Cunha Peru versus Bolívia; Os Sertões; Contrastes e Confrontos; A Margem da Historia
Fernando Sabino O Encontro Marcado; O Bom Ladrão; Martini Seco; Deixa o Alfredo Falar
Graciliano Ramos Vidas Secas; São Bernardo; Memórias do Cárcere II; Memórias do Cárcere I
João Ubaldo Sargento Getulio; O Sorriso do Lagarto; O Feitiço da Ilha do Pavão; Arte e Ciência de
Roubar Galinha
Joaquim M.l Macedo O Moco Loiro; Memórias da Rua do Ouvidor; A Moreninha; A Luneta Mágica
Jorge Amado Terras do Sem Fim; Seara Vermelha; Mar Morto; Capitães de Areia
José de Alencar (H) Ubirajara; O Guarani; Iracema; Guerra dos Mascates
José de Alencar (U) Senhora; Lucíola; Encarnação; Diva
Julia Almeida Livro das Donas e Donzelas; A Viúva Simões; A Intrusa; A Falência
Lima Barreto Triste Fim de Policarpo Quaresma; Recordações do Escrivão Isaias; Os
Bruzundangas; Historias e Sonhos
Luis Fernando
Veríssimo
Ed Mort e Outras Historias; Banquete com os Deus; As Mentiras que os Homens
Contam; Aquele Estranho Dia Que Nunca Chega
Lya Luft Reunião de Família; Perdas e Ganho; Pensar e Transgredir; Mar de Dentro
Lygia F. Telles Seminário dos Ratos; Estrutura da Bolha de Sabão; As Meninas; As Horas Nuas
Machado de Assis (Re) Quincas Borba; Memorial de Aires; Historias Sem Data; Dom Casmurro
Machado de Assis (Ro) Iaiá Garcia; Historias da Meia Noite; Helena; A Mao e a Luva
Mario Prata Os Anjos de Badaró; Diário de um Magro Volta ao SPA; Diário de um Magro; Crônicas
Moacyr Scliar Saturno nos Tópicos; Os Deuses de Raquel; A Face Oculta; A Estranha Nação de
Rafael Mendes
Monteiro Lobato Os Doze Trabalhos de Hercules; Historias de Tia Nastácia; Dom Quixote das Crianças;
Aritmética da Emilia
Raul Pompéia Uma Tragédia no Amazonas; Só Contos; O Ateneu; As Jóias da Coroa
Rubem Fonseca O Cobrador; O Buraco Na Parede; Bufo e Spallanzani; Agosto
Visconde Taunay No Declínio; Inocência; A Retirada da Laguna; Ao Entardecer
39
3.2. PRÉ-PROCESSAMENTO DAS OBRAS
Os textos selecionados nem sempre estavam no formato suportado pela
ferramenta, que é o texto (txt). Diversas obras foram encontradas no formato
Portable Document Format (PDF), no formato DOC (MS Word), no Rich Text
File (RTF) e também em páginas HyperText Markup Language (HTML), e
precisavam se adequar ao formato que o sistema é capaz de ler.
Devido a isso, os arquivos foram convertidos para o formato requerido, e
algumas incompatibilidades e distorções no texto foram registradas nessa
transferência. Algumas surgiram com relação às quebras de linha e ao
caractere utilizado para representar o hífen, ora sendo o “-” (traço menor) ora o
“–” (traço maior).
Além das distorções registradas acima, e a título de uniformização, foram
feitos processamentos tanto manuais como computacionais nas obras originais.
Os processamentos realizados pelo computador foram a eliminação de quebras
de linha, do espaço entre o hífen e um caractere e eliminação de números
contidos no texto. Já as alterações realizadas no texto de forma manual foram a
exclusão dos títulos e citações que aparecem na introdução de um novo
capítulo, como, por exemplo, “Capítulo 1”.
Na Figura 5 pode ser visto a estrutura do componente computacional que
foi responsável pelo pré-processamento automático do texto. A adição de novas
restrições ao texto pode ser facilmente efetuada, sendo necessário apenas que
o novo processamento esteja encapsulada em uma classe que herde da
interface PreProcessamento.
Além dos pré-processamentos automáticos e manuais, alguns textos
tiveram que ser revisados e erros ortográficos, oriundos do momento em que o
texto foi transcrito para o computador, foram corrigidos, sem comprometer a
escrita original do autor.
40
Figura 5: Módulos de Pré-Processamento e Classificação
3.3. ABORDAGEM PPM
O método utilizado para realizar atribuição de autoria é o algoritmo de
compressão de dados PPM-C [Sal04]. Algumas modificações foram realizadas
neste algoritmo, para se adaptar tanto ao processo de treinamento como a
etapa de classificação dos textos.
As fases necessárias para se realizar uma atribuição de autoria,
desenvolvidas neste trabalho, foram as seguintes:
• Fase de treinamento : neste momento, será informado à
ferramenta o arquivo de treinamento para geração dos modelos
referentes a cada autor presente na base de dados. Sendo assim,
é nesta fase que o sistema será treinado para identificar as
características dos escritores que serão suportados.
41
• Fase de atribuição de autoria : os textos que não foram utilizados
para compor o arquivo de treinamento, agora, serão utilizados
para realização dos testes – a atribuição de autoria.
• Implementação : são apresentadas as estruturas de dados
utilizadas para criação do sistema e os algoritmos foram
codificados em Java.
3.3.1. Fase de Treinamento A fase de treinamento é responsável por caracterizar e moldar as
singularidades de cada autor no sistema. É nesse momento que a ferramenta
cria um modelo PPM referente a cada escritor existente no banco de autores, e
que será utilizado na fase de classificação, em que um texto deverá ser
analisado por cada modelo.
Como já informado anteriormente, foram selecionadas quatro obras
literárias de cada autor. Para cada um deles, obteve-se um modelo PPM por
meio da criação de um arquivo de treinamento composto por três textos. O
quarto texto, aquele que não foi incluído para formar o arquivo de treinamento,
foi usado na fase posterior, de classificação. Além disso, as obras utilizadas
para treinamento passaram por normalizações de tamanho, de modo que a
quantidade de caracteres ficou a mesma para todos os três documentos. Neste
trabalho, houve variação do tamanho de arquivo de treinamento em um dado
momento de tempo, e cada variação ficou conhecida como fase.
Ao total, a etapa de treinamento, e posteriormente classificação, foi
composta por sete fases. O tamanho do arquivo de treinamento variou em 3, 6,
12, 24, 48, 96 e 192 Kbytes. Percebe-se que o tamanho final do arquivo de
treinamento pode ser dividido por 3, devido ao fato de três textos terem sidos
usados para sua composição de forma equitativa. Com isso, para encontrar a
quantidade de caracteres de cada obra usada na criação do arquivo de
treinamento, divide-se o tamanho total por três.
42
Em cada fase foi feito o procedimento de validação cruzada. Entende-se
por validação cruzada as possíveis combinações dos arquivos de treinamento e
de teste utilizados em cada rodada. Por exemplo, utilizando-se na primeira
rodada os textos texto1, texto2 e texto3 para criação do arquivo de treinamento
e o texto4 usado para teste, a combinação realizada na segunda rodada seria
diferente da primeira, podendo ser a utilização de texto1, texto2 e texto4 para
montar o arquivo de treinamento e o texto3 a ser utilizado no teste. Quatro
rodadas de treinamento e testes foram realizadas por fase, e cada texto foi
usado três vezes para criar o arquivo de treinamento, em rodadas diferentes, e
uma vez para teste.
Em cada rodada, o algoritmo obtém um modelo PPM referente a cada
autor, e o salva em disco. Este modelo obtido, a partir de agora, será estático, e
não poderá sofrer alterações na fase de classificação. Como a base de dados
contém 28 autores, em cada fase foram criados 28 modelos.
Além dessa variação do tamanho do arquivo de treinamento, houve
ainda variação no tamanho do contexto PPM e também no arquivo utilizado
para classificação. O contexto que iniciou em 0, em que o símbolo é codificado
utilizando apenas sua probabilidade de ocorrência no texto, até 10, quando um
símbolo é codificado de acordo com a probabilidade condicionada aos últimos
10 caracteres que o antecederam. O motivo de utilizar até o contexto 10 foi que
houve diminuição na taxa de acerto a partir do contexto nove, tendo o melhor
resultado obtido com os contextos sete e oito.
Quanto à variação do tamanho do documento utilizado para teste, o
mesmo arquivo de treinamento foi utilizado várias vezes para classificação. O
documento utilizado para a etapa de atribuição de autoria também passou por
sete fases, ou seja, houve sete mudanças em seu tamanho enquanto o corpus
de treinamento permanecia estável.
A mudança que ocorre no PPM-C, neste momento, é justamente a
criação do modelo estático. Isso devido ao fato de que, o modelo obtido para
cada escritor não poderá ser modificado nem atualizado no momento em que
os textos começarem a ser comprimidos na fase de testes.
43
A Tabela 3 mostra quais textos foram utilizados para criação do arquivo
de treinamento.
Tabela 3: Textos utilizados para montar o arquivo de treinamento
Autores Rodada 1 Rodada 2 Rodada 3 Rodada 4
Adolfo
Caminha
Bom-Crioulo; No País
dos Ianques; A
Normalista
Bom-Crioulo; No País
do Ianques; Tentação
No País do Ianques;
Tentação; A
Normalista
Bom-Crioulo;
Tentação; A
Normalista
Alcântara
Machado
Laranja da China,
Contos Avulsos, Brás
Bexiga e Barra Funda
Mana Maria, Contos
Avulsos, Brás Bexiga e
Barra Funda
Mana Maria, Laranja da
China, Brás Bexiga e
Barra Funda
Mana Maria, Laranja
da China, Contos
Avulsos
Aluisio
Azevedo
A Mortalha Alzira; O
Cortiço; O Mulato
A Mortalha Alzira;
Casa de Pensão; O
Cortiço
Casa de Pensão; O
Cortiço; O Mulato
A Mortalha Alzira; O
Cortiço; O Mulato
Bernardo
Guimarães
Escrava Isaura; O
Ermitão de Muquém;
O Garimpeiro
Escrava Isaura; O
Garimpeiro; O
Seminarista
Escrava Isaura; O
Ermitão de Muquém;
O Seminarista
O Ermitão de
Muquém; O
Garimpeiro; O
Seminarista
Camilo
Castelo
Branco
Coraca Cabeça e
Estomago, Coisas Que
Só Eu Sei, Amor de
Perdição
Os Brilhantes do
Brasileiros, Coisas
Que Só Eu Sei, Amor
de Perdição
Os Brilhantes do
Brasileiros, Coraca
Cabeça e Estomago,
Amor de Perdição
Os Brilhantes do
Brasileiros, Coraca
Cabeça e Estomago,
Coisas Que Só Eu Sei
Clarice
Lispector
A Paixão Segundo
GH; Àgua Viva;
Cidade Sitiada
A Paixão Segundo
GH; Cidade Sitiada;
O Lustre
Àgua Viva; Cidade
Sitiada; O Lustre
A Paixão Segundo
GH; Àgua Viva; O
Lustre
Erico
Veríssimo
Olhai os Lírios do
Campo, Incidente em
Antares, Clarissa
O Senhor Embaixador,
Incidente em Antares,
Clarissa
O Senhor Embaixador,
Olhai os Lírios do
Campo, Clarissa
O Senhor
Embaixador, Olhai os
Lírios do Campo,
Incidente em Antares
Euclides
Cunha
Á Margem da
História; Contrastes e
Confrontes; Peru
Versus Bolívia
Contrastes e
Confrontes; Peru
Versus Bolívia; Os
Sertões
Á Margem da História;
Peru Versus Bolívia;
Os Sertões
Á Margem da
História; Contrastes
e Confrontes; Os
Sertões
Fernando
Sabino
O Bom Ladrão, Martini
Seco, Deixa o Alfredo
Falar
O Encontro Marcado,
Martini Seco, Deixa o
Alfredo Falar
O Encontro Marcado, O
Bom Ladrão, Deixa o
Alfredo Falar
O Encontro Marcado,
O Bom Ladrão, Martini
Seco
Graciliano
Ramos
São Bernardo,
Memórias do Cárcere
II, Memórias do
Cárcere I
Vidas Secas,
Memórias do Cárcere
II, Memórias do
Cárcere I
Vidas Secas, São
Bernardo, Memórias do
Cárcere I
Vidas Secas, São
Bernardo, Memórias
do Cárcere II
João
Ubaldo
Arte e Ciência de
Roubar Galinha; O
Feitiço da Ilha do
Pavão; O Sorriso do
Lagarto
Arte e Ciência de
Roubar Galinha; O
Feitiço da Ilha do
Pavão; Sargento
Getúlio
O Feitiço da Ilha do
Pavão; O Sorriso do
Lagarto; Sargento
Getúlio
Arte e Ciência de
Roubar Galinha; O
Sorriso do Lagarto;
Sargento Getúlio
44
Joaquim
Manuel
Macedo
A Luneta Mágica; A
Moreninha; Memórias
da Rua do Ouvidor
A Moreninha;
Memórias da Rua do
Ouvidor; O Moço
Loiro
A Luneta Mágica; A
Moreninha; O Moço
Loiro
A Luneta Mágica;
Memórias da Rua do
Ouvidor; O Moço
Loiro
Jorge
Amado
Mar Morto; Seara
Vermelha; Terras do
Sem Fim
Capitães de Areia;
Seara Vermelha;
Terras do Sem Fim
Capitães de Areia; Mar
Morto; Terras do Sem
Fim
Capitães de Areia;
Mar Morto; Seara
Vermelha
José de
Alencar (H)
Ubirajara; Iracema; O
Guarani
A Guerra dos
Mascates; Iracema;
O Guarani
A Guerra dos
Mascates; Ubirajara; O
Guarani
A Guerra dos
Mascates; Ubirajara;
Iracema
José de
Alencar (U)
Diva; Encarnação;
Lucíola
Senhora;
Encarnação; Lucíola
Senhora; Diva; Lucíola Diva; Encarnação;
Senhora
Julia
Almeida
A Viúva Simões, A
Intrusa, A Falência
Livro das Donas e
Donzelas, A Intrusa, A
Falência
Livro das Donas e
Donzelas, A Viúva
Simões, A Falência
Livro das Donas e
Donzelas, A Viúva
Simões, A Intrusa
Lima
Barreto
Os Bruzundangas;
Recordações do
Escrivão Isaías
Caminha; Triste Fim
de Policarpo
Quaresma
Histórias e Sonhos;
Os Bruzundangas;
Triste Fim de
Policarpo Quaresma
Histórias e Sonhos; Os
Bruzundangas;
Recordações do
Escrivão Isaías
Caminha
Histórias e Sonhos;
Recordações do
Escrivão Isaías
Caminha; Triste Fim
de Policarpo
Quaresma
Luis
Fernando
Veríssimo
Aquele Dia Estranho
que Nunca Chega;
Banquete com os
Deuses; Ed Mort e
Outras Histórias
As Mentiras que os
Homens Contam;
Banquete com os
Deuses; Ed Mort e
Outras Histórias
Aquele Dia Estranho
que Nunca Chega; As
Mentiras que os
Homens Contam; Ed
Mort e Outras
Histórias
Aquele Dia Estranho
que Nunca Chega;
As Mentiras que os
Homens Contam;
Banquete com os
Deuses
Lya Luft Perdas e Ganho,
Pensar e Transgredir,
Mar de Dentro
Reunião de Família,
Pensar e Transgredir,
Mar de Dentro
Reunião de Família,
Perdas e Ganho, Mar
de Dentro
Reunião de Família,
Perdas e Ganho,
Pensar e Transgredir
Lygia
Fagundes
Telles
Estrutura da Bolha de
Sabão, As Meninas,
As Horas Nuas
Seminário dos Ratos,
As Meninas, As
Horas Nuas
Seminário dos Ratos,
Estrutura da Bolha de
Sabão, As Horas Nuas
Seminário dos
Ratos, Estrutura da
Bolha de Sabão, As
Meninas
Machado
de Assis
(Realismo)
Dom Casmurro;
Histórias sem
Sonhos; Quincas
Borba
Dom Casmurro;
Histórias sem
Sonhos; Memorial de
Aires
Histórias sem Sonhos;
Memorial de Aires;
Quincas Borba
Dom Casmurro;
Memorial de Aires;
Quincas Borba
Machado
de Assis
(Romance)
A Mão e a Luva;
Helena; Histórias da
Meia-Noite
Helena; Histórias da
Meia-Noite; Iaiá
Garcia
A Mão e a Luva;
Histórias da Meia-
Noite; Iaiá Garcia
A Mão e a Luva;
Helena; Iaiá Garcia
Mario
Prata
Diário de um Magro
Volta ao SPA, Diário
de um Magro,
Crônicas
Os Anjos de Badaró,
Diário de um Magro,
Crônicas
Os Anjos de Badaró,
Diário de um Magro
Volta ao SPA,
Crônicas
Os Anjos de Badaró,
Diário de um Magro
Volta ao SPA, Diário
de um Magro
45
Moacyr
Scliar
Os Deuses de
Raquel, A Face
Oculta, A Estranha
Nação de Rafael
Mendes
Saturno nos Tópicos,
A Face Oculta, A
Estranha Nação de
Rafael Mendes
Saturno nos Tópicos,
Os Deuses de Raquel,
A Estranha Nação de
Rafael Mendes
Saturno nos Tópicos,
Os Deuses de
Raquel, A Face
Oculta
Monteiro
Lobato
Historias de Tia
Nastácia, Dom
Quixote das Crianças,
Aritmética da Emilia
Os Doze Trabalhos
de Hercules, Dom
Quixote das
Crianças, Aritmética
da Emilia
Os Doze Trabalhos de
Hercules, Historias de
Tia Nastácia,
Aritmética da Emilia
Os Doze Trabalhos
de Hercules,
Historias de Tia
Nastácia, Dom
Quixote das
Crianças
Raul
Pompéia
As Jóias da Coroa; O
Ateneu; Uma
Tragédia no
Amazonas
O Ateneu; Contos;
Uma Tragédia no
Amazonas
As Jóias da Coroa;
Contos; Uma Tragédia
no Amazonas
As Jóias da Coroa;
O Ateneu; Contos
Rubem
Fonseca
O Buraco Na Parede;
Bufo e Spallanzani;
Agosto
O Cobrador; Bufo e
Spallanzani; Agosto
O Cobrador; O Buraco
Na Parede; Agosto
O Cobrador; O Buraco
Na Parede; Bufo e
Spallanzani
Visconde
Taunay
A Retirada da
Laguna; Ao
Entardecer; Inocência
A Retirada da
Laguna; No Declínio;
Inocência
A Retirada da Laguna;
Ao Entardecer; No
Declínio
Ao Entardecer; No
Declínio; Inocência
3.3.2. Fase de Classificação Como já abordado na seção anterior, em cada contexto houve sete
variações no tamanho do arquivo de treinamento (com números variando entre
1 e 192 Kbytes, inclusive) bem como sete mudanças também no arquivo a ser
usado no teste. As variações de tamanho que o texto passou foram: 1, 2, 4, 8,
16, 32 e 64 Kbytes. Dessa forma, em nenhum momento os textos foram
utilizados integralmente para a etapa de testes.
Quando havia a formação do arquivo de treinamento referente a cada
autor, a ferramenta identificava qual não foi incluído naquele momento, e aquele
seria usado para ser classificado. Os textos a serem classificados, a exemplo
daqueles escolhidos para treinamento, também passaram pelo processo de
pré-processamento.
46
O motivo de não se usar o mesmo texto tanto na etapa de classificação
como na de teste é que o modelo referente ao autor facilmente identificaria o
texto, que já foi usado anteriormente para criação daquele modelo.
Em cada rodada, o texto não usado para compor o arquivo de
treinamento passa pelo processo de compressão com todos os modelos
disponíveis na base, construídos na fase de treinamento. Neste trabalho, como
são dispostos 28 classes de autores, tem-se 28 modelos. Após a compressão
do texto por um modelo, divide-se o tamanho do texto original pelo seu tamanho
comprimido, obtendo assim a razão de compressão (RC). O sistema armazena
cada RC obtida em memória, e, para aquele modelo que obteve a maior RC
após a compactação do texto, terá o texto atribuído ao escritor do respectivo
modelo.
3.3.3. Implementação
A implementação do sistema para treinamento dos autores e de
classificação de autoria foi feita por meio da linguagem Java, versão 1.6. Um
problema encontrado foi com relação à manutenção dos contextos PPM em
memória, principalmente quando estes ultrapassavam o tamanho cinco e
podiam exceder o uso de memória. Outro problema foi o da eficiência
computacional, pois encontrar contextos e símbolos nas tabelas de
probabilidade condicionais pode ser custoso, especialmente para contextos
grandes.
Com isso, o início do desenvolvimento da ferramenta se deu com a
criação do algoritmo PPM, para realizar compressão de dados e para verificar a
viabilidade das diversas estruturas possíveis para implementação.
Para este trabalho foram implementadas duas estruturas de dados. A
primeira utilizou a estrutura de tabelas hash [CLRS01]. A segunda
implementação utilizou um de tipo árvore especial, conhecida como árvore trie
[Sal04].
47
Na implementação por meio de tabela hash, foi criada uma tabela para
cada contexto e a chave da tabela era o contexto k, para k de i = 0 ... N, onde N
é número máximo de contextos, enquanto o valor era uma lista de símbolos que
já tinha aparecido no contexto. O objeto símbolo foi composto pelo caractere
associado e por um contador da presença do símbolo em um dado contexto.
Quando o contexto é k = 0, o contador do símbolo é igual a quantidade da
ocorrência do caractere no texto completo. Para o contexto k = -1, que ocorre
no momento em que o símbolo a ser codificado ainda não apareceu no texto, foi
utilizada a estrutura de dados Set, cujo conceito é o de um conjunto, em que
elementos não se repetem.
No entanto, esta implementação, embora fácil de codificar e de se
aproximar mais da lógica do modelo PPM, é ineficiente, e para um contexto
pequeno ela rapidamente excede o uso máximo de memória, causando erro.
Em testes realizados para compressão de um documento com 16 MBytes,
utilizando o contexto de tamanho seis, houve estouro de memória, o que torna
inviável sua utilização, pois testes com um contexto maior devem ser realizados
em busca de uma compressão eficiente. Além disso, o custo computacional
com esse método é muito alto, demorando cerca 180 segundos para obter uma
taxa de classificação quando o contexto cinco é utilizado. Para contextos
menores, até três, no entanto, o custo computacional é menor, ficando em torno
de 30 segundos a classificação dos textos.
Devido a esse problema na estrutura de dados utilizada, outra solução foi
buscada para tentar tanto melhorar a eficiência computacional da ferramenta
como também aumentar o contexto sem haver o consumo excessivo de
memória. A segunda implementação, e a que é utilizada no sistema
desenvolvido neste trabalho, é baseada na árvore trie. A árvore trie é proposta
em [Sal04] como uma estrutura de dados adequada para implementação do
PPM, pois evita um consumo excessivo de memória, além de melhorar a
eficiência computacional na busca e inserção dos nós.
A árvore trie tem essa denominação devido a palavra em inglês que
representa busca , reTRIEval, também conhecida como árvore de prefixo, e é
um tipo de árvore em que todos os descendentes de um nível do nó podem ser
48
determinados apenas pelo prefixo que levou até aquele nível da árvore.
Algumas características que favorecem o uso deste tipo de árvore é a busca
rápida de um símbolo e a utilização de menos espaço para armazenamento das
cadeias de símbolos.
A profundidade de uma árvore trie para um contexto máximo N é N + 1,
sem considerar o nó raiz. Portanto, para um contexto N = 2 tem-se uma
profundidade 3, independentemente do tamanho do documento a ser
comprimido. O nível 0 é a raiz da árvore, que não contém nenhum símbolo. O
nível 1 da árvore, abaixo da raiz, contém a ocorrência não condicional dos
símbolos no texto. Do nível 2 em diante da árvore, tem-se o número de
ocorrências nos contextos. Um exemplo de criação de uma árvore trie pode ser
visto na Figura 6 para a mensagem “zxzyzxxyzx”.
49
Figura 6: Processo de criação de uma árvore trie (Fonte: [Sal04])
Um nó presente na árvore trie é composto pelos seguintes atributos:
• O símbolo, neste trabalho o caractere em ASCII;
• O contador de ocorrência do símbolo em um dado contexto;
• Um ponteiro inferior, que referencia o filho mais a esquerda do nó;
• Um ponteiro à direita, que referencia o vizinho à direita do nó
corrente;
• Um vine pointer, que referencia o contexto imediatamente anterior
ao atual. Por exemplo, um símbolo “f” codificado no contexto
“abcd”, deverá atualizar também o contexto “bcd” adicionando 1 ao
contador deste símbolo no contexto. Para isso, o vine pointer do
símbolo “d” deverá ser recuperado, pois ele está referenciando o
símbolo “d” do contexto anterior ao que se está, que é o “bcd”.
No momento da construção da árvore, há ainda o ponteiro base, ou base
pointer, que referencia o último símbolo inserido/alterado na estrutura. O
50
algoritmo para adição ou atualização de um nó dado um contexto, pode ser
visto a seguir:
1. Recuperar o ponteiro base. Se o contexto máximo já foi atingido,
recuperar o vine pointer do nó que o ponteiro base referencia, inserir o
novo nó e ajustar o ponteiro base para apontar para este novo nó. Caso
o símbolo deste novo nó já esteja presente como filho do vine pointer,
atualizar o contador do símbolo, e fazer com que o ponteiro base
referencie esse nó. Há ainda o caso em que o buffer do contexto máximo
não foi totalmente preenchido, e para isso, não é necessário recuperar o
vine pointer do nó corrente, sendo necessário apenas adicionar o nó no
contexto em que se está, e fazer o ponteiro base apontar para ele.
2. Repetir o procedimento da etapa 1, mas sem atualizar o ponteiro base.
Seguir o vine pointer, e adicionar um novo nó que representa o novo
símbolo nos contextos inferiores, ou atualizar o contador caso ele já
exista nesses outros contextos. Caso o vine pointer ainda não esteja
ajustado, é nesse momento que se deve criar a referência e fazer a
referência correta.
3. Repetir este processo da etapa 2 até que se encontre o nó raiz.
O vine pointer e todo este processo podem ser vistos na Figura 10, para
a seqüência de caracteres “assanissimassa”. A complexidade computacional
deste algoritmo tanto para inclusão como atualização de um símbolo em um
contexto é de O(N), para um contexto com no máximo N caracteres.
Durante este processo, o codificador aritmético reúne os contadores
necessários para codificação do símbolo. Caso um símbolo não seja
encontrado no momento em que o contexto máximo foi atingido, deve haver
uma nova inserção. No entanto, deverá haver o chaveamento para um contexto
inferior, na tentativa de encontrar este símbolo neste novo contexto. Nesse
momento, deverá ser codificado o escape, ou seja, a não ocorrência de um
símbolo até aquele momento, no contexto em que se encontra.
51
Figura 7: Criação da árvore trie PPM e ajuste do vine pointer (Fonte: [Sal04])
52
Para acoplamento do codificador aritmético com o algoritmo PPM
implementado, foi utilizado a Application Program Interface (API) Colloquial
Arith Code [Ari07]. Uma API é uma biblioteca de serviços e componentes, onde
diversas funcionalidades já criadas podem ser reusadas por outros programas
de computador.
Após a criação do compressor PPM-C, iniciaram-se os ajustes
necessários nos módulos de treinamento e de classificação. O módulo de
construção inicial foi o de treinamento, seguido pelo de teste.
Para o ajuste do compressor PPM no módulo de treinamento, uma
modificação realizada foi com relação a não necessidade de comprimir o
arquivo utilizado para definição de cada escritor, visto que o importante era
apenas obter o modelo de cada autor. Com isso, a codificação aritmética foi
excluída.
No momento em que o arquivo de treinamento era finalizado para
construção do modelo, este era salvo no disco rígido e nenhuma alteração era
realizada. Cada nó é preservado, bem como as suas referências, para que
possa ser utilizado na fase de classificação sem a necessidade alteração das
referências dos ponteiros.
As adequações ocorridas no compressor PPM para a etapa de
classificação foi recuperar o modelo estático referente a cada escritor, criado na
fase de treinamento, e utilizá-lo apenas para codificação. O codificador utilizado
foi o aritmético. Nesta fase, o texto para teste será comprimido por todos os
Figura 8: Árvore trie PPM final para a mensagem "assanissimassa" (Fonte: [Sal04])
53
modelos, e para cada compressão é armazenado a RC referente a cada autor.
A razão de compressão é obtida dividindo-se o tamanho do arquivo em sua
forma original pelo tamanho do arquivo comprimido. O autor que apresentar a
maior RC é selecionado como o escritor do texto.
3.4. ABORDAGEM SVM Para utilização do SVM na atribuição de autoria, a etapa de seleção de
obras da literatura e de pré-processamento foi a mesma que utilizada com o
PPM. Sendo assim, os mesmos autores, e seus respectivos textos, foram
adotados. A etapa de treinamento é implícita ao algoritmo que implementa o
SVM – neste trabalho foi utilizado a biblioteca LibSVM, que pode ser facilmente
integrada ao aplicativo WEKA. Como o foco deste trabalho não é se aprofundar
no SVM, para um maior detalhamento sobre como a fase de treinamento é
realizada, os trabalhos [Wan05] e [HCL09] podem ser consultados.
Como já exposto anteriormente, para fazer uso do SVM deve-se extrair
uma ou mais características ao longo do texto, e fornecer tais atributos ao
classificador. Assim, uma fase referente à extração de atributos foi criada, para
uso da abordagem SVM, que foi denominada de seleção de atributos. Neste
trabalho, foram realizados dois tipos de extração de atributos.
O primeiro tipo de atributo extraído está relacionado com as palavras ao
longo do texto, ou seja, observam-se as métricas léxicas referentes às palavras.
Alguns exemplos dessas métricas são o tamanho médio das palavras, a
quantidade de vezes que uma palavra foi utilizada, a freqüência de palavras
diferentes (riqueza vocabular), entre outras.
O segundo tipo de atributo utilizado é conhecido como palavras-função,
do inglês function words. Este tipo de atributo calcula a freqüência de
aparecimento de uma série de palavras que está agrupada por um tipo em
comum. Por exemplo, algumas palavras-função utilizadas foram as
coordenativas aditivas, como o “e”, o “nem” e o “mas também”. O uso de
palavras-função selecionado neste trabalho está baseado no trabalho de
54
[Pav07], em que são utilizadas 172 palavras, divididas em 77 conjunções e 95
advérbios.
As etapas que foram adicionadas para atribuição de autoria de obras da
literatura brasileira com o SVM são brevemente descritas a seguir:
• Fase de Seleção de atributos baseado nas palavras: nesta fase,
foram selecionados os atributos do texto que estão baseados nas
palavras.
• Fase de Seleção de atributos baseado nas palavras-f unção: nesta
fase, que ocorreu em paralelo com a seleção de atributos baseado nas
palavras, é extraído dos textos a freqüência de 77 conjunções e de 95
advérbios.
• Fase de Testes: neste momento, são realizados os testes tanto com os
atributos baseados em palavras como aqueles de acordo com as
palavras-função.
• Fase de Implementação: nesta fase, descreve-se a implementação das
duas ferramentas de extração de atributo, de acordo com as duas formas
de seleção de atributos já apresentadas.
3.4.1. Fase de Seleção de Atributos Baseado nas Palavras A escolha dos atributos adequada é imprescindível para obtenção de um
resultado com uma alta taxa de acerto na atribuição de autoria, utilizando o
SVM, ou qualquer outra técnica que faça uso de atributos [Cor03]. A seleção
dos atributos baseado nas palavras está de acordo com aqueles disponíveis em
[Cor03], onde foram obtidos bons resultados na atribuição de autoria, no
contexto de identificação de Spams, e pode ser vista na Tabela 4.
Outra motivação para utilização do conjunto de atributos exposto na
Tabela 4 foi que em [HNADBB07] apresentou resultados com taxas de acerto
comparáveis ao da literatura, embora com um conjunto reduzido de autores.
55
Tabela 4: Atributos baseados em palavras
Atributo Descrição
Média Palavras Tamanho médio das palavras
Riqueza Vocabular Quantidade de palavras distintas (V) / Quantidade total de
palavras (N)
Palavras Pequenas Quantidade de palavras cujo tamanho é menor ou igual a
três / N
Hapax Legomena / N Quantidade de total de hapax legomena / N
Hapax Legomena / V Quantidade de hapax legomena / V
Hapax Dislegomena / N Quantidade de total de hapax dislegomena / N
Hapax Dislegomena / V Quantidade de hapax dislegomena / V
Entropia de Palavras Entropia de palavras
Entropia de 2-gramas Entropia de 2-gramas
Entropia de 3-gramas Entropia de 3-gramas
Entropia de 4-gramas Entropia de 4-gramas
Guirad (R) R = V / (4) Herdan (C) C = log10 V / log10 N (5) Rubert (K) K = log10 V / log10 (log10 N) (6) Maas (A)
A = (7)
Dugast (U) U = (log10 N)² / log10 N - log10 V (8) Luk Janenkov (L) L = 1 – (V² / V² * log10 N) (9)
Honore (H) H = 100 * log10 N / (1- (quantidade de hapax legomenas / V) )
(10)
Uma metodologia adotada para dar maior credibilidade aos atributos
obtidos foi dividir o texto em blocos, ou partição, com quantidades iguais de
palavras, e, a partir daí, realizar a extração dos atributos [Cor03]. Isso devido ao
fato de que alguns atributos podem ser distorcidos ou inibidos quando
trabalhado com textos com grande quantidade de palavras. Exemplo de um
atributo que pode ser inibido em um texto longo é o hapax legomena, pois
encontrar uma palavra escrita apenas em um texto extenso é mais difícil do que
encontrar dentro de um conjunto de palavras mais reduzido.
Visando evitar valores distorcidos para os atributos, o tamanho da
partição utilizada neste trabalho foi de 1000 palavras [Cor03] [HNADBB07].
Dessa forma, o texto foi dividido em várias partições com tamanhos iguais de
56
palavras, mas possivelmente diferentes em quantidade de caracteres. Caso o
bloco que selecionava a última parte de um texto não fosse composto pela
quantidade de palavras especificadas, este era descartado.
Uma vez colhidos os atributos ao longo do texto, estes foram salvos em
arquivo texto, em um formato especial (.arff), para ser reconhecido e suportado
pela ferramenta WEKA, na etapa de classificação. Tal formatação será
explicada na Seção 3.4.3.
3.4.2. Fase de Seleção de Atributos Baseado nas Palavras-Função As palavras-função selecionadas neste trabalho estão de acordo com as
utilizadas em [Pav07], em que a taxa de acerto obtida é comparável com o da
literatura. Além disso, as palavras-função selecionadas não se restringem a
apenas uma palavra, mas pode ser composta por até três vocábulos, sendo
uma extração inovadora na metodologia de usar contagem de palavras-função
[Pav07].
A escolha das palavras-função se deu de acordo com as características
sintáticas que as palavras possuem. Os dois grandes grupos utilizados foram
conjunções e os advérbios. Ao total, foram colhidos 172 atributos, sendo 77
conjunções e 95 advérbios. Os atributos podem ser vistos na Tabela 5, e estão
agrupados por subgrupos de conjunções e advérbios.
Tabela 5: Palavras-função selecionadas e agrupadas por grupo de conjunções/advérbios
Agrupamento Atributos
Coordenativas Aditivas e, nem, mas também, mas ainda, senão também, bem
como, como também
Coordenativas Adversativas porém, todavia, mas, entretanto, contudo, senão, no
entanto, ao passo que, não obstante, apesar disso, em todo
caso
Coordenativas Conclusivas logo, portanto, por conseguinte, por isso
Coordenativas Explicativas porquanto, que, porque
Subordinativas Causais como, visto que, visto como, já que, uma vez que, desde
57
que
Subordinativas Comparativas tal qual, tais quais, assim como, tal e qual, tal como, tão
como, tais como, mais do que, tanto como, mais que, menos
do que, menos que, que nem, tanto quanto, o mesmo que
Subordinativas Conformativas consoante, segundo, conforme
Subordinativas Concessivas embora, ainda que, mesmo que, ainda quando, posto que,
por muito que, por mais que, se bem que, por menos que,
nem que, dado que
Subordinativas Condicionais se, caso, contanto que, salvo que, não ser que, a menos
que
Subordinativas Consecutivas de sorte que, de forma que, de maneira que, de modo que,
sem que
Subordinativas Finais para que, fim de que
Subordinativas Proporcionais à proporção que, à medida que, quanto menos, quanto mais
Advérbio de Lugar aqui, ali, aí, cá, lá, acolá, além, longe, perto, dentro, adiante,
defronte, onde, acima, abaixo, atrás, em cima, de cima, ao
lado, de fora, por fora
Advérbio de Tempo hoje, ontem, amanhã, atualmente, sempre, nunca,
jamais, cedo, tarde, antes, depois, já, agora, então, de
repente, hoje em dia
Advérbio de Afirmação certamente, com certeza, de certo, realmente, seguramente,
sem dúvida, sim
Advérbio de Dúvida porventura, provavelmente, talvez
Advérbio de Intensidade ainda, apenas, de pouco, demais, mais, menos, muito,
pouca, pouco, quase, tanta, tanto
Advérbio de Negação absolutamente, de jeito nenhum, de modo algum, não,
tampouco
Advérbio de Quantidade todo, toda
Advérbio de Modo assim, depressa, bem, devagar, face a face, facilmente,
frente a frente, lentamente, mal, rapidamente, algo, alguém,
algum, alguma, bastante, cada, certa, certo, muita, nada,
nenhum, nenhuma, ninguém, outra, outrem, outro,
quaisquer, qualquer, tudo
O procedimento utilizado para obter o cálculo referente a cada atributo foi
contabilizar a freqüência de aparecimento de cada palavra ao longo do texto e
58
dividir essa freqüência pelo número total de palavras existentes no texto. Uma
palavra, no contexto deste trabalho, é um agrupamento de caracteres que está
separado por um espaço em branco ou por uma quebra de linha.
O motivo dessa divisão é normalizar o quantitativo de ocorrência da
palavra pela quantidade de palavras no texto, gerando um número real
equivalente à taxa de aparecimento de uma palavra-função pelo documento.
Isso é especialmente importante quando se trabalha com textos cuja variação
de tamanho é alta. Por exemplo, quando se tem um texto com muitas palavras,
conseqüentemente tem-se uma maior quantidade de determinadas palavras-
função comparado a um texto com menor existência de vocábulos. No entanto,
quando se calcula a taxa de freqüência absoluta de um vocábulo dividido pelo
total de palavras em um documento, os dois textos podem se equiparar.
Percebe-se pelas palavras-função utilizadas que pode haver uma
interseção entre duas delas. Por exemplo, o atributo “que” está presente
isoladamente no grupo das coordenativas explicativas, mas também faz parte
do atributo “visto que” do agrupamento referente às subordinativas causais. Ao
verificar a ocorrência da conjunção “visto que”, contabiliza-se apenas uma
ocorrência para esse atributo, não incrementando a freqüência de aparecimento
do “que” isoladamente. Dessa forma, inicia-se a procura no texto das
conjunções com a maior quantidade de palavras.
3.4.3. Fase de Testes Como visto anteriormente, ao término das etapas de extração dos
atributos, é criado um arquivo contendo os valores dos atributos selecionados
no texto, com a finalidade de definir um perfil para o documento a partir das
características colhidas.
Devido à etapa de extração de atributos ter sido dividida em duas fases,
o mesmo aconteceu com a fase de classificação. Inicialmente, foram feitos os
testes com os arquivos gerados contendo atributos baseado nas palavras. Na
59
segunda parte da etapa de testes, foram realizados os testes com a seleção de
atributos pelas palavras-função.
Para realização dos testes com o SVM, como já visto anteriormente, foi
utilizada a biblioteca LibSVM integrada ao ambiente WEKA. A rápida e fácil
integração com o WEKA resulta em uma maior produtividade nos testes. Isso
devido ao fato de que é possível ajustar rapidamente diversos parâmetros do
classificador. Além disso, a própria ferramenta já disponibiliza um conjunto de
parâmetros padrão, que não implica ser o mais adequado para todos os
contextos [BG04].
Na verdade, não há um ajuste dos atributos do SVM bem definido na
literatura que seja mais apropriado para cada contexto [BG04]. A busca por um
ajuste adequado deve ser encontrada por meio de testes, a serem realizados
manualmente pelo pesquisador.
A etapa de classificação demandou um alto esforço justamente na busca
por um conjunto de parâmetros que fosse mais adequado para o contexto do
presente trabalho. Houve variações no kernel do algoritmo LibSVM, no
parâmetro normalize e no k-folds, em busca da combinação mais apropriada.
Neste trabalho, os testes com o SVM foram realizados com validação
cruzada e o tipo do SVM (SMType) usado foi o nu-SVC (classification). Houve
variação dos k-folds, de 2 a 12, para cada arquivo de teste. Outra alteração
realizada no SVM foi com relação a opção de normalizar os dados, que foi
ajustado para realizar a normalização (normalize igual a true). Um registro que
deve ser feito é que o kernel utilizado foi baseado no mesmo utilizado em
[Pav07], o kernel linear. Na Figura 9, os atributos que foram alterados estão
marcados em vermelho, bem como o destaque para o local em que ocorreram
as modificações dos k-folds.
60
Figura 9: Atributos alterados no SVM para testes
O motivo de não utilizar o SVM que vem juntamente com o ambiente
WEKA, o SMO, foi que o custo computacional para se trabalhar com este
algoritmo é alto. Em testes realizados com o SMO, foram demandados minutos
para se obter uma única taxa de classificação. Já utilizando a biblioteca
LibSVM, os testes rapidamente geraram os resultados, sendo requerido cerca
cinco segundos para obtenção de cada taxa de classificação. Na seção de
resultados será melhor discutido o tempo de processamento para completar
uma etapa de teste.
Tipo do SVM
Tipo do Kernel
Normalização dos dados
K-folds para validação cruzada
61
3.4.4. Implementação As ferramentas implementadas, neste momento, foram responsáveis
pela extração automática dos atributos existentes nos textos. Não houve
implementação, ou alteração, da biblioteca LibSVM. A linguagem de
programação Java foi utilizada para criação do aplicativo para seleção dos
atributos no texto.
O protocolo de treinamento e de testes para ambos os conjuntos de
atributos selecionados foi a criação de um vetor de dissimilaridade apenas para
os verdadeiros autores. Vetor de dissimilaridade é um vetor de características,
ou seja, é onde se têm os valores dos atributos extraídos do texto. Dessa
forma, gerar vetores apenas para os verdadeiros escritores é realizar
associação das características extraídas de um texto ao autor correto. Como
são quatro documentos por autor, têm-se quatro vetores de dissimilaridades
para cada escritor.
Para implementação da ferramenta de extração de atributos baseado nas
palavras, inicialmente foi formado um bloco de palavras. A quantidade de
vocábulos existente nesse bloco foi de 1000. Para cada bloco criado, eram
obtidos todos os atributos que foram informados na Seção 3.4.1. Após a
obtenção desses atributos, era realizada uma média aritmética entre a soma
dos valores dos atributos obtidos para cada bloco pela quantidade de blocos
que foi formada. Caso o último bloco a ser formado não obtivesse exatamente a
quantidade de palavras informada – 1000 palavras, este era descartado.
Com o processamento realizado por esta ferramenta, o arquivo gerado
contendo os atributos obedeceu a uma regra de formação. Esta regra é
necessária para que a ferramenta WEKA consiga manipular os atributos
colhidos.
A formatação especial a que o arquivo gerado teve de se adequar foi
com relação à adição de um cabeçalho, onde se identifica os atributos
selecionados do texto e seu tipo, bem como às classes de categorias
62
suportadas, e aos valores dos atributos extraídos. A formatação do arquivo
(.arff) gerado, pode ser visto na Figura 10.
Figura 10: Arquivo gerado com os atributos baseado nas palavras
Já na implementação da ferramenta de seleção de palavras-função, foi
utilizada a estrutura de dados tabela hash. As chaves da tabela eram as
conjunções ou os advérbios, enquanto que o valor era um número inteiro
contabilizando a freqüência de ocorrência de cada palavra-função.
Como as palavras-função a serem colhidas podiam conter até três
vocábulos, primeiramente o texto foi percorrido buscando aquelas que
continham três palavras, depois aquelas compostas por até duas palavras e,
por último, a palavra-função com uma única palavra. No entanto, deve-se ter o
cuidado de não se repetir a freqüência de uma palavra-função que está contida
em outra. Por exemplo, ao encontrar a conjunção “visto que” deve-se
Atributos
Atributo Autor (Classes)
Valores dos Atributos
Relação
63
incrementar a freqüência apenas dessa subordinativa causal, não
incrementando o atributo referente à conjunção “que”.
Após a execução da ferramenta implementada, um arquivo (.arff)
também foi gerado, que pode ser vista na Figura 11. Percebe-se que os
atributos selecionados, logo nas primeiras linhas do arquivo, são diferentes do
que aqueles expostos na Figura 10.
: :
Figura 11: Arquivo gerado com os atributos baseado nas palavras-função
Explanando sobre o arquivo .arff obtido pela execução das duas
ferramentas, a palavra @relation identifica qual o título da relação. Já a palavra
@attribute gera um novo atributo e estabelece um tipo. Neste trabalho, apenas
foi usado o tipo real, ou seja, os atributos suportam apenas números reais. A
64
seqüência de palavras @attribute author apresenta as classes de categorias
possíveis, ou seja, os autores suportados pela base de dados. A partir da
palavra @data, são disponibilizados os valores dos atributos previamente
descritos. Cada linha obtida a partir da palavra @data representa um conjunto
de valores para os atributos de um dado documento e ao final dessa linha é
identificado o autor correspondente àquele conjunto de atributos. O separador
utilizado para associar os valores aos atributos corretos é a vírgula.
3.5. COMENTÁRIOS FINAIS Neste capítulo, foram vistos os procedimentos necessários para se
classificar documentos literários com o PPM e com o SVM. Percebeu-se que
não existe etapa de extração de atributos para o PPM, enquanto que para o
SVM utilizou-se duas abordagens para extração de atributos. No entanto, a
etapa de seleção das obras literárias e do pré-processamento realizado foi a
mesma para ambas as abordagens.
No próximo capítulo, serão vistos os resultados obtidos com estas
abordagens, apresentando matrizes de confusão que possibilita identificar os
autores que tiveram seus textos corretamente classificados.
65
4. RESULTADOS
A apresentação dos resultados, da mesma forma que ocorreu na Seção
3, foi dividida de duas formas. Os resultados serão apresentados de acordo
com a abordagem que foi utilizada, PPM ou SVM.
Todos os testes, para ambas as metodologias, foram realizados em uma
máquina com configuração Intel Core 2 Duo de 2Ghz, memória RAM de 2
GBytes, 800 Mhz de Barramento e 320 GBytes de disco rígido, utilizando o
sistema operacional Windows XP Professional de 32 bits.
4.1. RESULTADOS COM O PPM
Com os testes utilizando a abordagem PPM, foi realizado um total de
60368 atribuições de autoria. A fórmula para se chegar a esse número é
entendida da seguinte forma,
QtdAtt = QtdCont * QtdFases * QtdFTeste * ValidCruzada * QtdAutores
onde:
• QtdAtt é a quantidade total de atribuições realizadas;
• QtdCont é a quantidade de contextos que foram utilizados nos
momentos de treinamento e testes, simultaneamente, que neste
trabalho foram 11 (de 0 a 10);
• QtdFases é a quantidade de fases que houve na etapa de
treinamento, sendo 7;
• QtdFTeste é a quantidade de variações que houve do tamanho do
arquivo de teste, que também foi 7;
• ValidCruzada é a quantidade de permutações que houve em um
arquivo de treinamento, neste caso foram 4. Pode ser entendida
também como a quantidade de textos;
66
• QtdAutores é a quantidade de classes de autores presentes na
base de dados, 28 nesta proposta.
Para cada teste realizado, foi desenvolvida uma matriz de confusão.
Também foi criada uma planilha mostrando todas as RCs para cada rodada
realizada. Não é o enfoque deste trabalho, mas caso tenha-se a necessidade
de se ver a co-relação entre textos e autores, e qual foi a diferença em que se
classifica incorretamente, é possível encontrar com essa matriz.
A Tabela 6 mostra as dez taxas de classificação com maior quantidade
de acerto obtida nos testes gerais. Ele está ordenado de ordem crescente pela
taxa de acerto das atribuições realizadas. A primeira coluna da tabela identifica
o código que identificará o teste. A segunda coluna informa o tamanho do
contexto utilizado. A terceira coluna apresenta o tamanho total do arquivo de
treinamento, enquanto a quarta coluna expõe o tamanho do arquivo utilizado
para teste. A quinta e última coluna mostra a taxa correta de classificação.
Serão mostradas, ainda, as matrizes de confusão com relação a três
resultados presentes na Tabela 6, cujos identificadores são RS_01, RS_06 e
RS_10, para melhor explanação da atribuição realizada. Dessa forma, é
possível identificar quais autores tiveram mais erros e quais tiverem mais textos
atribuídos a ele incorretamente.
Tabela 6: Resultados da taxa de classificação por arquivo de treinamento
ID Contexto Treinamento (KB) Teste (KB) Taxa de Acerto (%)
RS_01 7 192 64 92,8
RS_02 8 192 64 92,8
RS_03 7 192 32 92,0
RS_04 8 192 32 91,1
RS_05 9 192 64 91,1
RS_06 6 192 64 90,2
RS_07 10 192 64 89,3
RS_08 9 192 32 88,4
RS_09 10 192 32 88,4
RS_10 5 192 64 87,5
67
Percebe-se que os maiores índices de acerto foram obtidos quando o
arquivo de treinamento possuiu 192 Kbytes e o tamanho dos arquivos de teste
com tamanho igual ou superior a 32 Kbytes. Além disso, apenas os contextos
entre 5 e 10 representaram as 10 taxas expostas na Tabela 6. No maior índice
de acerto, as linhas contendo os identificadores RS_01 e RS_02 tiveram
apenas oito textos atribuídos incorretamente, de um total de 112 classificações
na rodada.
Outro fato que pode ser verificado na Tabela 6 é que aumentar o
contexto não significa melhoria na atribuição de autoria. Variando o contexto de
zero até sete significou melhoria. No entanto, utilizando o contexto oito,
manteve-se a mesma taxa do contexto sete, e, ainda, levou-se mais tempo para
o processo de classificação. Já a partir do contexto nove, começou a diminuir a
taxa de acerto. Portanto, neste trabalho, os contextos que atingiram o melhor
índice de classificação foram o sete e o oito.
Para uma melhor explanação e entendimento dos resultados, foi criada a
matriz de confusão referente a cada classificação, onde se verificam quais
textos foram atribuídos incorretamente.
As matrizes de confusão expostas neste trabalho podem ser entendidas
da seguinte forma: as linhas são representadas pelos quatro textos dos autores
que foram classificados; as colunas são os autores que foram selecionados
como autor de um dado texto; e a célula representa a quantidade de textos de
um dado autor (linha) que foi atribuído a um escritor (coluna). Resumindo, pode-
se entender que o texto de um escritor da linha foi atribuído ao autor de uma
determinada coluna.
Os números presentes nas linhas e nas colunas da matriz de confusão
representam os autores suportados pela base. A seguir estão os nomes dos
autores que cada número referencia: (01) Adolfo Caminha; (02) Alcântara
Machado; (03) José Alencar (Histórico); (04) José Alencar (Urbano); (05) Aluísio
Azevedo; (06) Bernardo Guimarães; (07) Camilo Castelo Branco; (08) Clarice
Lispector; (09) Érico Veríssimo; (10) Euclides da Cunha; (11) Fernando Sabino;
(12) Graciliano Ramos; (13) João Ubaldo; (14) Joaquim Manuel Macedo; (15)
Jorge Amado; (16) Julia Almeida; (17) Lima Barreto; (18) Luis Fernando
68
Veríssimo; (19) Lya Luft; (20) Lygia Fagundes Telles; (21) Machado de Assis
(Realismo); (22) Machado de Assis (Romance); (23) Mário Prata; (24) Moacyr
Scliar; (25) Monteiro Lobato; (26) Raul Pompéia; (27) Rubem Fonseca; (28)
Visconde Taunay.
Tabela 7: Matriz de confusão da fase de treinamento referente a RS_10
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
01 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
02 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
03 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0
04 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
05 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
06 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
07 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
08 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
09 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
12 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14 0 0 0 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 1 0 0
15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0
16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0
17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0
18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0
19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0
20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0
21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0
22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 1
23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0
24 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0
25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0
26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 3 0 0
27 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0
28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4
Na matriz de confusão do resultado referente ao identificador RS_10, na
Tabela 7, pode-se observar que foram obtidas 98 classificações corretas, das
112 realizadas. Nesta classificação, nenhum autor teve todas as suas obras
atribuídas incorretamente. Apenas o escritor Rubem Fonseca (27) teve uma
obra classificado corretamente (Bufo e Spallanzani). Os autores José de
Alencar (Histórico) (3) e Joaquim Manuel Macedo (14) tiveram duas obras
incorretamente classificadas. Sendo assim, as obras de três escritores
69
obtiveram mais de 50% dos erros ocorridos nessa fase – 7 de 12, e outros cinco
autores tiveram exatamente uma obra erroneamente classificada.
A matriz de confusão referente ao identificador RS_06, exposta na
Tabela 8, apresenta o resultado onde se obteve 101 classificações corretas. As
três classificações corretas obtidas a mais, com relação à matriz de confusão
da RS_10, foram a atribuição correta de dois textos de Rubem Fonseca (27), a
atribuição correta de todas as obras literárias de Machado de Assis (Romance)
(22) e, também, todos o êxito total na classificação dos textos da autora Júlia
Almeida (16). Os demais erros, existentes nesta classificação, foram os
mesmos, ou seja, as mesmas obras atribuídas incorretamente nos testes,
excluindo as que já foram citadas, identificados pelo RS_10, também foram
classificadas incorretamente.
Tabela 8: Matriz de confusão da fase de treinamento referente a RS_06
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
01 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
02 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
03 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0
04 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
05 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
06 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
07 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
08 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
09 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
12 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14 0 0 0 1 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0
16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0
17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0
18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0
19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0
20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0
21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0
22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0
23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0
24 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0
25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0
26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 3 0 0
27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 2 0
28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4
70
Já a matriz de confusão do resultado referente à maior taxa de acerto
obtida, 104 atribuições com êxitos de 112, pode ser vista na Tabela 9. Esse
resultado foi obtido com dois contextos diferentes, o sete e o oito, mas com
todas as características iguais, tanto do tamanho do arquivo de treinamento
como o tamanho do arquivo usado para teste. A melhoria que se pode
observar nesta matriz é a melhoria da quantidade de obras classificadas
corretamente para o escritor Rubem Fonseca (27), aumentando para três
obras classificadas com êxito, e o acerto de 100% nos livros de Fernando
Sabino (11).
Tabela 9: Matriz de confusão da fase de treinamento referente a RS_01
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
01 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
02 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
03 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0
04 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
05 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
06 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
07 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
08 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
09 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14 0 0 0 1 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0
16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0
17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0
18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0
19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0
20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0
21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0
22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0
23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0
24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0
25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0
26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 3 0 0
27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 3 0
28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4
71
O que se pode observar dos 10 resultados com as maiores taxa de
classificação corretas é que o resultado referente ao identificador RS_10 foi de
98 classificações corretas e no RS_01 foi de 104, de um total de 112
classificações.
Percebe-se que no resultado identificado por RS_10 foram 14
classificações incorretas, enquanto no RS_01 foram 8. Entre o décimo melhor
resultado até o melhor resultado, houve diminuição na taxa de erro de cerca
43%, diminuindo a quantidade de textos classificados incorretamente de 14
para 8.
Com relação à eficiência computacional de todo o processo de atribuição
de autoria, pode-se dividir em duas fases. O tempo levado na etapa de
treinamento, incluindo a criação do arquivo de treinamento, e o tempo requerido
para classificação.
O tempo levado para criação do arquivo de treinamento foi rápido, pois
todos os textos dos autores foram carregados em memória. Com isso, o custo
computacional para obtenção desse arquivo era apenas delimitar o tamanho de
cada documento a ser inserido no documento para treinamento dos modelos. O
tempo levado ficou em média entre 5 e 10 segundos.
Para a etapa de treinamento, o tempo requerido variou de acordo com o
tamanho do contexto e o tamanho do arquivo de treinamento, tendo este último
influência maior no custo computacional. Com arquivos de treinamento
menores, em até 48 Kbytes, rapidamente os modelos para os autores eram
obtidos, ficando em torno de 10 segundos. Já com os textos para treinamento
maiores, aqueles com tamanho de 96 e 192 Kbytes, o tempo para a fase de
treinamento podia chegar a 150 segundos.
4.2. RESULTADOS COM O SVM Os resultados referentes ao processo de extração de atributos e à
utilização da abordagem SVM para realizar a atribuição de autoria foi dividida
72
em duas fases. O motivo dessa divisão é que, como já apresentado, duas
formas de extração de atributos foram implementadas. Com relação aos
resultados, serão apresentados os dez que obtiveram as maiores taxas de
acerto e, também, duas matrizes de confusão referentes ao décimo e ao melhor
resultado obtido.
4.2.1. SVM para a Extração de Atributos Baseada nas Palavras Para cada teste realizado, assim como ocorre com o PPM, é criada uma
matriz de confusão referente ao resultado obtido. No entanto, serão
apresentadas apenas as matrizes de confusão obtidas pelo resultado com a
maior taxa de acerto e a do décimo melhor resultado.
Na Tabela 10, podem ser vistos os dez resultados com as maiores taxas
de classificação correta. Como pode ser visto, o único atributo modificado na
etapa de testes foi o k-fold.
Tabela 10: Resultado com a seleção de atributos baseado nas palavras
Identificador K-Folds Taxa de Acerto (%)
RS_01 10 36,61
RS_02 4 35,71
RS_03 5 34,82
RS_04 12 34,82
RS_05 7 33,93
RS_06 8 33,93
RS_07 9 33,93
RS_08 6 33,04
RS_09 11 33,04
RS_10 3 31,25
O valor para o k-fold adotado como padrão pelo WEKA é 10. Foi
justamente com o esse valor, k-fold igual a 10, que a maior quantidade de obras
foi classificada corretamente, com um total de 41 obras, das 112 classificadas.
73
A diferença em quantidade de obras da décima maior taxa de acerto,
referenciada pelo identificador RS_10, para a maior foi de seis obras.
No momento em que esses resultados foram obtidos, era gerada sua
respectiva matriz de confusão. A matriz de confusão pode ser útil para uma
análise literária mais detalhada dos textos que foram classificados
incorretamente.
Na matriz de confusão referente ao identificador RS_10, disponível na
Tabela 11, identifica-se que nenhum autor teve todas suas obras classificadas
corretamente. Apenas quatro escritores, José Alencar (Histórico) (3), Euclides
da Cunha (10), Lya Luft (19) e Jorge Amado (15), tiveram três textos atribuídos
corretamente. Por outro lado, sete autores tiveram todas as suas obras
atribuídas ao autor incorreto.
Tabela 11: Matriz de confusão referente ao identificador RS_10
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
01 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0
02 0 2 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
03 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
04 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0
05 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
06 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0
07 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 2 0 0
08 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0
09 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
10 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
11 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0
12 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0
13 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0
14 0 0 0 0 0 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
15 0 0 0 0 0 0 0 0 0 0 0 0 1 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0
16 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0
17 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0
18 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 0 0 0
19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0
20 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0
21 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0
22 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0
23 0 2 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
24 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0
25 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0
26 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
27 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 2
74
Já com a matriz de confusão gerada para o resultado RS_01, percebe-se
que houve uma diminuição na quantidade de autores que não tiveram nenhuma
de suas obras literárias classificadas corretamente, comparada ao resultado
RS_10. Um fato que pode ser destacado é que o autor Machado de Assis
(Romance) (22) foi quem mais recebeu obras incorretamente atribuídas, sendo
um total de oito obras. Apesar disso, este autor teve apenas duas obras
identificadas corretamente. Em análise geral, percebe-se que o resultado
referente ao identificador RS_01, que pode ser visto na Tabela 12, ainda que
tenha sido o resultado com a maior taxa de acerto, nenhum autor obteve êxito
total na classificação de seus textos.
Tabela 12: Matriz de confusão referente ao identificador RS_01
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
01 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 0 1
02 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2
03 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
04 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
05 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
06 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
07 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
08 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
09 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
10 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0
12 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0
13 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
14 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 0 0 0 0 0 0 1 0 0 0 0 0 0
15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 1 0
16 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0
17 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0
18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0
19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 1 0 0
20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1 0 0 0 0
21 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0
22 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0
23 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 2 0 0 0 0 0
24 2 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
25 0 0 0 0 0 0 0 0 2 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
26 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
27 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0
28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 2
75
4.2.2. SVM para a Extração de Atributos Baseada nas Palavras-Função As variações que ocorreram nos testes realizados com os atributos
baseado nas palavras-função foram apenas com os k-folds, pois o kernel
utilizado foi o linear. Os dez melhores resultados obtidos podem ser vistos na
Tabela 13.
Tabela 13: Resultado com a seleção de atributos baseado em palavras-função
Identificador K-Folds Taxa de Acerto (%)
RS_01 4 88,4
RS_02 5 87,5
RS_03 6 86,61
RS_04 10 86,61
RS_05 12 86,61
RS_06 7 85,71
RS_07 8 85,71
RS_08 9 85,71
RS_09 11 85,71
RS_10 2 82,15
Percebe-se que o valor padrão definido pela ferramenta WEKA para o k-
fold quando se utiliza validação cruzada – o valor 10, foi a terceira maior taxa de
acerto, classificando corretamente 98 das 112 obras literárias. Já ajustando o k-
fold para 4, o resultado com a maior taxa de acerto foi obtida, aumentando a
classificação correta dos textos para 99.
Para poder realizar uma análise mais aprofundada dos resultados, foram
geradas as matrizes de confusão referentes ao décimo (RS_10) e ao primeiro
resultado (RS_01) com a maior taxa de acerto obtida. A diferença em
quantidade de obras literárias classificadas corretamente entre a RS_01 e a
RS_10 foi de 7 obras, tendo a linha referente ao RS_10 acertado na
classificação de 92 livros.
76
A matriz de confusão referente à RS_10 pode ser vista na Tabela 14.
Neste teste, 12 autores tiveram ao menos uma de suas obras classificadas
incorretamente. Desses 12 escritores, seis deles tiverem 50% ou mais de suas
obras atribuídas erroneamente a outro autor. Os autores Moacyr Scliar (24) e
Júlia Almeida (16) somaram, juntos, seis obras classificadas incorretamente,
sendo três de cada. Esse valor equivale, em taxas percentuais, a 30% dos
textos classificados incorretamente.
Tabela 14: Matriz de confusão referente ao identificador RS_10
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
01 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
02 0 2 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0
03 0 0 2 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
04 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
05 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
06 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
07 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
08 0 0 0 0 0 0 0 3 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
09 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
13 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0
15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0
16 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0
18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0
19 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0
20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0
21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0
22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 0 0 0 0 0 0
23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0
24 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0
25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 3 0 0 0
26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 2 0 0
27 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0
28 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 2
Já com relação ao resultado identificado por RS_01, nenhum escritor
teve três obras classificadas incorretamente. Neste teste, apenas nove autores
tiveram no mínimo uma obra classificada incorretamente, sendo quatro deles
77
com duas obras erroneamente atribuídas, de acordo com a matriz de confusão
da Tabela 15. Uma melhoria notável foi o fato da autora Júlia Almeida (16),
neste momento, ter todas as suas obras classificadas corretamente, o que no
RS_10 apenas um livro foi contemplado. A melhoria na classificação geral foi
expressiva, ainda que, uma obra do escritor Euclides da Cunha (10) e uma de
Luís Fernando Veríssimo (18) tenha sido erroneamente classificada em RS_01,
o que não ocorreu em RS_10.
Tabela 15: Matriz de confusão referente ao identificador RS_01
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
01 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
02 0 2 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0
03 0 0 2 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
04 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
05 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
06 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
07 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
08 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
09 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
11 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0
16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0
17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0
18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 1 0
19 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0
20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0
21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0
22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0
23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0
24 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 1 0
25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 3 0 0 0
26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 2 0 0
27 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0
28 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
Com relação ao custo computacional para a realização dos testes, o
SVM implementado pela biblioteca LibSVM foi eficiente. Cada teste realizado
78
demandava, em média, cinco segundos para ser completado. Um fato
observado com relação ao processamento na etapa de testes foi que, o tempo
médio ficou semelhante tanto com os atributos baseado nas palavras, como
aquele baseado nas palavras-função. Isso é interessante destacar, pois a
diferença na quantidade de atributos é alta, tendo a extração baseado nas
palavras colhido 19 atributos, enquanto que o método por palavra-função
selecionou 172.
No entanto, em testes previamente realizados, foi utilizado o algoritmo
SMO disponível pelo próprio ambiente WEKA, ou seja, que já vem integrado
com a ferramenta no momento de sua instalação. Como já exposto, o motivo de
se utilizar o pacote LibSVM foi com relação à eficiência computacional deste
algoritmo. Enquanto a implementação SMO do WEKA demandava apenas na
etapa de treinamento cerca de 45 segundos, sem incluir o tempo para
classificação, o LibSVM não ultrapassava dois segundos nessa fase. Já
considerando o problema de ajuste dos parâmetros do SVM, ambos
apresentaram relativa facilidade para alteração.
Outro aspecto nos testes foi à facilidade de mudança dos k-folds para
realização dos testes. Neste momento, a interface gráfica disponível pelo
WEKA facilitou os ajustes para os atributos, permitindo evitar desperdício de
tempo para lidar com a ferramenta.
4.3. COMENTÁRIOS FINAIS Neste capítulo, foram apresentados os resultados obtidos utilizando o
PPM e com o SVM. A exposição do resultado obtido pelo SVM foi dividida em
duas fases, referentes às duas extrações de atributos. Percebe-se que os
atributos selecionados devem ser cuidadosamente definidos, pois pode
impactar na obtenção da taxa de acerto. A diferença nos resultados com os dois
tipos, para posterior classificação com o SVM, foi alta. No entanto, não é correto
afirmar que um conjunto de atributo foi melhor que o outro, mas apenas mais
adequado neste contexto. Já o PPM, obteve melhores índices de acerto
79
comparado com o método SVM, além de ter apresentado uma alta eficiência
computacional na atribuição de autoria.
Comparando os melhores resultados das duas abordagens, o PPM
conseguiu diminuir a taxa de erro em aproximadamente 39%, o que é um ganho
considerável.
No capítulo a seguir, serão vistos um comparativo mais aprofundado
entre os experimentos bem como as oportunidades de trabalhos futuros com o
PPM. Será visto, também, um comentário geral sobre este trabalho e será
traçado um perfil do PPM para este estudo.
80
5. DISCUSSÕES E CONCLUSÃO Esta seção discutirá os resultados obtidos pelo PPM e pelo SVM,
realizando um comparativo de acordo com os textos classificados
incorretamente dos autores. Algumas referências serão feitas, para melhor
entendimento, às matrizes de confusão obtidas na Seção 4.
Além disso, será apresentada uma conclusão geral sobre o método
utilizado para atribuição de autoria deste trabalho, o PPM, bem como será
ressaltada oportunidades de novos trabalhos com este estudo.
5.1. COMPARATIVOS ENTRE OS EXPERIMENTOS Com a finalidade de contextualizar o resultado obtido com o PPM diante
do contexto de atribuição de autoria, será feito um comparativo entre os
resultados com o PPM e com as duas formas de seleção de atributos, utilizando
o SVM como classificador. Como já exposto, o motivo da extração desses
determinados atributos foi baseado em outros trabalhos, onde foram obtidos
taxas com altos índices de classificação correta.
5.1.1. Comparativo entre o PPM e Extração de Atributos Baseada Em Palavras
Comparando os resultados obtidos pelo PPM com aqueles alcançados
com a extração de atributos baseada em palavras, e posterior aplicação do
SVM, percebe-se que o PPM obteve uma taxa de acerto aproximadamente
duas vezes e meia maior. Tal resultado não implica admitir que os tipos de
atributos colhidos na fase de seleção são irrelevantes, mas que não foram os
mais adequados para este contexto. Além disso, esse conjunto de atributos
colhidos combinado com outros tipos de atributos pode melhorar o índice de
acerto [Cor03].
Mesmo com essa discrepância nos resultados, algumas observações
devem ser feitas. Em todos os dez melhores resultados obtidos pelo PPM,
81
como podem ser vistos nas matrizes de confusão, o autor José de Alencar
(Histórico) (3) não obteve mais que duas obras classificadas corretamente. No
entanto, observando a Tabela 11, pode-se perceber que, para o autor
mencionado, a quantidade de obras classificadas corretamente foi três.
Já um aspecto que destaca o PPM com relação à metodologia de
extração de atributos baseado em palavras foi que, nos dez melhores
resultados obtidos pelo PPM, não houve uma quantidade de acerto menor que
dois textos para um escritor. Com a utilização do SVM aplicado ao referido
método de seleção de atributos, 50% dos autores da base tiveram apenas uma
ou nenhuma de suas obras identificadas corretamente.
5.1.2. Comparativo entre o PPM e Extração de Atributos de Palavras-Função Os resultados com as maiores taxas de acerto obtidas foram aqueles
referentes ao PPM e ao método de seleção de atributos de palavras-função,
aplicando o SVM. Além disso, esses resultados estiveram próximos em taxas
de acerto, tendo o PPM obtido um índice maior de classificação correta.
Devido a essa proximidade nos resultados desses dois métodos, tendo o
melhor acerto com o SVM obtido 88,4% e com o PPM 92,8%, uma análise mais
detalhada das matrizes de confusão pode demonstrar fatos interessantes.
Algumas observações a serem feitas estão relacionadas em verificar os autores
e suas obras classificadas incorretamente e a quantidade de autores com êxito
total na atribuição de autorias das obras.
Seguindo essa linha de observações a serem feitas, o PPM obteve mais
autores que tiveram todas as obras classificadas corretamente quando
comparado com o SVM, sendo 22 contra 19. Além disso, o SVM obteve dois
escritores a mais que tiveram apenas duas obras atribuídas corretamente, com
um total de quatro.
Explanando sobre a diferença entre os autores que tiveram suas obras
classificadas incorretamente, algumas interseções entre os dois métodos foram
identificadas. Para os escritores José de Alencar (Histórico) (3) e Luís Fernando
82
Veríssimo (18), ambas as metodologias erraram na identificação de duas e de
uma obra, respectivamente. Além disso, os dois métodos classificaram
incorretamente, em quantidades diferentes, obras para o autor Raul Pompéia
(26), tendo o PPM errado em uma obra e o SVM em dois livros.
Outro aspecto a ser observado é que, enquanto em uma abordagem um
autor tinha êxito total na classificação de suas obras, em outra a quantidade de
obras classificadas corretamente se limitava em duas ou três. Isso pode ser
percebido comparando a Tabela 9 com a Tabela 15, onde se tem que utilizando
o SVM os autores Alcântara Machado (02), Euclides da Cunha (10), Lya Luft
(19), Moacyr Scliar (24), Monteiro Lobato (25) e Visconde Taunay (28)
obtiveram todos os seus livros classificados corretamente, o que não ocorreu
com o SVM. Já com a utilização do SVM, os autores Aluísio Azevedo (05),
Joaquim Manuel Macedo (14) e Rubem Fonseca (27) tiveram 100% de acerto
em suas obras, enquanto que o PPM obteve três, duas e três obras com acerto,
respectivamente, para os referidos escritores.
Comparando a quantidade de obras classificadas incorretamente para o
melhor resultado entre as duas abordagens, tem-se que o PPM errou na
classificação de 8 e o SVM de 13. A diferença entre os erros foi de cinco obras
a mais para o SVM. Essas cinco obras representam, em taxas percentuais, que
com o PPM conseguiu-se diminuir a quantidade de livros classificados
incorretamente em aproximadamente 38,5%.
5.2. COMENTÁRIOS GERAIS
Os resultados mais expressivos com o PPM, aqueles com as maiores
taxas de acerto, foram obtidos com o tamanho do arquivo de treinamento de
192 Kbytes. Já o tamanho dos arquivos de teste também teve influência para tal
obtenção. Aqueles com tamanhos iguais ou superiores a 32 Kbytes foram os
que apareceram entre esses 10 resultados. No entanto, pôde-se observar que
aumentar o contexto não significa melhoria na obtenção dos modelos e,
conseqüentemente, na classificação. Prova disso é que até o contexto sete
83
vinha sendo aumentada a taxa de atribuição correta de autoria. No contexto
oito, essa taxa se estabilizou, e a partir do contexto nove a quantidade de obras
classificadas corretamente decresceu.
Outro ponto a se observar, de acordo com os testes, é que é
computacionalmente mais eficiente criar os modelos PPM dos autores e realizar
testes quando os contextos são menores. Assim, a utilização de um modelo de
treinamento ótimo para este trabalho utilizando o do contexto sete, por ser mais
rápido o processo de classificação e ter obtido o maior índice de acerto.
O PPM apresentou resultados comparáveis aos obtidos na literatura,
com a taxa de acerto de aproximadamente 93%, ao se analisar os diferentes
contextos em que se aplica atribuição de autoria. Esse resultado pode ser ainda
mais valorizado quando se ressalta que foram selecionados dois tipos de
atributos para posterior classificação com o SVM. Além disso, de acordo com o
trabalho realizado em [Pav07], os atributos colhidos naquele estudo, referente à
contagem de palavras-função, foram inovadores e os resultados obtidos foram
bons.
Tratando dos resultados obtidos entre a extração dos dois tipos de
atributos, e aplicação do SVM, os resultados foram discrepantes. Enquanto que
utilizando o conjunto de atributos baseado nas palavras, como tamanho médio
e riqueza vocabular, obteve uma taxa de acerto máxima de aproximadamente
36,6%, a utilização baseada na contagem de palavras-função alcançou 88,4%.
Isso ratifica que, embora o SVM seja um método sofisticado de classificação, a
sua limitação está na seleção dos atributos. Já com a utilização do PPM,
nenhuma seleção de atributos é realizada e, assim, a etapa de treinamento e
classificação não tem influência de um conjunto de atributos previamente
selecionados.
Devido a isso, o PPM pode ser considerado uma abordagem útil no
contexto de identificação de autoria, principalmente para obras da literatura
brasileira. No entanto, sua aplicação pode ser estendida a outros contextos,
como identificação de plágio ou categorização de obras por grau de dificuldade
de escrita dos autores.
84
Realizando uma análise geral do trabalho, pode ser visto que os
objetivos previamente propostos foram atingidos. Foi possível implementar o
PPM com êxito, bem como modificá-lo para se adequar a este trabalho, o que
permitiu dar continuidade ao projeto. Com isso, diversos testes foram
desenvolvidos com diversas variações no processamento do PPM.
Com a revisão da literatura feita, também se contextualizou os resultados
obtidos pelo PPM na questão de atribuição automática de autoria. Pôde-se
perceber com esta revisão que a taxa de acerto dos resultados obtidos neste
estudo com o PPM foram bons, mas que uma aplicação do SVM nesse mesmo
banco de autores poderia dar maior credibilidade ao trabalho. Devido a isso,
foram selecionados dois tipos de atributos do texto e, para cada tipo, aplicou-se
o SVM.
Com esses testes, deu-se maior credibilidade aos resultados obtidos
com o PPM, pois eles foram compatíveis com aqueles obtidos pelo SVM, sendo
92,8% para o primeiro e 88,4% para o segundo. Além disso, comprovou-se
também que o tipo de atributo extraído deve ser cuidadosamente definido, e,
caso mal escolhido, pode ser um limitador para o método de classificação. Com
a seleção dos atributos baseado nas palavras, o SVM obteve uma taxa de
acerto de 36,6%, enquanto que mudando apenas o tipo de atributo extraído,
baseado em palavras-função, conseguiu-se uma taxa de acerto de 88,4%.
5.3. TRABALHOS FUTUROS
Uma proposta de utilização do PPM, que segue uma linha de raciocínio
semelhante ao de atribuição de autoria, é atuar na recuperação de textos
baseado em conteúdo. Isso quer dizer que, dado um documento, não será
necessário saber a sua autoria, mas apenas descobrir outros textos que tenham
o conteúdo parecido.
Recuperação baseada em conteúdo é especialmente útil quando se
deseja propor uma leitura específica a um determinado leitor baseado no
conteúdo de leituras passadas, realizadas por ele. Assim, fazendo com que o
85
cliente informe se um determinado livro foi de seu gosto, podem-se encontrar
livros cujo conteúdo seja semelhante.
Outra proposta de trabalho é investigar se um determinado texto é de
algum dos escritores da base de dados. Neste trabalho, não há um
procedimento para identificar se uma obra informada é ou não de algum dos
autores. Com isso, o sistema realizará uma atribuição de autoria incorreta.
Outra aplicação interessante que pode ser desenvolvida com o PPM é na
identificação de plágio. Esta identificação pode ser necessária no documento
integralmente ou quando se quer localizar os fragmentos específicos que foram
plagiados. Verificar se determinado documento, ou seções dele, foi copiado na
íntegra de alguma outra fonte é importante para poder distinguir a contribuição
dada pelo autor do trabalho com contribuições dadas por outros autores, além
de poder dar os créditos ao autor correto.
86
REFERÊNCIAS [Ari 07] Compression via Ari thmetic Coding in Java. Disponível em
http://www.colloquial.com/ArithmeticCoding/. Acesso em 20 de novembro de 2007.
[BG04] Bengio, Yoshua; and Grandvalet, Yves. No Unbiased Estimator of the Variance of K-Fold Cross-Validatio n. Journal of Machine Learning Research, p. 1089–1105, 2004.
[Bib07] A Biblioteca Virtual do Estudante de Língua Portugu esa. Disponível em http://www.bibvirt.futuro.usp.br/. Acesso em 18 de novembro de 2007.
[BS97] Burges, C. J. C.; and Sch¨olkopf, B. Improving the accuracy and speed of support vector learning machines . In M. Mozer, M. Jordan, and T. Petsche, editors, Advances in Neural Information Processing Systems 9, p. 375–381, Cambridge, MA, 1997. MIT Press.
[BSBPB09] Barufaldi, B. ; Santana, Eduardo F.; Barbosa Filho, J. R. B. ; Poel, JanKees van der ; Batista, Leonardo V. Classificação Automática de Textos por Período Literário Utilizan do Compressão de Dados Através do PPM-C . In: 7th Brazilian Symposium in Information and Human Language Technology, 2009, São Carlos. Anais do 7th Brazilian Symposium in Information and Human Language Technology, 2009. v. 1.
[Bur98] Burges, C. J. C. A Tutorial on Support Vector Machine s for Pattern Recognition . Data Mining and Knowledge Discovery 2, p. 121-167, 1998.
[Cha05] CHASKI, Carole E. Who’s At The Keyboard? Authorship Attribution in Digital Evidence Investigations . In International Journal of Digital Evidence. Spring, p. 1 – 13, 2005.
[CL01] Chang, Chih-Chung; and Lin, Chih-Jen. LIBSVM: a library for support vector machines , 2001. Disponível em http://www.csie.ntu.edu.tw/~cjlin/libsvm. Acesso em 2 de dezembro de 2009.
[CLRS01] Cormen, Thomas. H.; Leiserson, Charles E.; Rivest, Ronald L.; and Stein, Clifford. Introduction to Algorithms . The MIT Press, 2nd Ed., 2001.
87
[CMRB05] Coutinho, Bruno; Macedo, Jalmaratan; Rique, Aroldo; Batista, L. V. . Atribuição de Autoria usando PPM . In: III Workshop em Tecnologia da Informação e da Linguagem Humana, 2005, São Leopoldo. Anais do XXV Congresso da Sociedade Brasileira de Computação, v. 1. p. 2208-2217, 2005.
[Cor03] Corney, Malcolm. Analysing E -mail Text Authorship for Forensic Purposes. Dissertação de Mestrado, 2003.
[CV95] Cortes, C.; and Vapnik, V. Support vector networks . Machine Learning, 20, p. 273–297, 1995.
[DA03] Diri, B.; and Amasyali, M. F. (2003). Automatic Author Detection for Turkish Texts . ICANN/ICONIP. Disponível em www.ce.yildiz.edu.tr/mygetfile.php?id=265. Acesso em 28 de novembro de 2009.
[DVAC01] deVel, O.; A. Anderson, M.; and Corney, G. Moha. Multi -topic E-Mail Authorship Attribution Forensics . In ACM Conference on Computer Security-Workshop on Data Mining for Security Applications. Philadelphia, PA, 2001.
[Fau94] Fausett, Laurene. Fundamentals of Neural Networks . Prentice Hall, 1994
[Hay99] Haykin, S. Neural Networks . New York, Prentice Hall, 1999.
[HC03] Horstmann, Cay S.; and Cornell, Gary. Core JAVA 2 Volume I – Fundamentos. Tradução 1ª ed. Pearson Makron Books, 2003.
[HCL09] Hsu, C. -W.; Chang, C. -C.; and Lin, C.-J. A practical guide to support vector classification . 2009.
[HFHPRW09] Hall, Mark; Frank, Eibe; Holmes, Geoffrey; Pfahringer, Bernhard; Reutemann, Peter; and Witten, Ian H. The WEKA Data Mining Software: An Update. SIGKDD Explorations, Volume 11, Issue 1, 2009.
[HNADBB 07] Honorio, T. C. S.; Nobre Neto, F. D.; Almeida, T. P. ; Duarte, R. C. M.; Barbosa, Y. A. M.; Rocha, V. M.; Batista, L. V. Atribuição de Autoria com WEKA . In: IX Encontro de Extensão e X Encontro de Iniciação, 2007, Joao Pessoa. Anais do IX Encontro de Extensão e X Encontro de Iniciação. Joao Pessoa : Editora Universitária/UFPB, v. 1, p. 42-42, 2007.
88
[Joa97] Joachims, T. Text categorization with support vector machines . Technical report, LS VIII Number 23, University of Dortmund, 1997. ftp://ftp-ai.informatik.uni-dortmund.de/pub/Reports/report23.ps.Z.
[Mal05] Malyutov, M. B. Authorship Attribution of Texts: A Review . Kluwer Academic Publishers, 2005.
[Men01] Mendenhall, T. A. A mechanical solution to a literary problem . Popular Science Monthly, 60, p. 97-105, 1901.
[Men87] Mendenhall, T. A. The characteristic curves of composition . Science, 11, p. 237-249, 1887.
[Mof90] Moffat, Alistair. Implementing the PPM Data Co mpression Scheme . IEEE Transactions on Communications, 38(11), p. 1917-1921, 1990.
[MS99] Manning, Christopher D.; and Schütz, Hinrich. Foundations of Statistical Natural Language Processing . Massachusetts Institute of Technology, 1999.
[NLP07] Natural L anguage Processing. Disponível em http://research.microsoft.com/nlp/. Acesso em 04 de dezembro de 2007.
[OFG97] Osuna, Edgar; Freund, Robert; and Girosi, Federico. An improved training algorithm for support vector mach ines . In Proceedings of the 1997 IEEE Workshop on Neural Networks for Signal Processing, Eds. J. Principe, L. Giles, N. Morgan, E. Wilson, p. 276 – 285, Amelia Island, FL, 1997.
[PASW09] PASW Statistics. Disponível em http://www.spss.com/ statistics/. Acesso em 30 de novembro de 2009.
[Pav07] Pavelec, Daniel F. Identificação da autoria de document os: análise estilométrica da língua portuguesa usando S VM. Dissertação de Mestrado, 2007.
[PDL09] Portal de Democratização da Leitura . Disponível em http://www.portaldetonando.com.br/. Acesso em 25 de setembro de 2009.
[Pla99] Platt, Jonh C. Fast training of support vector machines using sequential minimal optimization. MIT Press, p. 185 – 208, 1999.
89
[PLN07] Processamento de Linguagem Natural. Disponível em http://linguistica.insite.com.br/nlp.phtml. Acesso em 04 de dezembro de 2007.
[POJND09] Pavelec, D.; Oliveira, L. S.; Justino, E.; Nobre Neto, F. D.; Batista, L. V. Compression and Stylometry for Author Identification . In International Joint Conference on Neural Networks, Atlanta, Georgia, USA, 2009
[RWS09] Relatório de Comércio Eletrônico WebShoopers . E-bit. 20ª Edição, 2009.
[Sa01] Marques de Sá, Joaquim P. Pattern Recognition: Concepts, Methods and Applications. Springer, 2001
[Sal04] Salomon, D. Data Compression – The Complete Referenc e. 3ª ed. Springer, 2004.
[SBV95] Sch¨olkopf, B.; Burges, C.; and Vapnik, V. Extracting support data for a given task . In U. M. Fayyad and R. Uthurusamy, editors, Proceedings, First International Conference on Knowledge Discovery & Data Mining. AAAI Press, Menlo Park, CA, 1995.
[SBV96] Sch¨olkopf, B.; Burges, C.; and Vapnik, V. Incorporating invariances in support vector learning machines . In C. von der Malsburg, W. von Seelen, J. C. Vorbr¨uggen, and B. Sendhoff, editors, Artificial Neural Networks — ICANN’96, Berlin. Springer Lecture Notes in Computer Science, Vol. 1112, p. 47 – 52, 1996.
[Sha48] Shannon, Claude E. A Mathematical Theory of Communication. 1948.
[SPSSW01] Schölkopf, B.; Platt, J.; Shawe-Taylor, J.; Smola, A. J.; and Williamson, R. C. Estimating the support of a high-dimensional distribution . Neural Computation, 13, p. 1443-1471, 2001.
[SSWB00] Schölkopf, B.; Smola, A.; Williamson, R.; and Bartlett, P. L. New support vector algorithms . Neural Computation, 12, p. 1207-1245, 2000.
[Vap98] Vapnik, V. Statistical learning theory . Wiley, N. Y., page pp. 768, 1998.
90
[VBS09] Virtual Book Store. Disponível em http://vbookstore.uol.com.br/. Acesso em 18 de setembro de 2009.
[Wan05] Wang, Lipo. Support Vector Machines: Theory and Applications . Springer, 2005.
[WF04] Watt, David A.; and Findlay, William. Programming Language Design Concepts. John Wiley & Sons Inc, 2004.
[WF05] Witten, I. H.; and Frank, Eibe. Data mining: practical machine learning tools and techniques . Elsevier, 2ª Edição, 2005.
[WSA09] The Shakespeare Authorship Page. Disponível em http://shakespeareauthorship.com/. Acesso em 22 de outubro de 2009.
top related