anÁlise de dados de artigos do repositÓrio arxivtg/2019-2/tg_cc/tg_vsyc.pdf · 3.5 código para...

69
UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIV VICTOR SIN YU CHEN Trabalho de Graduação RECIFE 28 de novembro de 2019

Upload: others

Post on 29-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

UNIVERSIDADE FEDERAL DE PERNAMBUCOCENTRO DE INFORMÁTICA

GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO

ANÁLISE DE DADOS DE ARTIGOS DOREPOSITÓRIO ARXIV

VICTOR SIN YU CHEN

Trabalho de Graduação

RECIFE28 de novembro de 2019

Page 2: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma
Page 3: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

UNIVERSIDADE FEDERAL DE PERNAMBUCOCENTRO DE INFORMÁTICA

VICTOR SIN YU CHEN

ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIOARXIV

Trabalho apresentado ao Programa de GRADUAÇÃO EMCIÊNCIAS DA COMPUTAÇÃO do CENTRO DE INFOR-MÁTICA da UNIVERSIDADE FEDERAL DE PERNAM-BUCO como requisito parcial para obtenção do grau deBacharel em CIÊNCIAS DA COMPUTAÇÃO.

Orientador: PROF. DR. TSANG ING REN

RECIFE28 de novembro de 2019

Page 4: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma
Page 5: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

À minha mãe e minha avó, que sei que estão vendo estemomento e celebrando junto comigo.

Page 6: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma
Page 7: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

Agradecimentos

Meus agradecimentos à minha família, que sempre me acompanhou e me apoiou nestecaminho — em especial à minha mãe e minha avó, que me tornaram a pessoa que sou hoje —,aos meus amigos e colegas, pelo incentivo e apoio, ao professor Tsang, pela orientação, apoioe confiança e a Heitor, pela ajuda na coleta dos dados.

vii

Page 8: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma
Page 9: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

A place where someone still thinks about you, that’s a place you can callhome.

—JIRAYA (Naruto)

Page 10: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma
Page 11: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

Resumo

A publicação de artigos é o principal canal de propagação de conhecimentos da academia.Todos os anos, milhares de novos artigos são submetidos em periódicos ou repositórios e pas-sam por um processo de revisão, que pode demorar meses ou anos, para que sejam aceitose publicados. Com o passar dos anos, algumas alternativas à este processo de revisão foramsurgindo, dentre elas a publicação em um repositório aberto, livre e gratuito, denominado Ar-xiv. Apesar da quantidade de artigos publicados ser bem menor que a quantidade de artigossubmetidos, pois estes podem demorar no processo de revisão ou serem rejeitados, percebeu-seque a quantidade de artigos publicados vem crescendo. Para verificar esta situação, os dadosdos artigos publicados no Arxiv foram coletados a fim de analisar o comportamento das variá-veis envolvidas na publicação de um artigo. O estudo detalhado aqui começa com a coleta dosdados do repositório, passa pelo processamento destes dados à fim de estruturá-los da formacorreta, e termina na análise dos dados utilizando a visualização de gráficos para deixar maisclaro a situação que se encontra as publicações de artigos. Por fim, os resultados da análise sãoapresentados, abrindo uma porta para discussão dos motivos para tais resultados.

Palavras-chave: artigo, repositório, publicação, coleta de dados, análise de dados

xi

Page 12: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma
Page 13: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

Abstract

The publishing of papers is the main way the academy spreads its knowledge. Every year,thousands of new papers are submitted in journals or repositories and go through a (peer) reviewprocess, which may take months or even years to be accepted and published. Over the years,some alternatives to this process have emerged, among them the publication in an open, freerepository called Arxiv. Although the number of papers published is much smaller than thenumber of papers submitted, as they may take a long time in the (peer) review process andcan also be rejected, it was noticed that the number of published papers has been growing. Toverify this situation, data from articles published in Arxiv were collected in order to analyzethe behavior of the variables involved in the publication of a paper. This study starts withthe acquisition of the data from the repository, goes through the processing of these data tostructure them correctly and ends with the analysis of the data using data visualization to helpunderstand the actual situation of the publication of papers. Finally, the results are presented,giving the chance to discuss the cause behind such behavior.

Keywords: paper, repository, publishing, data mining, data analysis

xiii

Page 14: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma
Page 15: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

Sumário

Lista de Algoritmos xvi

1 Introdução 11.1 Motivação 11.2 Objetivo 11.3 Estrutura do Trabalho 2

2 Contexto e Coleta de Dados 32.1 Coletores 4

2.1.1 Crawler 52.1.2 Scraper 5

2.1.2.1 Análise do Código 62.1.2.2 Dados Coletados 7

2.2 Processamento dos Dados 82.2.1 Loader 8

2.2.1.1 Análise do Código 92.2.1.2 Dados Processados 11

3 Análise de Dados 133.1 Plotagem dos Gráficos 13

3.1.1 Plotter 143.1.1.1 Análise de Código 14

3.2 Análise dos Artigos 143.2.1 Artigos por Ano 153.2.2 Média de Autores por Artigo por Ano 203.2.3 Artigos por Mês 253.2.4 Frequência do Número de Tópicos 29

3.3 Análise dos Títulos dos Artigos 343.3.1 Média de Palavras por Título por Ano 343.3.2 Frequência do Tamanho do Título 38

4 Conclusão e Trabalhos Futuros 454.1 Conclusão 454.2 Trabalhos Futuros 45

xv

Page 16: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma
Page 17: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

Lista de Algoritmos

2.1 Formato de Requisição utilizando requests 62.2 Campos a serem coletados 62.3 Criação do DataFrame com dados processados 92.4 Distribuição dos artigos, de acordo com o tópico principal 103.1 Código para gerar os gráficos de Artigos por Ano 153.2 Código para gerar os gráficos de Média de Autores por Artigo por Ano 203.3 Código para gerar os histogramas de Artigos por Mês 253.4 Código para gerar os histogramas de Frequência do Número de Tópicos 293.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 343.6 Código para gerar os histogramas de Frequência do Tamanho do Título 39

xvii

Page 18: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma
Page 19: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

Lista de Figuras

2.1 Amostra de Dados coletados pelo scraper 82.2 Dados pós-processamento 11

3.1 Gráfico de Artigos por Ano de [AI]. 163.2 Gráfico de Artigos por Ano de [CL]. 163.3 Gráfico de Artigos por Ano de [CV]. 163.4 Gráfico de Artigos por Ano de [LG]. 173.5 Gráfico de Artigos por Ano de [TECH]. 173.6 Gráfico de Artigos por Ano de [IT]. 173.7 Gráfico de Artigos por Ano de [LO]. 183.8 Gráfico de Artigos por Ano de [NA]. 183.9 Gráfico de Artigos por Ano de [THEO]. 183.10 Gráfico de Artigos por Ano de [ALL]. 193.11 Principais palavras-chave no ano de 2012 em [AI]. 193.12 Principais palavras-chave no ano de 2013 em [AI]. 203.13 Principais palavras-chave no ano de 2014 em [AI]. 203.14 Gráfico de Média de Autores por Artigo por Ano de [AI]. 213.15 Gráfico de Média de Autores por Artigo por Ano de [CL]. 213.16 Gráfico de Média de Autores por Artigo por Ano de [CV]. 223.17 Gráfico de Média de Autores por Artigo por Ano de [LG]. 223.18 Gráfico de Média de Autores por Artigo por Ano de [TECH]. 223.19 Gráfico de Média de Autores por Artigo por Ano de [IT]. 233.20 Gráfico de Média de Autores por Artigo por Ano de [LO]. 233.21 Gráfico de Média de Autores por Artigo por Ano de [NA]. 233.22 Gráfico de Média de Autores por Artigo por Ano de [THEO]. 243.23 Gráfico de Média de Autores por Artigo por Ano de [ALL]. 243.24 Histograma de Artigos por Mês de [AI]. 263.25 Histograma de Artigos por Mês de [CL]. 263.26 Histograma de Artigos por Mês de [CV]. 263.27 Histograma de Artigos por Mês de [LG]. 273.28 Histograma de Artigos por Mês de [TECH]. 273.29 Histograma de Artigos por Mês de [IT]. 273.30 Histograma de Artigos por Mês de [LO]. 283.31 Histograma de Artigos por Mês de [NA]. 283.32 Histograma de Artigos por Mês de [THEO]. 28

xix

Page 20: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

xx LISTA DE FIGURAS

3.33 Histograma de Artigos por Mês de [ALL]. 293.34 Histograma de Frequência do Número de Tópicos de [AI]. 303.35 Histograma de Frequência do Número de Tópicos de [CL]. 313.36 Histograma de Frequência do Número de Tópicos de [CV]. 313.37 Histograma de Frequência do Número de Tópicos de [LG]. 313.38 Histograma de Frequência do Número de Tópicos de [TECH]. 323.39 Histograma de Frequência do Número de Tópicos de [IT]. 323.40 Histograma de Frequência do Número de Tópicos de [LO]. 323.41 Histograma de Frequência do Número de Tópicos de [NA]. 333.42 Histograma de Frequência do Número de Tópicos de [THEO]. 333.43 Histograma de Frequência do Número de Tópicos de [ALL]. 333.44 Gráfico de Média de Palavras por Título por Ano de [AI]. 353.45 Gráfico de Média de Palavras por Título por Ano de [CL]. 353.46 Gráfico de Média de Palavras por Título por Ano de [CV]. 363.47 Gráfico de Média de Palavras por Título por Ano de [LG]. 363.48 Gráfico de Média de Palavras por Título por Ano de [TECH]. 363.49 Gráfico de Média de Palavras por Título por Ano de [IT]. 373.50 Gráfico de Média de Palavras por Título por Ano de [LO]. 373.51 Gráfico de Média de Palavras por Título por Ano de [NA]. 373.52 Gráfico de Média de Palavras por Título por Ano de [THEO]. 383.53 Gráfico de Média de Palavras por Título por Ano de [ALL]. 383.54 Histograma de Frequência do Tamanho do Título de [AI]. 393.55 Histograma de Frequência do Tamanho do Título de [CL]. 403.56 Histograma de Frequência do Tamanho do Título de [CV]. 403.57 Histograma de Frequência do Tamanho do Título de [LG]. 403.58 Histograma de Frequência do Tamanho do Título de [TECH]. 413.59 Histograma de Frequência do Tamanho do Título de [IT]. 413.60 Histograma de Frequência do Tamanho do Título de [LO]. 413.61 Histograma de Frequência do Tamanho do Título de [NA]. 423.62 Histograma de Frequência do Tamanho do Título de [THEO]. 423.63 Histograma de Frequência do Tamanho do Título de [ALL]. 423.64 Resultados da pesquisa por artigos com tamanho do título maior que 20 palavras 43

