51
GUSTAVO SCALONI VENDRAMINI ATRIBUIÇÃO DE AUTORIA NO TWITTER LONDRINA–PR 2014

GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

GUSTAVO SCALONI VENDRAMINI

ATRIBUIÇÃO DE AUTORIA NO TWITTER

LONDRINA–PR

2014

Page 2: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação
Page 3: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

GUSTAVO SCALONI VENDRAMINI

ATRIBUIÇÃO DE AUTORIA NO TWITTER

Trabalho de Conclusão de Curso apresentadoao curso de Bacharelado em Ciência da Com-putação da Universidade Estadual de Lon-drina para obtenção do título de Bacharel emCiência da Computação.

Orientador: Prof. Dr. Sylvio Barbon Júnior

LONDRINA–PR

2014

Page 4: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

Gustavo Scaloni VendraminiAtribuição de autoria no Twitter/ Gustavo Scaloni Vendramini. – Londrina–

PR, 2014-49 p. : il. (algumas color.) ; 30 cm.

Orientador: Prof. Dr. Sylvio Barbon Júnior

– Universidade Estadual de Londrina, 2014.

1. Atribuição de Autoria. 2. Mineração de Texto. I. Sylvio Barbon Júnior. II.Universidade Estadual de Londrina. III. Ciência da Computação. IV. Atribuiçãode Autoria no Twitter

CDU 02:141:005.7

Page 5: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

GUSTAVO SCALONI VENDRAMINI

ATRIBUIÇÃO DE AUTORIA NO TWITTER

Trabalho de Conclusão de Curso apresentadoao curso de Bacharelado em Ciência da Com-putação da Universidade Estadual de Lon-drina para obtenção do título de Bacharel emCiência da Computação.

BANCA EXAMINADORA

Prof. Dr. Sylvio Barbon JúniorUniversidade Estadual de Londrina

Orientador

Prof. Dr. Bruno Bogaz ZarpelãoUniversidade Estadual de Londrina

Prof. Me. Rafael Gomes MantovaniUniversidade Estadual de Londrina

Londrina–PR, 24 de novembro de 2014

Page 6: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação
Page 7: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

AGRADECIMENTOS

Ao Prof. Dr. Sylvio pela paciência, atenção e incentivo para tornar possível aconclusão deste trabalho.

Page 8: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação
Page 9: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

VENDRAMINI, G. S.. Atribuição de autoria no Twitter. 49 p. Trabalho de Conclusãode Curso (Bacharelado em Ciência da Computação) – Universidade Estadual de Londrina,Londrina–PR, 2014.

RESUMO

Este estudo apresenta um modelo para atribuição de autoria em textos do Twitter, pormeio da mineração de texto. Utilizou-se n-gramas de letras como características do usuárioe a distância de Levenshtein como função de similaridade. Obteve-se como resultadouma precisão de 96,32% ao reconhecer usuários, analisando mais de três mil palavras emtweets e a precisão de 76,5% ao analisar cerca de 1700 palavras de usuários. Este trabalhooportunizou a confirmação de que é possível a atribuição de autoria com bom índice deprecisão em textos retirados do Twitter.

Palavras-chave: Atribuição de Autoria. Mineração de Texto.

Page 10: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação
Page 11: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

VENDRAMINI, G. S.. Authorship Attribution on Twitter. 49 p. Final Project (Ba-chelor of Science in Computer Science) – State University of Londrina, Londrina–PR,2014.

ABSTRACT

In this work, we show a model for authorship attribution in tweets based on data min-ing. We use features of characters N-grams and the Levenshtein distance as a similarityfunction. As a result, we obtained an accuracy of 96,32% to recognize users, by analyzingmore than three thousand words in tweets and accurate of 76,5% when analyzing 1700words users. This work provided to confirm that it is possible recognize an user in tweetswith good accuracy.

Keywords: Authorship Attribution. Text Mining.

Page 12: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação
Page 13: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

LISTA DE ILUSTRAÇÕES

Figura 1 – Modelo proposto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Figura 2 – Ilustração da construção de perfis dos usuários . . . . . . . . . . . . . . 34Figura 3 – Experimento 1 - Gráfico dos perfis mais distantes. . . . . . . . . . . . . 37Figura 4 – Experimento 1 - Tabela dos Tabela com a posição dos perfis mais dis-

tantes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Figura 5 – Experimento 2 - Gráfico dos perfis mais distantes. . . . . . . . . . . . . 40Figura 6 – Experimento 2 - Tabela com a posição dos perfis mais distantes. . . . . 40Figura 7 – Experimento 3 - Gráfico dos perfis mais distantes. . . . . . . . . . . . . 44Figura 8 – Experimento 1 - Tabela com a posição dos perfis mais distantes. . . . . 44

Page 14: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação
Page 15: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

LISTA DE TABELAS

Tabela 1 – Exemplo da estrutura de um tweet na base do SNAP . . . . . . . . . . 30Tabela 2 – Exemplo da estrutura de um tweet na base do SNAP . . . . . . . . . . 30Tabela 3 – Exemplo parcial de perfil . . . . . . . . . . . . . . . . . . . . . . . . . 33Tabela 4 – Exemplo parcial de perfil . . . . . . . . . . . . . . . . . . . . . . . . . 33Tabela 5 – Experimento 1 - Cálculo das distâncias do usuário ’ariaajaeger’ . . . . 35Tabela 6 – Experimento 1 - Perfis Próximos x Distantes . . . . . . . . . . . . . . . 36Tabela 7 – Experimento 2 - Cálculo das distâncias do usuário ’ariaajaeger’ . . . . 38Tabela 8 – Experimento 2 - Perfis Próximos x Distantes . . . . . . . . . . . . . . . 39Tabela 9 – Experimento 3 - Cálculo das distâncias do usuário ’ariaajaeger’ . . . . 41Tabela 10 – Experimento 3 - Perfis Próximos x Distantes . . . . . . . . . . . . . . . 42Tabela 11 – Resumo dos experimentos . . . . . . . . . . . . . . . . . . . . . . . . . 43

Page 16: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação
Page 17: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

LISTA DE ABREVIATURAS E SIGLAS

CSV Comma-separated values

JSON JavaScript Object Notation

SNAP Stanford Network Analysis Project

SVM Support vector machine

TSV Tab-separated values

Page 18: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação
Page 19: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

SUMÁRIO

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 FUNDAMENTAÇÃO TEÓRICA . . . . . . . . . . . . . . . . . 212.1 Redes Sociais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.2 Mineração de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.2.1 Atribuição de autoria . . . . . . . . . . . . . . . . . . . . . . . . . 232.2.2 N-gramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.2.3 Distância de Levenshtein . . . . . . . . . . . . . . . . . . . . . . . 24

3 TRABALHOS RELACIONADOS . . . . . . . . . . . . . . . . . 27

4 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.1 Obtenção do corpus . . . . . . . . . . . . . . . . . . . . . . . . . . 294.2 Pré-processamento . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.3 Construção do perfil do usuário . . . . . . . . . . . . . . . . . . . 314.4 Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.4.1 Experimento 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.4.2 Experimento 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.4.3 Experimento 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Page 20: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação
Page 21: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

19

1 INTRODUÇÃO

Atribuição de autoria (authorship attribution) é a ciência que busca identificar opotencial autor de um documento de texto baseado no seu padrão de escrita [1, 2]. Astécnicas para atribuição de autoria geralmente são divididas em métodos de aprendizadode máquina, como um classificador Support Vector Machine - SVM para distinguir umtexto desconhecido num conjunto de documentos rotulados do mesmo autor, e métodosbaseados em similaridade, no qual uma métrica é utilizada para medir a distância entredois documentos [3, 4].

O problema de atribuição autoral aparece na literatura desde 1887, com os estudosde Mendenhall [5, 6] sobre o verdadeiro autor das peças de Shakespeare. Nos últimos anos,com o enorme conjunto de dados disponíveis na web, foram retomados os estudos nessaárea, com o foco em textos curtos como e-mails, mensagens de texto, blogs, e micro-blogs[7].

Identificar o autor de um determinado texto tem se mostrado relevante desdequestões jurídicas para determinar os direitos sobre um documento até questões na áreacriminal, por exemplo para construir uma acusação contra um agressor online ou encontrarautores de cibercrime como de phishing, bullying [1, 8]; também para verificar a identidadede uma pessoa usando um sistema [4]; verificar a autenticidade de cartas de suicídio [9];identificar autores de código-fonte de software malicioso [10].

