Universidade Federal de Minas Gerais Instituto de Ciências Exatas

Transcrição

Universidade Federal de Minas Gerais Instituto de Ciências Exatas
Universidade Federal de Minas Gerais
Instituto de Ciências Exatas
Departamento de Ciências da Computação
MARLOS CHOLODOVSKIS MACHADO
MONOGRAFIA DE PROJETO ORIENTADO EM COMPUTAÇÃO I
CLASSIFICAÇÃO DE DOCUMENTOS MODELADOS COMO GRAFOS
Belo Horizonte – MG
2009 / 2o semestre
Universidade Federal de Minas Gerais
Instituto de Ciências Exatas
Departamento de Ciências da Computação
CLASSIFICAÇÃO DE DOCUMENTOS MODELADOS
COMO GRAFOS
por
MARLOS CHOLODOVSKIS MACHADO
Monografia de Projeto Orientado em Computação I
Apresentado como requisito da disciplina de Projeto Orientado em
Computação I do Curso de Bacharelado em Ciência da Computação da UFMG
Prof. Dr. Marcos André Gonçalves
Orientador
Belo Horizonte – MG
2009 / 2o semestre
Aos meus pais,
à minha namorada,
aos professores,
aos colegas de curso e
aos meus familiares,
dedico este trabalho.
i
Agradecimentos
Agradeço inicialmente aos meus pais, por sempre terem acreditado em mim e por
terem investido com tamanha convicção na minha educação.
À minha namorada, por sempre estar ao meu lado, me apoiando e incentivando.
À todos os meus professores, essenciais para minha formação.
Ao meu orientador, pela paciência, ensinamentos e críticas.
Aos meus amigos, por terem transformado o curso em uma jornada prazerosa.
E finalmente à minha falecida avó, que possibilitou meu primeiro contato com um
computador, suficiente para me encantar.
ii
“Ciência da Computação tem tanto a ver com o computador
como a Astronomia com o telescópio,
a Biologia com o microscópio,
ou a Química com os tubos de ensaio.
A ciência não estuda ferramentas,
mas o que fazemos e o que descobrimos com elas.”
citação atribuída a Edsger Dijkstra
iii
Sumário
Lista de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vi
Lista de Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ix
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
x
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1
Contexto e Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
1.2
Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
1.3
Hipótese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2 REFERENCIAL TEÓRICO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1
Modelagem dos Textos como Grafos . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.2
Classificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
2.2.1
Classificação de Gêneros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
2.2.2
Splogs Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
3 MODELAGEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4 MÉTRICAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1
Grau máximo e médio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
4.2
Caminho Mínimo Médio e Diâmetro . . . . . . . . . . . . . . . . . . . . . . . . .
19
4.3
Coeficiente de Clusterização Médio . . . . . . . . . . . . . . . . . . . . . . . . .
20
4.4
Tamanho do Componente Gigante e do Número de Componentes Conectados . . .
20
iv
4.5
Betweenness Médio e Máximo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
4.6
Closeness Médio e Máximo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
4.7
Densidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
5 DESCRIÇÃO DAS COLEÇÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.1
Genre Dataset (GeDa) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
5.2
Splog Dataset (SPLOG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
6 RESULTADOS E DISCUSSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.1
Classificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
6.1.1
Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
6.1.2
GeDa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
6.1.3
Splog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
Distribuição acumulada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
6.2.1
Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
6.2.2
GeDa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
6.2.3
Splog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
6.2
7 CONCLUSÕES E TRABALHOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Referências Bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
v
Lista de Figuras
Figura 3.1 Exemplo de modelagem
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Figura 6.1 “Boas métricas” para a GeDa
Figura 6.2 Outras métricas para GeDa
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Figura 6.3 “Não tão boas” métricas para a GeDa
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figura 6.4 Métricas Splog
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Figura 6.5 Métricas Splog
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Figura 6.6 Métricas Splog
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
vi
Lista de Tabelas
Tabela 5.1 Periódicos coletados da área Humanas, Ciências Sociais e Direito
Tabela 5.2 Periódicos coletados da área Biomédicas e Medicina
. . . . . . . . . 24
. . . . . . . . . . . . . . . . . . . . . 25
Tabela 6.1 Matriz de Confusão: GeDa com normalização
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Tabela 6.2 Matriz de Confusão: GeDa sem normalização
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Tabela 6.3 Matriz de Confusão: Baseline
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Tabela 6.4 Sumário dos resultados do método proposto e do baseline
Tabela 6.5 Matriz de Confusão: Splogs (Método proposto)
. . . . . . . . . . . . . . . . 29
. . . . . . . . . . . . . . . . . . . . . . . . . . 30
Tabela 6.6 Sumário dos resultados do método proposto e do baseline (7)
Tabela 6.7 Primeiras Quatro Métricas da GeDa
. . . . . . . . . . . . . 30
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Tabela 6.8 Outras Quatro Métricas da GeDa
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Tabela 6.9 Últimas Quatro Métricas da GeDa
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Tabela 6.10 Primeiras Quatro Métricas da Splog
Tabela 6.11 Outras Quatro Métricas da Splog
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
vii
Tabela 6.12 Últimas Quatro Métricas da Splog
viii
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Resumo
As palavras, em qualquer linguagem, não se conectam aleatoriamente e textos com
diferentes objetivos e estilos revelaram que suas palavras se relacionam em diferentes padrões.
Nesse trabalho propõe-se uma modelagem de documentos textuais como uma rede complexa
de palavras. São exploradas várias métricas de redes complexas nesses grafos para estudar
e analisar essas diferenças nos padrões de conexão. Experimentos em duas coleções textuais
diferentes isto é, conjunto de documentos com diferentes gêneros e blogs, mostraram que as
métricas de redes complexas são altamente discriminantes através da distribuição cumulativa
de seus valores para diferentes gêneros e blogs (blogs reais e spams), mostrando seu potencial
para diferenciar tipos de texto distintos.
Palavras-chave: Gênero textual, categorização, redes complexas, modelagem de grafos,
splogs.
ix
Abstract
Words in texts of any language are not randomly connected and texts with different
goals and styles have shown to present different patterns of word relationships. This work
proposes a graph modeling approach for text documents that represents them as a complex
network of words. It also explores several complex network metrics on top of these graphs
in order to study and analyze such differences in patterns of connections. Experiments in two
different textual collections, i.e., with sets of documents with different genre and blogs, have
shown that indeed our complex network features are highly discriminative as demonstrated by
the cumulative distribution of their values for different types of genre and blogs (i.e., real and
spam blogs), thus showing their potential for discriminating different types of text.
Keywords: Text genre, categorization, complex networks, graph modeling, splogs.
x
11
1
INTRODUÇÃO
1.1
Contexto e Motivação
Existe praticamente um consenso de que a “explosão de informação” é um dos proble-
mas mais difíceis encarados atualmente na computação e o gerenciamento efetivo de coleções
de texto tem sido um tópico bastante pesquisado. Nesse contexto, produzir características que
auxiliam a diferenciação dos textos em várias classes de interesse (e.g., por tópico, gênero,
opinião) é uma contribuição muito importante.
A capacidade de classificar documentos textuais em termos do seu gênero específico1
(e.g., textos científicos, jornalísticos ou literários) pode ser útil em várias aplicações como, por
exemplo, na remoção de ambiguidade relacionada ao significado de uma palavra específica, já
que muitos significados de uma dada palavra são restritos à textos de um estilo particular (1).
Por exemplo, o substantivo “Lula” tem dois significados bastante comuns: ele pode referenciar
tanto o animal marinho quanto o atual presidente da República (Luis Inácio Lula da Silva). É
impossível saber a que essa palavra se refere observando-a isoladamente mas, se esse substantivo é encontrado em um texto científico da área biológica é bem provável que ela faça
referência ao animal marinho; da mesma forma que quando presente em uma notícia de política
a probabilidade maior é que faça referência à pessoa.
A classificação por gêneros também pode proporcionar melhorias na usabilidade das
máquinas de busca, permitindo aos usuários ordenar os resultados de suas consultas com base
em gêneros específicos (2). O usuário poderia, por exemplo, fazer uma consulta com os termos
“Recuperação de Informação” e desejar ver, nas primeiras posições, artigos científicos e não
outras páginas Web (e.g., Wikipédia, Notícias, Ementas) como é feito atualmente.
Duas aplicações mais técnicas para a classificação de documentos por gêneros são: a
criação de um coletor focado, permitindo a existência de repositórios especializados em genêros
específicos (e.g., artigos científicos, ementas de curso, revisão de produtos, etc) (3) e a melhoria
1 Mais
precisamente, por gênero queremos dizer “qualquer classe de textos definida por seus propósitos comunicativos comuns ou outras características funcionais” (1).
12
no processo de re-visita de um coletor à uma página Web. O gênero de uma página Web pode
ajudar a determinar a frequência que ela é alterada (4), e.g., um página com notícias de jornal
provavelmente sofre mais alterações que uma página com um texto literário.
Identificação de spams é outra aplicação que pode se beneficiar de características discriminantes, esse problema é muito interessante devido, também, ao seu impacto econômico na
Web (5).
1.2
Objetivo
A preocupação específica desse trabalho é propor e avaliar o poder de discriminação de
um conjunto de novas características baseadas em uma modelagem de textos como grafos, que
são utilizadas para diferenciar documentos com padrões distintos de escrita. Mais especificamente, a abordagem proposta para a caracterização desses documentos é baseada na modelagem
de um texto como uma rede complexa (6). O documento é modelado como um grafo no qual os
vértices representam palavras distintas e as arestas representam relações de proximidade entre
essas palavras. Extrai-se então várias métricas dessa rede.
A avaliação do poder discriminativo das métricas para diferentes conteúdos textuais
é feita através da classificação de duas bases de dados2 . Essa classificação utiliza as métricas
propostas como evidências.
1.3
Hipótese
Considerando toda a discussão do capítulo pode-se sintetizar a hipótese do trabalho
como sendo: As métricas de redes complexas, quando aplicadas à textos modelados como
grafos, são capazes de capturar características do documento como, por exemplo, estilo e estrutura. Conseguindo diferenciar, de forma precisa, documentos de diferentes classes.
Esse trabalho visa confirmar essa hipótese. Essa abordagem é independente de linguagem por explorar apenas a estrutura do grafo que representa o documento, da mesma forma
que independe de análise sintática e semântica.
2 Uma
base é relacionada à gêneros, é composta de 9000 documentos pertencentes à três gêneros específicos:
literário, científico e jornalístico. A segunda base é relacionada à splogs (i.e., spam blogs). Ela possui 1389 blogs
onde 695 são spam (i.e., link spam blogs e fake blogs) (7).
13
2
REFERENCIAL TEÓRICO
Esse trabalho se articula em duas áreas distintas: a primeira —Redes Complexas—
trata da modelagem do texto como um grafo. Já a segunda área —Recuperação de Informação—
está voltada para a classificação dos documentos em diferentes classes. Para uma maior clareza
dividiu-se o estudo bibliográfico em duas seções principais.
2.1
Modelagem dos Textos como Grafos
Vários problemas reais podem ser modelados como redes complexas. Exemplos in-
cluem redes sociais, informacionais, tecnológicas e biológicas (6). Essas redes permitem a
modelagem de um problema como um conjunto de interconexões entre as entidades de interesse, permitindo a extração de informações importantes levando em consideração os padrões
dessas conexões.
No âmbito de representações textuais, vários trabalhos modelam textos como grafos,
apesar do fato de algumas modelagens variarem entre si. Jin e Srihari (2007), por exemplo,
modelam textos como grafos levando em consideração alguns dos seus aspectos sintáticos. Esse
trabalho ataca o problema de consulta de cadeia de conceitos1 (concept chain query).
Mais relacionado ao nosso trabalho, a modelagem de textos como grafos, desconsiderando fatores sintáticos ou semânticos e utilizando apenas a disposição das palavras no
texto é feita por Dorogovtsev e Mendes (2001), Ferrer-i-Cancho e Sole (2001) e Antiqueira
et al (2007).
Ferrer-i-Cancho e Sole (2001) analisam os grafos resultantes e suas propriedades,
mostrando que textos e linguagem natural normalmente seguem um modelo com características de grafos small-world (9). Uma discussão importante nesse trabalho é sobre a distância
máxima entre duas palavras para uma relação existir, com a distância dois sendo considerada a
melhor para representar as propriedades do texto.
1 Esse problema pode ser definindo como sendo a “busca por ligações entre conceitos através de documentos”(8)
14
A linguagem humana também é objeto de estudo de Dorogovtsev e Mendes (2001).
Nesse trabalho, os autores propõem uma teoria do desenvolvimento da linguagem humana
baseda na sua modelagem como uma rede crescente de palavras que se interagem. Eles mostram
que uma grande quantidade, ou o “núcleo”, da linguagem não varia com a evolução da linguagem (10).
Finalmente, Antiqueira et al (2007) exploram a modelagem de textos como grafos e
correlacionam a qualidade de um texto com métricas de Redes Complexas. Nesse trabalho eles
mostram a existência de uma correlação inversa entre o aumento das métricas coeficiente de
clusterização e outdegree com a qualidade do texto. (11).
2.2
Classificação
2.2.1 Classificação de Gêneros
Existem diversos trabalhos relacionados à classificação de gêneros e eles podem ser
divididos em dois grupos: aqueles que se baseiam no conhecimento de algum especialista,
dependentes assim do idioma, e aqueles que propõem abordagens mais automatizadas e independentes de idioma.
Várias abordagens já apresentadas na literatura podem ser enquadradas no primeiro
grupo como, por exemplo, a exploração de técnicas de aprendizado de máquina combinadas
à características baseadas em fatores linguísticos para mostrar, empiricamente, a diferença
retórica entre diferentes campos da ciência (12). Outra abordagem já apresentada é a classificação de gêneros utilizando um método baseado em tags (que são assinaladas manualmente)
além de análises sintáticas e linguísticas dependentes do idioma (13).
Outras abordagens interessantes são a classificação de gêneros baseada em Processamento de Linguagem Natural2 (14); e a modelagem de textos como vetores, incluindo características para a classificação como frequências Part-of-Speech (POS) (15).
Trabalhos mais próximos do nosso estão presentes na segunda categoria, que são independentes de linguagem e especialistas. Os trabalhos dessa categoria são mais interessantes
para a classificação de conteúdos Web, principalmente devido à escalabilidade das técnicas propostas. Um caso de estudo de um classificador de gêneros supervisionado, em um ambiente de
produção é apresentado em (16). Uma teoria baseada na modelagem de gêneros como bundles
of facets e sua correlação com as “pistas de superfícies” é apresentada em (1).
2 Campo
humana.
da computação que objetiva facilitar o “entendimento” dos computadores com relação à linguagem
15
Ainda nesse grupo está (17), que apresentaram um método independente de categorização baseado nos níveis n-gram3 dos caracteres da linguagem. Outro trabalho interessante é
(19), que apresentou um algoritmo de classificação baseado em estatísticas do texto (frequência
do termo e do documento, por exemplo) — utilizamos esse trabalho como baseline.
Finalmente, classificação de gêneros não está restrita somente à textos. Existem, por
exemplo, várias pesquisas relacionadas à classificação de músicas conforme seu gênero musical
(20, 21) — esse tópico foge do escopo do trabalho e não será discutido.
2.2.2 Splogs Classification
A “blogosfera” tem sido muito pesquisada atualmente e é um campo relativamente
novo. Macdonald e Ounis (2006) apresentam um dos primeiros esforços na construção de uma
coleção de blogs — Blogs06 — e discutem algumas características observadas nela, como, por
exemplo, a distribuição de palavras ofensivas, de links e da hora de postagem (22).
Já relacionado ao tópico de detecção de splogs, Datta e Sarkar (2008) apresentam um
estudo comparativo das características de blogs e splogs, como erros de digitação, frequência
das palavras e distribuição de assuntos (23).
Vários outros trabalhos existem, propondo abordagens para a detecção de vários tipos
de spam, utilizando diversas técnicas como aprendizado de máquina (24) e modelos baseados
em linguagem (25).
Um enfoque maior foi dado nos trabalhos de Kolari e.t. a.l. (7, 26), utilizando inclusive
a base de blogs proposta por eles nesse trabalho. Kolari, Finin e Joshi (2006) detalham a base
que utilizam para a detecção de splogs, definindo inclusive uma nomenclatura e apresentando
definições de termos como blogs e splogs (7). Posteriormente, Kolari e.t. a.l. (2006) formaliza
o problema de detecção de splogs e apresenta um método baseado em SVM, complementando
o trabalho anterior (26).
Comparativamente, a maior contribuição do projeto apresentado é a modelagem de
textos como uma rede complexa e a utilização de várias métricas dessas redes como características para discriminar diferentes classes de texto — até onde se sabe, nunca se explorou essa
abordagem antes. Nesse trabalho, classifica-se gêneros e splogs.
3 “Qualquer
substring de tamanho n” (18)
16
3
MODELAGEM
Esse é um dos aspectos mais importantes desse trabalho, a modelagem de textos como
grafos, além da posterior utilização de métricas desse grafo como evidências para a classificação dos documentos em diferentes classes. Assim sendo, é importante discutir de forma mais
precisa a modelagem realizada e as métricas utilizadas como evidências.
Para a modelagem de um documento como um grafo definiu-se cada uma de suas
palavras distintas como um vértice. Uma aresta existe entre dois vértices se a distância entre as
duas palavras que representam esses vértices for menor ou igual à um certo limiar em alguma
parte do texto.
O limiar citado acima representa então a distância máxima entre duas palavras para que
uma relação seja existente. Ferrer-i-Cancho e Sole (2001) utilizam a mesma modelagem desse
trabalho e discutem extensivamente o melhor limiar para ela. Partindo do pressuposto de que
as palavras mais correlacionadas em um texto são aquelas que estão mais próximas e levando
em consideração co-ocorrência de termos no idioma inglês e expressões comuns do idioma —
todos os documentos trabalhados estão em inglês — os autores concluem que a distância dois é
ideal para modelar o idioma inglês (27); outros trabalhos também já utilizaram essa modelagem
e esse limiar (10).
O grafo resultante é não-dirigido, já que a relação de proximidade não possui uma
direção específica. Decidiu-se avaliar grafos ponderados e não-ponderados, modelando o peso
das arestas como sendo determinado pela repetição de relações no texto. Ou seja, se duas
palavras estão próximas em três pontos distintos do texto, então o peso da aresta que as liga é
três. A distância em si não foi diferenciada, i. e., uma relação de duas palavras à uma distância
dois é exatamente igual à uma relação de duas palavras à uma distância igual à um.
Pontuação, acentuação e capitalização foram tratados previamente: Todos os acentos e marcas de pontuação, que não significam final de sentença — vírgulas, ponto e vírgula,
hífen, etc — foram removidos. Transformou-se também todas as letras maiúsculas em minúsculas. Essas transformações “asseguram que todas as ocorrências de uma palavra sejam contadas
17
como sendo do mesmo tipo, não importando se elas são a primeira palavra de uma sentença
e, consequentemente em letras maísculas. Um efeito colateral menor ocorre para nomes que
são escritos da mesma forma de uma palavra, que são contados como sendo essa palavra.”(28).
Possíveis laços no grafo são ignorados (vértices se relacionarem com si próprios).
Palavras entre colchetes são tratadas como sendo independentes das palavras fora do
mesmo. Considerou-se também separação de palavras (uma palavra começa em uma linha e
termina na outra). Levou-se também em consideração operações matemáticas e cada fator foi
assumindo como sendo uma palavra diferente, assim 1×2 resultará em: ‘1’, ‘×’ e ‘2’.
Para uma avaliação mais ampla, decidimos analisar os resultados levando em consideração stemming1 (utilizando ou não no texto) e stop-words2 (texto com e sem elas).
A Figura 3.1 oferece um exemplo do grafo gerado pela sentença: “Uma sentença exemplo utilizada como exemplo para a modelagem”, não aplicando stemming nem removendo
as stop-words. Observa-se, mesmo nessa simples sentença, um padrão diferente no vértice
que representa a palavra “examplo”, identificando sua repetição no texto. Ele foi desenhado
utilizando o software Pajek.3
como
1
1
1
utilizada
para
1
1
2
1
1
2
modelagem
a
sentenca
1
1
exemplo
1
1
uma
Pajek
Figura 3.1: Exemplo de modelagem
1 Remoção dos radicais das palavras, deixando apenas a raiz.
Por exemplo, as palavras “amarelo” e “amarelado”
têm a mesma raiz: “amarel”.
2 São palavras que supostamente não agregam significado a um texto.
3 Disponível em: http://pajek.imfm.si/doku.php
18
4
MÉTRICAS
A característica realmente inovadora desse trabalho é a utilização das métricas do
grafo — originário da modelagem proposta no capítulo anterior — como evidências para a
classificação de documentos. Esse capítulo apresenta as métricas utilizadas e suas respectivas
definições.
A hipótese do trabalho — que as diferenças no estilo e organização da escrita são refletidos na topologia das redes criadas — está diretamente relacionada à análise dessas métricas.
Por exemplo, textos jornalísticos tendem a utilizar um número menor de palavras na média e,
utilizar as palavras uniformemente ao longo do texto. Textos literários tendem a explorar mais
sinônimos enquanto textos científicos utilizam menos sinônimos e vários termos técnicos. Textos jornalísticos geralmente lidam com o mesmo assunto em todos os seus parágrafos enquanto
textos científicos e literários não. Isso porque duas seções de um artigo científico podem ser
parcialmente não-relacionadas, e.g., a seção ‘Trabalhos Relacionados’ pode lidar com assuntos parcialmente diferentes e independentes quando comparados à seção ‘Conclusão’. Textos
literários, por outro lado, podem apresentar parágrafos relacionados à dois personagens diferentes em lugares e tempos distintos. A maioria dessas características foram identificadas pelas
métricas propostas nesse trabalhos, esse tópico será discutido na seção resultados.
No caso dos splogs outras situações podem ser identificadas, por exemplo, se um blog
possui um pequeno número de arestas e um número de palavras similar a outros blogs, provavelmente é porque algumas palavras e frases seguem um padrão de repetição. Esse padrão é muito
comum em link spam blogs com intenções de propaganda, por exemplo. Um resultado esperado
é que as palavras nos splogs serão mais repetitivas que as palavras em blogs e, na média, serão
mais conectadas entre si do que a outras palavras diferentes em diferentes partes do texto.
As novas características propostas também são mais difíceis de se “enganar”. Por
exemplo, splogs atualmente são escritos por softwares que imitam uma distribuição Zipfian
de palavras (23), tentando prevenir sua detecção. Imitar uma determinada característica da
linguagem pode até ser simples, entretanto imitar todos os padrões de um grafo é muito mais
difícil. As métricas abaixo foram utilizadas como evidências para a classificação dos textos.
19
4.1
Grau máximo e médio
O grau médio (AD) de um grafo pode ser definido como:
V
∑ di
AD =
i=1
V
(4.1)
onde d i é o grau do vértice i e V é o número total de vértices do grafo. O grau máximo (MD)
pode ser identificado como:
MD = max(d 1 , d 2 , ..., dV )
(4.2)
No caso da representação de textos, o número de relações diferentes entre palavras
(vértices) é diretamente relacionado ao grau médio de um grafo. O grau máximo é relacionado
à utilização e frequência de algumas palavras. Se uma palavra aparece em muitos contextos ela
terá uma grau médio maior e uma palavra que apareça em todo lugar provavelmente terá o grau
máximo.
4.2
Caminho Mínimo Médio e Diâmetro
O caminho mínimo médio (ASP) é a média da menor distância entre um par de vértices.
Choueka e Lusignan (1985) definiram ASP como sendo (29):
ASP =
V V
1
∑ di j
∑
n(n − 1) i=1 j=1
(4.3)
onde di j é o caminho mínimo médio da rede do vértice i ao j. Podemos também definir diâmetro
(D) como o maior caminho míninmo para todo par de vértices, i.e.:
D = max(d11 , d12 , ..., d21 , ..., dVV −1 )
(4.4)
No contexto desse trabalho, essas duas métricas estão relacionadas ao número de
palavras utilizadas em um texto, o número de relações diferentes entre essas palavras além
de vários outros fatores. Se um texto possui um baixo número de palavras e elas se conectam de
diferentes maneiras, o caminho mínimo médio e o diâmetro serão menores do que em textos nos
quais algumas palavras são raramente utilizadas ou utilizadas apenas em situações específicas.
20
4.3
Coeficiente de Clusterização Médio
Watts e Strogatz (1998) apresentaram a definição de coeficiente de clusterização de um
vértice i (ci ) em (9) como ci =
NTi
NCi
onde NTi é o número de triângulos conectados ao vértice i e
NCi é o número de triplas centradas em i. Se um vértice tem grau igual a 1 ou 0 o numerador e
o denominador são zero e definimos ci = 0. Com essa definição, o coeficiente de clusterização
médio (ACC) pode ser formalizado como segue:
ACC =
1
V
V
∑ ci
(4.5)
i=1
Uma analogia comum para o coeficiente de clusterização é uma rede de amizades. O
coeficiente de clusterização mede a probabilidade de um amigo do seu amigo ser seu amigo.
Podemos dizer que essa métrica também está relacionada à coesão do texto. Ele possui um
valor maior quando dois diferentes pedaços do texto são relacionados, i.e., eles possuem várias
palavras em comum. Textos sem coesão provavelmente possuem um coeficiente de clusterização médio menor.
4.4
Tamanho do Componente Gigante e do Número de Componentes Conectados
Um componente conectado pode ser definido como sendo o subgrafo composto de
todos os vértices mutuamente alcançáveis.
Definindo GCi como o tamanho percentual de um componente conectado i e P o
número total de componentes conectados, podemos definir o tamanho do componente gigante
(SGC) e o número de componentes conectados (NCC):
SGC = max(GC1 , GC2 , ..., GCP )
(4.6)
NCC = P
(4.7)
Essas duas métricas também são relacionadas à coesão do texto. Geralmente, pelo
menos uma palavra que aparece em uma parte do texto também aparece em outra parte, stop
words pelo menos. Um texto que possui duas partes sem nenhuma palavra em comum terá
dois componentes conectados diferentes. Essas duas métricas medem quantas palavras não
pertencem ao “componente principal” e quantas partes do texto não se relacionam às outras.
21
4.5
Betweenness Médio e Máximo
Betweenness é um valor local e pode ser definido como sendo o número de caminhos
geodésicos entre dois vértices diferentes que passam pelo vértice que se quer calcular o betweenness. Pode-se dizer que o betweenness é uma medida de resiliência da rede (6) já que ele
nos diz quantos caminhos geodésicos serão maiores se um vértice for removido. Sendo Bti j um
vetor de tamanho V e Btikj = 1 se o caminho mínimo entre dois vértices i e j passar pelo vértice
k e Btikj = 0 se não passar, podemos definir o betweenness de um vértice k e, consequentemente
o betweenness médio (Bt(k) e ABt, respectivamente):
V
Bt(k) = ∑
V
∑ Btikj
(4.8)
∑ Bt(k)
(4.9)
i=1 j=1
ABt =
1
V
V
k=1
Define-se também o betweenness máximo:
MBt = max(Bt(1), Bt(2), ..., Bt(V ))
(4.10)
Essas duas métricas estão relacionadas à repetitividade do texto. Uma palavra (vértice)
possui um betweenness alto porque ela aparece em várias partes do texto e conecta palavras
diferentes (provavelmente stop words possuem um betweenness maior).
4.6
Closeness Médio e Máximo
Closeness mede quão perto, em média, um vértice está dos outros. Pode-se definir o
closeness (Cn(i)) de um vértice i em um grafo conectado G como segue:
Cn(i) =
f −1
∑ ASP(i, j)
(4.11)
i, j∈G
onde ASP(i, j) é o caminho mínimo de i para j e f é o número de vértices alcançáveis de i em
G, isto é, o closeness mede a proximidade de um vértice para todos os outros. Pode-se definir
também o closeness máximo e mínimo (ACn e MCn respectivamente):
1 f
ACn = ∑ Cn(i)
f i=1
(4.12)
MCn(i) = max(Cn(1),Cn(2), ...,Cn( f ))
(4.13)
22
Essas duas métricas também estão relacionadas à repetição de palavras. Se uma palavra
é utilizada várias vezes, em contextos não relacionados, é esperado que ela crie pontes entre
partes do grafo que diminuem as distâncias.
4.7
Densidade
Essa métrica é definida como a razão entre o número de arestas de um grafo (Ed) e o
número máximo de arestas possíveis (MEd). Uma formalização dessa medida é:
De =
Ed
MEd
(4.14)
Ela ignora laços e arestas múltiplas, situações inexistentes nos grafos desse trabalho.
Essa métrica é influenciada pelo número de palavras diferentes aplicadas ao texto; um texto com
mais sinônimos possui uma densidade menor que um texto que usa sempre as mesmas palavras.
23
5
DESCRIÇÃO DAS COLEÇÕES
Uma abordagem para investigar se a modelagem de textos como grafos realmente captura propriedades intrínsecas de diferentes tipos de texto é a experimentação. As próximas
seções desse capítulo discutem mais detalhadamente as coleções utilizadas nesse trabalho.
5.1
Genre Dataset (GeDa)
Uma coleção bastante comum nos trabalhos sobre classificação de gêneros é a Brown
Corpus (1, 13). “Ela é composta de 500 amostras de textos publicados em 1961 — divididas em
15 gêneros. Cada amostra começa em uma sentença no artigo ou outro documento escolhido,
selecionada randomicamente, e continua até o fim da sentença que ultrapassa o limite de 2000
palavras, a base é dividida em subcategorias.”(30)
Essa base não foi utilizada por ser muito pequena para o trabalho, já que nenhum de
seus gêneros possui mais do que algumas dezenas de documentos. Outra razão importante é
que amostras não são interessantes para esse trabalho, que explora a estrutura do texto como
um todo. A utilização de amostras poderia causar uma perda parcial de informação. Além disso,
a intenção é classificar textos simples i.e., assume-se que textos não possuem nenhuma marca
como tags ou qualquer outra informação que necessite do fornecimento por um especialista.
Não se discute a utilidade de tais marcas, mas a abordagem se torna menos genérica.
A Brown Corpus também foi desnecessária por não utilizarmos suas informações adicionais, além de pretendermos utilizar uma base com textos de diferentes períodos, ainda esperando bons resultados. Criou-se então uma coleção com três gêneros, que são praticamente
um superconjunto dos 15 gêneros da Brown Corpus. Um exemplo disso é o fato do gênero
jornalístico da GeDa ser dividido em três gêneros na Brown Corpus: Reviews, Editorial e Reportages.
Não tendo sido encontrada uma base já existe de gêneros, a GeDa foi montada com
a coleta de documentos de três gêneros diferentes: científico, jornalístico e literário. O gênero
24
literário é composto por textos que têm como propósito o entretenimento do leitor, sendo apresentado em vários formatos como, por exemplo, contos, crônicas, novelas, entre vários outros.
O gênero jornalístico é composto por textos que objetivam distribuir informação sobre acontecimentos do mundo real, algumas vezes eles são escritos com opiniões. Por fim, o
gênero científico é composto de textos publicados em materiais científicos com o propósito de
introduzir um novo conhecimento específico ao leitor.
A coleção GeDa é composta de 9,000 textos em inglês, com seus gêneros classificados
de acordo com sua origem — local de onde foram retirados. Cada um dos três gêneros possui
3,000 documentos nessa base. Os 3,000 textos jornalísticos foram selecionados aleatoriamente
entre 3,591 textos de uma amostra da base Wall Street Journal (31). Para o gênero literário
coletou-se 16,794 textos do portal do Projeto Gutenberg1 (selecionou-se aleatoriamente 3,000
documentos entre os menores, evitando grandes livros e possibilitando que os textos de diferentes gêneros tenham um tamanho similar).
Finalmente, para o gênero científico coletou-se textos de duas bibliotecas digitais:
ACM2 e Springer3 . Os textos científicos foram divididos em três áreas para uma justiça maior:
Ciência da Computação; Humanas, Ciências Sociais e Direito; Biomédicas e Medicina. Coletouse 2,186 textos na ACM (Ciência da Computação), 1,858 textos em cinco periódicos diferentes
sobre Humanas, Ciências Sociais e Direito (presentes na Tabela 5.1) e, por fim, 1,495 textos em cinco periódicos diferentes da área de Biomédicas e Medicina (listados na Tabela 5.2).
Selecionou-se então 1,000 textos — de cada área — entre os maiores, para evitar textos indesejados como cartas editoriais.
Higher Education
http://www.springerlink.om/ontent/102901/
European Demographic Information Bulhttp://www.springerlink.om/ontent/121145/
letin
Crime, Law and Social Change
http://www.springerlink.om/ontent/102868/
Advances in Health Sciences Education
http://www.springerlink.om/ontent/1382-4996/
International Journal of Technology and
http://www.springerlink.om/ontent/102912/
Design Education
Tabela 5.1: Periódicos coletados da área Humanas, Ciências Sociais e Direito
1 http://www.gutenberg.org/wiki/Main_Page
2 http://portal.am.org/dl.fm
3 http://www.springer.om
25
Behavior Genetics
Animal Cognition
Amino Acids
Annals of Biomedical Engineering
Archives of Toxicology
http://www.springerlink.om/ontent/105485/
http://www.springerlink.om/ontent/101775/
http://www.springerlink.om/ontent/104405/
http://www.springerlink.om/ontent/111241/
http://www.springerlink.om/ontent/0340-5761/
Tabela 5.2: Periódicos coletados da área Biomédicas e Medicina
5.2
Splog Dataset (SPLOG)
Uma descrição completa do conjunto de dados SPLOG foi feita por Kolari, Finin e
Joshi (2006) (7). Esse conjunto de dados também foi utilizado por várias outras pessoas, Datta
e Sarkar (2008) (23), além de Sculley e Wachman (2007) (24), por exemplo.
A SPLOG é composta de 1,389 blogs onde 695 blogs foram classificados como splogs,
i.e., link spam blogs ou fake blogs. Mais especificamente, fake blogs extraem textos de outros
locais na Web e os publicam como postagens. Link spam blogs também podem atuar como link
farms, i. e., um conjunto de splogs que possui vários links para outro blog específico, com a
intenção de aumentar seu PageRank. Outro exemplo de spam em blogs é a repetição de palavras
tentando deixar o blog mais relevante para certas consultas. Geralmente esse tipo de blog possui
intenções comerciais.
Por existirem muitos trabalhos na literatura que lidam com esse conjunto de dados, não
é necessário um detalhamento maior do mesmo.
26
6
RESULTADOS E DISCUSSÃO
Dois experimentos foram realizados para avaliar o desempenho do método proposto.
Cada seção discute a metodologia do experimento e os resultados obtidos para as duas bases.
Há um procedimento preliminar comum aos dois experimentos que será explicado agora. As
diferentes experimentações são feitas a partir do mesmo ponto de partida.
Inicialmente tem-se apenas os documentos em seu formato original, os splogs passam
por um parser HTML, tendo suas tags e marcadores removidos, com isso, todos os documentos,
de todas as coleções, passam a ser textos puros, esses documentos são então pré-processados
(como discutido no capítulo 3). Após esse pré-processamento, têm-se os documentos no formato correto para o gerador de grafos.
O gerador de grafos recebe esses documentos como entrada e gera como saída os
grafos, nesse momento define-se o limiar e a consideração ou não das stop words e de pesos.
A aplicação de stemming é feita na fase anterior. Tendo sido gerado o grafo, é necessário gerar
as métricas de redes complexas — a grande inovação do trabalho. Calcula-se então as métricas
e gera-se um arquivo em que cada linha representa um documento, sendo cada documento
modelado como um vetor.
O ponto de partida dos dois experimentos discutidos a seguir é o arquivo em que cada
linha representa um documento e, cada métrica é na verdade as dimensões do vetor, isso porque
o algoritmo de classificação é baseado no modelo vetorial (18) onde cada dimensão é uma das
métricas discutidas no capítulo 4.
6.1
Classificação
6.1.1 Metodologia
O primeiro experimento a ser realizado é a classificação dos documentos em diferentes
áreas, que foi feito utilizando-se o algoritmo SVM (Support Vector Machine) baseado em técnicas de aprendizagem de máquina. Utilizou-se a implementação chamada LIBSVM (32) para a
27
realização da classificação. O funcionamento do algoritmo não será detalhado, ele é largamente
utilizado na literatura — atualmente o estado-da-arte. Cristianini e Shawe-Taylor (2000) (33)
apresentam uma descrição bastante precisa desse algoritmo.
Tendo o arquivo com os vetores, citado acima, todas as características do vetor são
normalizadas para ficarem com valores entre -1 e +1, avaliamos também o desempenho do
classificador sem a normalização.
O SVM exige também a divisão da coleção em partes, para que uma parte seja utilizada para o treino (fase de aprendizagem), outra para teste (a que é realmente classificada, de
onde os resultados são obtidos) e a última para validação (para evitar overfitting, ou seja, a especialização do modelo gerado para um único conjunto de teste). Essa abordagem é conhecida
como validação cruzada, onde divide-se a base em n partes e as combina de maneiras distintas,
com a média de todas as combinações (cada uma é também conhecida como fold) sendo o resultado. Na base GeDa fez-se 10-fold cross-validation e na Splog, 5-fold cross-validation. Essa
diferença se deve ao tamanho das bases.
Classificou-se oito situações diferentes em cada base, que é o resultado da presença ou
ausência de stemming, stop words e pesos nas arestas. Os resultados desse procedimento são
apresentados nas próximas seções, divididos por coleção.
6.1.2 GeDa
O método utilizado como baseline foi proposto por Lee e Myaeng (2002) e ele se baseia
“no uso de estatísticas de dois conjuntos diferentes de classes, gênero e assunto, no conjunto de
treino ”(19), ou seja, ele busca palavras que são discriminantes entre diferentes gêneros, levando
em consideração sua distribuição e frequência nos documentos. Por não ter sido disponibilizado
o código e por se utilizar uma base nova na literatura, esse algoritmo teve de ser implementado
para essa comparação.
Realizou-se a classificação da maneira descrita na seção anterior. O método proposto
se mostrou indiferente para a utilização ou não de pesos nas arestas, stop words ou stemming;
ou seja, os resultados não variaram em nenhum dos oito cenários propostos (combinação das
configurações discutidas). Validou-se essa afirmação de que o método independe dos cenários
com um Teste T de significância estatística com uma confiabilidade de 95%.
Pelo método ser indiferente à essas alterações, apresentar-se-á somente os resultados
de uma configuração, a de menor custo, que gera o menor grafo, ou seja: Sem stop-words, sem
pesos e com stemming. Para uma justiça maior, utilizou-se a mesma configuração no baseline.
28
Os resultados são apresentados de duas formas: primeiramente se apresenta a matriz
de confusão do método e, posteriormente, os resultados de acurácia e macro-F1. Podemos
definir acurácia como sendo o total de documentos classificados corretamente dividido pelo
número total de documentos. A macro-F1 é a média aritmética dos F11 de cada classe. Não
há problema em utilizar essa métrica por todas as classes terem aproximadamente o mesmo
número de documentos.
Fez-se experimentos tanto para os vetores sem normalização quanto para os vetores
normalizados. As matrizes de confusão abaixo apresentam os resultados.
Literário
Científico
Jornalístico
Literário
187
98
217
Científico
104
189
50
Jornalístico
8
13
34
Acurácia
62.54%
63.00%
11.29%
Tabela 6.1: Matriz de Confusão: GeDa com normalização
Literário
Científico
Jornalístico
Literário
280
38
36
Científico
18
215
7
Jornalístico
1
47
258
Acurácia
93.64%
71.66%
85.71%
Tabela 6.2: Matriz de Confusão: GeDa sem normalização
O desempenho do classificador utilizando os vetores normalizados é muito pior. Acreditase que o motivo se origina das características intrínsecas das redes que representam a linguagem,
discutidas por Ferrer-i-Cancho e Sole (2001). As caracteísticas das redes small-world (9) são
ocultadas, provavelmente tornando todos os grafos semelhantes pela perda de escala. Assim
sendo, não foram feitas mais normalizações em nenhuma base.
Os resultados relativos à remoção ou não de stop words, stemming são interessantes
de serem discutidos: Esse método se mostra independente de pequenas variações no texto,
ele se torna independente de uma palavra específica ou um conjunto de palavras, mostrando
que possíveis variações seriam ignoradas pelo método, caso fossem pequenas, como erros de
digitação ou utilização de pronomes, novamente, a estrutura do texto que é importante.
Baseado em toda a discussão anterior, o baseline foi utilizado com a configuração de
ausência de stop words e pesos, e com a realização de stemming. Os resultados obtidos são
apresentados na tabela abaixo:
1 média
harmônica da precisão e revocação, é dada por: F =
2×P×R
(P+R)
onde P é precisão e R é revocação.
29
Literário
Científico
Jornalístico
Literário
300
0
0
Científico
0
300
0
Jornalístico
0
0
300
Acurácia
100.0%
100.0%
100.00%
Tabela 6.3: Matriz de Confusão: Baseline
A tabela 6.4 sumariza os resultados, possibilitando a comparação dos resultados do
método proposto e do baseline.
Método
Proposto Com Normalização
Proposto Sem Normalização
Baseline
Macro-F1 Acurácia
41.53%
45.56%
83.47%
83.67%
100.00% 100.00%
Tabela 6.4: Sumário dos resultados do método proposto e do baseline
A análise da razão da derrota do método proposto para o baseline é essencial: O baseline leva em consideração a frequência das palavras nos textos de cada classe e na coleção como
um todo, assim sendo, ele consegue classificar grande parte dos documentos com regras muito
simples, por exemplo, baseadas na frequência de palavras como “abstract”, “references”, datas,
etc; o método proposto não leva isso em consideração. Sem a utilização de indícios tão fortes,
a verificação dos padrões de frequência, a derrota é óbvia.
Apesar da derrota, esse experimento nos apresentou informações muito úteis como a
importância da não normalização dos dados, e o fato de stop words e pesos nas arestas não
serem importantes, assim como o stemming. As stop words não serem importantes até é um
resultado esperado, mas não se esperava que stemming não fosse importante.
Além de análises relativas ao método, os resultados finais da classificação mostraram
que há um potencial grande de melhoria, uma vez que obteve-se um Macro-F1 de 83.67% em
um problema no qual o método não tem a menor especialização. Observou-se também que a
classe mais “difícil” para o método é a classe científica, provavelmente por possuir documentos
de áreas tão diversas, principalmente a área humana, que se assemelha mais à outros gêneros
textuais. O desempenho excepcional do baseline se deve ao fato dele utilizar frequências, isso
porque algumas palavras nos textos identificam sua origem2 , logo, ele sempre acerta a classe,
ou seja, essa base dá a resposta para o método.
2 Por
exemplo, “from Gutemberg Project”, ou “Proceedings of ...”.
30
6.1.3 Splog
O método utilizado como baseline foi proposto por Kolari, Finin e Joshi (2006), onde
os autores utilizam características como bag-of-urls,bag-of-anchor, n-grams, além de abordagens tradicionais como bag-of-words para realizar a classificação de splogs. Muitas combinações foram discutidas em (7), aqui apresentaremos apenas o melhor resultado, que utiliza
bag-of-urls e o texto.
Os resultados do baseline estão apresentados em termos de Precisão, Revocação e F-1
em (7), para uma coerência com o mesmo, os resultados do método proposto também serão
apresentados em função dessas métricas de avaliação.
Assim como na GeDa, o método se mostrou indiferente à utilização ou não de stemming, de stop words e de peso nas arestas (confirmado com o Teste T de significância estatística com uma confiabilidade de 95%). Assim sendo, como na seção anterior, apresenta-se os
resultados da situação mais “barata” computacionalmete, ou seja: sem stop-words e pesos,
mas com stemming. Devido à grande diferença de desempenho entre o método quando normalizado e quando não normalizado, apresenta-se aqui apenas os resultados para o método
não-normalizado. Essa diferença é justificada por todos os argumentos da seção anterior. Os
resultados da classificação utilizando o método proposto são apresentados na Tabela 6.5
Splogs
Splogs
113
Blogs
56
Blogs Acurácia
26
81.29%
84
60.00%
Tabela 6.5: Matriz de Confusão: Splogs (Método proposto)
A Tabela 6.6 apresenta os resultados do método proposto e do baseline. Os valores
apresentados são a média aritmética de cada métrica de avaliação para as duas classes.
Método
Proposto
Baseline
Precisão Revocação
F1
71.5%
70.5%
71.0%
89.3%
86.9%
88.1%
Tabela 6.6: Sumário dos resultados do método proposto e do baseline (7)
Observa-se que novamente o método proposto perde para o baseline, mas a mesma
argumentação da seção anterior é válida: O método proposto é genérico, ele não é especializado
em um problema específico e, por isso, deixa de levar em consideração aspectos importantes,
como as urls, conforme provado em (7). Nesse trabalho os autores confirmam essa afirmação
31
ao dizerem que métodos baseados apenas em classificação de textos são insuficientes para essa
detecção.
Apesar de um resultado ruim com relação ao baseline, quando comparamos com outros
métodos, novamente confirmamos a hipótese de que essa modelagem é interessante. Técnicas
baseadas em heurísticas, e disponíveis para uso público3 conseguiram uma precisão de 66% e
uma revocação de 60% nessa mesma coleção, ou seja, o método proposto as supera. É importante salientar que há uma dificuldade enorme de classificação utilizando nosso método porque
existem fake blogs na base, ou seja, textos normais, mas copiados. Uma vez que buscamos
diferentes padrões de escrita, o método nunca conseguirá capturar esses splogs. Finalmente,
observando a Tabela 6.5 verifica-se que classificou-se muitos blogs como splogs, isso porque
o método “aprendeu errado” com os fake blogs, passando a achar que textos “normais” eram
splogs.
6.2
Distribuição acumulada
6.2.1 Metodologia
Esse experimento consistiu em plotar as curvas de distribuição acumulada (CDF) das
métricas discutidas no capítulo 4. Plotou-se as CDFs para as doze métricas de cada coleção.
Além disso, obteve-se o valor médio de cada métrica para cada classe na coleção, além do
intervalo de confiança. Por fim, fez-se testes de significância estatística (ANOVA para GeDa e
Teste T para Splog) com o intuito de validar os dados.
Todos os dados utilizados nessa fase são extraídos dos vetores gerados inicialmente.
Cada dimensão é uma métrica, um único valor, e esses valores é que são utilizados aqui.
Durante essa seção utiliza-se o termo “métrica discriminativa (ou não)” com base na
análise dos gráficos apresentados nas próximas seções. Essa análise se baseia em três fatores:
1) A distância entre as curvas que representam cada classe; 2) a distância relativa ao longo da
curva, i.e., algumas curvas podem estar próximas em algumas partes do gráfico e longe em
outras; 3) os valores médios de cada métrica, por classe.
Nos CDFs, o eixo x representa o valor da métrica e o eixo y a porcentagem de documentos da classe que têm o valor dessa métrica menor ou igual ao valor no eixo x. A interpretação
desses gráficos pode ser feita utilizando a Fig. 6.1(a) como exemplo, onde aproximadamente
18% dos documentos jornalísticos possuem um coeficiente de clusterização menor ou igual
3 http://antisplog.net/
32
à 0.1, enquanto 36% dos documentos científicos têm a mesma métrica abaixo desse valor e,
finalmente, 80% dos documentos literários estão abaixo desse valor.
Foi dito que a distância entre as curvas que representam classes específicas é importante, isso porque quanto mais distantes as curvas estiverem, maior é a diferença percentual
de documentos que estão em faixas de valores diferentes. As distâncias relativas ao longo da
curva também são interessantes de se analisar. Se duas curvas estão próximas uma à outra por
todo o gráfico, essas métricas certamente são inúteis, mas se elas estão próximas apenas em um
determinado intervalo, elas podem ser discriminantes fora desse intervalo. A Fig. 6.2(a) ilustra
a afirmação anterior, antes do valor 2000, o betweenness médio pode auxiliar na diferenciação
dos gêneros jornalísticos e científicos, mas após esse valor, certamente ele não ajuda.
Tanto para essa coleção quanto para a Splog serão apresentadas seis CDFs, três sendo
“boas métricas” e três não sendo.
6.2.2 GeDa
Todas as métricas da coleção GeDa possuem valores médios distintos, estatisticamente
significantes, confirmados com um teste ANOVA sobre os valores médios de cada classe — por
termos três classes, esse teste se mostrou necessário. Apesar disso, baseado na visualização do
gráfico classificou-se as métricas em dois grupos: “boas” e “não tão boas” (evitou-se o termo
100
100
90
90
80
80
70
70
P(X <= x)
P(X <= x)
“ruim” por ainda sim serem discriminantes).
60
50
40
30
60
50
40
30
20
20
Literario
Cientifico
Jornalistico
10
Literario
Cientifico
Jornalistico
10
0
0
0
0.1
0.2
0.3
0.4
0.5
0.6
Coeficiente de Clusterizacao
0
0.05
0.1
0.15
0.2
Densidade
Figura 6.1: “Boas métricas” para a GeDa
As métricas consideradas “boas” para essa coleção foram: grau médio e máximo, betweenness médio, coeficiente de clusterização, closeness médio e máximo, densidade e número
de componentes conectados. As “não tão boas” foram: betweenness máximo, diâmetro, caminho mínimo médio e tamanho do componente gigante.
CDFs de três métricas “boas” são apresentadas nas Fig. 6.1(a-b) e na Fig. 6.2(a). As
33
explicações para esses resultados são baseadas na premissa de que diferentes gêneros textuais
são escritos em diferentes padrões, e que essas diferenças são capturadas pelas métricas.
A análise dos gráficos está vinculada à uma análise das características dos gêneros
textuais: O gênero literário, por exemplo, tende geralmente a apresentar uma diversidade maior
de palavras do que os textos científicos e jornalísticos. Pode-se observar também que os textos
jornalísticos tendem a utilizar menos palavras do que todos, já que um texto mais direto e
conciso é desejado, o que implica em um uso menor de sinônimos. Esses diferentes padrões de
escrita induzem as diferenças observadas no gráfico de densidade (Fig. 6.1(b)), já que o gênero
100
100
90
90
80
80
70
70
P(X <= x)
P(X <= x)
jornalístico é o que tem a menor densidade, na média.
60
50
40
30
Literario
Cientifico
Jornalistico
60
50
40
30
20
Literario
Cientifico
Jornalistico
10
0
20
10
0
0
500 1000 1500 2000 2500 3000 3500 4000
Betwenness Medio
0.86
0.88
0.9
0.92
0.94
0.96
0.98
1
Tamanho do Componente Gigante
Figura 6.2: Outras métricas para GeDa
Altos valores da métrica betweenness médio são causados por padrões de repetição.
Textos jornalísticos são mais repetitivos (utilizam menos sinônimos, como discutido no parágrafo anterior, logo repetem mais) possuindo um betweenness médio maior do que os outros
gêneros, vide Fig. 6.2(a). O betwennes máximo não é considerado uma “boa” métrica com
relação ao gráfico, mas ao se analisar seus valores médios, fica nítida sua utilidade.
Outras características dos gêneros descritas abaixo justificam as diferenças entre os
valores das métricas. Por exemplo, o coeficiente de clusterização (Fig. 6.1(a)) possui um valor
maior quando partes diferentes do texto estão relacionadas. Não é suficiente que as mesmas
palavras apareçam em partes diferentes, as palavras próximas à elas devem aparecer também no
mesmo contexto. O gênero literário possui muito menos palavras relacionadas entre si, consequentemente um coeficiente de clusterização menor, já que suas palavras aparecem em diversos
contextos. Os textos jornalísticos sempre tratam do mesmo assunto com um vocabulário restrito, consequentemente seu coeficiente de clusterização é maior.
O gênero jornalístico também tende a ser mais coeso, com palavras aparecendo em
padrões específicos. Uma vez que os grafos são não ponderados, o grau máximo e médio estão
diretamente relacionados ao número de arestas diferentes no texto. Um grau médio alto é con-
34
seguido quando palavras se relacionam com um grande número de palavras distintas. Com base
nessa discussão pode-se dizer que o gênero literário é o que possui um grau máximo e médio
maior (e, como esperado, os textos jornalísticos possuem os menores). Essas suposições também são confirmadas pelo closeness máximo e médio, já que essas métricas medem o quão perto
um vértice está dos outros. Como esperado, o gênero jornalístico possui os maiores valores de
100
100
90
90
80
80
70
70
P(X <= x)
P(X <= x)
closeness.
60
50
40
30
60
50
40
30
20
20
Literario
Cientifico
Jornalistico
10
Literario
Cientifico
Jornalistico
10
0
0
0
5
10
15
20
Diametro
2
2.5
3
3.5
4
Caminho Minimo Medio
Figura 6.3: “Não tão boas” métricas para a GeDa
A métrica número de componentes conectados também segue esse padrão, textos jornalísticos possuem praticamente todas as sentenças interconectadas, enquanto textos literários
não, devido à liberdade poética, frases soltas e palavras desconexas acabam se tornando componentes isolados.
Um exemplo de métrica “não tão boa” é o tamanho do componente gigante (Fig. 6.2(b))
já que praticamente todo o texto é conectado em todos os gêneros. Entretanto, até mesmo essa
métrica tem sua utilidade, já que nos diz que textos jornalísticos tendem ser mais conectados,
como discutido acima. Nessa métrica, textos literários são os mais desconectados, como esperado. As “piores” métricas são o diâmetro e o caminho mínimo médio (Fig. 6.3), já que toda
rede que representa textos possui aspectos relacionados à redes small-world (9), independentemente do seu gênero (27).
Gênero
Literário
Científico
Jornaístico
p
Grau médio
10.384(±0.166)
8.840(±0.162)
3.807(±0.136)
0.000
Grau máximo
4024.084(±135.711)
1793.435(±75.142)
664.974(±84.494)
0.000
Cam. Min. Medio
2.717(±0.007)
2.835(±0.017)
2.949(±0.014)
0.000
Diâmetro
7.358(±0.092)
8.053(±0.132)
6.868(±0.069)
0.000
Tabela 6.7: Primeiras Quatro Métricas da GeDa
O gênero científico não foi citado nessa discussão porque suas métricas sempre estão
entre os gêneros jornalístico e literário, isso é algo até intuitivo, uma vez que esse gênero não
35
possui textos tão diretos quanto os textos jornalísticos (que na maioria das vezes são pragmáticos e objetivos). Eles podem também discutir vários tópicos, citar diversos trabalhos, utilizar
diversos métodos, etc, o que os deixa mais “desconexos”. Apesar disso, os textos científicos
estão longe de serem tão subjetivos e “amplos” quanto os textos literários.
Gênero
Literário
Científico
Jornaístico
p
Coef. Clust.
0.075(±0.001)
0.118(±0.002)
0.203(±0.004)
0.000
Tam. Comp. Gig.
0.9813(±0.0010)
0.9877(±0.0008)
0.9843(±0.0018)
0.000
Num. Comp. Con.
29.088(±1.352)
12.668(±0.658)
4.559(±0.540)
0.000
Bet. Medio
2482.12(±56.06)
1279.95(±38.79)
556.35(±49.06)
0.000
Tabela 6.8: Outras Quatro Métricas da GeDa
De forma complementar à esses gráficos, calcula-se também os valores médios com
seus respectivos intervalos de confiança. As Tabelas 6.7, 6.8 e 6.9 apresentam os resultados
para a GeDa.
Utilizou-se o teste ANOVA para verificar as diferenças dos valores médios de cada
classe. Adotou-se um nível de significância de 1% (α = 0.01) e os resultados mostram que os
valores médios de todas as métricas são diferentes entre as classes (p=0.000).
Gênero
Literário
Científico
Jornaístico
p
Bet. Max.
1730115(±75523)
468903(±36496)
306926(±47483)
0.000
Clos. Med.
0.00043(±0.00001)
0.00243(±0.00029)
0.01166(±0.00056)
0.000
Clos. Max.
0.0485(±0.0019)
0.1337(±0.0066)
0.3396(±0.0089)
0.000
Densidade
0.0087(±0.0002)
0.0203(±0.0011)
0.0504(±0.0019)
0.000
Tabela 6.9: Últimas Quatro Métricas da GeDa
As Tabelas 6.7, 6.8 e 6.9 apresentam os resultados dos testes estatísticos, os valores
médios para cada métrica de cada cada classe e o intervalo de confiança de 99%. Até mesmo as
métricas “não tão boas” (Caminho mínimo médio, Diâmetro, Betweenness máximo e Tamanho
do Componente Gigante) mostraram uma tendência de possuir valores ligeiramente diferentes
para as três classes. Apesar dos valores próximos de média para essas características nas três
classes, o intervalo de confiança é muito pequeno, mostrando que essas médias são realmente
diferentes.
6.2.3 Splog
Assim como na seção anterior, não há muito o que se discutir com relação à esse teste,
uma vez que ele já foi explicado previamente. Essa seção visa apresentar os resultados, também
36
já discutidos parcialmente na seção de classificação. Não julgou-se necessário dividir as métricas em “boas” e “ruins”, como feito anteriormente, porque todas possuem um comportamento
muito similar, como pode ser visto nos Gráficos 6.4, 6.5 e 6.6.
100
100
90
90
80
80
P(X <= x)
P(X <= x)
70
60
50
40
70
60
30
20
50
Splog
Blog
10
0
Splogs
Blogs
40
0
0.1
0.2
0.3
0.4
0.5
0
0.1
Coeficiente de Clusterizacao
0.2
0.3
0.4
0.5
0.6
Densidade
Figura 6.4: Métricas Splog
Obviamente cada métrica é mais ou menos discriminante que outra, mas a discussão
com base na análise dos gráficos seria leviana, devido à proximidade das curvas em vários
casos. Observa-se que as métricas são menos discriminantes quando comparadas às métricas na
GeDa, e isso já é esperado quando se considera o fato de que splogs tentam ludibriar qualquer
análise se passando por blogs.
Outra característica que provavelmente influenciou o resultado do nosso método foi o
parsing, que se resumiu a retirar todas as tags HTML dos blogs. Não houve um tratamento
diferenciado para comentários e posts, o que não deixa de ser outra generalização que piora os
nossos resultados.
Assim como na seção anterior, calculou-se o valor médio de cada métrica para cada
classe e aplicou-se um teste de significância estatística para verificar se os valores médios são
ou não estatisticamente significantes. Para a coleção aplicou-se o Teste T com uma confiança
de 99% (α =0.01), isso porque temos apenas duas classes, e não mais como na GeDa.
100
70
90
60
Splogs
Blogs
80
50
P(X <= x)
P(X <= x)
70
60
50
40
30
40
30
20
20
10
Splog
Blog
10
0
0
0
500
1000 1500 2000 2500
Betwenness Medio
3000
3500
0.86
Figura 6.5: Métricas Splog
0.88
0.9
0.92 0.94 0.96 0.98
Tamanho do Componente Gigante
1
37
As Tabelas 6.10, 6.11 e 6.12 apresentam os valores médios de cada métrica e o resultado do teste estatístico (p). Como esperado, as métricas propostas não possuem um poder
discriminativo tão alto, uma vez que seis delas não possuem médias diferentes para as duas
classes (p < 0.01).
As métricas que possuem médias diferentes são: Grau médio, Coeficiente de Clusterização, Betweenness médio, Closeness médio, Closeness máximo e Densidade; enquanto as
métricas não discriminantes são: Grau máximo, Caminho Mínimo médio, Diâmetro, Tamanho
100
100
90
90
80
80
70
70
P(X <= x)
P(X <= x)
do Componente Gigante, Número de Componentes Conectados e, Betweenness máximo.
60
50
40
30
60
50
40
30
20
20
Splog
Blog
10
Splogs
Blogs
10
0
0
0
2
4
6
8
10
12
14
2
Diametro
2.5
3
3.5
4
Caminho Minimo Medio
Figura 6.6: Métricas Splog
Uma análise mais detalhada nos permite entender o motivo de algumas métricas possuírem valores médios diferentes. É interessante observar que apesar de splogs tentarem ludibriar qualquer filtro, eles não conseguiram enganar algumas métricas, mostrando a dificuldade
de se enganhar, ao mesmo tempo, todas as métricas propostas. Novamente, o resultado ruim
se dá por causa dos fake blogs, tipo de spam indetectável por esse método. Assim sendo, essa
análise será focada nos outros tipos spam, i.e., seu comportamento.
Tipo
Splogs
Blogs
p
Grau médio
4.7396(±0.1729)
5.4222(±0.3411)
0.0000
Grau máximo
536.2892(±55.0725)
572.8919(±120.4415)
0.0999
Cam. Min. Medio
Diâmetro
2.8522(±0.0214) 6.4374(±0.1260)
2.8861(±0.0291) 6.6369(±0.1696)
0.0351
0.3868
Tabela 6.10: Primeiras Quatro Métricas da Splog
Spam blogs geralmente objetivam divulgar um produto, e muitas vezes seu conteúdo é
gerado automaticamente. Essa publicidade normalmente é feita com repetição de palavras em
vários pontos do texto, que inevitavelmente distorce o grafo correspondente, consequentemente
suas métricas. Com padrões de repetição muito bem definidos, as palavras de um texto acabam
por se associar em padrões muito específicos, formando pequenos grupos de relação, isto é
facilmente evidenciado pelo fato do coeficiente de clusterização dos splogs ser maior, uma vez
38
que palavras em blogs se relacionam de uma forma mais distribuída, o que acaba por diminuir
o seu coeficiente de clusterização.
Tipo
Coef. Clust.
Splogs 0.1148(±0.0042)
Blogs 0.1400(±0.0062)
p
0.0000
Tam. Comp. Gig.
0.9932(±0.0013)
0.9943(±0.0035)
0.1051
Num. Comp. Con.
Bet. Medio
5.6719(±3.2534) 651.9811(±45.3958)
4.8530(±1.5536) 538.7107(±50.8479)
0.4764
0.0000
Tabela 6.11: Outras Quatro Métricas da Splog
Baseado na premissa do parágrafo anterior, todas as outras métricas, como o grau médio, podem ser explicadas. Como os os blogs não possuem um padrão de repetição, as palavras
formam mais relações, essas relações acabam por aumentar o grau médio dos vértices, isto
porque o grafo analisado é não ponderado, logo, a repetição de uma ocorrência é simplesmente
ignorada. Uma consequência direta de um maior grau médio é uma maior densidade, já que
essa última é definida como uma relação do número de arestas e do número máximo de arestas
possíveis. Como blogs possuem um grau médio maior, eles possuem um número maior de
arestas, logo essa métrica pode ser diretamente inferida.
Pelo simples fato das palavras de um blog se relacionarem de forma mais “arbitrária”
do que de splogs, percebe-se que o closeness máximo e médio desse primeiro é maior. Como
dito no Capítulo 4, o closeness mede quão perto as palavras estão das outras. Com mais relações,
formam-se pontes entre grupos do texto que diminuem essa distância. Isso ocorre com bem
menos frequência nos splogs.
Por fim, o betweenness médio corrobora nossa hipótese inicial. Essa métrica representa o número de caminhos mínimos que passa por um determinado vértice, observamos que
ela possui um valor maior para os splogs, isso porque vários caminhos mínimos passam por
palavras centrais, aumentando a média dessa métrica em relação aos blogs.
Tipo
Bet. Max.
Splogs 126933(±22442)
Blogs 105533(±29161)
p
0.6796
Clos. Med.
0.2339(±0.0103)
0.2553(±0.0114)
0.0000
Clos. Max.
0.3341(±0.0182)
0.3737(±0.0199)
0.0000
Densidade
0.02328(±0.00295)
0.06027(±0.02463)
0.0001
Tabela 6.12: Últimas Quatro Métricas da Splog
Não há sentido em discutir as métricas que não possuem médias diferentes para as
duas classes, essas métricas simplesmente não conseguiram capturar padrões distintos entre os
textos, algumas por motivos mais óbvios como o Caminho Mínimo médio e Diâmetro estarem
diretamente relacionados às propriedades de redes small-world (9) enquanto outras foram bem
reproduzidas pelos splogs, mesmo que isso tenha sido sem querer. Não é improvável que a
tentativa de imitação de um blog real tenha tido êxito em alguns aspectos.
39
7
CONCLUSÕES E TRABALHOS FUTUROS
Apresentou-se nesse trabalho uma modelagem de documentos textuais e a idéia, até
onde se sabe inovadora, de utilizar métricas de redes complexas extraídas dos grafos gerados
como evidência para a classificação de textos de diferentes tipos.
O poder discriminativo dessas características foi validado através da classificação dos
documentos, da análise das curvas de distribuição acumulada e da diferença estatística das médias das doze métricas utilizadas na classificação de duas coleções: de gêneros e de splogs.
Apesar da não obtenção de excelentes resultados na classificação, as outras análises
se mostraram animadoras com relação à hipótese do trabalho, levando nos a crer que ela é
verdadeira, ou seja, as métricas são realmente discriminantes na classificação de documentos
de diferentes classes. Provalmente o método proposto não ganhou dos baselines por ignorar
informações valiosas na classificação, como, por exemplo, coisas intuitivas como a frequência
de palavras em diferentes gêneros (abstract e references em textos científicos, por exemplo)
—o que não é ignorado pelo baseline— até características não tão intuitivas como a utilização
de links nos splogs, informação comprovadamente útil (23).
Baseado na argumentação do parágrafo anterior, como trabalho futuro seria interessante mostrar que esse método é genérico e útil à várias aplicações, apresentando métricas que
auxiliam na classificação de documentos mas que não bastam por si só. Para isso, mais bases
teriam de ser incorporadas ao trabalho, para ampliar o escopo do mesmo. Uma base de provável
utilização é a ACM, onde avaliaremos a classificação de artigos utilizando tanto a rede do texto
quanto a rede de citações como evidências para a classificação.
Outra análise interessante a ser feita futuramente é o impacto da variação do limiar na
modelagem do texto, que foi fixado como dois nesse trabalho, além de aplicar esse método a
coleções com vários idiomas, para estudar o impacto de diferentes idiomas no método. Essa
modelagem também pode ser estendida outras aplicações, caso se consiga mostrar que agrega
informação aos modelos. Alguns dos problemas que ela poderia ter aplicação são identificação
de autoria e/ou de informações maliciosas em uma coleção, entre vários outros.
40
Referências Bibliográficas
1 KESSLER, B.; NUNBERG, G.; SCHIITZE, H. Automatic detection of text genre. In:
Eighth Conference of the Association for Computational Linguistics. [S.l.: s.n.], 1997. p.
32–38.
2 BRODER, A. A taxonomy of web search. SIGIR Forum, ACM, v. 36, n. 2, p. 3–10, 2002.
ISSN 0163-5840.
3 ASSIS, G. T. de et al. Exploiting genre in focused crawling. In: SPIRE. [S.l.: s.n.], 2007. p.
62–73.
4 BOESE, E. S.; HOWE, A. E. Effects of web document evolution on genre classification. In:
CIKM. [S.l.]: ACM, 2005. p. 632–639. ISBN 1-59593-140-6.
5 ANDROUTSOPOULOS, I. et al. An evaluation of naive bayesian anti-spam filtering.
CoRR, cs.CL/0006013, 2000.
6 NEWMAN, M. E. J. The structure and function of complex networks. SIAM Review, SIAM,
v. 45, n. 2, p. 167–256, 2003.
7 KOLARI, P.; FININ, T.; JOSHI, A. SVMs for the Blogosphere: Blog Identification and
Splog Detection. In: AAAI Spring Symposium on Computational Approaches to Analysing
Weblogs. [S.l.: s.n.], 2006.
8 JIN, W.; SRIHARI, R. K. Graph-based text representation and knowledge discovery. In:
SAC ’07: Proceedings of the 2007 ACM symposium on Applied computing. New York, NY,
USA: ACM, 2007. p. 807–811. ISBN 1-59593-480-4.
9 WATTS, D. J.; STROGATZ, S. H. Collective dynamics of ‘small-world’ networks. Nature,
Department of Theoretical and Applied Mechanics, Cornell University, Ithaca, New York
14853, USA. [email protected], v. 393, n. 6684, p. 440–442, 1998. ISSN 0028-0836.
10 DOROGOVTSEV, S. N.; MENDES, J. F. F. Language as an evolving word web. Proc. of
The Royal Soc. of London. Series B, Biological Sciences, v. 268, n. 1485, p. 2603–2606, 2001.
11 ANTIQUEIRA, L. et al. Strong correlations between text quality and complex networks
features. Phys. Rev. A, v. 373, p. 811, 2007.
12 ARGAMON, S.; DODICK, J. Conjunction and modal assessment in genre classification:
A corpus-based study of historical and experimental, science writing. In: In Notes of AAAI
Spring Symposium on Attitude and Affect in Text. [S.l.: s.n.], 2004.
13 KARLGREN, J.; CUTTING, D. Recognizing text genres with simple metrics using
discriminant analysis. In: . [S.l.: s.n.], 1994. p. 1071–1075.
41
14 STAMATATOS, E.; KOKKINAKIS, G.; FAKOTAKIS, N. Automatic text categorization
in terms of genre and author. Comput. Linguist., MIT Press, Cambridge, MA, USA, v. 26, n. 4,
p. 471–495, 2000. ISSN 0891-2017.
15 WOLTERS, M.; KIRSTEN, M. Exploring the use of linguistic features in domain
and genre classification. In: Proceedings of the ninth conference on European chapter
of the Association for Computational Linguistics. Morristown, NJ, USA: Association for
Computational Linguistics, 1999. p. 142–149.
16 FREUND, L.; CLARKE, C. L. A.; TOMS, E. G. Towards genre classification for ir in the
workplace. In: IIiX: Proceedings of the 1st international conference on Information interaction
in context. New York, NY, USA: ACM, 2006. p. 30–36. ISBN 1-59593-482-0.
17 PENG, F.; SCHUURMANS, D.; WANG, S. Language and task independent text
categorization with simple language models. In: Proceedings, Human Language Technology
Conference of the North American Chapter of the Association for Computational Linguistics.
[S.l.: s.n.], 2003. p. 110–117.
18 BAEZA-YATES, R.; RIBEIRO-NETO, B. Modern Information Retrieval. 1st. ed. [S.l.]:
Addison Wesley, 1999. Paperback. ISBN 020139829X.
19 LEE, Y.-B.; MYAENG, S. H. Text genre classification with genre-revealing and
subject-revealing features. In: SIGIR ’02: Proceedings of the 25th annual international ACM
SIGIR conference on Research and development in information retrieval. New York, NY, USA:
ACM, 2002. p. 145–150. ISBN 1-58113-561-0.
20 DECORO, C.; BARUTCUOGLU, Z.; FIEBRINK, R. Bayesian aggregation for
hierarchical genre classification. In: International Symposium on Music Information Retrieval
2007. [S.l.: s.n.], 2007.
21 JR., C. N. S.; KOERICH, A. L.; KAESTNER, C. A. A. A Machine Learning Approach to
Automatic Music Genre Classification. Journal of the Brazilian Computer Society, Brazilian
Computer Society (SBC), v. 14, n. 3, p. 7–18, September 2008. ISSN 0104-6500.
22 MACDONALD, C.; OUNIS, I. The TREC Blogs06 Collection : Creating and Analysing a
Blog Test Collection. [S.l.], 2006.
23 DATTA, S.; SARKAR, S. A comparative study of statistical features of language in
blogs-vs-splogs. In: AND. [S.l.]: ACM, 2008. p. 63–66. ISBN 978-1-60558-196-5.
24 SCULLEY, D.; WACHMAN, G. M. Relaxed online svms for spam filtering. In: SIGIR’07:
Proceedings of the 30th annual international ACM SIGIR conference on Research and
development in information retrieval. New York, NY, USA: ACM, 2007. p. 415–422. ISBN
978-1-59593-597-7.
25 MISHNE, G.; CARMEL, D.; LEMPEL, R. Blocking blog spam with language model
disagreement. In: Proceedings of the First International Workshop on Adversarial Information
Retrieval on the Web. [S.l.: s.n.], 2005.
26 KOLARI, P. et al. Detecting Spam Blogs: A Machine Learning Approach. In: Proceedings
of the 21st National Conference on Artificial Intelligence (AAAI 2006). [S.l.]: University of
Maryland, Baltimore County, 2006.
42
27 Ferrer-i-Cancho, R.; SOLE, R. V. The small world of human language. Proc. of The Royal
Soc. of London. Series B, Biological Sciences, v. 268, n. 1482, p. 2261–2265, 2001.
28 CAMP, M. van de. Explorations into Unsupervised Corpus Quality Assessment.
Dissertação (Mestrado) — Tilburg University, Faculty of Humanities, 2008.
29 CHOUEKA, Y.; LUSIGNAN, S. Disambiguation by short contexts. Computers and the
Humanities, n. 19, p. 147–158, 1985.
30 Wikipedia, the free encyclopedia. Brown Corpus. http://en.wikipedia.org/wiki/
Brown_Corpus.
31 HARMAN, D. Overview of the third text retrieval conference (trec-3). In: TREC-3. [S.l.:
s.n.], 1994. p. 1–19.
32 CHANG, C.-C.; LIN, C.-J. LIBSVM: a library for support vector machines. [S.l.], 2001.
Software available at http://www.sie.ntu.edu.tw/~jlin/libsvm.
33 CRISTIANINI, N.; SHAWE-TAYLOR, J. An introduction to support vector machines:
and other kernel-based learning methods. 1. ed. [S.l.]: Cambridge University Press, 2000.
Hardcover. ISBN 0521780195.