Page 21: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

Capítulo 1

Introdução

1.1 Motivação

Com o passar dos anos, a quantidade de artigos científicos aumentou explosivamente, tra-zendo resultados que mudaram nossa forma de pensar e de viver. Alguns trazem estudos espe-cíficos em alguma área, como Astronomia, Química, Física, Biologia, Medicina, Engenharia,Computação, entre outros; outros trazem métodos para resolução de problemas; há ainda aque-les que analisam os resultados ou técnicas criadas ou descobertas anteriormente, etc.

Nesta era da informação, a quantidade de informação produzida aumenta cada vez mais e,com os artigos, isso não é diferente. Junto com o aumento de artigos, pode-se ver a criação denovas áreas de estudo e o aprofundamento de áreas estudadas a muito tempo.

No meio deste crescimento, percebeu-se que outras variáveis também estavam mudando.O número de autores de um artigo, o número de áreas de estudo a qual um artigo pertence, onúmero de páginas, imagens e tabelas de um artigo e até mesmo o tamanho do título de umartigo. Todas estas variáveis estão mudando junto com o aumento do número de publicaçõesde artigos.

A proposta deste trabalho é coletar os dados do repositório Arxiv — um repositório deartigos que não realiza o processo revisão por pares (peer review) na submissão dos artigos— e, utilizando uma abordagem de análise de dados exploratória, analisar os dados coletados,verificando a relação das variáveis em questão com o tempo.

1.2 Objetivo

Este trabalho possui dois objetivos principais. O primeiro objetivo é desenvolver um pro-grama capaz de coletar os dados dos artigos do repositório Arxiv e estruturá-los em um conjuntode dados completo. O segundo objetivo é desenvolver um programa para analisar estes dados,respondendo as perguntas que surgiram e verificando as hipóteses feitas por meio da análise dedados exploratória.

1

Page 22: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

2 CAPÍTULO 1 INTRODUÇÃO

1.3 Estrutura do TrabalhoEste trabalho está dividido em 4 capítulos, incluindo este que introduz o problema a ser

resolvido e descreve o objetivo do documento. O capítulo 2 fará uma breve introdução aos con-ceitos básicos necessários para o entendimento deste trabalho, além de explicar os processosaplicados de coleta dos dados e processamento dos dados, mostrando, por fim, os resultadosda coleta. O capítulo 3 será destinado à análise de dados. Será feita uma breve introdução aotema, além de uma explicação sobre o processo utilizado para coletar as evidências utilizadasna análise dos dados. Também neste capítulo será feita a análise, propriamente dita, e a dis-cussão dos resultados coletados. Por fim, o capítulo 4 trará a conclusão do trabalho e possíveistrabalhos futuros com base neste estudo.

Page 23: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

Capítulo 2

Contexto e Coleta de Dados

Este trabalho visa analisar a relação entre a quantidade de artigos, a quantidade de auto-res por artigo e o tamanho do título dos artigos com o passar do tempo, verificando se estasvariáveis estão seguindo uma tendência de crescimento.

Artigo, de acordo com a norma técnica NBR 6022 (2003, p.2), é “parte de uma publicaçãocom autoria declarada, que apresenta e discute idéias, métodos, técnicas, processos e resultadosnas diversas áreas do conhecimento.” Um artigo deve ser escrito de maneira clara e concisapara que o conteúdo do mesmo possa ser reproduzido por outros pesquisadores ou interessados[BOC06].

Os principais meios de distribuição dos artigos são os periódicos e repositórios. Periódi-cos são domínios online, com produções acadêmicas, publicadas regularmente, variando emtempo de publicação. Neles são publicados artigos, resumos, entre outros meios de informaçãocientífica, para informar resultados e discussões sobre assuntos acadêmicos, produzidos porprofessores, alunos e pesquisadores da área. Segundo a Royal Society, periódicos apresentamquatro funções: (i) comunicação formal dos resultados obtidos nas pesquisas para a comuni-dade acadêmica e interessados; (ii) preservação dos conhecimentos registrados, servindo comoarquivamento das ideias, reflexões, experimentações e resultados dos cientistas; (iii) estabele-cimento da propriedade intelectual, tornando públicos as pesquisas realizadas e registrando-as;(iv) manutenção do padrão de qualidade científica, atuando como um filtro formado por avalia-dores respeitados, conferindo autoridade e confiabilidade ao trabalho [MUE03]. Repositórios,por sua vez, são coleções digitais com função de armazenar, preservar e divulgar produções in-telectuais de comunidades acadêmicas. De forma geral, os repositórios tendem a agir em duasfunções estratégicas principais. A primeira seria a contribuição no aumento da visibilidade,imagem e “valor” público da instituição acadêmica, atuando como um indicador de qualidadeda instituição e, consequentemente, demonstrando a relevância científica e socioeconômica desuas atividades. A segunda é a contribuição da reforma do sistema de comunicação acadêmico,aumentando a competição das publicações e diminuindo o monopólio das revistas científicas,permitindo a entrada de maiores investimentos para essas instituições [RAM+04].

De modo geral, a submissão de artigos para periódicos ou repositórios possui algumasrestrições como, por exemplo, a publicação de artigos em um repositório de uma instituiçãode ensino é restrita aos membros acadêmicos daquela instituição. Para periódicos de renome,como Nature, Science ou IEEE, o processo é bem mais complexo e demorado, pois precisa

3

Page 24: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

4 CAPÍTULO 2 CONTEXTO E COLETA DE DADOS

passar pela revisão por outros membros da academia, e ainda assim, pode ser rejeitado no finaldo processo de submissão.

Dentro deste contexto surgiu o Arxiv, um repositório de artigos de acesso aberto, livre egratuito, que permite que um artigo seja submetido sem passar pelo processo de revisão poroutros acadêmicos. É importante notar que, como em qualquer outro periódico ou repositório,o autor precisa ser qualificado para submeter o artigo e o artigo precisa se enquadrar nas áreas deconhecimento relevantes ao repositório. Para o contexto deste estudo, o termo arquivamentoserá utilizado para designar o processo de submissão ao repositório Arxiv.

No Arxiv, o autor do artigo pode submeter as revisões do seu artigo após o arquivamentodo mesmo no repositório. Por não ter a restrição de revisão antes da submissão, o repositórionão pode garantir a qualidade dos seus artigos mas, em compensação, permite que a autoria dosartigos seja atribuída facil e rapidamente. Estas condições permitem que os autores dos artigosprovem a autoria do artigo enquanto submetem-no em outro periódico ou fazem revisões nomesmo.

A divisão de artigos no Arxiv é feita por tópicos e áreas de conhecimento. No contextodeste trabalho, área de conhecimento são as áreas de estudo mais abrangentes, de acordo coma classificação do repositório Arxiv, e tópicos são as sub-áreas das áreas de conhecimento. Aárea de conhecimento relevante para este trabalho é a de Ciências da Computação1, que possuimais de 240 mil artigos, divididos entre 40 tópicos. Alguns destes tópicos são mais teóricos,como Lógica em Ciências da Computação (cs.LO), enquanto outros são mais práticos, comoAprendizado de Máquina (cs.LG).

Assim como outros periódicos e repositórios, o Arxiv pede algumas informações básicassobre o artigo, como (i) o título do artigo, (ii) os autores, (iii) o resumo do artigo e (iv) os tópicosdo artigo. Também é comum especificar (v) a quantidade de páginas, tabelas e imagens, nocampo de comentários. Por fim, o Arxiv também apresenta (vi) a data de submissão do artigoe de suas revisões.

2.1 ColetoresO conjunto de dados a ser analisado é o ponto de partida para uma análise de dados. Este

conjunto pode ter sido coletado especificamente para tal propósito ou pode ter sido coletadopara outros fins e servir para a análise em questão. Como os dados encontrados pela weberam insuficientes ou estavam incompletos, foi feita a coleta, diretamente do repositório Arxiv,especificamente para este trabalho.

A coleta deste conjunto de dados foi idealizada para ser feita de forma automatizada. Aideia inicial era utilizar um crawler para andar no domínio do repositório e coletar as informa-ções relevantes ao estudo. Porém, por falta de tempo e recursos, este método foi inviabilizadoe adaptamos uma solução mais prática e rápida para a coleta dos dados. Todos os códigos uti-lizados neste trabalho foram escritos utilizando a linguagem Python, versão 3.7.4. Os códigosdemonstrados aqui são trechos do código utilizado no trabalho. O código completo encontra-seno repositório destinado ao trabalho2

1computer science, código: cs2O repositório deste estudo está disponível em: <github.com/vsychen/vsyc-tg-2019-1>

Page 25: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

2.1 COLETORES 5

2.1.1 Crawler

Um crawler é, basicamente, um programa que coleta automaticamente conteúdo da web[MIT18]. Ele começa com uma lista de endereços para visitar e, ao passo que ele vai visitandoestes endereços, ele coleta os hyperlinks da página e os adiciona aos endereços a serem visi-tados. As visitas são realizadas de acordo com um conjunto de regras definidas previamente.Caso esteja realizando o arquivamento das páginas, para cada página visitada, ele baixa as in-formações e salva-as de forma que possam ser acessadas posteriormente como se um usuárioestivesse na rede [MAS06]. Ele continua visitando as páginas do domínio até que tenha visitadotodas as páginas ou até que um certo limite seja alcançado, se este for determinado previamente.Para este estudo, os endereços relevantes se resumem aos que contém o termo abs, pois estessão os endereços de abstract, e contém as informações sobre um artigo submetido.