O objetivo principal desse estudo é validar a possibilidade de identificação de umautor de textos do Twitter, baseado nas características recorrentes na forma como escreve,ou seja, de acordo com a frequência com que utiliza determinadas palavras em seu texto.

Nossa proposta é implementar um modelo para atribuição de autoria em textos doTwitter por meio da mineração de texto. Para isso, foram realizados experimentos comtextos coletados do Twitter. Utilizamos a técnica baseada em similaridade para calculara distância entre o perfil de um usuário e o perfil de documentos retirado de usuáriosaleatórios, buscando, assim, avaliar a precisão da atribuição de autoria.

A organização do trabalho é como segue. O capítulo 2.1 introduz os conceitossobre redes sociais. O capítulo 2.2 apresenta a fundamentação teória necessária para oentendimento da solução proposta. O capítulo 3 é um revisão de trabalhos semelhante àeste que podem ser encontrados na literatura. O capítulo 4 apresenta o modelo proposto edescrição dos experimentos. No capítulo 5 são apresentados os resultados experimentais,e por fim, no capítulo 6 são apresentadas as conclusões obtidas ao final dos estudos.

Page 22: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação
Page 23: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

21

2 FUNDAMENTAÇÃO TEÓRICA

2.1 Redes Sociais

Atualmente, as redes sociais têm se tornado um importante veículo de socializa-ção entre pessoas, onde se compartilham objetivos comuns, interesses, valores. Devido asua abrangência mundial, essas redes causaram uma transformação na forma com queas pessoas se comunicam, as informações são veiculadas em questão de segundos, modi-ficando, inclusive, atitudes e costumes, em que tudo passa a ser motivo de registro oucompartilhamento, quebrando barreiras espaço-temporais. No entanto, muitas pessoas setornaram dependentes de tais redes, prejudicando seus relacionamentos presenciais ou seexpondo a ponto de se tornarem vítimas de criminosos on-line. Isso se deve, em grandeparte à existência de pessoas que utilizam da má-fé para constranger, extorquir, denegrira imagem da pessoa vítima dessa situação, tendo em vista que a autoria das postagensno ciberespaço nem sempre conseguem ser comprovadas.

Outro problema enfrentado nas redes sociais são os spams utilizados para promoçãode produtos. Esses spams muitas vezes são publicados por bots, programas automatizadosque fingem serem humanos com a finalidade de ganhar cada vez mais seguidores e suaconfiança, divulgando seu produto ou marca. Estudos têm sido realizados com o objetivode evitar o recebimento de conteúdos indesejáveis ou conter esses ataques [11]. E, também,mostrando a vulnerabilidade a que estamos expostos nas redes sociais [12].

O Twitter é uma rede social, que possibilita aos usuários enviar e receber atua-lizações pessoais de outros contatos. As publicações também chamadas "tweets", devemapresentar no máximo 140 caracteres. Os tweets são utilizados para expressar ideias, sen-timentos, podem conter textos, fotos e vídeos. Os usuários do Twitter podem acompanharatualizações de outros usuários desde que sejam seguidores.

Nesse sentido, acredita-se na importância de se desenvolver estudos em atribuiçãode autoria em textos de redes sociais, como medida protetiva aos usuários. Nossa propostaé realizar um experimento para verificação de autoria de usuários no Twitter, através dopadrão recorrente encontrado em sua escrita.

2.2 Mineração de texto

A mineração de texto ou descoberta de conhecimento em texto pode ser ampla-mente definido como um processo de conhecimento intensivo em que um usuário interagecom uma coleção de documentos ao longo do tempo por meio de um conjunto de ferra-mentas de análise [13]. É um processo para manipulação automática de grandes volumes

Page 24: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

22

de dados pelo qual buscamos encontrar padrões que nos levem a alguma informação útil[14].

A mineração de dados, assim como a mineração de textos busca extrair conheci-mento de bases de dados através da descoberta e exploração de padrões. O que diferea mineração de dados da mineração de textos, é que esta se baseia em documentos emlinguagem natural, consequentemente com pouca ou nenhuma estrutura definida; por ou-tro lado, aquela trabalha com dados estruturados, com um esquema previamente definido[15].

Conforme Ebecken et al. [16] há duas abordagens na análise de textos. A análisesemântica baseada na funcionalidade dos termos apresentados pelos textos e a análiseestatística baseada na frequência com que os termos ocorrem.

A análise semântica utiliza técnicas de Processamento de Linguagem Natural(PLN) para identificar a função de uma sequência de termos em um contexto de texto,ou seja, procura identificar a importância das palavras no texto. Já a análise estatísticaconsidera como importante a frequência com que os termos ocorrem no texto, a vantagemdesse tipo de análise é ser realizado independentemente do idioma do texto [16].

O processo de mineração de texto compreende as seguintes etapas: seleção dosdados, pré-processamento, indexação, classificação e avaliação.

A seleção dos dados ou coleta é a primeira etapa do processo, compreende a formade aquisição dos dados, ou seja, a formação da coleção de documentos ou corpus. Existemtrês ambientes onde geralmente os dados são coletados: pastas de arquivos em um discorígido, registros de banco de dados e sites na Web [15].

Depois da seleção dos dados o próximo passo é o pré-processamento, ou seja,os dados são organizados em uma representação mais estruturada dos documentos, emque é realizada a remoção do que for desnecessário para o entendimento do texto, comopor exemplo, a eliminação de stopwords, espaços, pontuação e caracteres especiais, aindarealização de stemming ou extração do radical das palavras [13, 17, 18].

O terceiro passo compreende a indexação, que se refere a elaboração de um índicepara facilitar a identificação das características de um documento, permite também o fácilacesso a esse documento, bem como a recuperação dos seus dados [13, 17, 19, 18].

A etapa da classificação envolve a utilização de algoritmos de aprendizado demáquina sobre os dados de forma a abstrair o conhecimento [13, 17, 19, 18].

Como última etapa tem-se a avaliação que compreende a interpretação dos padrõesextraídos, a fim de constatar se os objetivos traçados foram alcançados. O desempenhode um algoritmo de mineração de texto é realizado por meio de medidas estatísticas comométricas de precisão e cobertura [13, 17, 19, 18].

Page 25: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

23

2.2.1 Atribuição de autoria

Conforme Potha [4], Koppel [3] e Qian [20] a atribuição de autoria é a ciênciade inferir o verdadeiro autor de um documento baseado em amostras de documentosincontestáveis. Esta ciência se apoia na idéia de que através da medição de algumascaracterísticas textuais, podemos distinguir entre textos escritos por diferentes autores[6]. Por exemplo, as construções sintáticas que uma pessoa utiliza em seus textos podemindicar algo sobre ela.

A hipótese da maioria dos pesquisadores é que as pessoas têm um padrão decaracterísticas de uso da linguagem, uma espécie de “DNA” autoral que pode ser detectadaem seus escritos [21, 22].

A atribuição de autoria lida com três príncipais problemas a serem analisados:closed-set, open-set e verificação de autoria. Na atribuição closed-set, o possível autorcertamente está presente em um conjunto fechado de autores. No open-set, o autor in-vestigado em dado conjunto pode não estar presente nele. De acordo com Potha [4] eKoppel [3], a verificação de autoria é um caso especial da atribuição open-set em que,dado um conjunto de documentos, todos do mesmo autor e um documento desconhecido,perguntamos se esse documento foi escrito por aquele autor.

Para Potha [4], todas as amostras de um mesmo autor são tratadas cumulativa-mente, isto é, são concatenadas em um grande documento e assim uma única representaçãoé extraída para vir a ser o perfil do autor, trata-se do paradigma baseado em perfil. Poroutro lado, o autor considera o paradigma baseado em instância, no qual as amostrastambém podem ser trabalhadas separadamente, em que cada amostra de texto tem suaprópria representação.

Como regra geral, as técnicas automatizadas para atribuição de autoria podem serdivididas em dois tipos principais [3]: métodos de aprendizagem de máquina e métodosbaseados em similaridade.

Nos métodos de aprendizagem de máquina, um classificador que pode ser usadopara identificar os documentos anônimos. As características de escrita de cada autor, comopor exemplo, os N-gramas mais frequentes, são utilizadas para construir o classificador.

Já nos métodos baseados em similaridade, uma métrica é utilizada para medir adistância entre dois documentos e um documento desconhecido é atribuído ao autor cujaescrita é mais similar a ele.

2.2.2 N-gramas

Uma das formas de representação de documentos é realizada por meio de N-gramas.Um N-grama é uma sequência de letras ou palavras que podem ser agrupadas em unigra-mas, bigramas ou n-gramas sendo que n representa o tamanho da sequência. Por exemplo,

Page 26: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

24

na frase "A casa verde"podemos extrair:

∙ Unigramas de palavras: A, casa, verde

∙ Bigramas de palavras: A casa, casa verde

∙ n-grama de tamanho 4 de letra: A_cas, _cas, casa, asa_, sa_v, a_ve, _ver, verd,erde

∙ n-grama de tamanho 4 de letra sobre palavras: A___, casa, verd, erde

Conforme Koppel [3], nesse conceito, os N-gramas de letras são efetivos para atri-buição de autoria, com a vantagem de serem mensuráveis em qualquer linguagem sem anecessidade de um conhecimento específico.

2.2.3 Distância de Levenshtein

A distância de Levenshtein ou distância de edição entre duas strings (sequência decaracteres) é dada pelo número mínimo de operações necessárias para transformar umastring em outra, ou seja, representa quão próxima uma string está de uma outra, o quantoelas apresentam de similaridade entre si [23, 24].

O conceito de distância entre duas strings pode ter diferentes aplicações, comoa busca de um termo incompleto em uma base de dados, corretor de texto automático,entre outras tarefas de processamento de texto [23].

A distância entre duas strings é medida pelo número de operações específicas quetransformam uma string em outra, ela permite inserções, remoções e substituições decaracteres como pode ser visto no exemplo a seguir:

Exemplo 1:

∙ “carta” e “carta”

Nesse caso, a distância de edição corresponde a zero, pois as strings são iguais.

Exemplo 2:

∙ “Carlos” e “Marcos”

Aqui a distância de edição é igual a dois, uma vez que são necessárias duas operações paratransformar uma strings na outra, ou seja, primeiro substituiu-se a letra “C” por “M”,depois substituiu-se o “l” por “c”.

Exemplo 3:

Page 27: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

25

∙ “dente” e “ente”

Temos um caso de remoção, com valor da distância de edição igual a um, ou seja, foinecessária uma única operação para transformar “dente” em “ente”, removendo a letra“d”.

Exemplo 4:

∙ “conto” e “cantor”

Nesse caso é necessária uma substituição e uma inserção para transformar umastring em outra, primeiro substituiu-se a letra “o” por “a”, formando “canto”, depoisinseriu-se a letra “r” no final, que resultou na distancia igual a dois.

Page 28: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação
Page 29: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

27

3 TRABALHOS RELACIONADOS

As primeiras tentivas de quantificar o estilo de escrita foi com os estudos de Men-denhall [5, 6] sobre o verdadeiro autor das peças de Shakespeare, seguido de estudosestatísticos de Yule (1938, 1944) e Zipf (1932). Posteriormente, os estudos de Mosteller eWallace (1964) sobre a autoria do “The Federalist Papers” uma série de textos políticosescrito por John Jay, Alexander Hamilton e James Madison obteve grande influencia naatribuição de autoria, considerando uma análise estatística das frequências de um pequenoconjunto de palavras comuns (por exemplo, preposições e artigos) produziu resultados sig-nificativos na discriminação entre os autores candidatos [6].

Até o final da década de 1990, pesquisas em atribuição de autoria foram dominadaspor tentativas de definir recursos para quantificar estilo de escrita, uma linha de pesquisaconhecido como “estilometria” (Holmes, 1998, como citado em Stamatatos, 2009 [6]).Segundo Stamatatos [6], as metodologias de atribuição de autoria propostos durante esseperíodo foram caracterizadas pela falta de avaliação objetiva dos métodos, uma vez que,na maioria dos casos, o objeto de testes eram obras literárias de autoria desconhecidaou contestada, por isso a estimativa de precisão atribuição não foi ainda possível. Aindade acordo com o autor, desde o final da década de 1990, os estudos em atribuição deautoria tiveram um impacto significativo em áreas científicas como a recuperação deinformação, aprendizado de máquina e processamento de linguagem natural devido agrande quantidade de textos eletrônicos disponíveis através da Internet (e-mails, blogs,fóruns on-line, etc.). Abaixo segue alguns trabalhos atuais sobre atribuição de autoria.

Koppel et al [3], propõe o método dos impostores para determinar se dois docu-mentos foram escritos pelo mesmo autor. Dado dois documentos a serem verificados se sãoescritos pelo mesmo autor, busca-se na web documentos de temas semelhantes e constrói-se o conjunto de impostores, depois verifica-se se um dos documentos a ser comparadoé mais similar a outro documento dado (o de mesmo autor) ou de um dos impostores(diferente autor). Neste trabalho Koppel et al utilizaram a base de dados ou corpus demilhares de postagens retirados do www.bloggler.com, além de utilizar n-gramas de letrasde tamanho 4.

Potha [4] apresenta um método de verificação de autoria utilizando paradigmabaseado em perfil, obtendo resultados melhores que o PAN-2013 – competição de trabalhossobre plágio, autoria e mau uso de software social. Nesse método, o autor extraiu umvetor de representação dos N-gramas de letras das amostras disponíveis e um outro vetordo documento questionado. Os dois vetores são comparados, utilizando uma função dedissimilaridade, obtendo uma resposta binária se o documento questionado é ou não é doautor dos outros documentos.

Page 30: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

28

Schwartz et al [25] desenvolveram trabalho de atribuição de autoria em tweets, noqual constatou-se que mesmo em textos curtos, é possível obter características própriasde um mesmo autor. Também, apresentou-se o primeiro sistema de atribuição de autoriaque utiliza padrão flexível, demonstrando que seu uso melhora significativamente a tarefade atribuição de autoria no atual estado da arte.

Page 31: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

29

4 METODOLOGIA

Neste capítulo, são apresentados as técnicas, configurações e parâmetros associadosa cada experimento realizado. Para atingir o objetivo proposto neste trabalho, foram uti-lizadas as principais etapas da mineração de texto: seleção dos dados, pré-processamento,classificação e análise. O desenvolvimento do trabalho seguiu os passos descritos no dia-grama da Figura 1 e serão descritos nas seções que seguem.

(4.1) Obtenção do corpus

(4.2) Pre-processamento Remoção deretweets e links

Remoção de Bots

N-grama de letras(4.3) Construção do perfil do usuário

(4.4) Experimentos e testes Cálculo da distanciade Levenshtein

Figura 1 – Modelo proposto

4.1 Obtenção do corpus

A obtenção do corpus de análise deste trabalho foi por meio dos dados disponibi-lizados no Standford Network Analysis Project - SNAP [26], laboratório que oferece umacoleção de dados para pesquisa de diferentes redes sociais, como por exemplo Facebook,Twitter, Google+ entre outros.

Page 32: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

30

A base de dados do SNAP para o Twitter abrange seis meses de tweets coletadosentre junho a dezembro de 2009. Os dados utilizados no nosso trabalho correspondem aomês de julho de 2009, somando aproximadamente 46 milhões de tweets. Desses, foramselecionados os tweets dos 50 usuários com maior número de postagens, totalizando 27915tweets, considerados suficientes para a obtenção dos objetivos desse trabalho.

Os dados selecionados estavão em um arquivo de texto seguindo a estrutura apre-sentada na Tabela 1 e Tabela 2. Para cada tweet é informado o autor, a data de postageme o conteúdo.

Tabela 1 – Exemplo da estrutura de um tweet na base do SNAP

T 2009-07-10 23:59:21U http://twitter.com/slowandtastyW Want to advocate for just access to food...

Tabela 2 – Exemplo da estrutura de um tweet na base do SNAP

T 2009-07-30 23:59:21U http://twitter.com/southerncutiekW I just took the "What Michael Jackson Song Are You?"...

Inicialmente, houve a necessidade de transformar os dados acima mencionadosem um formato que permitisse a importação para um banco de dados. Os formatos deimportação suportados pelo banco de dados são CSV, JSON, TSV. O formato escolhido foio TSV (Tab-separated Values), modelo que possibilita a transmissão e o armazenamentode informações em texto em que cada registro é uma linha do arquivo e seus valores sãoseparados por um caractere que representa o TAB [27]. Para transformar os dados emTSV foi feito um simples script na linguagem de programação Python.

Devido ao grande volume de dados a serem manipulados, optou-se para importaçãono MongoDB, banco de dados orientado a documentos com código aberto, tendo comoprincipal característica a alta performance no trabalho com grande quantidade de dados[28].

4.2 Pré-processamento

Nesta etapa foi necessário realizar um procedimento de limpeza nos tweets cole-tados, visto que muitos dados presentes nos textos não são considerados característicasrepresentativas do estilo de escrita de um autor.