É importante ressaltar que antes do crawler iniciar sua coleta, ele deve ler um arquivodenominado robots.txt. Este arquivo informa as restrições de acesso que devem ser seguidaspelo crawler, i.e., que diretórios são abertos à leitura automatizada e quanto tempo deve-seesperar antes de fazer uma nova requisição ao domínio. Este tempo de espera (delay) existepara prevenir que o crawler sobrecarregue o domínio com a alta quantidade de requisições quefaz pelas informações a serem coletadas.

Considerando o Arxiv, o tempo de espera é de 15 segundos, tornando a coleta por endereçosindividuais inviável. No melhor dos casos, onde todos os endereços visitados fossem relevan-tes e o crawler não sofresse interrupções, teríamos que fazer mais de 240 mil requisições, comtempo estimado em mais de um mês, caso as requisições fossem feitas apenas por um com-putador. Então adaptamos nossa ideia para procurar os dados em grupo e de forma focada,reduzindo o tempo de coleta significantemente.

2.1.2 Scraper

Para o contexto deste estudo, foi chamado de scraper a adaptação do crawler desenvolvidoespecificamente para coletar os dados do repositório Arxiv. Ele segue as regras de acessodeterminadas pelo Arxiv, mas trabalha de forma totalmente diferente do crawler. O scraper jásabe o formato dos endereços que irá acessar e espera apenas alguns parâmetros para realizar acoleta dos dados. Para gerar o endereço de acesso ele utiliza quatro parâmetros: (i) o código dotópico ou sub-área dos artigos, (ii) o ano da publicação dos artigos, (iii) a quantidade de artigosa ser pesquisada e (iv) a quantidade de artigos a ser ignorada.

Para auxiliar na coleta dos dados, o scraper utiliza algumas bibliotecas externas, sendoelas: (i) requests, versão 2.22.0, para realizar a requisição ao Arxiv, (ii) Beautiful Soup, versão0.0.1, para realizar o parsing da página e a coleta dos dados relevantes, (iii) time, biblioteca na-tiva, para realizar a pausa entre as requisições, (iv) re, biblioteca nativa, para encontrar cadeiasde caracteres de forma rápida e eficiente e (v) json, biblioteca nativa, para salvar o resultado dacoleta no formato JSON.

Para iniciar o scraper são necessários dois parâmetros, os tópicos de interesse e o intervalode tempo relevante à busca. O primeiro parâmetro é uma lista de strings e o segundo, um objetodo tipo range. Para o contexto deste estudo, os tópicos de interesse são uma lista de string em

Page 26: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

6 CAPÍTULO 2 CONTEXTO E COLETA DE DADOS

que todos os elementos começam com cs3, que é o código de Ciências da Computação, e ointervalo de tempo é um range de 1991 até 2020, pois todos os artigos encontram-se nesteintervalo de tempo. Para cada tópico, todos os artigos coletados nesse intervalo de tempo sãosalvos em um arquivo.

Os dois parâmetros restantes — show, quantidade de artigos retornados na requisição, eskip, quantidade de artigos ignorados pela requisição — são gerados automaticamente. showé um inteiro de valor fixo, 2000, e skip é um inteiro inicializado com valor 0, mas que sofreincrementos de 2000 a cada vez que for alterado.

2.1.2.1 Análise do Código

Para cada endereço gerado com os parâmetros discutidos anteriormente, o scraper realizauma requisição ao Arxiv, informando o tópico e os dois últimos dígitos do ano, e recebe apágina no formato de string. Essa string passa por um processo de parsing para poder ter asinformações coletadas. A página é composta basicamente por duas listas, dd_list e dt_list.

Se a primeira lista estiver vazia, significa que não há artigos. Pode ocorrer divergência notamanho das duas listas. Isto ocorre porque a segunda lista pode ter elementos vazios, sendonecessário o tratamento destes casos. Ver algoritmo 2.1

1 r = req.get("https://arxiv.org/list/" + subject + "/" + str(year)[2:],params={’skip’:skip, ’show’:show})

2 time.sleep(15)3 if r.status_code == 200:4 content = bs(r.content, ’html.parser’)5 dd_list = content.findAll(’div’, attrs={’class’:’meta’})6 dt_list = content.findAll(’dt’)7 if len(dd_list) == 0:8 return []9 elif len(dd_list) != len(dt_list):

10 dt_list = [x for x in dt_list if x.findAll(’a’, href=True) != []]

Algoritmo 2.1: Formato de Requisição utilizando requests

Os campos coletados de dd_list são (i) o título, (ii) a lista de autores, (iii) a lista de tópicos4

e (iv) o número de páginas, que se encontra em meio aos comentários. Os campos coletados dedt_list são (v) o mês e (vi) o ano da submissão do artigo, além do (vii) endereço do abstract e(viii) do endereço do artigo, que são derivados do código identificador do artigo. Ver algoritmo2.2

1 pages_pattern = re.compile(’(\\d{1,3}) pages’)2 id_old_pattern = re.compile(’\\/\\d+’)3

4 title = dd.find(’div’, attrs={’class’:’list-title’}).text[8:-1].replace(’;’, ’ ’)

5

6 u_author_list = dd.find(’div’, attrs={’class’:’list-authors’}).findAll(’a’)

3Exemplo: cs.NA, cs.AI4O Arxiv salva os artigos de Análise Numérica (cs.NA) e Sistemas e Controle (cs.SY) com código diferente do

esperado: math.NA e eess.SY

Page 27: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

2.1 COLETORES 7

7 author_list = [a.text for a in u_author_list]8

9 subject_list = dd.find(’div’, attrs={’class’:’list-subjects’}).text.strip()[10:].split(’; ’)

10

11 paper_id = dt.findAll(’a’, href=True)[0].text[6:]12 pdf_url = ’https://arxiv.org/pdf/’ + paper_id13 abs_url = ’https://arxiv.org/abs/’ + paper_id14

15 u_month = id_old_pattern.search(paper_id)16 if u_month:17 month = int(id_old_pattern.search(paper_id).group(0)[3:5])18 else:19 month = int(paper_id[2:4])20

21 u_pages = dd.find(’div’, attrs={’class’:’list-comments’})22 pages = 023 if u_pages: # check if ’comments’ section exists24 u_pages = pages_pattern.search(u_pages.text)25 if u_pages: # check if ’comments’ section has the quantity of pages26 pages = int(u_pages.group(1))27

28 paper = {29 ’title’:title,30 ’author_list’:author_list,31 ’subject_list’:subject_list,32 ’abs_url’:abs_url,33 ’pdf_url’:pdf_url,34 ’month’:month,35 ’year’:year,36 ’pages’:pages37 }

Algoritmo 2.2: Campos a serem coletados

Caso a quantidade de artigos de um determinado tópico em um ano ultrapasse o valor davariável show, uma nova requisição é feita após incrementar o campo skip e esperar o tempo deespera indicado pelo Arxiv. Para cada tópico é criada uma lista onde cada elemento é um artigocoletado e cada uma dessas listas é salva em um arquivo JSON separado.

Da forma que desenvolvemos o scraper não é possível coletar o abstract e o artigo em si,pois estes só estão disponíveis em seus respectivos endereços. Dessa forma, para acessá-losseria necessário uma quantidade muito maior de requisições, tornando a coleta inviável.

2.1.2.2 Dados Coletados

O resultado da coleta do scraper implementado foi um conjunto de 333.272 artigos5, comrepetições, pois vários artigos são classificados como multi-tópico, divididos entre 40 tópicosde Ciências da Computação, contendo as informações de: (i) Título; (ii) Lista de Autores; (iii)

5Coleta realizada entre 14 de outubro de 2019 e 15 de outubro de 2019, GMT -03:00

Page 28: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

8 CAPÍTULO 2 CONTEXTO E COLETA DE DADOS

Lista de tópicos; (iv) Endereço do Abstract; (v) Endereço do Artigo; (vi) Mês da Publicação;(vii) Ano da Publicação; (viii) Quantidade de Páginas do Artigo. Ver figura 2.1

Figura 2.1: Amostra de Dados coletados pelo scraper

Fonte: Elaborada pelo autor

Sobre os dados coletados foi feita uma alteração pontual sobre os dados dos artigos. Aque-les que tinham como tópico Análise Numérica (math.NA) ou Sistemas e Controle (eess.SY)tiveram o código do tópico substituído por cs.NA e cs.SY, respectivamente, para que o códigoda área de conhecimento ficasse padronizado. Não foi feita nenhuma alteração adicional sobreo conjunto de dados.

Após a coleta dos dados, é necessário extrair do conjunto de dados as informações que esta-mos realmente procurando: informações extras que podem ser retiradas ou dados importantesque precisam ser derivados do conjunto coletado.

2.2 Processamento dos Dados

As informações coletadas muitas vezes precisam passar por um processamento antes deserem analisadas, pois boa parte dos dados relevantes são derivados do conjunto de dadoscoletado. Além da derivação dos dados, também é necessário retirar as informações extras, quenão adicionam ao estudo.

Considerando o escopo do trabalho, informações como endereço do abstract e endereço doartigo não são tão relevantes, podendo ser dispensados. Estas informações foram extraídas peloscraper apenas no caso de, eventualmente, serem necessárias, não sendo necessário coletar oconjunto de dados novamente.

2.2.1 Loader

O loader é a classe responsável por processar os dados coletados. Ele lê os arquivos JSON,processa os dados e os salva em um arquivo CSV.

Page 29: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

2.2 PROCESSAMENTO DOS DADOS 9

Para realizar o processamento dos dados, o loader utiliza duas bibliotecas externas: (i)pandas, versão 0.25.3, para montar o DataFrame (pandas.DataFrame), estrutura para armaze-namento dos dados, e realizar as operações para processamento dos dados e (ii) json, bibliotecanativa, para leitura dos arquivos JSON. A biblioteca NLTK, versão 3.4.5, também foi utilizada,mas apenas para gerar um conjunto de stopwords para comparação de palavras do título.

2.2.1.1 Análise do Código

O processamento dos dados começa com o carregamento dos arquivos JSON coletados peloscraper em um DataFrame (pandas.DataFrame).