Normalmente, é possível repostar tweets de outros usuários, isto é chamado deretweet, nesse caso um tweet repostado não é de autoria do usuário que o postou, logoremoveu-se os retweets da nossa base de dados por não representarem o autor do mesmo.

Page 33: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

31

Os links de internet e os Bots também devem são removidos. Os primeiros não são con-siderados relevantes para representar autor neste trabalho, os últimos não representamhumanos, por isso não devem fazer parte da base de dados.

A remoção dos dados indesejáveis foi realizada no banco de dados, por meio dasintaxe JavaScript utilizada nas operações do MongoDB. Assim, todos os tweets queapresentavam "RT","RT@"e "RT @"foram removidos, por se tratarem de representaçõesde um retweet. Abaixo segue um exemplo do exposto acima que resultou na eliminaçãode aproximadamente 6 milhões de tweets, restando cerca de 40 milhões.

db . t w i t t e r . remove ({ " texto " : /^RT/ } ) ;db . t w i t t e r . remove ({ " texto " : /(RT@) | (RT @) / } ) ;

O mesmo procedimento foi realizado para os links de internet, resultando na eli-minação de aproximadamente 19 milhões de tweets, restando cerca de 20 milhões.

Quanto aos Bots, a remoção foi realizada de forma empírica, visto que a literaturaatual ainda não apresenta uma forma ciêntífica para resolver este problema. Assim sendo,foram removidos todos os usuários Bots até obeter-se o número de usuários desejados.Foram selecionados os 50 primeiros usuários humanos com maior número de tweets, a fimde apreender o máximo de características possível correspondente a cada usuário.

Finalizando o pré-processamento, os tweets foram agrupados por usuário e expor-tados para um arquivo TSV como no exemplo abaixo:

usuário tab todos_os_twitties_concatenadostammie169 I don’t dream at night, I dream all day; I dream for a liv...

4.3 Construção do perfil do usuário

Tomou-se como entrada o arquivo TSV com os textos dos 50 usuários com maiornúmero de tweets, para o MATLAB (MATrix LABoratory), software interativo de altaperformance voltado para o cálculo numérico, com o qual já estávamos familiarizados.

Atualmente o uso do MATLAB na mineração de texto é recomendado, pois apre-senta linguagem de alto nível e de fácil aprendizado. Além disso, ele fornece uma gama dealgorítimos e métodos disponibilizados em forma de funções, assim como facilita a criaçãode gráficos de alta qualidade [19].

No MATLAB realizou-se a leitura do arquivo e os dados foram inseridos em umatabela, na qual os usuários foram organizados em colunas e na primeira linha constavamos textos correspondentes a cada um.

Com os dados em mãos extraíu-se de cada usuário as palavras utilizadas, remo-vendo toda e qualquer pontuação. Desse modo, a análise foi realizada exclusivamente

Page 34: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

32

sobre palavras.

Para cada palavra do conjunto de textos foram gerados os N-gramas de letrasde tamanho 4, conforme prática habitual na literatura (Schwartz et al.[25], 2013 apudSanderson e Guenter; Layton, Watters e Dazeley; Koppel, Schler e Argamon[29, 8, 30],2006, 2010, 2011). As palavras cujo número de letras era menor que quatro, completou-secom espaços em branco até atingir o tamanho quatro. Assim, obteve-se uma lista de n-gramas sobre as palavras de cada usuário. Feito isso, elaborou-se o perfil de cada usuário.

O perfil de cada usuário corresponde ao vetor dos n-gramas mais frequentes ex-traídos das suas palavras, ordenado de forma decrescente. O tamanho do perfil, isto é, onúmero total de n-gramas únicos utilizados foi definido de acordo com cada experimentoa ser descrito nas próximas seções.

4.4 Experimentos

Realizou-se três experimentos, em cada um deles foi reduzido o tamanho da basede forma a simular um ambiente em que exista pouco conteúdo disponível para análise, oque representaria um número mais próximo possível de um cenário real. Nos experimentos1 e 2 foi utilizado uma média de 260 tweets (de 3325 a 3813 palavras) por usuário paraconstrução dos perfis, no Experimento 3 esse número foi dividido entre o perfil geral eperfis de teste. Na literatura encontramos testes de 20 a 1000 tweets por usuário [8, 25, 31].Nos experimentos calculou-se a distância entre os perfis dos usuários utilizando o métodode Levenshtein (Edit Distance) subseção 2.2.3.

4.4.1 Experimento 1

No Experimento 1, utilizou-se de 3325 a 3813 palavras de cada um dos 50 usuários.Como descrito na seção anterior, o perfil de cada usuário foi gerado com base na seleçãodos 1000 n-gramas mais frequentes de cada um. A Tabela 3 e Tabela 4 exemplificam partede perfis, e a Figura 2 ilustra como os perfis foram construídos.

Com o perfil de cada usuário em mãos, elaborou-se os dados para testes, dividindoas palavras produzidas por eles em 25 partições, variando de 133 a 152 palavras por parte.Portanto, a cada usuário correspondeu um perfil geral e 25 perfis parciais com a mesmabase de palavras.

O teste foi realizado por meio da comparação da distância entre o perfil geral eos perfis parciais do próprio usuário e, também, entre o perfil geral do usuário e perfisparciais de usuários aleatórios. Logo, no total foram feitas 50 comparações para cadausuário.

Ao final desse experimento, obteve-se um ranking das distâncias calculadas entre

Page 35: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

33

Tabela 3 – Exemplo parcial de perfil

N-gramas Frequência’I ’ 150’you ’ 129’to ’ 71’a ’ 69’it ’ 56’the ’ 55’and ’ 54’s ’ 49’ight’ 44’me ’ 38’HAHA’ 36’that’ 36’t ’ 33

Tabela 4 – Exemplo parcial de perfil

N-gramas Frequência’and ’ 202’the ’ 200’ciat’ 109’ecia’ 108’iate’ 108’ppre’ 107’prec’ 107’reci’ 107’Appr’ 104’s ’ 95’you ’ 92’hank’ 90’Than’ 89

os perfis de cada usuário.

4.4.2 Experimento 2

O Experimento 2 segue as mesmas etapas do Experimento 1, exceto em relação aonúmero de palavras por usuário. Nesse caso, reproduziu-se o experimento deixando todosos usuários com o número total igual a 3325 palavras. Como consequência, cada parte doperfil parcial ficou limitado a 133 palavras por parte, iguais para todos os usuários.

4.4.3 Experimento 3

O Experimento 3 segue as mesmas etapas dos experimentos apresentados anteri-ormente, porém os perfis foram construídos diferentemente. Cada usuário possui o totalde 3325 palavras que foram divididas em 25 partições compostas por 133 palavras cada.Assim, utilizou-se 13 delas para construir o perfil geral, e as 12 partições restantes corres-pondem aos perfis parciais de cada usuário. Resumindo utilizou-se:

∙ 1729 palavras por usuário na construção do perfil geral.

∙ 1596 palavras por usuário divididas na construção dos 12 perfis de teste.

Tomou-se o cuidado ao selecionar as 13 partições distribuídas igualmente no textoproduzido pelo usuário, ou seja, a seleção das partições deu-se intercalando a cada 133palavras, de modo que o perfil geral seja representativo de todo o mês de julho dos tweetscoletados do usuário.

Page 36: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

34

Figura 2 – Ilustração da construção de perfis dos usuários

Diferentemente dos experimentos anteriores, o perfil geral dos usuário compõe os500 n-gramas mais frequentes, ao invés dos 1000 mais frequentes. Isso devido a reduçãodo número de palavras, em que não foi possível obter a frequência de 1000 n-gramas.

Com a alteração na construção dos perfis, os testes foram realizados da seguinteforma: foi calculado a distância entre o perfil geral de cada usuário e 50 perfis parciais,dos quais 12 são perfis parciais do mesmo usuário, e os 38 restantes são perfis parciaisde usuários aleatórios. Lembrando que as 12 partições do mesmo usuário utilizadas parateste não compõe o perfil geral.

Page 37: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

35

5 RESULTADOS

De acordo com as análises, obteve-se como resultados no Experimento 1 paracada usuário uma lista de comparação entre a distância do perfil geral desse usuário e osperfis parcias dele próprio e de perfis parciais aleatórios. Para cada usuário uma tabela foielaborada para mostrar o resultado, na Tabela 5 segue o resultado do cálculo das disânciasobtidas para o usuário "ariaajaeger".

Tabela 5 – Experimento 1 - Cálculo das distâncias do usuário ’ariaajaeger’

N Distância Usuário N Distância Usuário1 964 ’ariaajaeger’ 26 980 ’ariaajaeger’2 964 ’ariaajaeger’ 27 981 ’_tammyymmat’3 969 ’ariaajaeger’ 28 981 ’fakeekristenn’4 970 ’ariaajaeger’ 29 982 ’ariaajaeger’5 970 ’ariaajaeger’ 30 983 ’bertie195’6 971 ’ariaajaeger’ 31 983 ’sandra350’7 971 ’ariaajaeger’ 32 983 ’karinb_za’8 971 ’ariaajaeger’ 33 984 ’janehungoz’9 972 ’ariaajaeger’ 34 985 ’neo_tha_one’10 973 ’ariaajaeger’ 35 985 ’biddygirl’11 973 ’ariaajaeger’ 36 985 ’dlppresident’12 973 ’ariaajaeger’ 37 986 ’shackle_me’13 974 ’ariaajaeger’ 38 986 ’tdlq’14 974 ’ariaajaeger’ 39 987 ’faithclubdotnet’15 974 ’tellsecret’ 40 987 ’pacmanangel’16 975 ’ariaajaeger’ 41 987 ’chiniehdiaz’17 975 ’ariaajaeger’ 42 987 ’softykid’18 976 ’ariaajaeger’ 43 987 ’truegoddessnic’19 976 ’ariaajaeger’ 44 987 ’jawar’20 976 ’artfanatic411’ 45 988 ’barretttv’21 977 ’ariaajaeger’ 46 989 ’thinkingstiff’22 977 ’ariaajaeger’ 47 989 ’gorpen’23 977 ’ariaajaeger’ 48 989 ’expiv’24 979 ’ariaajaeger’ 49 989 ’suebrody1’25 980 ’ariaajaeger’ 50 992 ’jfreshakarico’

Na Tabela 5 percebe-se que as menores distâncias são dos perfis parciais do usuárioem teste. Isso reflete na boa precisão do método e se deve ao fato de os perfis parciaisterem sido construídos de acordo com a mesma base de dados, assim como o perfil geral.O ideal seria que os 25 menos distantes fossem um perfil parcial do usuário testado. Noque segue, é apresentado a Tabela 6 ilustrando quantas vezes um perfil parcial do usuáriotestado apareceu nas 25 primeiras posições, ou seja, menores distâncias. Denominou-se’próximos’, os 25 menos distantes, e de ’distantes’ os 25 restantes.

Page 38: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

36

Constatou-se que 96,32% dos perfis parciais testados estão entre os próximos,sendo considerada uma alta porcentagem de acerto. Logo, concluí-se que nosso métodoidentificou o autor com uma precisão de 96,32% baseado no que ele escreveu. Em relaçãoaos usuários distantes, na média, 3,68% foram classificados errados, ou seja, perfis parciaisde outros usuários foram considerados mais similares ao perfil geral do que os perfisparciais do próprio usuário. A alta precisão obtida ocorre em razão de as partições depalavras utilizadas para formar os perfis parciais serem construídas com os mesmos dadosdo perfil geral, ou seja, os dados de validação (perfil parcial) são os mesmos dos dados detreinamento (perfil geral).

Tabela 6 – Experimento 1 - Perfis Próximos x Distantes

Usuário Próximos Distantes Usuário Próximos Distantes’awriterchick’ 25 0 ’jawar’ 24 1’barretttv’ 25 0 ’jfreshakarico’ 24 1’biddygirl’ 25 0 ’kila22’ 24 1’chiniehdiaz’ 25 0 ’laur_p’ 24 1’darealnette’ 25 0 ’linny_buck’ 24 1’desireepernasel’ 25 0 ’mosesmaimonides’ 24 1’erica045’ 25 0 ’neo_tha_one’ 24 1’expiv’ 25 0 ’pacmanangel’ 24 1’fakeekristenn’ 25 0 ’pdurham’ 24 1’god4tomorrow’ 25 0 ’suebrody1’ 24 1’james_laker’ 25 0 ’taraluvzchase’ 24 1’janehungoz’ 25 0 ’truegoddessnic’ 24 1’mmangen’ 25 0 ’_tammyymmat’ 23 2’shackle_me’ 25 0 ’ariaajaeger’ 23 2’softykid’ 25 0 ’dlppresident’ 23 2’tammie169’ 25 0 ’emercait23’ 23 2’tdlq’ 25 0 ’faithclubdotnet’ 23 2’therealsherina’ 25 0 ’gorpen’ 23 2’thinkingstiff’ 25 0 ’lucille129’ 23 2’udaaay’ 25 0 ’sandra350’ 23 2’artfanatic411’ 24 1 ’sunshineliron’ 23 2’ben_goshi’ 24 1 ’tellsecret’ 23 2’bertie195’ 24 1 ’trekkerguy’ 23 2’cubfnatic’ 24 1 ’iamamro’ 22 3’iamlottie’ 24 1 ’karinb_za’ 21 4

Ainda calculou-se o limiar dos perfis parcias mais distantes. No caso do usuário"ariaajaeger", seu pefil parcial mais distante apareceu na posição 29 entre as 50 distânciascalculadas. O gráfico da Figura 3 e a tabela da Figura 4 mostram o limiar para todosos usuários. Observa-se que o pior caso foi do usuário "karinb_za" na 38o posição e 20usuários ocuparam o melhor caso que é 25. A média dos perfis parciais mais distantesfoi de 26,76. Em um resultado preciso, todos os perfis parciais deveriam estar entre os 25próximos, nesse caso, considera-se 26,6 um bom resultado.

Page 39: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

37

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

0 5 10 15 20 25 30 35 40

Figura 3 – Experimento 1 - Gráfico dosperfis mais distantes.

Usuário Valor1 '_tammyymmat' 272 'ariaajaeger' 293 'artfanatic411' 264 'awriterchick' 255 'barretttv' 256 'ben_goshi' 287 'bertie195' 268 'biddygirl' 259 'chiniehdiaz' 2510 'cubfnatic' 2711 'darealnette' 2512 'desireepernasel' 2513 'dlppresident' 2714 'emercait23' 3315 'erica045' 2516 'expiv' 2517 'faithclubdotnet' 2918 'fakeekristenn' 2519 'god4tomorrow' 2520 'gorpen' 3121 'iamamro' 3522 'iamlottie' 2623 'james_laker' 2524 'janehungoz' 2525 'jawar' 2626 'jfreshakarico' 2627 'karinb_za' 3828 'kila22' 2629 'laur_p' 2730 'linny_buck' 2631 'lucille129' 2732 'mmangen' 2533 'mosesmaimonides' 2634 'neo_tha_one' 2635 'pacmanangel' 2636 'pdurham' 2737 'sandra350' 2738 'shackle_me' 2539 'softykid' 2540 'suebrody1' 2641 'sunshineliron' 2742 'tammie169' 2543 'taraluvzchase' 2644 'tdlq' 2545 'tellsecret' 2746 'therealsherina' 2547 'thinkingstif ' 2548 'trekkerguy' 3349 'truegoddessnic' 2750 'udaaay' 25

Figura 4 – Experimento 1 - Tabela dosTabela com a posição dosperfis mais distantes.

Page 40: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

38

No Experimento 2, normalizou-se o tamanho da base para que todos os usuáriostivessem o mesmo número de palavras. As análises resultaram na queda de precisão dométodo comparado ao Experimento 1. Nesse experimento verificou-se que dos 25 per-fis parciais de teste, a média de 24,04 estavão no conjunto de próximos, resultando em96,16% de precisão, também pode-se considerar como uma boa precisão, visto que os da-dos utilizados na formação dos perfis parciais correspondem aos mesmos dados utilizadosna construção do perfil geral. A queda de 96,32% para 96,16% pode estar relacionada àredução do número de palavras.

Para fins de comparação, a Tabela 7 é apresentada, evidenciando uma melhorano caso do usuário ’ariaajaeger’ em que seus perfis parciais ocuparam as 24 menoresdistâncias. Ainda, em comparação com o Experimento 1, o número dos perfis distantesapresentaram menor variação segundo a Tabela 8. Verificou-se que no experimento um avariação do número de perfis distantes ficou entre 1 e 4, enquanto que no Experimento 2essa variação foi de 1 a 3.

Tabela 7 – Experimento 2 - Cálculo das distâncias do usuário ’ariaajaeger’