O primeiro passo do loader é procurar por artigos duplicados. Esta verificação é feita combase no título, apenas. Se dois artigos têm o título igual, são o mesmo artigo. Caso hajaduplicidade, apenas o primeiro é mantido.

De acordo com a relevância das informações, estas podem ser mantidas (dados relevantes),derivar dados relevantes (dados sub-relevantes) ou serem descartadas (dados irrelevantes).

As colunas de um DataFrame são de um tipo interno do pandas denominado Series (pan-das.Series), que podem ser convertidos em uma lista. As colunas com dados relevantes sofremapenas uma conversão para lista, sem perda de dados. As colunas com dados irrelevantes sãodescartadas. Por fim, as colunas que possuem dados a serem derivados passam pelo processa-mento, retornando os dados relevantes. Ver algoritmo 2.3

1 titles = list(data.title)2 n_words = [len(list(filter(lambda a: a!=’’, x.split(’ ’)))) for x in titles

]3 n_authors = [len(x) for x in list(data.author_list)]4 major = get_major(data.subject_list)5 n_subjects = [len(x) for x in list(data.subject_list)]6 months = list(data.month)7 years = [x if x > 2000 else 2000 for x in list(data.year)]8 keywords = [list(filter(lambda a: a not in self.sw, x.lower().split(’ ’)))9 for x in titles]

10 prize = pd.DataFrame({11 ’title’:titles,12 ’n_words’:n_words,13 ’n_author’:n_authors,14 ’major’:major,15 ’n_subjects’:n_subjects,16 ’month’:months,17 ’year’:years,18 ’keywords’:keywords})19 return prize.sort_values(by=[’year’, ’month’])

Algoritmo 2.3: Criação do DataFrame com dados processados

Título (title) deriva os dados de número de palavras (n_words) e palavras-chave (keywords).Para gerar o número de palavras, o loader separa as palavras do título e as conta. Para coletaras palavras chave, é necessário separar as palavras do título e aplicar um filtro com as palavrasconsideradas como stopwords, i.e., palavras que são muito comuns na linguagem — normal-mente, mas não exclusivamente, artigos e preposições. Estas palavras são filtradas antes de

Page 30: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

10 CAPÍTULO 2 CONTEXTO E COLETA DE DADOS

qualquer tentativa de classificação das palavras ou processamento do texto [RU11] e, por se-rem consideradas palavras sem grande importância foram removidas do conjunto de palavrasdaquele título.

Lista de autores (author_list) deriva os dados de número de autores (n_authors). Para geraresta informação basta contar a quantidade de elementos na lista de autores.

Lista de tópicos (subject_list) deriva os dados de número de tópicos (n_subjects) e de tópicoprincipal (major). Para gerar o número de tópicos, o loader conta a quantidade de elementosna lista de tópicos. Para coletar o tópico principal, o loader verifica a lista de tópicos do inícioao fim. O primeiro encontrado que pertencer a área de Ciências da Computação, i.e., contivero termo "(cs."6, será o tópico principal. Caso não haja tópicos em Ciências da Computação, oartigo está classificado errado no Arxiv, mas não pode ser descartado pois foi contabilizado norepositório. Estes artigos serão classificados e agrupados pelo loader como artigos teóricos.

Ano (year) sofre uma pequena alteração, para agrupar os dados dos anos iniciais do Arxiv.Os artigos entre os anos 1991 e 2000, inclusive, foram considerados como pertencentes ao ano2000 pois, durante estes anos, a quantidade de artigos no Arxiv é escassa.

Após gerar estas listas com dados, elas são colocadas em um novo DataFrame e ordenadospor seu ano e mês de publicação, especificamente nesta ordem. Para não haver confusão comrelação ao índice, após a ordenação do novo conjunto de dados, o índice é recalculado.

Finalizado o processamento dos dados, o loader salva o conjunto completo de dados emum arquivo e separa-os pelos tópicos principais ou pelo agrupamento de tópicos menores, esalva os artigos novamente. Desse jeito é possível observar os dados de uma forma mais geral,com o conjunto de dados completo, e de uma forma mais focada, com os conjuntos de dadosseparados. Ver algoritmo 2.4

1 relevant = [’cs.AI’, ’cs.CL’, ’cs.CV’, ’cs.IT’, ’cs.LG’, ’cs.LO’, ’cs.NA’]2 p_not_relevant = [’cs.CR’, ’cs.DB’, ’cs.DC’, ’cs.DS’, ’cs.ET’, ’cs.GR’,3 ’cs.GT’, ’cs.IR’, ’cs.MA’, ’cs.MM’, ’cs.MS’, ’cs.NE’, ’cs.NI’, ’cs.OS’,

’cs.PF’, ’cs.PL’, ’cs.RO’, ’cs.SC’, ’cs.SD’, ’cs.SI’, ’cs.SY’]4

5 for s in subj:6 start_cod = s.find(’(’)+17 end_cod = s.find(’)’)8

9 if s[start_cod:end_cod] in relevant:10 r = ppd[ppd.major == s]11 self.to_csv(s[start_cod:end_cod]+’.csv’, r)12 elif s[start_cod:end_cod] in p_not_relevant:13 pnr = pnr.append(ppd[ppd.major == s], ignore_index=True)14 else:15 tnr = tnr.append(ppd[ppd.major == s], ignore_index=True)16 self.to_csv(’practical.csv’, pnr)17 self.to_csv(’theoretical.csv’, tnr)

Algoritmo 2.4: Distribuição dos artigos, de acordo com o tópico principal

A divisão dos tópicos foi feita da seguinte maneira: Primeiro, os tópicos foram classifica-dos como técnicos ou teóricos. Depois foram selecionados os 4 (quatro) tópicos de cada lado

6Formato de uma string de tópico: <tópico> (cs.<código do tópico>)

Page 31: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

2.2 PROCESSAMENTO DOS DADOS 11

com mais artigos como principais. Um dos tópicos principais do lado teórico ainda possuiapoucos artigos e, por fim, foi retirado da lista de tópicos principais. Os tópicos restantes foramagrupados de acordo com seu lado (técnico ou teórico) em dois conjuntos distintos. Os tópi-cos classificados como principais são Inteligência Artificial (cs.AI), Computação e Linguagem(cs.CL), Visão Computacional e Reconhecimento de Padrões (cs.CV), Teoria da Informação(cs.IT), Aprendizado de Máquina (cs.LG), Lógica para Computação (cs.LO) e Análise Numé-rica (cs.NA).

Os tópicos técnicos agrupados no conjunto de Tópicos Técnicos são Criptografia e Se-gurança (cs.CR), Bases de Dados (cs.DB), Computação Distribuída, Paralela e Clusterizada(cs.DC), Algoritmos e Estruturas de Dados (cs.DS), Tecnologias Emergentes (cs.ET), Gráficos(cs.GR), Computação e Teoria dos Jogos (cs.GT), Recuperação de Informação (cs.IR), Siste-mas Multiagentes (cs.MA), Multimídia (cs.MM), Software Matemático (cs.MS), ComputaçãoEvolucionária e Neural (cs.NE), Arquitetura de Redes e Internet (cs.NI), Sistemas Operacionais(cs.OS), Performance (cs.PF), Linguagens de Programação (cs.PL), Robótica (cs.RO), Mate-mática Simbólica (cs.SC), Sons (cs.SD), Redes Sociais e de Informação (cs.SI) e Sistemas eControle (cs.SY), em um total de 21 tópicos.

Os tópicos teóricos agrupados no conjunto de Tópicos Teóricos são Arquitetura de Hard-ware (cs.AR), Complexidade Computacional (cs.CC), Engenharia, Finanças e Ciências Com-putacionais (cs.CE), Geometria Computacional (cs.CG), Computação e Sociedade (cs.CY), Bi-bliotecas Digitais (cs.DL), Matemática Discreta (cs.DM), Linguagem Formal e Teoria de Autô-matos (cs.FL), Literatura Geral (cs.GL), Interação Homem-Máquina (cs.HC), Outros (cs.OH)e Engenharia de Software (cs.SE), totalizando 12 tópicos. Além destes tópicos, quaisquer arti-gos que não se enquadram em nenhum dos tópicos de ciências da computação também foramcolocados neste conjunto.

2.2.1.2 Dados Processados

Após o processamento dos dados, o conjunto de dados foi reduzido a 245.593 artigos, semrepetições, divididos entre 7 tópicos principais e 2 agrupamentos — technical e theoretical.Também há o conjunto de dados completo, a qual será referido neste trabalho como SituaçãoGeral. Ver figura 2.2

Figura 2.2: Dados pós-processamento

Fonte: Elaborada pelo autor

Page 32: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

12 CAPÍTULO 2 CONTEXTO E COLETA DE DADOS

Com os dados processados de forma correta podemos finalmente começar a analisar osdados. O capítulo seguinte trará o detalhamento do processo de desenho dos gráficos e análisedos dados realizado neste estudo.

Page 33: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

Capítulo 3

Análise de Dados

Análise de dados é, de forma simplificada, o processo de inspecionar, limpar, transformare modelar os dados com o objetivo de descobrir informações úteis, tirar conclusões e fazerdecisões, como descrito em [XG15]. Já em [TUK61], Tukey define a a área de análise dedados como "procedimentos para analisar dados, técnicas para interpretar os resultados de taisprocedimentos, meios de planejamento de coleta de dados para deixar a análise mais fácil, maisprecisa ou mais correta, e todo o mecanismo e resultados de estatísticas (matemáticas) que seaplicam à análise de dados".

A área de análise de dados é extensa e a quantidade de técnicas que existem nesta áreaé extremamente diversa. Para este estudo, utilizaremos a Análise Exploratória de Dados(Exploratory Data Analysis) para definir as hipóteses e verificá-las. A análise exploratória dedados é como um trabalho de detetive, sendo necessário ao analista de dados (detetive) técnica econhecimento para que este encontre as informações que precisa (pistas para o caso) [TUK77].