N Distância Usuário N Distância Usuário1 967 ’ariaajaeger’ 26 979 ’ariaajaeger’2 967 ’ariaajaeger’ 27 980 ’mmangen’3 969 ’ariaajaeger’ 28 980 ’jawar’4 970 ’ariaajaeger’ 29 981 ’god4tomorrow’5 971 ’ariaajaeger’ 30 981 ’chiniehdiaz’6 971 ’ariaajaeger’ 31 982 ’lucille129’7 972 ’ariaajaeger’ 32 983 ’tellsecret’8 972 ’ariaajaeger’ 33 984 ’tdlq’9 973 ’ariaajaeger’ 34 985 ’tammie169’10 974 ’ariaajaeger’ 35 986 ’linny_buck’11 974 ’ariaajaeger’ 36 986 ’trekkerguy’12 974 ’ariaajaeger’ 37 987 ’faithclubdotnet’13 975 ’ariaajaeger’ 38 987 ’erica045’14 975 ’ariaajaeger’ 39 987 ’expiv’15 975 ’ariaajaeger’ 40 988 ’thinkingstiff’16 975 ’ariaajaeger’ 41 988 ’sunshineliron’17 976 ’ariaajaeger’ 42 988 ’cubfnatic’18 976 ’ariaajaeger’ 43 988 ’suebrody1’19 976 ’ariaajaeger’ 44 989 ’fakeekristenn’20 976 ’ariaajaeger’ 45 990 ’iamlottie’21 977 ’ariaajaeger’ 46 990 ’karinb_za’22 978 ’ariaajaeger’ 47 991 ’taraluvzchase’23 978 ’ariaajaeger’ 48 991 ’iamamro’24 978 ’ariaajaeger’ 49 994 ’jfreshakarico’25 978 ’mosesmaimonides’ 50 996 ’artfanatic411’

O calculo do limiar também foi realizado no Experimento 2. Neste, o perfil parcial

Page 41: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

39

mais distante do usuário "ariaajaeger" ficou na 26o posição, considerada melhor para ousuário. A média dos perfis parciais mais distantes no Experimento 2 foi pior, de 26,86contra 26,76 do Experimento 1. O gráfico da Figura 5 e a tabela da Figura 6 mostramo limiar para todos os usuários do Experimento 2. Note que, o pior caso do experimentofoi o usuário "taraluvzchase" na 33o posição, melhor que o pior caso do Experimento 1que chegou na 38o com o usuário "karinb_za". Neste experimento 16 usuários ocuparamo melhor caso (100% dos testes entre os 25) contra 20 do Experimento 1.

Tabela 8 – Experimento 2 - Perfis Próximos x Distantes

Usuário Próximos Distantes Usuário Próximos Distantes’awriterchick’ 25 0 ’james_laker’ 24 1’udaaay’ 25 0 ’desireepernasel’ 24 1’god4tomorrow’ 25 0 ’chiniehdiaz’ 24 1’shackle_me’ 25 0 ’iamlottie’ 24 1’expiv’ 25 0 ’biddygirl’ 24 1’bertie195’ 25 0 ’softykid’ 24 1’artfanatic411’ 25 0 ’dlppresident’ 24 1’sandra350’ 25 0 ’laur_p’ 24 1’_tammyymmat’ 25 0 ’trekkerguy’ 24 1’suebrody1’ 25 0 ’karinb_za’ 24 1’pdurham’ 25 0 ’mmangen’ 24 1’truegoddessnic’ 25 0 ’jfreshakarico’ 24 1’jawar’ 25 0 ’darealnette’ 24 1’kila22’ 25 0 ’gorpen’ 23 2’fakeekristenn’ 25 0 ’tellsecret’ 23 2’barretttv’ 25 0 ’janehungoz’ 23 2’thinkingstiff’ 24 1 ’sunshineliron’ 23 2’mosesmaimonides’ 24 1 ’cubfnatic’ 23 2’faithclubdotnet’ 24 1 ’ben_goshi’ 23 2’pacmanangel’ 24 1 ’emercait23’ 23 2’ariaajaeger’ 24 1 ’tdlq’ 23 2’neo_tha_one’ 24 1 ’taraluvzchase’ 23 2’therealsherina’ 24 1 ’iamamro’ 23 2’tammie169’ 24 1 ’lucille129’ 22 3’erica045’ 24 1 ’linny_buck’ 22 3

Page 42: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

40

123456789

1011121314151617181920212223242526272829303132333435363738394041424344454647484950

0 5 10 15 20 25 30 35 40

Figura 5 – Experimento 2 - Gráfico dosperfis mais distantes.

Usuário Valor1 '_tammyymmat' 252 'ariaajaeger' 263 'artfanatic411' 254 'awriterchick' 255 'barretttv' 256 'ben_goshi' 317 'bertie195' 258 'biddygirl' 269 'chiniehdiaz' 27

10 'cubfnatic' 2811 'darealnette' 2612 'desireepernasel' 3013 'dlppresident' 2714 'emercait23' 2715 'erica045' 2716 'expiv' 2517 'faithclubdotnet' 2618 'fakeekristenn' 2519 'god4tomorrow' 2520 'gorpen' 3121 'iamamro' 2822 'iamlottie' 2923 'james_laker' 2624 'janehungoz' 2825 'jawar' 2526 'jfreshakarico' 2927 'karinb_za' 2928 'kila22' 2529 'laur_p' 2630 'linny_buck' 3031 'lucille129' 3032 'mmangen' 2633 'mosesmaimonides' 2634 'neo_tha_one' 2735 'pacmanangel' 2736 'pdurham' 2537 'sandra350' 2538 'shackle_me' 2539 'softykid' 2740 'suebrody1' 2541 'sunshineliron' 2842 'tammie169' 2643 'taraluvzchase' 3344 'tdlq' 2745 'tellsecret' 3046 'therealsherina' 2647 'thinkingstif ' 2648 'trekkerguy' 2749 'truegoddessnic' 2550 'udaaay' 25

Figura 6 – Experimento 2 - Tabela coma posição dos perfis mais dis-tantes.

Page 43: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

41

No Experimento 3 utilizou-se uma metodologia próxima de um sistema de real dereconhecimento de autoria, visto que os dados de treinamento foram separados dos dadosde validação.

A alteração na construção dos perfis de usuários no Experimento 3, alterou tambéma execução dos testes do cálculo da distância para esse experimento. Assim sendo, comomostra a Tabela 9, a maior distância calculada entre o perfil geral do usuário ’ariaajaeger’e de um perfil parcial do mesmo ocupa a 48o posição, que é o pior caso, um resultadoruim em relação aos experimentos anteriores. Os usuários ’gorpen’, ’mosesmaimonides’ e’udaaay’ foram os melhores classificados nesse experimento, tendo seus 12 perfis parciasnas 12 primeiras menores distancias.

No geral, o Experimento 3 resultou em uma precisão de 76,5%. A precisão foicalculada da média do valor dos usuários próximos que era de 9,18. A Tabela 10, Figura 7e Figura 8 apresentam os dados resultantes do experiemnto 3.

A média dos limiares referente ao perfil parcial mais distante de cada usuário foide 23,82.

Tabela 9 – Experimento 3 - Cálculo das distâncias do usuário ’ariaajaeger’

N Distância Usuário N Distância Usuário1 480 ’sandra350’ 26 489 ’faithclubdotnet’2 482 ’ariaajaeger’ 27 489 ’tammie169’3 483 ’pacmanangel’ 28 489 ’ben_goshi’4 483 ’biddygirl’ 29 489 ’expiv’5 484 ’ariaajaeger’ 30 489 ’kila22’6 485 ’ariaajaeger’ 31 489 ’iamamro’7 485 ’therealsherina’ 32 490 ’ariaajaeger’8 485 ’god4tomorrow’ 33 490 ’taraluvzchase’9 486 ’neo_tha_one’ 34 490 ’darealnette’10 486 ’erica045’ 35 491 ’ariaajaeger’11 486 ’emercait23’ 36 491 ’gorpen’12 487 ’ariaajaeger’ 37 491 ’tellsecret’13 487 ’ariaajaeger’ 38 491 ’trekkerguy’14 487 ’ariaajaeger’ 39 491 ’jawar’15 487 ’mosesmaimonides’ 40 492 ’ariaajaeger’16 487 ’karinb_za’ 41 492 ’cubfnatic’17 487 ’truegoddessnic’ 42 492 ’artfanatic411’18 488 ’ariaajaeger’ 43 492 ’suebrody1’19 488 ’awriterchick’ 44 492 ’dlppresident’20 488 ’shackle_me’ 45 492 ’fakeekristenn’21 488 ’desireepernasel’ 46 493 ’james_laker’22 488 ’linny_buck’ 47 493 ’pdurham’23 488 ’tdlq’ 48 494 ’ariaajaeger’24 489 ’ariaajaeger’ 49 494 ’softykid’25 489 ’thinkingstiff’ 50 498 ’udaaay’

Page 44: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

42

Tabela 10 – Experimento 3 - Perfis Próximos x Distantes

Usuário Próximo Distante Usuário Próximo Distante’gorpen’ 12 0 ’therealsherina’ 9 3’mosesmaimonides’ 12 0 ’shackle_me’ 9 3’udaaay’ 12 0 ’erica045’ 9 3’thinkingstiff’ 11 1 ’bertie195’ 9 3’faithclubdotnet’ 11 1 ’artfanatic411’ 9 3’god4tomorrow’ 11 1 ’suebrody1’ 9 3’chiniehdiaz’ 11 1 ’emercait23’ 9 3’iamlottie’ 11 1 ’iamamro’ 9 3’_tammyymmat’ 11 1 ’pacmanangel’ 8 4’biddygirl’ 11 1 ’sunshineliron’ 8 4’laur_p’ 11 1 ’tammie169’ 8 4’truegoddessnic’ 11 1 ’james_laker’ 8 4’taraluvzchase’ 11 1 ’lucille129’ 8 4’darealnette’ 11 1 ’sandra350’ 8 4’janehungoz’ 10 2 ’tdlq’ 8 4’cubfnatic’ 10 2 ’tellsecret’ 7 5’expiv’ 10 2 ’awriterchick’ 7 5’desireepernasel’ 10 2 ’ben_goshi’ 7 5’dlppresident’ 10 2 ’linny_buck’ 7 5’pdurham’ 10 2 ’softykid’ 7 5’mmangen’ 10 2 ’karinb_za’ 7 5’jfreshakarico’ 10 2 ’jawar’ 7 5’kila22’ 10 2 ’trekkerguy’ 6 6’fakeekristenn’ 10 2 ’barretttv’ 6 6’neo_tha_one’ 9 3 ’ariaajaeger’ 4 8

Em síntese, verifica-se que embora o Experimento 3 tenha apresentados resultadosdistantes em relação aos experimentos 1 e 2, ainda assim, considera-se um bom resultado,um vez que os dados de treinamento foram separados dos dados de validação, o que nãoocorreu nos outros.

Como descrito anteriormente, observa-se que o tamanho da base de dados paraconstrução dos perfis, assim como a separação dos dados de validação e treinamentorefletem na precisão do método. A Tabela 11 apresenta um resumo dos resultados obtidosnos três experimentos. Apresentamos a precisão e o número de palavras utilizadas emcada experimento, a coluna “Pior caso” refere-se a pior posição (ou a maior distância)em que um usuário foi classificado entre todos, e, ainda na última coluna “número deusuários com 100% de menores distâncias” apresenta-se os usuários em que todos seusperfis parciais estão entre as primeira posições (menores distâncias).

Page 45: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

43

Tabela 11 – Resumo dos experimentos

Precisão Número de palavrasna construção do perfil geral

Número de palavrasna construção do perfil parcial Pior caso Número de usuários com

100% de menores distânciasExperimento 1 96,32% 3325 a 3813 mesmo conjunto do perfil geral 38 80% ou 20 de 25Experimento 2 96,16% 3325 mesmo conjunto do perfil geral 33 64% ou 16 de 25Experimento 3 76,5% 1729 1596 48 25% ou 3 de 12

Page 46: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

44

123456789

1011121314151617181920212223242526272829303132333435363738394041424344454647484950

0 5 10 15 20 25 30 35 40 45 50

Figura 7 – Experimento 3 - Gráfico dosperfis mais distantes.

Usuário Valor1 '_tammyymmat' 132 'ariaajaeger' 483 'artfanatic411' 384 'awriterchick' 355 'barretttv' 296 'ben_goshi' 467 'bertie195' 228 'biddygirl' 189 'chiniehdiaz' 2610 'cubfnatic' 2911 'darealnette' 2412 'desireepernasel' 2213 'dlppresident' 1714 'emercait23' 1515 'erica045' 2416 'expiv' 1917 'faithclubdotnet' 1918 'fakeekristenn' 2319 'god4tomorrow' 1320 'gorpen' 1221 'iamamro' 1522 'iamlottie' 1423 'james_laker' 3524 'janehungoz' 1425 'jawar' 3526 'jfreshakarico' 3527 'karinb_za' 3228 'kila22' 1729 'laur_p' 1830 'linny_buck' 4131 'lucille129' 1632 'mmangen' 2733 'mosesmaimonides' 1234 'neo_tha_one' 2935 'pacmanangel' 2636 'pdurham' 2537 'sandra350' 2338 'shackle_me' 1539 'softykid' 2840 'suebrody1' 3241 'sunshineliron' 1642 'tammie169' 1943 'taraluvzchase' 1344 'tdlq' 2245 'tellsecret' 2646 'therealsherina' 1747 'thinkingstif ' 2648 'trekkerguy' 4449 'truegoddessnic' 1550 'udaaay' 12

Figura 8 – Experimento 1 - Tabela coma posição dos perfis mais dis-tantes.

Page 47: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

45

6 CONCLUSÃO

Esse trabalho mostrou um exemplo de atribuição de autoria com bom índice deprecisão em textos retirados do Twitter. Conforme os objetivos estabelecidos, constatou-seque é possível verificar o autor de textos curtos, baseado nas características recorrentesno próprio texto.

O que se pode concluir por meio dos experimentos é que o índice de precisão foide 96,32% ao construir o perfil de usuário com mais de três mil palavras e quando o perfildo usuário foi construído com 1729 palavras a precisão foi de 76,5%. Logo o tamanho dabase tem grande influência na precisão do método.

Os resultados também indicam a possibilidade de construção de uma ferramentapara Twitter ou até mesmo Facebook, para avaliar se o conteúdo postado pelo usuário érealmente conteúdo dele, de forma a alertá-lo sobre uma possível invasão de conta, emque uma outra pessoa estaria postando por ele, bem como avaliar usuários que escrevemde forma semelhante dentro de um grupo de usuários. Isso pode ser útil na sugestão deum novo amigo ou seguidor dentro da rede social.

Um ponto importante foi que o trabalho contou com o corpus disponibilizado peloSNAP, uma base de dados muito rica em conteúdo, além de ser utilizada por outrosautores em pesquisas de mineração de texto [32, 33, 34, 35].

Constata-se como desvantagem o fato de o método não considerar as pontuaçõese símbolos, o que poderia ter contribuído para o aumento da precisão dos resultados,visto que muitos usuários utilizam pontos de exclamação, reticências, entre outros, emseu padrão de escrita. É comum os usuários terem como característica marcante em seustextos o uso de smiles, o que também perde-se ao remover a pontuação.

Como trabalhos futuros, pretende-se realizar experimentos com mais variaçõesno tamanho do perfil do usuário, isto é, os N-gramas mais frequentes. Além de incluiras pontuações e símbolos nos experimentos, bem como realizar experimentos, utilizandofunção de similaridade diferente da distância de Levenshtein utilizada nesse trabalho.Outra intenção é utilizar métodos de classificação, como por exemplo SVM, ao invés demétodo baseado em similaridade.

Page 48: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação
Page 49: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

47

REFERÊNCIAS

[1] SOLORIO, T. et al. Modality specific meta features for authorship attribution inweb forum posts. In: IJCNLP’11. [S.l.: s.n.], 2011. p. 156–164.

[2] INCHES, G.; HARVEY, M.; CRESTANI, F. Finding participants in a chat:Authorship attribution for conversational documents. In: Social Computing(SocialCom), 2013 International Conference on. [S.l.: s.n.], 2013. p. 272–279.

[3] KOPPEL, M.; WINTER, Y. Determining if two documents are written bythe same author. Journal of the Association for Information Science andTechnology, v. 65, n. 1, p. 178–187, 2014. ISSN 2330-1643. Disponível em:<http://dx.doi.org/10.1002/asi.22954>.

[4] POTHA, N.; STAMATATOS, E. A profile-based method for authorship verification.In: LIKAS, A.; BLEKAS, K.; KALLES, D. (Ed.). Artificial Intelligence: Methodsand Applications. Springer International Publishing, 2014, (Lecture Notes inComputer Science, v. 8445). p. 313–326. ISBN 978-3-319-07063-6. Disponível em:<http://dx.doi.org/10.1007/978-3-319-07064-3_25>.

[5] MENDENHALL, T. C. The characteristic curves of composition. Science, ns-9,n. 214S, p. 237–246, 1887. Disponível em: <http://www.sciencemag.org/content/ns-9/214S/237.short>.