Ao observar o repositório Arxiv, percebemos que o número de artigos estava crescendode forma muito rápida e, em muitos casos, o número de autores e tópicos do artigo erammuito altos. Decidimos, então, responder a estas perguntas e formulamos três hipóteses: (i)O número de artigos arquivados1 vem crescendo, ano a ano; (ii) o número de autores em umartigo arquivado vem crescendo, ano a ano; (iii) o tamanho do título dos artigos arquivados vemaumentando, ano a ano. Enquanto verificávamos estas hipóteses, outras perguntas surgiram eestas também foram incorporadas ao estudo, sendo elas: (iv) em quais meses há uma quantidademaior de arquivamentos, (v) quantos tópicos um artigo arquivado pertence e (vi) qual o tamanhonormal de um título de artigo no Arxiv.

3.1 Plotagem dos Gráficos

O estudo dos dados não é fácil com os dados no formato de texto ou arquivos CSV. Parafacilitar a visualização dos dados, verificar as hipóteses e responder as perguntas, foi desenvol-vido o plotter, que plota os gráficos a serem apresentados neste capítulo.

1como mencionado no capítulo 2, os artigos publicados no Arxiv serão denominados "arquivados"

13

Page 34: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

14 CAPÍTULO 3 ANÁLISE DE DADOS

3.1.1 Plotter

Para a plotagem dos gráficos foram utilizadas algumas bibliotecas externas. A bibliotecapandas, versão 0.25.3, foi utilizada novamente para organizar os dados em DataFrames eos gráficos foram plotados utilizando as bibliotecas matplotlib e seaborn. seaborn é umabiblioteca de alto nível baseada em matplotlib focada em plotar gráficos mais atraentes.

3.1.1.1 Análise de Código

Por ser uma biblioteca de alto nível, o seaborn realiza todos os cálculos necessários paraa plotagem dos gráficos. Foi necessário apenas mostrar ao seaborn quais os dados que seriamcorrelacionados em cada gráfico e, caso necessário, alterar a composição dos ticks, as informa-ções nas laterais dos gráficos, para um melhor entendimento da situação.

Os métodos do plotter se resumem a plotar os gráficos. Os parâmetros passados são o con-junto de dados, o tópico dos artigos do conjunto de dados e, se aplicável, o ano de publicaçãodos artigos, para um detalhamento maior.

Para cada método de plotagem de gráficos, o plotter começa atribuindo o conjunto de da-dos à uma variável auxiliar e, caso seja necessário, faz alterações sobre esta variável. Caso sejanecessário alterar os ticks dos gráficos a serem plotados, o plotter também calcula a quantidadede ticks e altera a legenda dos mesmos. Cria-se então uma nova figura onde é dito o tipo do grá-fico a ser plotado e informa-se alguns parâmetros, como o conjunto de dados, que informaçõesserão apresentadas nos eixos x e y, título e rótulos (labels), entre outros. Neste estudo foramincluídas apenas uma pequena parte dos gráficos utilizados no estudo. Os demais gráficos estãodisponíveis no repositório destinado à este trabalho2.

Após estas atribuições, o gráfico é plotado e salvo em um arquivo e os dados das figuras edos eixos são limpos para que não interfiram na plotagem de outro gráfico.

3.2 Análise dos ArtigosPara analisar o comportamento dos artigos, iremos analisar a quantidade de artigos publi-

cados por ano [Artigos por Ano], a média de número de autores por artigo por ano, [Médiade Autores por Artigo por Ano], a frequência de publicação dos artigos em determinadomês [Número de Artigos por Mês] e a frequência de quantidade de tópicos em um artigo[Frequência do Número de Tópicos]. Deve-se ressaltar que o conjunto de dados foi coletadona metade do mês de outubro, i.e., os artigos que foram publicados após esta data não foramincluídos nos números, resultando em um valor abaixo do esperado para o ano de 2019.

Para a análise dos gráficos, os tópicos principais serão designados pelos seus respectivoscódigos: Inteligência Artificial [AI], Computação e Linguagem [CL], Visão Computacional eReconhecimento de Padrões [CV], Teoria da Informação [IT], Aprendizado de Máquina [LG],Lógica para Computação [LO], Análise Numérica [NA]. O agrupamento de tópicos técnicosserá chamado de [TECH] e o de tópicos teóricos [THEO]. O conjunto de dados completo seráreferenciado como [ALL].

2O repositório deste estudo está disponível em: <github.com/vsychen/vsyc-tg-2019-1>

Page 35: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

3.2 ANÁLISE DOS ARTIGOS 15

3.2.1 Artigos por Ano

A primeira hipótese a ser verificada é a de que o número de artigos arquivados vem cres-cendo, ano a ano. Para verificar esta hipótese, o plotter utiliza um gráfico simples de linha. Oconjunto de dados é alterado para conter apenas a quantidade de artigos publicados em um anoe depois é passado ao seaborn para que a plotagem do gráfico seja feito. O seaborn entendeimplicitamente que o eixo x deve mostrar os anos e o eixo y, a quantidade de artigos publicadosem um ano. Ver algoritmo 3.1.

1 aux = data.year.value_counts().sort_index()2 _min, _max = data.year.unique().min(), data.year.unique().max()3 r = _max - _min4 t = [’’] + [’< 2000’ if x == 2000 else str(x) for x in list(range(_min,

_max+1))]5

6 plt.figure()7 ap = sns.lineplot(data=aux, marker=’o’)8 ap.set_title(title)9 ap.set(xlabel=’Ano’, ylabel=’Artigos’)

10 ap.xaxis.set_major_locator(plt.MaxNLocator(nbins=r+2))11 ap.axes.set_xticklabels(t)12 plt.show()

Algoritmo 3.1: Código para gerar os gráficos de Artigos por Ano

As figuras 3.1, 3.2, 3.3, 3.4 e 3.5 trazem os gráficos de artigos por ano dos tópicos técnicos.[AI] possui o comportamento mais estranho, pois em 2013 houve um crescimento de quase200% no número de publicações e, no ano seguinte, este número caiu pela metade, voltando aonível de publicações que havia em 2012. A partir deste ano, o número de publicações voltoua crescer de forma rápida e, em 2018, quase alcançou 1600 publicações, superando o pico de2013, de 1456 publicações. Em [CL], [CV] e [LG], o número de publicações por ano era baixoe constante até meados de 2011, onde a quantidade de artigos começou a crescer tornando acurva exponencial. Em [TECH], a curva de crescimento também existe, mas é mais suave doque as curvas descritas anteriormente.

Os gráficos das figuras 3.6, 3.7, 3.8 e 3.9 trazem os gráficos de artigos por ano dos tópicosteóricos. Em [IT], houve crescimento constante das publicações dos artigos até que, no ano de2018, houve uma queda nas publicações. Em [LO] também houve um período com queda naspublicações, mas atualmente o tópico está em crescimento. Já em [NA], a curva de crescimentopode ser considerada constante. Em [THEO], o crescimento é evidente, mas não é constante.

Por fim, no conjunto de dados completo, figura 3.10, o comportamento de crescimento serepete. A curva de [ALL] lembra uma curva exponencial, mas é necessário observar por maisalguns anos, para verificar se este comportamento irá se manter.

Page 36: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

16 CAPÍTULO 3 ANÁLISE DE DADOS

Fonte: Elaborada pelo autor

Figura 3.1: Gráfico de Artigos por Ano de [AI].

Fonte: Elaborada pelo autor

Figura 3.2: Gráfico de Artigos por Ano de [CL].

Fonte: Elaborada pelo autor

Figura 3.3: Gráfico de Artigos por Ano de [CV].

Page 37: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

3.2 ANÁLISE DOS ARTIGOS 17

Fonte: Elaborada pelo autor

Figura 3.4: Gráfico de Artigos por Ano de [LG].

Fonte: Elaborada pelo autor

Figura 3.5: Gráfico de Artigos por Ano de [TECH].

Fonte: Elaborada pelo autor

Figura 3.6: Gráfico de Artigos por Ano de [IT].

Page 38: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

18 CAPÍTULO 3 ANÁLISE DE DADOS

Fonte: Elaborada pelo autor

Figura 3.7: Gráfico de Artigos por Ano de [LO].

Fonte: Elaborada pelo autor

Figura 3.8: Gráfico de Artigos por Ano de [NA].

Fonte: Elaborada pelo autor

Figura 3.9: Gráfico de Artigos por Ano de [THEO].

Page 39: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

3.2 ANÁLISE DOS ARTIGOS 19

Fonte: Elaborada pelo autor

Figura 3.10: Gráfico de Artigos por Ano de [ALL].

A situação em [IT] é um pouco curiosa, pois o número de publicações caiu no ano de 2018.Esta situação pode ser decorrente de uma oscilação pontual, como ocorreu em [LO], pois [IT]não registra casos de oscilação anteriores.

Em [AI], 2013, foi constatado um aumento anormal e pontual de temas como Redes Baye-sianas, probabilidade, inferência, decisão, causal, entre outras palavras-chave. 3.11 traz aspalavras-chave principais do ano de 2012, 3.12 traz as palavras-chave principais de 2013 e 3.13traz as palavras-chave principais de 2014. É visível o aumento da ocorrência de tais palavrasdurante 2013, nos levando a acreditar que 2013 foi um ano importante para estes temas.

A hipótese a ser verificada, de que o número de artigos arquivados vem crescendo, ano aano, é verificada. Apesar de algumas situações pontuais, no geral, o número de publicaçõescontinua crescendo, comprovando a hipótese.

Fonte: Elaborada pelo autor

Figura 3.11: Principais palavras-chave no ano de 2012 em [AI].

Page 40: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

20 CAPÍTULO 3 ANÁLISE DE DADOS

Fonte: Elaborada pelo autor

Figura 3.12: Principais palavras-chave no ano de 2013 em [AI].

Fonte: Elaborada pelo autor

Figura 3.13: Principais palavras-chave no ano de 2014 em [AI].

3.2.2 Média de Autores por Artigo por Ano

A segunda hipótese a ser verificada é a de que o número de autores em um artigo arquivadovem crescendo, ano a ano. Para verificar esta hipótese, o plotter utiliza um gráfico de pontoscom intervalo de confiança. Os dados utilizados para a plotagem dos gráficos são o ano (year) eo número de autores (n_authors). O intervalo de confiança é configurado para calcular o desviopadrão. Ver algoritmo 3.2.

1 aux = data2

3 plt.figure()4 ap = sns.pointplot(x=’year’, y=’n_author’, data=aux, ci=’sd’, palette=sns.

cubehelix_palette(20, start=2.8, rot=0, dark=.4, light=0.6))5 ap.set_title(title)6 ap.set_xlabel(’Ano’)7 ap.set_ylabel(’Media de Numero de Autores’)8 t = [’< 2000’ if t.get_text() == ’2000’ else t for t in ap.axes.

get_xticklabels()]9 ap.axes.set_xticklabels(t)

10 plt.show()

Algoritmo 3.2: Código para gerar os gráficos de Média de Autores por Artigo por Ano

Page 41: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

3.2 ANÁLISE DOS ARTIGOS 21

As figuras 3.14, 3.15, 3.16, 3.17 e 3.18 trazem os gráficos de média de autores por artigopor ano dos tópicos técnicos. O comportamento nestes gráficos é de crescimento com osci-lações. O desvio padrão, em média, fica na faixa de 1 (um) a 2 (dois) pontos, com algumasexceções, onde seu valor passa de 3 (três) pontos.

As figuras 3.19, 3.20, 3.21 e 3.22 trazem os gráficos de média de autores por artigo porano dos tópicos teóricos. O comportamento varia um pouco, em relação aos gráficos de tópicostécnicos. O comportamento também é de crescimento com leves oscilações, mas o desviopadrão mantém-se entre 2 (dois) e 3 (três) pontos.

O gráfico mostrado na figura 3.23 mostra os valores de média de autores por artigo por anodo conjunto completo. O comportamento é de crescimento com desvio padrão na faixa de 1,5(um e meio) a 2 (dois) pontos.

Fonte: Elaborada pelo autor

Figura 3.14: Gráfico de Média de Autores por Artigo por Ano de [AI].

Fonte: Elaborada pelo autor

Figura 3.15: Gráfico de Média de Autores por Artigo por Ano de [CL].

Page 42: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

22 CAPÍTULO 3 ANÁLISE DE DADOS

Fonte: Elaborada pelo autor

Figura 3.16: Gráfico de Média de Autores por Artigo por Ano de [CV].

Fonte: Elaborada pelo autor

Figura 3.17: Gráfico de Média de Autores por Artigo por Ano de [LG].

Fonte: Elaborada pelo autor

Figura 3.18: Gráfico de Média de Autores por Artigo por Ano de [TECH].

Page 43: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

3.2 ANÁLISE DOS ARTIGOS 23

Fonte: Elaborada pelo autor

Figura 3.19: Gráfico de Média de Autores por Artigo por Ano de [IT].

Fonte: Elaborada pelo autor

Figura 3.20: Gráfico de Média de Autores por Artigo por Ano de [LO].

Fonte: Elaborada pelo autor

Figura 3.21: Gráfico de Média de Autores por Artigo por Ano de [NA].

Page 44: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

24 CAPÍTULO 3 ANÁLISE DE DADOS

Fonte: Elaborada pelo autor

Figura 3.22: Gráfico de Média de Autores por Artigo por Ano de [THEO].

Fonte: Elaborada pelo autor

Figura 3.23: Gráfico de Média de Autores por Artigo por Ano de [ALL].

Tiramos a média de número de autores por artigo em cada ano. Como não há uma corre-lação direta entre o número de autores e o número de artigos, a média oscila frequentemente.Apesar das oscilações, é possível notar o crescimento da média de autores por artigo com opassar dos anos.

Já o desvio padrão, depende muito se em dado ano houve algum artigo outlier que pos-sui um número de autores muito elevado. Estes casos são raros, e poucos se comparados aoconjunto de dados completo, mas ainda assim são uma quantidade considerável. 2189 artigosapresentaram mais do que 10 (dez) autores e, dentre estes, 80 possuem mais de 30 (trinta) au-tores. A quantidade máxima de autores encontrada em um artigo é de 65 (sessenta e cinco), emum artigo na área de Análise Numérica.

Considerando estes fatos e evidências, a hipótese de que o número de autores em um artigoarquivado vem crescendo, ano a ano fica comprovada.

Page 45: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

3.2 ANÁLISE DOS ARTIGOS 25

3.2.3 Artigos por Mês

Enquanto verificávamos as hipóteses mencionadas anteriormente, outras questões surgiram.Entre elas, o mês que havia mais arquivamento de artigos. Para descobrir que mês concentravaa maior quantidade de publicações plotamos um histograma de número de artigos por mês.

Para a plotagem dos histogramas, o plotter seleciona apenas a coluna de mês de publicação.Também é necessário informar a quantidade de partições que haverá no gráfico (bins). Por fim,também é possível separar os dados deste histograma por ano3. Ver algoritmo 3.3.

1 aux = data2 bins = 53 if year != ’’: aux = aux[aux.year == int(year)]4 if aux.empty: return5 r = aux.month.unique().max() - aux.month.unique().min()6 if r >= bins: bins = r + 17

8 plt.figure()9 ap = sns.distplot(aux.sort_values(by=’month’).month, bins=bins, kde=False,

hist_kws=dict(edgecolor="k", linewidth=1))10 ap.set_title(title)11 ap.set_xlabel(’Mes’)12 ap.set_ylabel(’Numero de Artigos’)13 plt.show()

Algoritmo 3.3: Código para gerar os histogramas de Artigos por Mês

As figuras 3.24, 3.25, 3.26, 3.27 e 3.28 trazem os gráficos de artigos por mês dos tópicostécnicos. Para [AI], os meses de abril e junho são os que mais tem publicação de artigos eagosto, o mês que têm menos publicações. Em [CL], os meses de junho e setembro são os maisimportantes e janeiro e setembro são os meses com menos publicações. Em [CV] é o mês deabril que traz a maior quantidade de publicações, enquanto janeiro e fevereiro a quantidade depublicações não é tão alta. Em [LG], os meses de maio e junho possuem a maior concentraçãode publicações e janeiro, seguido por abril, agosto e dezembro, possuem a menor concentraçãode publicações. Em [TECH], julho e setembro são os mais importantes, enquanto janeiro edezembro não possuem muita movimentação.

As figuras 3.29, 3.30, 3.31 e 3.32 trazem os gráficos de artigos por mês dos tópicos teóricos.Em [IT], janeiro é o mês com mais publicações e dezembro, o mês com menos publicações.Em [LO], abril e julho são os meses mais importantes e dezembro, seguido por agosto, sãoos meses com menos publicações. Em [NA], os meses com mais publicações são maio eoutubro enquanto os meses com menos publicações são fevereiro, abril e dezembro, seguidospor agosto. Já em [THEO], os meses com mais publicações são julho e setembro, e janeiro, omês com menos publicações.

Por fim, a figura 3.33 traz o gráfico de artigos por mês do conjunto de dados completo emostra que, na situação geral, maio e setembro são os meses com mais publicações enquantodezembro é o mês que possui menos publicações.

3Os histogramas com os dados anuais estão disponíveis no repositório do trabalho

Page 46: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

26 CAPÍTULO 3 ANÁLISE DE DADOS

Fonte: Elaborada pelo autor

Figura 3.24: Histograma de Artigos por Mês de [AI].

Fonte: Elaborada pelo autor

Figura 3.25: Histograma de Artigos por Mês de [CL].

Fonte: Elaborada pelo autor

Figura 3.26: Histograma de Artigos por Mês de [CV].

Page 47: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

3.2 ANÁLISE DOS ARTIGOS 27

Fonte: Elaborada pelo autor

Figura 3.27: Histograma de Artigos por Mês de [LG].

Fonte: Elaborada pelo autor

Figura 3.28: Histograma de Artigos por Mês de [TECH].

Fonte: Elaborada pelo autor

Figura 3.29: Histograma de Artigos por Mês de [IT].

Page 48: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

28 CAPÍTULO 3 ANÁLISE DE DADOS

Fonte: Elaborada pelo autor

Figura 3.30: Histograma de Artigos por Mês de [LO].

Fonte: Elaborada pelo autor

Figura 3.31: Histograma de Artigos por Mês de [NA].

Fonte: Elaborada pelo autor

Figura 3.32: Histograma de Artigos por Mês de [THEO].

Page 49: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

3.2 ANÁLISE DOS ARTIGOS 29

Fonte: Elaborada pelo autor

Figura 3.33: Histograma de Artigos por Mês de [ALL].

Estes dados conferem com o ano acadêmico em grande parte dos países, que começa emmeados de setembro e vai até junho. A maior parte dos artigos são publicados no início oufim do ano acadêmico e, durante o meio deste, não há tantas publicações pois os artigos estãosendo desenvolvidos.

Olhando para o histograma final, a quantidade de publicações por mês é bem distribuída.Em alguns dos tópicos, este comportamento também ocorre, i.e., a diferença entre a quantidadede publicações do mês mais movimentado e do mês menos movimentado é pequena. Em outrosmeses, porém, esta diferença é visível, como no caso de [CL], onde janeiro registra bem menosque a metade das publicações registradas em junho ou em setembro.

Estas diferenças não afetam muito a situação como um todo, pois as publicações de artigosem outros tópicos ajuda a suavizar esta diferença no gráfico geral, mas podem indicar umatendência de publicação nos tópicos específicos.

3.2.4 Frequência do Número de TópicosUma outra pergunta que surgiu enquanto verificávamos as hipóteses foi sobre o número de

tópicos que um artigo arquivado pertence. Foi observado que muitos artigos estavam presentesem 2 ou três áreas, talvez até mais. Para verificar esta situação, o plotter plota um histogramacom a frequência do número de tópicos.

Para plotar os histogramas de Frequência do Número de Tópicos, o plotter utiliza os dadosde número de tópicos (n_subjects) e informa a quantidade de partições que haverá no gráfico(bins). É possível utilizar os dados combinados de todos os anos ou separá-los ano a ano4. Veralgoritmo 3.4.

1 aux = data2 bins = 53 if year != ’’: aux = aux[aux.year == int(year)]4 if aux.empty: return5 r = aux.n_subjects.unique().max() - aux.n_subjects.unique().min()6 if r >= bins: bins = r + 1