[6] STAMATATOS, E. A survey of modern authorship attribution methods.J. Am. Soc. Inf. Sci. Technol., John Wiley & Sons, Inc., New York, NY,USA, v. 60, n. 3, p. 538–556, mar. 2009. ISSN 1532-2882. Disponível em:<http://dx.doi.org/10.1002/asi.v60:3>.

[7] MACLEOD, N.; GRANT, T. Whose tweet? authorship analysis of micro-blogs andother short-form messages. In: . Proceedings of the International Associationof Forensic Linguists’ tenth biennial conference. [S.l.]: Aston University, 2012. p.210–224. ISBN 978-1-85449-432-0. c○ Copyright remains solely with individualauthors.

[8] LAYTON, R.; WATTERS, P.; DAZELEY, R. Authorship attribution for twitterin 140 characters or less. In: Cybercrime and Trustworthy Computing Workshop(CTC), 2010 Second. [S.l.: s.n.], 2010. p. 1–8.

[9] CHASKI, C. E. Who’s At The Keyboard? Authorship Attribution in DigitalEvidence Investigations. International Journal of Digital Evidence, v. 4, 2005.

[10] FRANTZESKOU, G. et al. Effective identification of source code authors usingbyte-level information. In: In Proceedings of the 28th International Conference onSoftware Engineering. [S.l.: s.n.], 2006. p. 893–896.

[11] IGAWA, R. A. et al. Account classification of online social network with lbca andwavelets. In: Proceedings of Information Sciences. [S.l.: s.n.], 2014.

Page 50: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

48

[12] BOSHMAF, Y. et al. The socialbot network: When bots socialize for fameand money. In: Proceedings of the 27th Annual Computer Security ApplicationsConference. New York, NY, USA: ACM, 2011. (ACSAC ’11), p. 93–102. ISBN978-1-4503-0672-0. Disponível em: <http://doi.acm.org/10.1145/2076732.2076746>.

[13] FELDMAN, R.; SANGER, J. The Text Mining Handbook: Advanced Approachesin Analyzing Unstructured Data. [S.l.]: Cambridge University Press, 2007. ISBN9780521836579.

[14] SERAPIÃO, P. R. B.; SUZUKI, K. M. F.; AZEVEDO-MARQUES, P. Uso demineração de texto como ferramenta de avaliação da qualidade informacional emlaudos eletrônicos de mamografia. Radiol Bras, SciELO Brasil, v. 43, p. 103–7, 2010.

[15] SOARES, F. de A. Mineração de Textos na Coleta Inteligente de Dados na Web.Dissertação (Mestrado) — Pontifícia Universidade Católica do Rio de Janeiro„ 2008.

[16] Sistemas inteligentes: fundamentos e aplicações. In: REZENDE, S. (Ed.). [S.l.: s.n.],2005. cap. Mineração de Textos. ISBN 9788520416839.

[17] INGERSOLL, G.; MORTON, T.; FARRIS, A. Taming Text: How to Find,Organise, and Manipulate it. [S.l.]: Manning, 2013. (Manning Pubs Co Series). ISBN9781933988382.

[18] BERRY, M.; KOGAN, J. Text Mining: Applications and Theory. [S.l.]: Wiley, 2010.(Wiley InterScience). ISBN 9780470689653.

[19] BANCHS, R. Text Mining with MATLAB R○. [S.l.]: Springer, 2012. (SpringerLink :Bücher). ISBN 9781461441519.

[20] QIAN, T. et al. Tri-training for authorship attribution with limited training data.In: . Association for Computational Linguistics, 2014. (Proceedings of the 52ndAnnual Meeting of the Association for Computational Linguistics (Volume 2: ShortPapers)), p. 345–351. Disponível em: <http://aclweb.org/anthology/P14-2057>.

[21] JUOLA, P. Authorship attribution. Foundations and Trends R○ in InformationRetrieval, v. 1, n. 3, p. 233–334, 2008. ISSN 1554-0669. Disponível em:<http://dx.doi.org/10.1561/1500000005>.

[22] RUDMAN, J. The state of authorship attribution studies: Some problemsand solutions. Computers and the Humanities, Kluwer Academic Publishers,v. 31, n. 4, p. 351–365, 1997. ISSN 0010-4817. Disponível em: <http://dx.doi.org/10.1023/A%3A1001018624850>.

[23] BOLSHOY, A. et al. Genome Clustering: From Linguistic Models to Classificationof Genetic Texts. [S.l.]: Springer, 2010. (Studies in Computational Intelligence).ISBN 9783642129513.

[24] KAO, M. Encyclopedia of Algorithms. [S.l.]: Springer, 2008. (Springer reference).ISBN 9780387307701.

[25] SCHWARTZ, R. et al. Authorship attribution of micro-messages. In: ASSOCIATIONFOR COMPUTATIONAL LINGUISTICS. Conference on Empirical Methods inNatural Language Processing. 2013. p. 1880–1891. Disponível em: <http://www.aclweb.org/anthology/D13-1193>.

Page 51: GUSTAVOSCALONIVENDRAMINI - UEL · 2015-08-17 · GUSTAVOSCALONIVENDRAMINI ATRIBUIÇÃODEAUTORIANOTWITTER TrabalhodeConclusãodeCursoapresentado aocursodeBachareladoemCiênciadaCom-putação

49

[26] LESKOVEC, J.; KREVL, A. SNAP Datasets: Stanford Large Network DatasetCollection. 2014. <http://snap.stanford.edu/data>.

[27] MONGODB Glossary: TSV. 2014. <http://docs.mongodb.org/manual/reference/glossary/#term-tsv>.

[28] MONGODB: Introduction to MongoDB. 2014. <http://www.mongodb.org/about/introduction>.

[29] SANDERSON, C.; GUENTER, S. Short text authorship attribution viasequence kernels, markov chains and author unmasking: An investigation.In: Proceedings of the 2006 Conference on Empirical Methods in NaturalLanguage Processing. Stroudsburg, PA, USA: Association for ComputationalLinguistics, 2006. (EMNLP ’06), p. 482–491. ISBN 1-932432-73-6. Disponível em:<http://dl.acm.org/citation.cfm?id=1610075.1610142>.

[30] KOPPEL, M.; SCHLER, J.; ARGAMON, S. Authorship attribution in thewild. Lang. Resour. Eval., Springer-Verlag New York, Inc., Secaucus, NJ,USA, v. 45, n. 1, p. 83–94, mar. 2011. ISSN 1574-020X. Disponível em:<http://dx.doi.org/10.1007/s10579-009-9111-2>.

[31] SILVA, R. S. et al. ‘twazn me!!! ;(’ automatic authorship analysis of micro-bloggingmessages. In: MUñOZ, R.; MONTOYO, A.; MéTAIS, E. (Ed.). Natural LanguageProcessing and Information Systems. Springer Berlin Heidelberg, 2011, (LectureNotes in Computer Science, v. 6716). p. 161–168. ISBN 978-3-642-22326-6.Disponível em: <http://dx.doi.org/10.1007/978-3-642-22327-3_16>.

[32] YANG, J.; LESKOVEC, J. Patterns of temporal variation in online media. In:Proceedings of the Fourth ACM International Conference on Web Search andData Mining. New York, NY, USA: ACM, 2011. (WSDM ’11), p. 177–186. ISBN978-1-4503-0493-1. Disponível em: <http://doi.acm.org/10.1145/1935826.1935863>.

[33] MCAULEY, J.; LESKOVEC, J. Discovering social circles in ego networks. ACMTrans. Knowl. Discov. Data, ACM, New York, NY, USA, v. 8, n. 1, p. 4:1–4:28, fev.2014. ISSN 1556-4681. Disponível em: <http://doi.acm.org/10.1145/2556612>.

[34] LESKOVEC, J.; BACKSTROM, L.; KLEINBERG, J. Meme-tracking and thedynamics of the news cycle. In: Proceedings of the 15th ACM SIGKDD InternationalConference on Knowledge Discovery and Data Mining. New York, NY, USA:ACM, 2009. (KDD ’09), p. 497–506. ISBN 978-1-60558-495-9. Disponível em:<http://doi.acm.org/10.1145/1557019.1557077>.

[35] MCAULEY, J.; LESKOVEC, J. Hidden factors and hidden topics: Understandingrating dimensions with review text. In: Proceedings of the 7th ACM Conference onRecommender Systems. New York, NY, USA: ACM, 2013. (RecSys ’13), p. 165–172.ISBN 978-1-4503-2409-0. Disponível em: <http://doi.acm.org/10.1145/2507157.2507163>.