4Os histogramas com os dados anuais estão disponíveis no repositório do trabalho

Page 50: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

30 CAPÍTULO 3 ANÁLISE DE DADOS

7

8 plt.figure()9 ap = sns.distplot(aux.sort_values(by=’n_subjects’).n_subjects, bins=bins,

kde=False, hist_kws=dict(edgecolor="k", linewidth=1))10 ap.set_title(title)11 ap.set_xlabel(’Numero de Topicos’)12 ap.set_ylabel(’Frequencia’)13 plt.show()14 aux = data15 bins = 516 if year != ’’: aux = aux[aux.year == int(year)]17 if aux.empty: return18 r = aux.month.unique().max() - aux.month.unique().min()19 if r >= bins: bins = r + 1

Algoritmo 3.4: Código para gerar os histogramas de Frequência do Número de Tópicos

As figuras 3.34, 3.35, 3.36, 3.37 e 3.38 trazem os histogramas de Frequência do Númerode Tópicos dos tópicos técnicos. Para [AI], [CL], [CV] e [TECH], a maior parte dos artigospossui apenas 1 (um) tópico, uma quantidade considerável dos artigos possui 2 (dois) ou 3(três) tópicos e a menor parte dos artigos possui 4 (quatro) tópicos para cima. Em [LG], amaior parte dos artigos possui 2 (dois) tópicos e o segundo maior grupo de artigos possui 3(três) tópicos. Um fato interessante é o de que a quantidade de artigos com 1 (um) tópico ébaixa, em comparação com com artigos com 2 (dois) e 3 (três) tópicos, menor até do que ogrupo de artigos com 4 (quatro) tópicos.

As figuras 3.39, 3.40, 3.41, 3.42 e 3.43 trazem os histogramas de Frequência do Número deTópicos dos tópicos teóricos e do conjunto de dados completo (figura 3.43). O comportamentoapresentado na maioria dos tópicos técnicos também se repete para estes conjuntos de dados.A maior parte dos artigos possui apenas 1 (um) tópico, uma grande parte dos artigos possui 2(dois) tópicos e uma parte considerável possui 3 (três) tópicos. A quantidade de artigos com 4(quatro) tópicos ou mais é baixa, em relação aos três grupos anteriores.

Fonte: Elaborada pelo autor

Figura 3.34: Histograma de Frequência do Número de Tópicos de [AI].

Page 51: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

3.2 ANÁLISE DOS ARTIGOS 31

Fonte: Elaborada pelo autor

Figura 3.35: Histograma de Frequência do Número de Tópicos de [CL].

Fonte: Elaborada pelo autor

Figura 3.36: Histograma de Frequência do Número de Tópicos de [CV].

Fonte: Elaborada pelo autor

Figura 3.37: Histograma de Frequência do Número de Tópicos de [LG].

Page 52: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

32 CAPÍTULO 3 ANÁLISE DE DADOS

Fonte: Elaborada pelo autor

Figura 3.38: Histograma de Frequência do Número de Tópicos de [TECH].

Fonte: Elaborada pelo autor

Figura 3.39: Histograma de Frequência do Número de Tópicos de [IT].

Fonte: Elaborada pelo autor

Figura 3.40: Histograma de Frequência do Número de Tópicos de [LO].

Page 53: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

3.2 ANÁLISE DOS ARTIGOS 33

Fonte: Elaborada pelo autor

Figura 3.41: Histograma de Frequência do Número de Tópicos de [NA].

Fonte: Elaborada pelo autor

Figura 3.42: Histograma de Frequência do Número de Tópicos de [THEO].

Fonte: Elaborada pelo autor

Figura 3.43: Histograma de Frequência do Número de Tópicos de [ALL].

Page 54: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

34 CAPÍTULO 3 ANÁLISE DE DADOS

A quantidade de tópicos comportou-se como o esperado, onde a frequência de artigos éinversamente proporcional à quantidade de tópicos que um artigo pertence, i.e., quanto maisnúmero de tópicos, menos artigos fazem parte daquele grupo.

Esta situação só não ocorreu em [LG], onde a quantidade de artigos pertencentes à apenas 1tópico é baixa. Estes números podem indicar que em [LG] está havendo muitos trabalhos ondeAprendizado de Máquina está sendo aplicado à outras áreas ou que os trabalho em [LG] são,frequentemente, multi-tópicos.

3.3 Análise dos Títulos dos ArtigosO título pode ser considerada como a informação mais valiosa do conjunto de dados que

coletamos e, sobre esta, é possível aplicar uma grande variedade de técnicas para adquirir osdados desejados. Para este estudo, consideramos suficiente analisar a média de palavras portítulo por ano e a frequência do tamanho do título.

3.3.1 Média de Palavras por Título por AnoA terceira hipótese formulada foi a de que o tamanho do título dos artigos arquivados vem

aumentando, ano a ano. Para verificar esta hipótese, o plotter utiliza um gráfico de pontos,passando as informações de ano (year) e de número de palavras (n_words) para plotar umgráfico de médias e desvio padrão.

Também é plotado um gráfico de máximos, utilizando as colunas de número de palavras(n_words) e ano (year). Os dados são agrupados pelo ano e tira-se o valor máximo de cadagrupo. O resultado desta operação é uma lista de listas onde cada lista interior possui apenas 1(um) elemento. Realiza-se a transposição desta lista de listas e passa-se estes valores máximoscomo uma lista para um novo DataFrame que é, então, utilizado para plotar o gráfico de máxi-mos. No desenho destes gráficos, o máximo está representado por um ’x’ vermelho enquanto amédia e o desvio padrão estão em azul. Ver algoritmo 3.5.

1 aux = data2 aux2 = pd.DataFrame({’year’:aux.year.unique(), ’max’:list(*(aux[[’n_words’,

’year’]].groupby(’year’).max()).T.values)})3

4 plt.figure()5 ap = sns.pointplot(x=’year’, y=’n_words’, data=aux, ci=’sd’, palette=sns.

cubehelix_palette(20, start=2.8, rot=0, dark=.4, light=.6))6 ap2 = sns.pointplot(x=’year’, y=’max’, data=aux2, markers=’x’, join=False,

ci=None, palette=sns.cubehelix_palette(20, start=0.7, rot=0, dark=.4,light=.6))

7 ap.set_title(title)8 ap.set_xlabel(’Ano’)9 ap.set_ylabel(’Numero de Palavras por Artigo’)

10 t = [’< 2000’ if t.get_text() == ’2000’ else t for t in ap.axes.get_xticklabels()]

11 ap.axes.set_xticklabels(t)12 plt.show()

Algoritmo 3.5: Código para gerar os gráficos de Média de Palavras por Título por Ano

Page 55: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

3.3 ANÁLISE DOS TÍTULOS DOS ARTIGOS 35

As figuras 3.44, 3.45, 3.46, 3.47 e 3.48 trazem os gráficos de média de palavras por títulopor ano dos tópicos técnicos. Estes gráficos mostram que as médias não variam muito e, quandovariam, são oscilações e acabam voltando para a faixa de valores anterior. Isto indica que nãoestá havendo um crescimento no tamanho dos títulos de artigos ou que este crescimento nãoé relevante como esperávamos. O desvio padrão calculado está sempre na faixa de 2,5 (doise meio) a 3 (três) pontos. Apesar da média não variar muito, o valor máximo do tamanhodo título varia. Este está sempre oscilando e, em alguns casos como [CL], [CV] e [LG], estácrescendo, nos indicando que realmente há uma base para o crescimento do tamanho do título.

As figuras 3.49, 3.50, 3.51 e 3.52 trazem os gráficos de média de palavras por título porano dos tópicos teóricos. O comportamento é parecido com o dos tópicos técnicos. A variaçãoda média é baixa e o desvio padrão fica sempre na faixa de 2,5 (dois e meio) a 3 (três) pontos.O valor máximo oscila bastante e, em alguns casos como [IT], possui o comportamento decrescimento.

O gráfico da figura 3.53 mostra os valores de média de palavras por título por ano para oconjunto com pleto e se comporta da mesma forma que os demais gráficos deste tipo.

Fonte: Elaborada pelo autor

Figura 3.44: Gráfico de Média de Palavras por Título por Ano de [AI].

Fonte: Elaborada pelo autor

Figura 3.45: Gráfico de Média de Palavras por Título por Ano de [CL].

Page 56: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

36 CAPÍTULO 3 ANÁLISE DE DADOS

Fonte: Elaborada pelo autor

Figura 3.46: Gráfico de Média de Palavras por Título por Ano de [CV].

Fonte: Elaborada pelo autor

Figura 3.47: Gráfico de Média de Palavras por Título por Ano de [LG].

Fonte: Elaborada pelo autor

Figura 3.48: Gráfico de Média de Palavras por Título por Ano de [TECH].

Page 57: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

3.3 ANÁLISE DOS TÍTULOS DOS ARTIGOS 37

Fonte: Elaborada pelo autor

Figura 3.49: Gráfico de Média de Palavras por Título por Ano de [IT].

Fonte: Elaborada pelo autor

Figura 3.50: Gráfico de Média de Palavras por Título por Ano de [LO].

Fonte: Elaborada pelo autor

Figura 3.51: Gráfico de Média de Palavras por Título por Ano de [NA].

Page 58: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

38 CAPÍTULO 3 ANÁLISE DE DADOS

Fonte: Elaborada pelo autor

Figura 3.52: Gráfico de Média de Palavras por Título por Ano de [THEO].

Fonte: Elaborada pelo autor

Figura 3.53: Gráfico de Média de Palavras por Título por Ano de [ALL].

Um fato curioso é que o mínimo do tamanho do título se mantém quase sempre em 1 (um),i.e., quase todo ano existe ao menos um artigo em que o título é apenas uma palavra. Por causadestes artigos, podemos dizer que a diferença entre o mínimo e o máximo do tamanho do título,apesar da média do tamanho do título não variar.

Considerando estes pontos, a hipótese de que o tamanho do título dos artigos arquivadosvem aumentando, ano a ano, é refutada, pois a métrica utilizada para o cálculo foi a média dotamanho do título. Caso estivéssemos considerando os valores máximos de tamanho do título,a hipótese estaria comprovada.

3.3.2 Frequência do Tamanho do TítuloPor fim, decidimos verificar a distribuição do tamanho dos títulos dos artigos. Para este fim,

o plotter utiliza as informações de número de palavras (n_words) e a quantidade de segmentosa serem plotados (bins) e nos apresenta os histogramas de frequência do tamanho do título. Veralgoritmo 3.6.

Page 59: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

3.3 ANÁLISE DOS TÍTULOS DOS ARTIGOS 39

1 aux = data2 bins = 103 if year != ’’: aux = aux[aux.year == int(year)]4 if aux.empty: return5 r = aux.n_words.unique().max() - aux.n_words.unique().min()6 if r >= bins: bins = r + 17

8 plt.figure()9 ap = sns.distplot(aux.sort_values(by=’n_words’).n_words, bins=bins, kde=

False, hist_kws=dict(edgecolor="k", linewidth=1))10 ap.set_title(title)11 ap.set_xlabel(’Numero de Palavras por Titulo’)12 ap.set_ylabel(’Frequencia’)13 plt.show()

Algoritmo 3.6: Código para gerar os histogramas de Frequência do Tamanho do Título

As figuras 3.54, 3.55, 3.56, 3.57 e 3.58 trazem os histogramas de frequência do tamanho dotítulo dos tópicos técnicos. Dentre os tópicos técnicos, a faixa de valores do tamanho do títuloque mais apresenta artigos está entre 6 (seis) e 10 (dez) em [AI], [CL] e [LG] e entre 6 (seis) e11 (onze) em [CV] e [TECH]. O valor do tamanho do título que possui mais artigos é 7 (sete)palavras em [AI], [CL] e [LG] e 8 (oito) palavras em [CV] e [TECH].

As figuras 3.59, 3.60, 3.61 e 3.62 trazem os histogramas de frequência do tamanho do títulodos tópicos teóricos. Dentre os tópicos teóricos, a faixa de valores do tamanho do título quemais apresenta artigos está entre 6 (seis) e 12 (doze) em [IT], 5 (cinco) e 9 (nove) em [LO], 7(sete) e 13 (treze) em [NA] e 5 (cinco) a 11 (onze) em [THEO]. O valor do tamanho do títuloque mais possui artigos é de 9 (nove) em [IT], 6 (seis) em [LO], 10 (dez) em [NA] e 8 (oito)em [THEO].

Por fim, a figura 3.63 traz o histograma de frequência do tamanho do título do conjunto dedados inteiro e, neste, a faixa de valores do tamanho do título que mais apresenta artigos estáentre 6 (seis) e 10 (dez) palavras, enquanto o valor do tamanho do título que mais possui artigosé de 8 (oito) palavras.

Fonte: Elaborada pelo autor

Figura 3.54: Histograma de Frequência do Tamanho do Título de [AI].

Page 60: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

40 CAPÍTULO 3 ANÁLISE DE DADOS

Fonte: Elaborada pelo autor

Figura 3.55: Histograma de Frequência do Tamanho do Título de [CL].

Fonte: Elaborada pelo autor

Figura 3.56: Histograma de Frequência do Tamanho do Título de [CV].

Fonte: Elaborada pelo autor

Figura 3.57: Histograma de Frequência do Tamanho do Título de [LG].

Page 61: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

3.3 ANÁLISE DOS TÍTULOS DOS ARTIGOS 41

Fonte: Elaborada pelo autor

Figura 3.58: Histograma de Frequência do Tamanho do Título de [TECH].

Fonte: Elaborada pelo autor

Figura 3.59: Histograma de Frequência do Tamanho do Título de [IT].

Fonte: Elaborada pelo autor

Figura 3.60: Histograma de Frequência do Tamanho do Título de [LO].

Page 62: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

42 CAPÍTULO 3 ANÁLISE DE DADOS

Fonte: Elaborada pelo autor

Figura 3.61: Histograma de Frequência do Tamanho do Título de [NA].

Fonte: Elaborada pelo autor

Figura 3.62: Histograma de Frequência do Tamanho do Título de [THEO].

Fonte: Elaborada pelo autor

Figura 3.63: Histograma de Frequência do Tamanho do Título de [ALL].

Page 63: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

3.3 ANÁLISE DOS TÍTULOS DOS ARTIGOS 43

De acordo com as evidências apresentadas, os tópicos técnicos apresentam títulos que, emsua maioria, são menores do que os títulos dos tópicos teóricos. Neste estudo não foi possívelidentificar os possíveis motivos para o tamanho destes título, pois não foi possível analisar osartigos à fundo.

Uma outra métrica importante que também aparece nos gráficos de média de palavras portítulo por ano é o máximo do tamanho do título. Como os histogramas apresentados aqui nãodiferenciam os dados por ano, todos os valores máximos apresentados no gráfico de médiasaparece aqui. Observando os gráficos é possível notar que, para quase todos os tópicos, omáximo do tamanho do título passa de 30 (trinta).

Estes artigos que possuem títulos muito grandes são minoria mas, de forma alguma, sãopoucos. A figura 3.64 traz os artigos com títulos com tamanho maior que 20 palavras.

Fonte: Elaborada pelo autor

Figura 3.64: Resultados da pesquisa por artigos com tamanho do título maior que 20 palavras

Page 64: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma
Page 65: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

Capítulo 4

Conclusão e Trabalhos Futuros

4.1 ConclusãoDos dois objetivos almejados, ambos foram alcançados. O primeiro, de desenvolver um

programa capaz de coletar os dados dos artigos do repositório Arxiv e estruturá-los em umconjunto de dados, deu a base para todo este estudo, provendo todos os dados utilizados nestetrabalho. O segundo objetivo, de desenvolver um programa para analisar os dados, respondendoas perguntas que surgiram e verificando as hipóteses feitas, foi a cristalização de todos os nossosesforços, utilizando os recursos que foram adquiridos e transformando-os em dados relevantes.

As hipóteses deste trabalho — "o número de artigos arquivados vem crescendo, ano a ano","o número de autores em um artigo arquivado vem crescendo, ano a ano", e "o tamanho dotítulo dos artigos arquivados vem aumentando, ano a ano"— foram todas verificadas, sendoas duas primeiras comprovadas e a última, refutada. A refutação da última hipótese, porém, érelativa, pois dependeu da métrica empregada para a verificação da hipótese.

Também foram respondidas de forma satisfatória as perguntas que apareceram durante oestudo — "em quais meses há uma quantidade maior de arquivamentos", "quantos tópicosum artigo arquivado pertence", "qual o tamanho normal de um título de artigo no Arxiv"—,abrindo espaço para novas perguntas que no momento não podem ser respondidas e que ficamaqui, disponíveis para serem respondidas no futuro.

Os resultados reforçam o que acreditávamos no inicio do estudo. A maioria dos resultadosobtidos eram esperados, com exceção da média do tamanho do título, que acreditávamos estarcrescendo mas que, na verdade, não mostra crescimento aparente.

Por fim, vale ressaltar que os dados foram coletados apenas de uma fonte, podendo deixaros dados tendenciosos. Para uma maior variedade e confiabilidade dos dados, uma soluçãoseria a coleta dos dados de outras fontes.

4.2 Trabalhos FuturosPara trabalhos futuros, pode-se mencionar:

• Expandir o conjunto de dados utilizado neste trabalho, adquirindo dados de outros repo-sitórios e/ou periódicos de acesso aberto ou completar este conjunto de dados, coletando

45

Page 66: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

46 CAPÍTULO 4 CONCLUSÃO E TRABALHOS FUTUROS

os abstracts e artigos do Arxiv.

• Responder as perguntas que foram formadas ao longo deste trabalho e que não puderamser respondidas com o conjunto de dados atual

– Quais os países/universidades que mais publicam artigos [no Arxiv]?

– Existe alguma relação entre o período (mês) de publicação e o país/universidadeque publicou o artigo?

– Existe alguma relação entre o tamanho dos títulos com o número de autores? E como número de páginas, tabelas e imagens?

– Quais termos/temas tiveram mais publicações durante determinado período de tempo?

Page 67: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

Referências Bibliográficas

[BOC06] Vera R. C. BOCCATO. Metodologia da pesquisa bibliográfica na Área odontoló-gica e o artigo científico como forma de comunicação. Revista de Odontologia daUniversidade Cidade de São Paulo, pages 270–271, 2006.

[MAS06] Julien MASANÈS. Web Archiving. Springer, 2006.

[MIT18] Ryan MITCHELL. Web Scraping with Python: Collecting More Data from theModern Web. O’Reilly, 2018.

[MUE03] Suzana P. M. MUELLER. Fontes de Informação para Pesquisadores e Profissio-nais, chapter 5. Editora UFMG, 2003.

[RAM+04] Eloy RODRIGUES, Matilde ALMEIDA, Ângelo MIRANDA, Augusta GUIMA-RÃES, and Daniela CASTRO. Repositórium: criação e desenvolvimento do repo-sitório institucional da universidade do minho. Actas do Congresso Nacional deBibliotecários, Arquivistas e Documentalistas, page 1, 2004.

[RU11] A. RAJARAMAN and J. D. ULLMAN. Data mining. Stanford Course: Miningof Massive Datasets, 2011.

[TUK61] John W. TUKEY. The future of data analysis. Princeton University and BellTelephone Laboratories, page 2, 1961.

[TUK77] John W. TUKEY. Exploratory Data Analysis. Pearson, 1977.

[XG15] B. S. XIA and P. GONG. Review of business intelligence through data analysis.Benchmarking: an International Journal, pages 300–311, 2015.

47

Page 68: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma
Page 69: ANÁLISE DE DADOS DE ARTIGOS DO REPOSITÓRIO ARXIVtg/2019-2/TG_CC/tg_vsyc.pdf · 3.5 Código para gerar os gráficos de Média de Palavras por Título por Ano 34 ... 3.63 Histograma

Este volume foi tipografado em LATEX na classe UFPEThesis (www.cin.ufpe.br/~paguso/ufpethesis).