Você está na página 1de 127

Universidade do Minho

Escola de Engenharia

Sérgio Gomes Gonçalves

para Revisão Automática de Literatura


Uma Plataforma para Revisão Automática
de Literatura via Técnicas de Text Mining

Sérgio Gomes Gonçalves Uma PlataformaText


via Técncias de Mining
UMinho | 2018

outubro de 2018
Universidade do Minho
Escola de Engenharia

Sérgio Gomes Gonçalves

Uma Plataforma para Revisão Automática


de Literatura via Técnicas de Text Mining

Dissertação de Mestrado
Mestrado Integrado em Engenharia e Gestão de Sistemas de
Informação

Trabalho efetuado sob a orientação do


Professor Doutor Paulo Alexandre Ribeiro Cortez
e coorientação do
Professor Doutor Sérgio Miguel Carneiro Moro

outubro de 2018
DECLARAÇÃO

Nome: Sérgio Gomes Gonçalves


Endereço eletrónico: sergiognc95@gmail.com Telefone: 917236569
Número do Bilhete de Identidade: 13117683
Título da dissertação: Uma Plataforma para Revisão Automática de Literatura via Técnicas de Text
Mining
Orientador(es): Professor Doutor Paulo Alexandre Ribeiro Cortez
Professor Doutor Sérgio Miguel Carneiro Moro
Ano de conclusão: 2018
Designação do Mestrado: Mestrado Integrado em Engenharia e Gestão de Sistemas de Informação

É AUTORIZADA A REPRODUÇÃO INTEGRAL DESTA DISSERTAÇÃO APENAS PARA EFEITOS DE


INVESTIGAÇÃO, MEDIANTE DECLARAÇÃO ESCRITA DO INTERESSADO, QUE A TAL SE
COMPROMETE;

Universidade do Minho, 22/10/2018


Assinatura:
Agradecimentos
Gostaria de agradecer à minha mãe, pai e irmã por todo o apoio que me têm dado ao longo da vida,
estando sempre presentes em todas as fases da minha vida, sendo que esta não é exceção, tendo-me
dado todo o apoio necessário. São incansáveis no apoio e procuram sempre ajudar-me o máximo que
podem, e por isso merecem um grande obrigado, mais que merecido.
Agradeço aos meus orientadores, Professor Doutor Paulo Alexandre Ribeiro Cortez e Professor Doutor
Sérgio Miguel Carneiro Moro, pelo apoio dado durante o desenvolvimento da dissertação, estando sempre
presentes para o que fosse preciso.
Gostaria também de destacar o Francisco Ferreira, José Pinto e Rafael Morais, visto que a amizade e
bons momentos vividos durante o percurso académico merecem ser destacados.
Agradeço também ao Tiago, que tem sido um verdadeiro amigo, sempre disponível para ajudar no que
for necessário.

iii
Resumo
A revisão de literatura é parte integrante do trabalho científico, possibilitando a compreensão dos con-
ceitos abordados numa determinada área de investigação e servindo de fundação para o trabalho a ser
desenvolvido pelos investigadores. Hoje em dia, é relativamente fácil encontrar uma quantidade conside-
rável de artigos científicos para incluir no processo de revisão de literatura, visto que a web tem sido um
potenciador da divulgação deste tipo de publicações em formato digital, promovendo o acesso a conteúdo
de caráter científico. No entanto, e independentemente desses fatores, efetuar uma revisão de literatura é
um processo maioritariamente manual e, por isso, demorado. A quantidade de artigos científicos publica-
dos, nomeadamente online, também tem aumentando, dificultando a realização de revisões de literatura
abrangentes, em determinadas áreas científicas.
No caso da revisão sistemática, os fatores enunciados contribuem para um acréscimo da complexidade
inerente ao próprio processo de revisão, que engloba um conjunto de etapas metódicas. A etapa de
seleção de estudos é uma das várias etapas da revisão sistemática, e envolve uma fase preliminar em
que são analisados abstracts das várias publicações. Neste trabalho, através da aplicação de técnicas
de Text Mining, bem como o recurso a arquiteturas baseadas em Deep Learning, desenvolveu-se um
modelo para classificação de frases de abstracts, em que as frases são categorizadas nas seguintes
classes: Background, Objective, Methods, Results e Conclusions. Para o desenvolvimento do modelo de
classificação foi adotada a metodologia CRISP-DM, pelo facto de contemplar as várias fases necessárias
para tal.
Visto que a maioria dos datasets deste tipo contêm apenas abstracts da área de medicina, decidiu-se
criar um dataset de uma área científica distinta, sendo constituído apenas por abstracts da área de ciências
da computação. Para tal, recorreu-se a inteligência coletiva e crowdsourcing, tendo sido desenvolvida uma
plataforma web para suportar o processo de anotação de dados. Deste modo, o modelo de classificação
foi treinado e avaliado em dois datasets distintos. Visto que o número de abstracts no dataset recolhido
através de crowdsourcing é reduzido, decidiu-se também testar técnicas de aumento artificial de dados,
de forma a determinar o seu impacto nos resultados.
No caso da plataforma de crowdsourcing, foram introduzidos componentes de gamification, como
pontos e badges, para incentivar a participação no processo de crowdsourcing. Além disso, o modelo
desenvolvido para classificação de frases de abstracts foi integrado na plataforma web, possibilitando a
utilização do modelo por parte de qualquer utilizador, independentemente do seu conhecimento técnico.
Palavras-chave: Text Minng, Deep Learning, Revisão de literatura

v
Abstract
The literature review is an integral part of scientific work, allowing the understanding of concepts addres-
sed in a given research area and serving as a foundation for the work to be developed by the researchers.
Nowadays, it is relatively easy to find a considerable number of scientific articles to include in the litera-
ture review process, since the web has been an enabler of the dissemination of scientific publications in
digital format, promoting access to scientific content. However, regardless of these factors, the process of
conducting a litearture is mostly manual and, therefore, time-consuming. The number of published scien-
tific papers, especially online, has also increased, making it difficult to carry out comprehensive literature
reviews in certain scientific areas.
In the case of the systematic review, the stated factors contribute to an increase in the complexity
inherent to the revision process, which encompasses a set of methodical steps. The study selection stage
is one of several steps of the systematic review and involves a preliminary phase in which abstracts from
various publications are analyzed for the purpose of study selection. In this work, through the application
of Text Mining techniques, as well as the use of architectures based on Deep Learning, we have developed
a model for classifying sentences of scientific abstracts, in which the sentences are categorized in the
following classes: Background, Objective, Methods, Results and Conclusions. For the development of the
classification model, the CRISP-DM methodology was adopted, since it contemplates the various phases
necessary for the development of a classification model.
Since most of the datasets of this type contain only abstracts from the medical field, it was decided to
create a dataset of a distinct scientific area, being composed only of abstracts of the area of computer
science. For this, we used collective intelligence and crowdsourcing, developing a web plataform to support
the data annotation process. Thus, the classification model was trained and evaluated on two different
datasets. Since the number of abstracts in the dataset that we collected through crowdsourcing is low,
it was also decided to test artificial data augmentation techniques, in order to determine their impact on
results.
In the case of the crowdsourcing platform, gamification components like points and badges were in-
troduced to encourage participation in the crowdsourcing process. Futhermore, the developed model for
sentence classification of scientific abstracts was integrated on the web platform, allowing the use of the
model by any user, regardless of their level of technical knowledge.
Keywords: Text Mining, Deep Learning, Literature Review

vii
Índice

Agradecimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Lista de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Lista de Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv

Lista de abreviaturas, siglas e acrónimos . . . . . . . . . . . . . . . . . . . . . . . . . xvii

1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Enquadramento e motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Abordagem metodológica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.1 Estratégia de pesquisa bibliográfica . . . . . . . . . . . . . . . . . . . . . . 3
1.3.2 CRISP-DM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Contributos do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5 Organização do documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Enquadramento conceptual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1 Text mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 Pré-processamento de texto . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.2 Representação de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.3 Similaridade de documentos . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.4 Named entity recognition . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.5 Extração de tópicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Deep learning aplicado a dados textuais . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.1 Redes neuronais convolucionais . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.2 Redes neuronais recorrentes . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.3 Long short-term memory . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.4 Gated recurrent unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

ix
2.3 Representações distribuídas de palavras . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.1 Word2vec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3.2 Global vectors for word representation . . . . . . . . . . . . . . . . . . . . 30
2.4 Tipos de revisão de literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4.1 Revisão narrativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4.2 Revisão sistemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5 Domínio de aplicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.5.1 Oportunidades existentes no domínio de aplicação . . . . . . . . . . . . . . 37
2.5.2 Aplicação de text mining na etapa de seleção de estudos da revisão sistemática 39
2.5.3 Aplicação de text mining para avaliar a qualidade dos estudos da revisão siste-
mática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.5.4 Aplicação de text mining na etapa de extração de dados da revisão sistemática 42
2.5.5 Desafios do domínio de aplicação . . . . . . . . . . . . . . . . . . . . . . . 43
2.5.6 Mapa de literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3 Text mining aplicado a revisões de literatura . . . . . . . . . . . . . . . . . . . . . 47


3.1 Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2 Criação de um dataset aplicando inteligência coletiva e crowdsourcing . . . . . . . . . 49
3.2.1 Recolha de abstracts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.2.2 Plataforma para anotação dos dados . . . . . . . . . . . . . . . . . . . . . 52
3.3 Caraterização dos datasets a utilizar . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.4 Modelação das arquiteturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.4.1 Ferramentas tecnológicas . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.4.2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.4.3 Arquitetura proposta para classificação de abstracts . . . . . . . . . . . . . . 68
3.4.4 CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.5 Integração dos modelos na plataforma . . . . . . . . . . . . . . . . . . . . . . . . 73

4 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.1 Métricas de avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.2 Desempenho dos modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.2.1 Desempenho no dataset PubMed 20k . . . . . . . . . . . . . . . . . . . . 79
4.2.2 Desempenho no dataset CS Abstracts . . . . . . . . . . . . . . . . . . . . 81

x
4.3 Hiperparâmetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.4 Aumento artificial de dados e o seu impacto nos resultados . . . . . . . . . . . . . . 85
4.5 Análise dos modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

5 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.1 Síntese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.2 Discussão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.3 Trabalho futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

xi
Lista de Figuras
1 Ciclo de vida e fases da metodologia CRISP-DM. . . . . . . . . . . . . . . . . . . . . 4
2 Identificação e classificação de entidades de uma frase. . . . . . . . . . . . . . . . . 14
3 Resultados obtidos para distribuições de Dirichlet com diferentes valores do parâmetro α 17
4 Evolução da percentagem de artigos, publicados nas principais conferências de Natural
Language Processing, que abordam a utilização de Deep Learning . . . . . . . . . . . 18
5 Exemplo de operação de convolução sobre uma matriz de input, para um determinado
filtro, e respetivo feature map resultante. . . . . . . . . . . . . . . . . . . . . . . . . 20
6 Diagrama representativo de uma LSTM. . . . . . . . . . . . . . . . . . . . . . . . . 23
7 Diagrama representativo da GRU. . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
8 Representação vetorial de cada termo, obtida por one hot encoding. . . . . . . . . . . 25
9 Representação distribuída dos termos. . . . . . . . . . . . . . . . . . . . . . . . . . 26
10 Exemplo de projeção das posições no espaço para as representações vetoriais de pala-
vras, obtidas pelo método Word2vec. . . . . . . . . . . . . . . . . . . . . . . . . . 27
11 Arquitetura do modelo Skip-gram. . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
12 Arquitetura do modelo Continuous Bag of Words. . . . . . . . . . . . . . . . . . . . 29
13 Fases e etapas do processo de revisão sistemática. . . . . . . . . . . . . . . . . . . 34
14 Mapa de literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
15 Página de entrada da plataforma. . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
16 Página de entrada vista num smartphone. . . . . . . . . . . . . . . . . . . . . . . . 57
17 Primeira etapa do tutorial de iniciação. . . . . . . . . . . . . . . . . . . . . . . . . 58
18 Segunda e última etapa do tutorial de iniciação. . . . . . . . . . . . . . . . . . . . . 59
19 Aviso de respostas erradas na última etapa do tutorial. . . . . . . . . . . . . . . . . . 60
20 Página onde se procede à classificação das frases do abstract. . . . . . . . . . . . . . 61
21 Aspeto da páginas após classificação de um abstract. . . . . . . . . . . . . . . . . . 62
22 Página de achievements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
23 Gráfico que demonstra o número de utilizadores consoante o intervalo de abstracts clas-
sificados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
24 Comparação entre o número de utilizadores que têm acesso total à plataforma, pois
completaram o tutorial de iniciação, e o número de utilizadores com acesso restrito. . . 65
25 Frequências relativas para o dataset CS Abstracts. . . . . . . . . . . . . . . . . . . . 66

xiii
26 Frequências relativas para o dataset PubMed 20k. . . . . . . . . . . . . . . . . . . . 67
27 Arquitetura do modelo proposto (Word-BiGRU). . . . . . . . . . . . . . . . . . . . . . 70
28 Arquitetura do modelo CNN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
29 Trocas de informação entre Laravel e Python. . . . . . . . . . . . . . . . . . . . . . 74
30 Página de classificação de abstracts. . . . . . . . . . . . . . . . . . . . . . . . . . 75
31 Página de apresentação dos abstracts classificados, com as respetivas classes de cada
uma das frases identificadas numa tabela. . . . . . . . . . . . . . . . . . . . . . . . 76
32 Curvas ROC e respetivas áreas abaixo da curva para o modelo Word-BiGRU no dataset
PubMed 20k. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
33 Curvas ROC e respetivas áreas abaixo da curva para o modelo Word-BiGRU no dataset
CS Abstracts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
34 Curva ROC e respetivas áreas abaixo da curva para o modelo Word-BiGRU treinados no
dataset CS Abstracts com dados aumentados artificialmente. . . . . . . . . . . . . . 88
35 Termos mais preponderantes na classificação atribuída pelo modelo CNN para a pri-
meira frase do abstract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
36 Termos mais preponderantes na classificação atribuída pelo modelo Word-BiGRU para
a primeira frase do abstract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
37 Termos mais preponderantes na classificação atribuída pelo modelo CNN para a se-
gunda frase do abstract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
38 Termos mais preponderantes na classificação atribuída pelo modelo Word-BiGRU para
a segunda frase do abstract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

xiv
Lista de Tabelas
1 Document-term matrix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 Palavras de contexto para cada uma das palavras centrais, utilizando uma janela de
tamanho 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3 Principais distinções entre revisão narrativa e revisão sistemática. . . . . . . . . . . . 33
4 Resumo de alguns dos trabalhos científicos que abordaram a aplicação de técnicas de
Text Mining para revisões de literatura. . . . . . . . . . . . . . . . . . . . . . . . . 36
5 Várias ferramentas que suportam a plataforma de anotação de dados, bem como a
função de cada uma delas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6 Caraterísticas de hardware, tendo por base a instância t2.micro. . . . . . . . . . . . . 54
7 Pontos necessário para alcançar cada um dos níveis . . . . . . . . . . . . . . . . . . 62
8 Número de abstracts e frases para cada um dos datasets, separados por dados de
treino, validação e teste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
9 Resultados obtidos no dataset PubMed 20k. (melhores resultados destacados a negrito) 80
10 Resultados obtidos no dataset CS Abstracts. (melhores resultados destacados a negrito) 82
11 Hiperparâmetros do modelo CNN (melhores resultados destacados a negrito). . . . . . 84
12 Hiperparâmetros do modelo Word-BiGRU (melhores resultados destacados a negrito). . . 85
13 Comparação das frases originais com as respetivas frases resultantes do processo de
data augmentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
14 Resultados comparativos do aumento artificial de dados do dataset CS Abstracts, para
o modelo Word-BiGRU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

xv
Lista de abreviaturas, siglas e acrónimos
API Application Programming Interface

CNN Convolutional Neural Network

CPU Central Processing Unit

CRISP-DM CRoss Industry Standard Process for Data Mining

GRU Gated Recurrent Unit

GPU Graphical Processing Unit

LDA Latent Dirichlet Allocation

LSTM Long Short-Term Memory

ReLU Rectified Linear Unit

ROC Receiver Operating Characteristics

xvii
1 Introdução
Neste capítulo é feito um enquadramento do trabalho a desenvolver na dissertação, evidenciando as
razões que motivam o desenvolvimento de uma dissertação nesta área, objetivos a alcançar, resultados
que se esperam obter, bem como os contributos (artigos publicados) no âmbito da presente dissertação.
Além do mais, é descrita a abordagem metodológica adotada e qual a estratégia de pesquisa bibliográfica
utilizada. Este capítulo é finalizado com uma descrição da organização do documento.

1.1 Enquadramento e motivação


Através de texto o ser humano consegue expressar e transmitir os seu conhecimentos, ideias e opiniões,
seja num contexto formal ou informal, desempenhado uma função de destaque no processo de comunica-
ção, possibilitando a aquisição de novos conhecimentos (McNamara, Kintsch, Songer, & Kintsch, 1996).
No sistema educativo, aprender a ler e escrever são das primeiras etapas no processo de ensino, sendo
fundamental para a vida social e para o restante processo de aprendizagem. Nas mais diversas áreas
de investigação, o conteúdo escrito, sobre a forma de publicações científicas, tem um papel de relevo no
desenvolvimento das mesmas, bem como na transmissão de conhecimento sobre essas áreas. Tal indica
que, se analisarmos o conteúdo presente nessas publicações, existirá a possibilidade de extrair padrões
e informação de relevo.
No entanto, a quantidade de conteúdo de caráter científico disponibilizado tem vindo a aumentar,
dificultando um processo de análise e revisão de modo exclusivamente manual. No arXiv, um repositório
de artigos científicos, no qual o número de publicações submetidas por mês tem subido consideravelmente
ao longo dos anos, de acordo com os dados disponibilizados pela plataforma1 . O número de publicações
submetidas num dado mês na plataforma arXiv no ano de 2017 é aproximadamente o dobro do número
de publicações submetidas para esse mês no ano de 2008. Deste modo, constata-se que existe um
crescimento do conteúdo científico disponibilizado sobre a forma de publicações científicas, existindo uma
necessidade de analisar esse conteúdo computacionalmente, com o objetivo de extrair conhecimento e
identificar padrões presentes nas publicações.
Para esse fim, é possível recorrer a técnicas de Text Mining que, segundo Tan (1999), possibilitam a
extração de padrões e conhecimento de dados textuais, como publicações científicas disponibilizadas em
formato digital.
O caso de Moro, Cortez, e Rita (2015) é um exemplo disso mesmo, pois desenvolveram uma metodo-
logia na qual, através da utilização de técnicas de Text Mining, é possível extrair as tendências existentes
1
https://arxiv.org/stats/monthly_submissions

1
numa determinada área, como Business Intelligence. Os tópicos abordados nas publicações, a evolução
desses tópicos ao longo do tempo, bem como os termos mais relevantes, são informações que com re-
curso a esta metodologia, podem ser obtidas de forma automática. Assim sendo, a metodologia de Moro
et al. (2015) insere-se maioritariamente na perspetiva de analisar as várias tendências presentes numa
área de estudo, não existindo um foco no caso particular da revisão sistemática. Por esse motivo, na pre-
sente dissertação, pretende-se desenvolver um componente maioritariamente focado no desenvolvimento
de modelos para classificação das frases presentes em abstracts científicos, sendo o principal propósito
permitir que estes modelos possam ser aplicados para facilitar o processo de revisão de literatura.
No caso da revisão sistemática, mais particularmente focada na área da medicina, Dernoncourt (2017)
na sua tese de Doutoramento propôs a utilização de uma rede neuronal baseada em técnicas de Deep
Learning, com o propósito de classificação de frases de abstracts, para facilitar a revisão sistemática na
área da medicina, tendo inclusivamente publicado um dataset com abstracts da área da medicina para
esse efeito.
Na presente dissertação, é proposto um novo modelo para a classificação de abstracts, baseado em
técnicas de Deep Learning, com vista a obter um modelo com melhor do desempenho. Além do mais,
através de aplicação de crowdsourcing e collective intelligence, tendo sido desenvolvida uma plataforma
web para esse propósito, é por nós apresentado um novo dataset, que contém abstracts da área de ciência
da computação, e visa a aplicação do modelo de classificação de abstracts para agilizar a revisão siste-
mática na área de ciências da computação. Além do mais, o modelo é implementado numa plataforma
web, para que possa ser utilizado por qualquer pessoa, sem necessitar de um conhecimento aprofundado
a nível tecnológico.

1.2 Objetivos
A definição dos objetivos para a dissertação direciona o desenvolvimento da dissertação, visto que esta
deverá está alinhada com os objetivos definidos. O principal objetivo é, através da aplicação de técnicas de
Text Mining, auxiliar o processo de revisão de literatura, nomeadamente através da aplicação de modelos
para classificação de texto. Para tal existe a necessidade de identificar de que forma uma revisão de
literatura poderá ser auxiliada pela aplicação de técnicas de Text Mining, sendo esse assunto abordado na
fase de levantamento do estado da arte no domínio de aplicação, com principal incidência no processo
de revisão sistemática.
No que ao desenvolvido do modelo de Text Mining diz respeito, o objetivo é utilizar uma arquitetura
de Deep Learning e comparar com o que já foi feito na área, nomeadamente nos mesmos datasets.

2
Subsequentemente, tem-se como objetivo integrar os modelos de Text Mining desenvolver uma plataforma
web, que tem dois objetivos estruturantes. O principal objetivo do desenvolvimento desta plataforma é,
através de crowdsourcing e inteligência coletiva, nomeadamente através da introdução de componentes de
gamification, conseguir envolver a participação de várias pessoas, de forma a que qualquer se consiga criar
um novo dataset, através de um processo de anotação de dados. Outro dos grandes objetivos resultantes
do desenvolvimenta da plataforma, é conseguir integrar os modelos desenvolvidos na dissertação nesta
mesma plataforma web para que qualquer utilizador possa aplicar estes modelos, independentemente
dos seus conhecimentos a nível técnico, abstraindo a complexidade do utilizador final.

1.3 Abordagem metodológica

1.3.1 Estratégia de pesquisa bibliográfica

De modo a compreender os conceitos fundamentais para o trabalho de dissertação e identificar os trabalho


relevantes na área, bem como efetuar um levantamento daquilo que é o estado da arte, é necessário
fazer uma pesquisa e seleção criteriosa desses artigos. Nesse sentido, foi definido que para encontrar as
publicações seriam utilizadas as plataformas Google Scholar, Web of Science, Scropus, Semantic Scholar,
ScienceDirect e arXiv.
Para a pesquisa dos artigos de cada uma das áreas foram utilizados os seguintes termos de pesquisa:
‘text mining’, ‘deep learning’, ‘natural language processing’, ‘text mining’, ‘text classification’, ‘named
entity recognition’, ‘distributed representation of words’, ‘literature review’, ‘systematic review’ e ‘literature
analysis’.
Com o intuito de encontrar artigos que englobassem as duas áreas, ou seja, que abordassem a aplica-
ção de técnicas de Text Mining para efetuar revisões de literatura, recorreu-se à seguinte query: (‘literature
review’ OR ‘systematic review’ OR ‘systematic literature review’ OR ‘literature analysis’ ) AND (‘text mining’
OR ‘text classification’ OR ‘machine learning’ OR ‘text categorization’ OR ‘natural language processing’ OR
‘deep learning’).
Dos artigos obtidos através das pesquisas, nem todos eram relevantes. Através da leitura dos títulos e
abstracts dos mesmos, considerando também o número de citações, foi possível fazer uma triagem dos
mesmos, mantendo apenas os artigos relevantes para as áreas abordadas na dissertação.

1.3.2 CRISP-DM

Para o desenvolvimento deste trabalho é aplicada a abordagem metodológica CRISP-DM (Chapman et


al., 2000). A decisão em utilizar esta metodologia deve-se ao facto desta englobar as várias tarefas

3
envolvidas num processo Text Mining. Como se pretende desenvolver modelos de classificação de texto,
existe a necessidade de aplicar uma metodologia que identifique e caracterize as várias fases inerentes a
um trabalho deste caráter.
As várias fases que formam o processo descrito na metodologia CRISP-DM estão representadas na
Figura 1, bem como algumas das relações entre as várias fases da metodologia, formando o respetivo
ciclo de vida. No entanto, a metodologia CRISP-DM ressalva que não existe uma obrigatoriedade das fases
serem desempenhadas pela ordem exemplificada na Figura 1, podendo essa ordem ser adaptada para
satisfazer as necessidades específicas de cada projeto. O mesmo princípio é aplicável para as relações
existentes entre as fases, podendo existir mais ou menos relações do que as identificadas na Figura 1.

Figura 1: Ciclo de vida e fases da metodologia CRISP-DM. (Chapman et al., 2000)

Na fase de compreensão do negócio deverá ser entendido o negócio para o qual se pretende desen-
volver o projeto em causa. Não é necessário que se compreenda de forma exaustiva e extremamente
detalhada, mas sim ter uma perceção do propósito pelo qual está a ser desenvolvido o projeto e a razão
pela qual é necessário, ou vantajoso, aplicar Data Mining ou Text Mining para esse propósito. Neste
caso, a compreensão do negócio corresponderá maioritariamente à revisão de literatura do domínio de
aplicação, até pelo facto dos modelos serem desenvolvidos no âmbito do trabalho de dissertação. A com-
preensão do negócio possibilita a devida ponderação sobre a forma como serão aplicadas técnicas de Text

4
Mining. Para esta dissertação, a fase de compreensão do negócio foca-se principalmente em perceber
de que modo podem ser exploradas e aplicadas as técnicas de Text Mining para revisões de literatura.
De seguida, existe a fase de compreensão dos dados que tem como finalidade efetuar a devida análise
dos dados existentes que neste caso, pelo facto de ser um projeto relativo a Text Mining, são dados
textuais. Caso estes ainda não tenham sido recolhidos, é também necessário identificar como os dados
textuais irão ser recolhidos, definindo e descrevendo a estratégia a utilizar para tal.
Na fase de preparação dos dados,e no caso concreto dos dados textuais, são realizadas várias ativi-
dades necessárias para que os dados textuais possam ser empregues em várias atividades relacionadas
com Text Mining, como treinar modelos de classificação de texto e respetiva validação. Deste modo, esta
fase envolve a sequência de etapas necessárias para possibilitar que os dados textuais sejam devida-
mente estruturados, para permitir a utilização destes em várias atividades relacionadas com Text Mining.
Por vezes é necessário voltar à fase de preparação de dados, para introduzir modificações ou alterar as
técnicas utilizadas para a representação dos mesmos, fruto de novas necessidades identificadas na fase
de modelação, por exemplo.
Na fase modelação são treinados os modelos e efetuadas decisões relativas aos modelos, como a
definição da arquitetura a utilizar bem como a devida parametrização dos modelos. Os modelos podem
ter diferentes propósitos, como a descoberta de tópicos, classificação de texto ou atribuição de classes a
frases presentes no texto.
Durante a fase de avaliação, deverá ser analisado o desempenho dos modelos, através da definição
de uma estratégia que possibilite aferir, não só o desempenho de um modelo em concreto, mas também
possibilitar a comparação dos vários modelos, para que seja possível efetuar uma comparação justa e
aferir corretamente qual o modelo com melhor desempenho.
Na fase de implementação, os modelos desenvolvidos são colocados em ambiente produtivo, que neste
caso corresponde à integração dos mesmos numa plataforma web.

1.4 Contributos do trabalho


No âmbito da presente dissertação foi desenvolvido o seguinte artigo, que já se encontra publicado:

• Gonçalves S., Cortez P., & Moro S. (2018) A Deep Learning Approach for Sentence Classification of
Scientific Abstracts. In: Kurková V., Manolopoulos Y., Hammer B., Iliadis L., Maglogiannis I (Eds.),
Artificial neural networks and machine learning – ICANN 2018 (pp. 479–488). Cham: Springer
International Publishing.

O artigo publicado aborda as caraterísticas arquiteturais do modelo de Deep Learning desenvolvido

5
para a finalidade de classificação de frases de abstracts, englobando uma comparação de resultados
com um outro modelo.
No âmbito da dissertação, foi também desenvolvido um dataset com o propósito de o disponibilizar
publicamente. Esse dataset foi desenvolvido com recurso a crowdsourcing e inteligência coletiva, sendo
que o dataset está disponibilizado no seguinte endereço:

• https://github.com/sergiog95/csabstracts

O dataset contém abstracts de artigos da área de ciências da computação, sendo que cada uma das
frases está categorizada nas respetivas classes.

1.5 Organização do documento


O presente documento é constituído por cinco capítulos. O primeiro capítulo corresponde a um capítulo
introdutório, no qual é descrito o enquadramento e motivação da dissertação, bem como os objetivos e
abordagem metodológica, assim como a estratégia de pesquisa bibliográfica adotada.
O segundo capítulo corresponde ao enquadramento conceptual, em que são explorados e descritos
os vários conceitos inerentes à dissertação, mais concretamente, os conceitos relativos às áreas de Text
Mining e revisão de literatura. Na última secção deste capítulo, é analisado de que modo as duas áreas, e
respetivos conceitos, se relacionam, de forma a identificar o estado da arte relativo à aplicação de técnicas
Text Mining para revisões de literatura.
No terceiro capítulo, mais precisamente na primeira secção, é detalhado o trabalho desenvolvido para
auxiliar o processo de revisão sistemática, nomeadamente através do desenvolvimento modelos para clas-
sificar abstracts, sendo este capítulo constituído por cinco secções. Na primeira secção, é efetuada uma
análise dos datasets já existentes para treinar modelos de classificação de abstracts. Na segunda sec-
ção desse mesmo capítulo, é detalhado o processo através do qual se criou um novo dataset para este
domínio de aplicação, através de crowdsourcing e inteligência coletiva. Para esse propósito foi desenvol-
vida uma plataforma web, pelo que a infraestrutura tecnológica adotada para tal é também descrita. Na
terceira secção são caraterizados os dois datasets aplicados para treinar os modelos. Na quarta secção
são detalhados os modelos e arquiteturas adotadas para os modelos de classificação de abstracts, bem
como as ferramentas tecnológicas utilizada para tal. Por fim, na última secção do capítulo, é explicado
de que forma os modelos desenvolvidos foram integrados na plataforma web.
O quatro capítulo corresponde à apresentação de resultados, onde são enunciadas as métricas de
avaliação aplicadas, bem como os resultados dos modelos e respetiva análise comparativa.
No último capítulo, são apresentadas as conclusões da presente dissertação, sendo sintetizado o tra-

6
balho desenvolvido, evidenciando e discutindo os resultados obtidos, assim como o trabalho a ser desen-
volvido futuramente, no seguimento desta dissertação.

7
2 Enquadramento conceptual
Neste capítulo são abordados os vários conceitos relacionados com a áreas de Text Mining e revisões de
literatura, possibilitando a compreensão destas duas áreas de relevo para a dissertação, obtendo-se uma
perceção sobre os conceitos inerentes às mesmas. Por essa razão, neste capítulo, e numa primeira instân-
cia, são identificados os conceitos-chave que existem nas áreas de Text Mining e de revisões de literatura,
existindo um foco na revisão sistemática de literatura. É também feito um levantamento dos principais
conceitos de Deep Learning, principalmente aqueles que possam ser aplicados no desenvolvimento de
modelos de classificação de texto, como redes neuronais recorrentes ou word embeddings.
São ainda identificadas as relações existentes entre os conceitos das duas áreas, identificando desafios
e oportunidades, permitindo determinar o estado da arte no que diz respeito à aplicação de técnicas de
Text Mining para revisões de literatura.

2.1 Text mining


Pelo facto da comunicação escrita ser de natureza humana existem certas nuances que, apesar de serem
triviais para o ser humano, um algoritmo computacional apresentará algumas dificuldades em interpretá-
las corretamente (Gupta & Lehal, 2009), como o facto da mesma palavra poder ter significados diferentes
consoante o contexto em que está inserida. Apesar dessas dificuldades, Gupta e Lehal (2009) referem
que os computadores têm a vantagem de conseguirem processar grandes volumes de texto, ao contrário
dos humanos. Como resultado da necessidade de extrair padrões e conhecimento de dados textuais,
surgiu o conceito de Text Mining.
Segundo Tan (1999), Text Mining é um processo pelo qual é possível extrair padrões e conhecimento
não trivial de documentos de texto, podendo ser visto como uma extensão de Data Mining aplicada ao
caso específico de texto. Porém, em Data Mining são utilizados dados estruturados, muitas das vezes
armazenados em bases de dados relacionais, ao invés de Text Mining, em que se utilizam dados não
estruturados ou semiestruturados (Gupta & Lehal, 2009).
De realçar que Text Mining é uma área interdisciplinar que utiliza os contributos de outras áreas, como
Information Retrieval, Information Extraction e Machine Learning. De acordo com Miner et al. (2012)
a área de Machine Learning teve um contributo gradual para os progressos feitos em classificação de
texto durante a década de 90. O estudo efetuado por Moulinier e Ganascia (1995) é um exemplo de
tal, tendo sido demonstrado experimentalmente que os “os algoritmos de Machine Learning podem ser
aplicados com sucesso na categorização de texto”. São várias as alternativas que podem ser utilizadas
para categorização de texto, tais como árvores de decisão, redes neuronais ou Support Vector Machines

9
(Korde & Mahender, 2012).
Existem várias aplicações possíveis de técnicas de Text Mining, tanto no contexto empresarial como
académico. No entanto, o conjunto de técnicas a utilizar nem sempre é o mesmo. Com o desenvolvimento
da web e, em concreto, o aparecimento das redes sociais, surgiram também casos específicos para a
aplicação de Text Mining. He, Zha, e Li (2013) realçam que com a crescente presença das empresas
em plataformas de social media, existe uma crescente necessidade das empresas recolherem os dados
presentes nas suas redes sociais para que, através da aplicação de técnicas de Text Mining, consigam
descobrir padrões presentes no texto. Oliveira, Cortez, e Areal (2017) também analisaram dados textuais
contidos em redes sociais, propondo uma metodologia capaz de prever vários indicadores financeiros
relacionados com o mercado bolsista, utilizando a polaridade dos sentimentos de tweets para tal. Num
outro estudo, os autores utilizam dados extraídos da plataforma StockTwits para prever as variáveis dos
mercados financeiros (Oliveira, Cortez, & Areal, 2013).
Em áreas científicas como biomedicina, por vezes é necessário analisar grandes quantidade de lite-
ratura para descobrir relações entre genes ou proteínas. Contudo, o processo da análise de literatura
pode tornar-se demorado, caso este seja feito de forma manual. Podem ser utilizadas várias estratégias
para combater esses obstáculos, nomeadamente através da aplicação de técnicas Text Mining, como na-
med entity recognition, para identificar e extrair entidades relacionadas com a biomedicina, como genes,
proteínas ou nomes de medicamentos (Cohen & Hersh, 2005).

2.1.1 Pré-processamento de texto

O pré-processamento de texto envolve um conjunto de técnicas que são utilizadas para uniformizar os
dados textuais, como a substituição de letras maiúsculas por minúsculas, redução de palavras à sua
forma raiz através de stemming, bem como a remoção de stop words.
A aplicação de um algoritmo de stemming permite reduzir palavras à sua forma raiz. O principal objetivo
é possibilitar que diferentes variações da mesma palavra (como diferentes conjunções verbais ou formas
gramaticais) sejam reduzidas a uma só palavra, que corresponde à raiz dessas palavras. A aplicação de
stemming permite, por exemplo, reduzir a palavra stopped para stop, ou started para start. A redução de
uma palavra à sua forma raiz pode ser alcançada de diferentes modos, como a remoção de sufixos ou
prefixos de palavras ou a utilização de dicionários, onde se define a raiz de várias palavras.
O algoritmo proposto por Porter (1980) utiliza um conjunto de regras que permitem reduzir as palavras
através da remoção dos seus sufixos (caso aplicável). O algoritmo abrange principalmente as palavras
escritas em inglês. O autor propôs também uma framework, para possibilitar a implementação de novos

10
algoritmos de stemming (Porter, 2001). Geralmente, a aplicação destes algoritmos acaba por se traduzir
numa diminuição do número de palavras originalmente presentes no vocabulário. Em alguns casos, o
número de palavras reduzidas para a sua forma raiz poderá ser considerável. Num vocabulário composto
por 10000 palavras, Ramasubramanian e Ramya (2013) observaram que após a aplicação de stemming
a maioria das palavras presentes no vocabulário foram reduzidas à sua forma raiz. Nem sempre as pala-
vras que são reduzidas ficam corretamente representadas, sendo que algumas não são compreensíveis
do ponto de vista humano, podendo as diferentes abordagens de stemming ter níveis distintos de agres-
sividade. Uma abordagem pouco agressiva, em casos dúbios, não reduz a palavra, mantendo-a na sua
forma original. Por outro lado, uma abordagem agressiva tende a reduzir a palavra, mesmo em casos
dúbios (Singh & Gupta, 2017).
Num estudo efetuado por Biba e Gjati (2014), observou-se que a aplicação de técnicas de stemming
melhorou os resultados obtidos num caso específico de classificação de texto, quando comparados com os
resultados obtidos sem stemming. No entanto, nem sempre a aplicação de stemming tem um impacto
positivo nos resultados obtidos visto que, num estudo efetuado por Toman, Tesar, e Jezek (2006), a
utilização de stemming tem um impacto negativo nos resultados obtidos na tarefa de classificação de
texto.

2.1.2 Representação de texto

Diferentes técnicas podem ser utilizadas para representar o texto numa estrutura que possa ser utilizada
em atividades relacionadas com Text Mining, como classificação de texto. Existem dois conceitos relevan-
tes para a representação de texto: Bag of Words e Vector Space Model (Salton, Wong, & Yang, 1975). O
conceito de bag of words define que um documento pode ser representado pelo conjunto de palavras que
o integram, sendo ignorada a ordem das palavras. O conceito de Vector Space Model define que um docu-
mento pode ser representado por um vetor, vetor esse que ocupa uma posição no espaço vetorial (Turney
& Pantel, 2010). Turney e Pantel (2010) ressalvam que o conceito de Vector Space Model emprega outros
conceitos base, tais como Bag of Words, visto que no Vector Space Model cada documento é representado
através de um vetor que não contém qualquer informação relativa à ordem dos termos do documento.
Uma estrutura que se enquadra neste conceito é a document-term matrix. Uma document-term matrix
apresenta uma estrutura similar à que é apresentada na Tabela 1, sendo que esta document-term matirx
contém três documentos, identificados por ‘Documento A’, ‘Documento B’ e ‘Documento C’. Por sua vez,
para esses documentos, é apresentado o número de vezes que cada um dos termos aparece.

11
Tabela 1: Document-term matrix.

contabilista emprego motorista trabalho universidade


Documento A 1 1 1 1 1
Documento B 0 1 0 2 2
Documento C 0 0 0 1 1

Uma document-term matrix contém, essencialmente, informação acerca da constituição dos documen-
tos, através da quantificação das palavras presentes nos documentos. Nesta matriz, cada linha corres-
ponde a um documento. Para esse documento, são atribuídos valores, de acordo com o número de vezes
que um determinado termo aparece no documento (as colunas representam termos), ou seja, cada linha
da matriz é um vetor representativo do documento.
Em alternativa, a document-term matrix pode só conter informação relativamente há ocorrência (ou
não) de um determinado termo num documento, sendo que tal é feito através da atribuição do valor 0
ou 1 para cada termo, de acordo com a respetiva composição do documento. Salton e Buckley (1988)
referem que a atribuição de pesos binários tem algumas limitações, como o facto de não permitir distinguir
termos pela sua ordem de importância.
Luhn (1957) sugere que um autor, ao utilizar várias vezes o mesmo termo, está a conferir particular
importância a esse termo para exprimir as suas ideias, pelo sugere utilizar a frequência dos termos para
representar os documentos.
Visto que os termos mais frequentes nem sempre são os mais importantes, Sparck Jones (1972)
propõem um conceito denominado Inverse Document Frequency. Este método assume que a importância
de um termo é inversamente proporcional ao número de vezes que este ocorre no conjunto de documentos:
( )
N
idf i = log (1)
df i

onde N é o número total de documentos e df i é o número de documentos que contêm o termo i.


Existe ainda a possibilidade de combinar a Inverse Document Frequency e a frequência dos termos
para calcular o peso que cada um dos termos tem, através do método Term Frequency Inverse Document
Frequency, que se traduz na seguinte equação matemática:
( )
N
wij = tf ij × log (2)
df i

onde tf ij corresponde ao número de vezes que o termo i aparece no documento j, N é o número total

12
de documentos e df i é o número de documentos que contêm o termo i.
Ressalva-se que a escolha do método para cálculo do peso dos termos poderá ter impacto nos resulta-
dos obtidos em algumas das tarefas de Text Mining, nomeadamente na classificação de texto através de
Support Vector Machines (Lan, Sung, Low, & Tan, 2005) e, por esse facto, a escolha do método deverá
ser ponderada e, se possível, deverá ser analisado o desempenho do modelo para diferentes métodos de
cálculo do peso dos termos.

2.1.3 Similaridade de documentos

Dado um conjunto de documentos, um humano consegue aferir o quão similar ou díspares são os docu-
mentos do conjunto, através da leitura dos mesmos. Tendo em conta que, para fins de Text Mining, os
documentos podem ser representados sobre a forma vetorial, uma solução lógica consiste na manipula-
ção desses vetores através de operações, com o objetivo de extrair informação sobre a similaridade dos
documentos.
Dada uma document-term matrix que contenha os vetores representativos de vários documentos, a
similaridade entre os documentos pode ser calculada através da similaridade do cosseno. Assim, a simi-
laridade do cosseno funciona como uma métrica que quantifica o quão similar é um par de documentos,
permitindo efetuar o agrupamento automático de documentos (Huang, 2008).
A similaridade do cosseno é obtida através do cálculo do cosseno do ângulo formado entre dois vetores,
cada um pertencente a um documento distinto. Derivado das propriedades de uma document-term matrix,
assim como as propriedades matemáticas do ângulo do cosseno, este valor poderá compreender valores
entre 0 e 1, inclusive. Caso os documentos sejam algo similares, mas não totalmente similares, os
valores deverão andar andar abaixo de 1 mas bastante acima de 0. Em casos que os dois documentos
sejam muito pouco similares, o valor deverá estar bastante próximo. Inversamente, caso os documentos
contenham constituições bastante similares, os valores deverão ser bastante próximos de 1. De realçar
que dois documentos podem ser bastante similares em termos de document-term matrix que apresentam
mas um ser humano pode acabar por ter uma perspetiva diferente, após a leitura e comparação dos
mesmos.
Dados dois vetores, a similaridade do cosseno é obtida através da seguinte equação:

xy
cos(x, y) = (3)
∥x∥∥y∥

onde x e y são os vetores dos documentos para os quais se pretende calcular a similaridade do cosseno.
Para calcular os valores da similaridade do cosseno, pode-se recorrer às representações vetoriais dos

13
documentos, contidos na document-term matrix.
Outra solução possível para o cálculo da similaridade de dois documentos consiste na utilização do
coeficiente de Jaccard. O coeficiente de Jaccard permite obter a similaridade entre conjuntos, e é obtido
através da interseção dos elementos presentes em ambos os conjuntos, dividida pela união dos dois
conjuntos. Deste modo, o coeficiente de Jaccard é dado por:

|A ∩ B|
J(A, B) = (4)
|A ∪ B|

Assim, depreende-se que o coeficiente de Jaccard depende do número de elementos que existem em
comum entre A e B. Identicamente ao valor obtido pela similaridade do cosseno, o valor do coeficiente
de Jaccard assume valores entre 0 e 1, inclusive.

2.1.4 Named entity recognition

A finalidade de named entity recognition é identificar e classificar corretamente, de forma automática, as


entidades que estão presentes num determinado texto. O conceito de named entity recognition, numa
primeira instância, foi abordado na área de extração de informação, na sexta edição da Message Unders-
tanding Coference (Grishman & Sundheim, 1996). Contudo, a tarefa de named entity recognition tem sido
útil na atividade de Text Mining, sendo considerada uma parte importante da aplicação de Text Mining com
o propósito de analisar literatura, nomeadamente na área da biomedicina (Tanabe, Xie, Thom, Matten,
& Wilbur, 2005). As entidades identificadas no texto são classificadas nas categorias apropriadas, tais
como pessoas, organizações, locais, datas entre outras. Na Figura 2 é exemplificado, para uma frase, as
várias entidades que seriam identificas e classificadas, através de named entity recognition.

Figura 2: Identificação e classificação de entidades de uma frase.

Um dos desafios de classificar corretamente as entidades, deve-se ao facto da mesma palavra (ou
grupo de palavras) poder ter classificações diferentes consoante o contexto em que se insere. No caso

14
do termo ‘Francisco Sá Carneiro’, este pode ser entendido como um nome pessoal, assim como o nome
do aeroporto do Porto, dependendo do contexto. No que diz respeito às abordagens utilizadas na tarefa
de named entity recognition, estas podem ser categorizadas em dois grandes grupos: as que se baseiam
em regras pré-definidas e as que utilizam Machine Learning, com recurso a modelos estatísticos.
Um dicionário de entidades pode ser utilizado na abordagem baseada em regras. Geralmente, nesses
dicionários, são definidos os mapeamentos entre termos e a respetiva classificação, ou seja, o dicionário
poderia conter o mapeamento entre ‘Portugal’ e a classificação ‘Local’. Assim sendo, o princípio base da
abordagem baseada em regras, consiste em definir um conjunto de regras que possibilitem capturar de-
terminadas caraterísticas presente no texto, de forma a identificar e classificar corretamente as entidades,
com as respetivas limitações associadas a uma abordagem deste género. Veja-se que, se existirem casos
que não estão contemplados nas regras definidas, possivelmente a entidade classificada erradamente.
São vários os modelos que têm vindo a ser aplicados, tais como Support Vector Machines (Ekbal &
Bandyopadhyay, 2010), redes neuronais de diferentes arquiteturas (Lample, Ballesteros, Subramanian,
Kawakami, & Dyer, 2016) ou árvores de decisão (Szarvas, Farkas, & Kocsor, 2006). Visto que a Wikipedia
contém uma vasta quantidade de conteúdo sobre a forma de texto, escrito em várias línguas, tal facto
pode ser explorado para a criação dos dados de treino, de forma a obter modelos capazes de identificar
entidades em idiomas distintos, como proposto por Nothman, Ringland, Radford, Murphy, e Curran (2013).
Os modelos de Machine Learning podem ser treinados de forma semi-supervisionada, combinando da-
dos previamente classificados com dados sem qualquer tipo de classificação. Esta solução é apropriada
para situações nas quais a quantidade de dados previamente classificados é reduzida (Liao & Veerama-
chaneni, 2009). Em contrapartida, existem abordagens não supervisionadas, como proposto por Zhang
e Elhadad (2013), sendo o modelo treinado exclusivamente com dados sem classificação prévia.

2.1.5 Extração de tópicos

Latent Dirichlet Allocation (Blei, Ng, & Jordan, 2003) é um modelo estatístico generativo que permite
extrair tópicos de documentos de texto. O LDA supõe que um autor, antes de escrever um documento,
especifica os tópicos sobre os quais quer escrever. Por sua vez, para cada um desses tópicos, existe um
conjunto de palavras que o autor utilizará ao longo do texto.
Com base neste princípio, Blei et al. (2003) sugeriram um algoritmo cujo o objetivo é estimar correta-
mente como foi feita essa alocação de tópicos, e quais os termos utilizados nessas alocações. Assim, o
LDA deverá ser capaz de estimar uma distribuição de tópicos e, consequentemente, uma distribuição de
palavras, de tal forma que essa seja a mais correta para o documento sobre análise.

15
Uma das limitações do LDA deve-se ao fato de não capturar a semântica utilizada por humanos, visto
que os documentos são representados através da técnica Bag of Words (Wei & Croft, 2006), pelo que a
ordem das palavras é ignorada.
O processo generativo do LDA pode ser sumarizado pela seguinte sequência de etapas:

1. Para cada tópico k ∈ {1, ..., K}:

(a) Extrair uma distribuição de palavras φk ∼ Dir(β)

2. Para cada documento d ∈ {1, ..., D}:

(a) Extrair uma distribuição de tópicos θd ∼ Dir(α)

3. Para cada posição n ∈ {1, ..., N } no documento d:

(a) Extrair um tópico k ∼ Multionomial(θd )

(b) Extrair uma palavra wd,n ∼ Multionomial(φk )

Os parâmetros α e β são referentes às respetivas distribuições de Dirichlet sendo que, de um modo


geral, são utilizadas distribuições de Dirichlet simétricas no LDA (Cohen, 2016), pelo que esses parâmetros
podem ser instanciados por um único número real. Caso a distribuição não seja simétrica, é necessário
utilizar um vetor, constituído por vários números reais, como parâmetro. Segundo Cohen (2016), o motivo
pelo qual se costuma utilizar uma distribuição de Dirichlet simétrica, deve-se ao facto desta simplificar
significativamente a aplicação da distribuição de Dirichlet, além de facilitar o processo de aprendizagem do
modelo. O autor refere ainda que, nestes casos, o parâmetro α da distribuição de Dirichlet dá pelo nome
de parâmetro de concentração. Tendo em conta que, para cada documento, a distribuição de tópicos é
extraída de uma distribuição de Dirichlet parametrizada por α, esse parâmetro influencia o número de
tópicos pelos quais um documento é formado.
Para demonstrar de que forma o parâmetro α influencia a distribuição de tópicos alocada a um do-
cumento e, tendo por base as experimentações demonstradas na seguinte apresentação2 , simulou-se o
processo pelo qual a distribuição de tópicos é obtida, na ferramenta R, para um total de 25000 amostras,
parametrizando a distribuição com diferentes valores de α. Os resultados obtidos estão representados na
Figura 3, onde se recorreu a um simplex bidimensional no qual cada um dos vértices corresponde a um
tópico. Cada posição possível no simplex corresponde a uma distribuição multinominal, e cada amostra
é representada por um ponto azul, sendo que a distribuição multinominal de tópicos, para cada amostra,
2
https://ccrg.rit.edu/~whelan/courses/2017_1sp_STAT_489/notes_parameters.pdf

16
depende da posição que o ponto correspondente a essa amostra ocupa no simplex. Se a amostra estiver
localizada junto dos vértices, significa que o documento correspondente a essa amostra é bastante sus-
cetível de conter apenas um tópico. Por outro lado, se a posição ocupada por essa amostra for próxima
do centro, significa que é provável que esse documento seja constituído por vários tópicos. É possível
constatar que, para α = 0.2, existem várias amostras concentradas nos vértices, ou seja, formadas
por um só tópico. Por outro lado, para α > 1 verifica-se um aumento na concentração de amostras no
centro.

Figura 3: Resultados obtidos para distribuições de Dirichlet com diferentes valores do parâmetro α

2.2 Deep learning aplicado a dados textuais


A área de Deep Learning tem apresentado uma evolução considerável durante os últimos anos, tendo
o aparecimento de várias frameworks de Deep Learning, sobre a forma de código aberto, contribuído
para uma progressiva utilização das técnicas de Deep Learning, tanto para projetos inseridos em contexto
académico como empresarial, permitindo treinar redes neuronais com arquiteturas complexas, assim
como utilizar esses mesmos modelos em ambientes de produção.
Frameworks como Tensorflow ou MXNet são exemplos de frameworks que têm contribuído para tal.
Existem ainda bibliotecas de software, como o Keras, que disponibilizam uma API de alto nível para inte-

17
ragir com as várias frameworks, incluindo as já mencionadas, proporcionando uma camada de abstração.
A área de Natural Language Processing é uma das áreas nas quais as técnicas de Deep Learning têm
vindo a ser aplicadas, durante os últimos anos. Verificou-se uma evolução na percentagem de artigos
científicos, publicados em conferências relativas a Natural Language Processing, nos quais é abordada
a utilização de técnicas de Deep Learning, nomeadamente nas seguintes conferências (Young, Hazarika,
Poria, & Cambria, 2017):

• Annual Meeting of the Association for Computational Linguistics;

• Empirical Methods in Natural Language Processing;

• European Chapter of the Association for Computational Linguistics;

• North American Chapter of the Association for Computational Linguistics.

Na Figura 4 é possível verificar a evolução dessa percentagem ao longo do tempo, constatando-se que a
percentagem de artigos que abordam a utilização Deep Learning, publicados nestas quatro conferências
da área de Natural Language Processing, evoluiu de forma significativa durante o período compreendido
entre os anos de 2012 e 2017.

Figura 4: Evolução da percentagem de artigos, publicados nas principais conferências de Natural Language Processing, que abordam a
utilização de Deep Learning (Young et al., 2017).

2.2.1 Redes neuronais convolucionais

Um dos principais aspetos estruturantes de uma rede neuronal convolucional é a layer de convolução.
Uma layer de convolução de uma rede neural recebe um input, ao qual é aplicado um filtro (também
chamado de kernel, em alguma da literatura), sendo que o filtro corresponde a uma matriz com um

18
tamanho definido pelo utilizador. Um dos elementos estruturantes da layer convolucional é o produto de
Hadamard. O produto de Hadamard é o elemento presente na layer convolucional que permite converter
um conjunto inputs numa feature. Ao conjunto de features obtidas através da layer convolucional dá-se o
nome de feature map. É usual utilizar funções de ativação após a convolução, permitindo a introdução
de relações não lineares entre o input e o output da layer convolucional. Uma dessas funções, é a função
denominada Rectified Linear Unit (ReLU), e usualmente é utilizada como função de ativação na layer de
convolução devido ao facto do erro da rede neuronal convergir num menor espaço de tempo quando
comparada com outras funções de ativação (Glorot, Bordes, & Bengio, 2011). A função ReLU é dada por:


0 x<0
f (x) = (5)

x x ≥ 0

A função de ativação é aplicada a todos os elementos do feature map, obtendo-se assim a output da
layer de convolução. O processo que existe numa layer de convolução, desde o input até à obtenção do
devido feature map através da aplicação das várias operações, está representado na na Figura 5.

19
Figura 5: Exemplo de operação de convolução sobre uma matriz de input, para um determinado filtro, e respetivo feature map resultante.

O propósito da layer de convolução numa rede neuronal é conseguir extrair features que sejam represen-
tativas e úteis para inferir corretamente as classificações. As features extraídas pela layer de convolução
são representações do input introduzido no modelo e deverão ser uma “representação interna do input
capaz de preservar informação relevante” (LeCun, Kavukcuoglu, & Farabet, 2010). Os resultados obtidos
no estudo efetuado por Razavian, Azizpour, Sullivan, e Carlsson (2014) sugerem que as features obtidas
através da layer de convolução poderão obedecer ao princípio enunciado, visto que os autores observaram
que as features obtidas através da layer de convolução podem ser utilizadas para treinar outros modelos,
tais como Support Vector Machines, tendo os autores obtido resultados satisfatórios com esta abordagem.
Redes neuronais que apresentem uma arquitetura baseada em layers de convolução têm sido aplica-
das com sucesso na área de visão computacional, nomeadamente na deteção e classificação de objetos
presentes em imagens (Krizhevsky, Sutskever, & Hinton, 2012). No caso específico da visão computacio-

20
nal, a layer de convolução possibilita a deteção de padrões que permitem a identificação de caraterísticas
com poder discriminativo, tais como formas ou arestas presentes nas imagens e, desse modo, atribuir
uma classificação correta para a imagem.
Contudo, o âmbito de aplicação das redes neuronais convolucionais não se limita à área de visão
computacional. Na área de Natural Language Processing, as redes neuronais são capazes de capturar
relações existentes entre palavras e, desse modo, modelar frases (Kalchbrenner, Grefenstette, & Blun-
som, 2014). Segundo Kim (2014), os word embeddings funcionam como representações universais das
palavras, sobre as quais é possível utilizar uma ou mais layers de convolução, com o propósito de extrair
features específicas para o problema em questão.

2.2.2 Redes neuronais recorrentes

A principal caraterística que distingue as redes neuronais recorrentes de outras tipologias, é o facto de
estas serem constituídas por vários hidden states que apresentam dependências entre si. As redes neuro-
nais recorrentes têm sido utilizadas para efetuar previsões em séries temporais, tais como prever o preço
futuro de ações bolsistas (Hsieh, Hsiao, & Yeh, 2011) ou condições meteorológicas (Barbounis, Theocha-
ris, Alexiadis, & Dokopoulos, 2006). No âmbito de Natural Language Processing, podem ser utilizadas
para modelar dependências entre palavras, através da representação da frase como uma sequência de
palavras, em que cada uma das palavras ocupa uma posição na sequência. As redes neuronais recorren-
tes são treinadas segundo uma abordagem de backpropagation through time, que otimiza os parâmetros
do modelo, como a matriz de pesos, através de gradient descent, com o objetivo de minimizar o erro
da rede neuronal. Contudo, no caso de redes neuronais recorrentes é suscetível que a otimização de
parâmetros numa time step distante do output do modelo não tenha um impacto significativo na minimi-
zação do erro, sendo que tal deve-se ao fenómeno de vanishing gradient que ocorre nas redes neuronais
recorrentes (Bengio, Simard, & Frasconi, 1994).
Este problema ocorre devido à forma como o gradiente é calculado. Como demonstrado por Bengio et
al. (1994), para um custo Ct na time step t, esse custo em função do parâmetro W é dado por:

∂Ct ∑ ∂Ct ∂st ∂sτ


= (6)
∂W τ ≤t
∂st ∂sτ ∂W

A equação implica que consoante a distância entre r e t aumenta, menor será o impacto resultante em
Ct de uma alteração no valor de W , causando o problema de vanishing gradient (Bengio et al., 1994).
No caso de Natural Language Processing, caso a ordem das palavras seja um fator importante, tal poderá

21
ser problemático.

2.2.3 Long short-term memory

A Long Short-Term Memory (LSTM) surgiu como uma alternativa às redes recorrentes convencionais,
com o propósito de solucionar o problema de vanishing gradient. O principal fator distintivo de uma
LSTM é facto de incluir um componente de memória que permita armazenar informação sobre os hidden
states prévios, como o objetivo de modelar eficazmente as dependências existentes entre elementos em
diferentes posições de uma dada sequência.
Numa LSTM existem vários fluxos de informação entre a componente de memória e o hidden state,
sendo esses fluxos de informação controlados por um conjunto de mecanismos denominados gates, que
assumem valores entre 0 e 1, inclusive. Existem três gates distintas: input gate, forget gate e output gate.
Sejam U e W as matrizes de pesos, a forget gate para a time step t, representada por ft , e que é
responsável por controlar a informação a ser eliminada da memória, é obtida por:

ft = σ(Wf xt + Uf ht−1 + bf ) (7)

onde bf é o valor de bias, σ é a função de ativação sigmoid e xt é o input para a time step t.
Como referido, para que seja possível manter informação ao longo dos vários hidden states é utilizado
um componente de memória. Para manter a memória atualizada, é necessário calcular a cada time step
um novo candidato para o valor de memória. Seja jt o candidato para valor de memória, este é calculado
através de:
jt = tanh(Wj xt + Uj ht−1 + bj ) (8)

Contudo, o novo candidato para valor de memória nem sempre tem informação relevante, pelo que a
reutilização de determinada informação em hidden states futuros deverá ser evitada, o que significa que
há informação que poderá ser ignorada. Seja it a input gate que controla esse fluxo de informação, esta
é dada por:
it = σ(Wi xt + Ui ht−1 + bi ) (9)

Assim, utilizando o símbolo ⊙ para denotar o produto de Hadamard, o valor de memória Ct é calculado
por:
ct = ft ⊙ ct−1 + it ⊙ jt (10)

O valor de memória é reutilizado para calcular o valor do hidden satate. No entanto, tal não é feito de

22
forma direita, sendo esse fluxo de informação controlado pela output gate ot obtida por:

ot = σ(Wo xt + Uo ht−1 + bo ) (11)

Deste modo, contemplando a output gate ot , o hidden state ht é obtido por:

ht = ot ⊙ tanh(ct ) (12)

Na Figura 6 é apresentado o diagrama que demonstra os vários elementos que constituem uma LSTM.

Figura 6: Diagrama representativo de uma LSTM (Rußwurm & Körner, 2018).

2.2.4 Gated recurrent unit

A Gated Recurrent Unit foi introduzida por Cho et al. (2014) e, à semelhança da LSTM, são utilizadas
gates para controlar os fluxos de informação. Comparativamente a uma LSTM, a GRU utiliza um número
menor de gates para controlar os fluxos de informação, sendo a update gate e reset gate os mecanismos
utilizados. Dado o hidden state ht−1 , a função da reset gate é conseguir controlar qual a informação desse
hidden state que poderá ser ignorada no hidden state ht , pelo facto de não ser informação relevante para
os próximos hidden states. Sejam U e W as matrizes de pesos, a reset gate denotada por rt é calculada
através de:
rt = σ(Wr xt + Ur ht−1 + br ) (13)

onde σ é a função de ativação sigmoid.


Contudo, também é necessário determinar que informação de xt deverá ser aproveitada para o cálculo

23
de ht . Tal é controlado pela update gate, representada por ut :

ut = σ(Wu xt + Uu ht−1 + bu ) (14)

Antes de ser calculado ht , é calculado um hidden state candidato h̃t para o input xt , que é obtido por:

h̃t = tanh(Wh xt + Uh (rt ⊙ ht−1 ) + bh ) (15)

Assim, utilizando rt e ut para controlar os fluxos de informação, ht é obtido por:

ht = ut ⊙ h̃t + (1 − ut ) ⊙ ht−1 (16)

O diagrama representativo da Gated Recurrent Unit é apresentado na Figura 7.

Figura 7: Diagrama representativo da GRU (Rußwurm & Körner, 2018).

Em termos de desempenho, não é possível concluir objetivamente que a GRU tem um melhor desem-
penho que LSTM, ou vice-versa, tendo sido obtidos por Chung, Gulcehre, Cho, e Bengio (2014) resultados
díspares, variando em função do dataset utilizado. No entanto, durante o processo de treino observou-se
que tanto a GRU como a LSTM convergem num menor espaço de tempo, quando comparadas a uma
rede neuronal recorrente convencional.

2.3 Representações distribuídas de palavras


Num modelo de Machine Learning é necessário treinar o modelo através de um conjunto de inputs.
Contudo, não é viável utilizar texto, de forma literal, para treinar o modelo. As redes neuronais necessitam
de valores numéricos, até pelo facto do processo de treino consistir em minimizar uma função objetivo.
Por esse motivo, é necessário converter as frases (e os seus termos) numa representação numérica.

24
Uma das hipóteses para obter essas representações, consiste em utilizar uma técnica denominada one
hot encoding, em que a cada palavra do vocabulário é associada um vetor. Nesse vetor, apenas um dos
elementos tem o valor 1, sendo que todos os outros elementos têm o valor 0. Deste modo, o número de
dimensões do vetor obtido através de one hot encoding é exatamente igual ao tamanho do vocabulário.
As representações distribuídas de palavras não se aplicam apenas a redes neuronais, podendo também
ser utilizadas em outros modelos com Support Vector Machines (Yang, Macdonald, & Ounis, 2017), pelo
que as representações distribuídas de palavras tanto podem se utilizadas em Text Mining mais tradicional,
bem como redes neuronais de arquiteturas complexas baseadas em conceitos de Deep Learning.
Exclusivamente para fins exemplificativos, na Figura 8 considera-se um vocabulário formado por apenas
cinco termos, para os quais são obtidas as representações vetoriais por one hot encoding.

Figura 8: Representação vetorial de cada termo, obtida por one hot encoding.

Alternativamente ao one hot encoding, podem ser utilizadas representações distribuídas das palavras
como input da rede neuronal. A principal intenção desta técnica é conseguir atribuir às palavras uma
posição no espaço vetorial, de modo a que as suas posições no espaço sejam capazes de capturar
certas caraterísticas semânticas das palavras. Assim, palavras similares deverão ter posições bastante
próximas no espaço, enquanto palavras pouco similares deverão ocupar posições distantes. Deste modo,
uma representação distribuída das palavras poderá ser mais informativa, comparativamente a um vetor
obtido através de one hot encoding, pois existe o potencial de conseguir capturar relações de similaridade
semântica existentes entre termos. Além do mais, enquanto através dessa técnica o número de dimensões
do vetor é igual à do vocabulário, através de uma representação distribuída de palavras o número de
dimensões é reduzido (Goldberg, 2016), sendo geralmente utilizadas entre 50 a 300 dimensões. Na
Figura 9 estão representados, a título de exemplo, possíveis vetores obtidos através desta técnica.

25
Figura 9: Representação distribuída dos termos.

Todavia, para obter estas representações vetoriais é necessário utilizar um método que permita capturar
as caraterísticas semânticas das palavras, sendo o Word2vec (Mikolov, Chen, Corrado, & Dean, 2013) e
Glove dois dos métodos que podem ser utilizados para o efeito.
Na Figura 10 são apresentadas as posições dos vetores obtidos através do método Word2vec, e que
demonstra a capacidade deste método em obter representações vetoriais de palavras que aproximam as
relações e similaridades existentes entre termos. Neste caso em específico, constata-se que os nomes dos
países são colocados numa posição que traduz (de forma aproximada) a distância geográfica existentes
entre os países. Países fronteiriços são colocados em posições próximas no espaço vetorial. Por exemplo,
Espanha é o termo mais próximo de Portugal, assim como a Alemanha está mais próxima da França do
que Portugal. Além do mais, as representações obtidas também traduzem as relações existentes entre
cada país e a sua respetiva capital: Madrid está para Espanha como Lisboa está para Portugal.

26
Figura 10: Exemplo de projeção das posições no espaço para as representações vetoriais de palavras, obtidas pelo método Word2vec (Mikolov,
Chen, et al., 2013).

Concretamente, mesmo nos casos em que o input da rede neuronal esteja no formato one hot encoding,
é comum utilizar-se uma embedding layer, responsável por converter esse input numa representação
distribuída de palavras (Goldberg, 2016).

2.3.1 Word2vec

O Word2vec (Mikolov, Chen, et al., 2013) foi formulado tendo por base o pressuposto de que palavras com
significados idênticos são acompanhadas por contextos idênticos e foi desenvolvido com o propósito de
obter representações distribuídas de palavras, na forma de vetores, sendo que esses vetores podem ser
obtidos através do método Skip-gram ou Continous Bag of Words. Estes métodos têm ligeiras diferenças
a níveis arquiteturais, mas o conceito chave utilizado é o mesmo. O objetivo do Word2vec é conseguir
obter representações vetoriais de palavras que sejam capazes de traduzir a similaridade existente entre
diferentes termos, tanto a nível sintático como semântico.
Como foi referido, existem dois métodos (Skip-gram e Continous Bag of Words, sendo que ambos
utilizam uma técnica de janela deslizante para determinar as palavras de contexto de cada palavra central.
O tamanho da janela é um parâmetro do Word2vec que pode ser definido pelo utilizador. Uma janela de
tamanho 5 define que serão selecionadas as 5 palavras imediatamente à esquerda e direita da palavra
central. Caso não existam palavras imediatamente à esquerda, apenas serão consideradas as palavras
que se encontram à direita, e vice-versa.

27
Dada a sequência de palavras “o jogador de futebol marcou um golo durante o jogo”, aplicando uma
janela de tamanho 3 para as palavras “futebol”, “marcou”, “um” e “golo”, nos casos em que essas
palavras ocupam as posições de palavra central são obtidas as palavras de contexto correspondentes,
representadas na Tabela 2.

Tabela 2: Palavras de contexto para cada uma das palavras centrais, utilizando uma janela de tamanho 3.

Palavra central Palavras do Contexto


futebol o, jogador, de, marcou, um, golo
marcou jogador, de, futebol, um, golo, durante
um de, futebol, marcou, golo, durante, o
golo futebol, marcou, um, durante, o, jogo

S ip-gram
No modelo Skip-gram pretende-se prever as palavras do contexto associadas a uma determinada palavra
central. A arquitetura utilizada é relativamente simples, constituída por uma input layer, que tem um
tamanho equivalente ao número de palavras diferentes presentes no documento, uma projection layer e,
por fim, uma output layer. A arquitetura utilizada pelo modelo Skip-gram está representada na Figura 11.

Figura 11: Arquitetura do modelo Skip-gram (Mikolov, Chen, et al., 2013).

Na input layer, a palavra é representada através de uma técnica de representação denominada one hot
encoding, no qual cada palavras tem um índice associado, sendo que esse índice apresenta o valor de 1
(casos essa palavra esteja presente) ou 0 (caso essa palavra não esteja presente).

28
Para obter o valor da projection layer, a input layer é multiplicada por uma matriz de pesos. Existe ainda
uma segunda matriz de pesos, posicionada entre a projection layer e a output layer, designada matriz de
contexto. A output layer contém um conjunto de valores resultantes da multiplicação da projection layer
pela matriz de contexto. Esses valores são traduzidos em probabilidades através da função softmax.
Como é computacionalmente dispendioso aplicar a função softmax para este propósito, pois a com-
plexidade computacional aumenta linearmente com o tamanho do vocabulário, os autores introduziram
algumas modificações no Word2vec, tendo os autores sugerido num segundo estudo (Mikolov, Sutskever,
Chen, Corrado, & Dean, 2013) a utilização de negative sampling para tornar o Word2vec mais eficiente.
Negative sampling acaba por converter o problema de classificação presente no word2vec num pro-
blema de classificação binária. Assim, o modelo em vez as palavras de contexto associado a um input,
passa-se a ter um problema em que o objetivo é prever se um determinado par de palavras forma um
conjunto constituído por palavra central e palavra de contexto. Assim, o modelo deverá ser capaz de iden-
tificar corretamente esses pares de palavras, fazendo a distinção entre os pares de palavras que corretos
e os incorretos. Contudo, os autores também propuseram outra arquitetura, cujo o objetivo é o mesmo,
mas apresenta caraterísticas diferentes, e que dá pelo nome de Continuous Bag of Words.
Continuous Bag of Words
Ao contrário do que acontecia no modelo Skip-gram, neste modelo pretende-se, dado um conjunto de
palavras do contexto, prever corretamente a palavra central. A arquitetura utilizada no modelo Continuous
Bag of Words está representada na Figura 12.

Figura 12: Arquitetura do modelo Continuous Bag of Words (Mikolov, Chen, et al., 2013).

29
No Continuous Bag of Words, o objetivo passa a ser prever, dadas várias palavras de contexto, se uma
dada palavra é ou não a respetiva palavra central. Para obter as probabilidades, é também aplicada a
função softmax. Similarmente ao que acontece no modelo Skip-gram, pode ser aplicado negative sampling
para converter este problema num problema de classificação binária.
Tanto no modelo Skip-gram como Continous Bag of Words, o que é aproveitado após o processo de
aprendizagem é a matriz de pesos situada entre a input layer e projection layer, visto que os autores
do Word2vec chegaram à conclusão que esse subproduto, resultante do processo de treino, consegue
capturar caraterísticas de similaridade sintática e semântica das palavras do vocabulário.
Quando os vetores representativos das palavras são obtidos através do método Word2vec, os parâ-
metros referentes ao tamanho da janela, tamanho desejado para os vetores, bem como a seleção do
modelo a utilizar (Skip-gram ou Continous Bag of Words), têm influência nos resultados obtidos (Mikolov,
Sutskever, et al., 2013).

2.3.2 Global vectors for word representation

GloVe (Pennington, Socher, & Manning, 2014) é um método utilizado para obter representações distri-
buídas de palavras sobre a forma de vetores. No Word2Vec, os vetores são um subproduto do processo
de treino de um modelo preditivo, baseado numa rede neuronal que tem como objetivo prever a palavra
central através das palavras de contexto (ou vice-versa). A abordagem do método GloVe é diferente, as-
sentando primariamente na utilização de uma matriz de coocorrência, disponibilizando informação sobre
as coocorrências de pares de palavras ao longo de todo o corpus. Pennington et al. (2014) usam Xij
para denotar o número de vezes que a palavra j ocorre no contexto da palavra i.
Nesse sentido, os autores propôem a seguinte equação:

uTi vj + bi + bj = log(Xij ) (17)

onde ui e vj são os respetivos vetores representativos das palavras i e j, sendo bi e bj os valores de bias
associados. Para solucionar esta equação, Pennington et al. (2014) sugerem a definição de um problema
de otimização, tendo para tal definido a seguinte função objetivo J, que deve ser minimizada:

|V |

J= f (Xij ) (uTi vj + bi + bj − log Xij )2 (18)
i,j=1

onde |V | é o tamanho do vocabulário e f (x) é uma função de ponderação que os autores sugerem com

30
o propósito de impedir que pares de palavras que coocorrem muito frequentemente, bem como as que
raramente coocorrem, tenham um impacto desproporcional na função objetivo. Na implementação do
GloVe foi utilizada pelos autores a seguinte função de ponderação:


(x/100)3/4 x < 100
f (x) = (19)

1 x ≥ 100

Em termos práticos, esta função de ponderação implica que termos que occorram, por exemplo, 578,
1001 ou 9500 vezes, tenham todos os mesmos pesos. Para minimizar a função de objetivo é utilizado o
algoritmo de otimização AdaGrad (Duchi, Hazan, & Singer, 2011), sendo os vetores das palavras obtidos
após o fim do processo de otimização.

2.4 Tipos de revisão de literatura

2.4.1 Revisão narrativa

Quando é desenvolvido um artigo científico, muitas das vezes é necessário efetuar uma revisão da lite-
ratura que possibilite enquadrar e adquirir conhecimento sobre o que já foi feito no passado, no que diz
respeito ao tema ou tópico sobre o qual o trabalho de investigação incide. Tal revisão deverá evidenciar
certos aspetos presentes na literatura, como lacunas ou particularidades que podem ser melhoradas. O
enquadramento obtido através do processo de revisão de literatura permite a correta integração do tra-
balho desenvolvido na respetiva área de investigação, visto que esse trabalho não deve ser interpretado
como algo exclusivo e isolado, mas sim como um contributo que integra uma área específica de investiga-
ção. Por essa razão, a revisão de literatura deverá ser encarada como sendo um elemento fundamental
do trabalho de investigação e respetivo enquadramento do mesmo.
Como referido por Webster e Watson (2002), a revisão do trabalho científico permite a obtenção de
uma firme fundação que facilita o desenvolvimento teórico, assim como promover a descoberta de novos
tópicos de investigação. Um novo artigo científico pode surgir, por exemplo, com o intuito de resolver
lacunas identificadas em investigações prévias.
Na primeira etapa da revisão de literatura, é efetuada uma identificação daquela que é a literatura
relevante para o trabalho de investigação a ser desenvolvido. Esse levantamento não deve ser limitado
por qualquer tipo de filtro ou fator, pois só assim será possível garantir que as publicações sobre as quais
a revisão de literatura incide apresentem alguma heterogeneidade, como jornais científicos diferentes,
localizações geográficas dos investigadores ou até metodologias adotas (Webster & Watson, 2002).

31
Identificadas as publicações a utilizar, é necessário definir uma estrutura a adotar para a revisão de
literatura. A revisão deverá apresentar uma estrutura organizada em torno dos conceitos presentes na
literatura analisada (Webster & Watson, 2002). De acordo com os autores, a etapa subsequente à de-
finição da estrutura corresponde ao desenvolvimento teórico, que deverá possibilitar a identificação de
eventuais oportunidades existentes na área científica em análise. Essas oportunidades poderão surgir
como resultado da necessidade de corrigir lacunas descobertas nas publicações analisadas.
Apesar de existir um conjunto de boas práticas para a elaboração de uma revisão de literatura, como
as enunciadas por Webster e Watson (2002), outros autores (Biolchini, Mian, Natali, & Travassos, 2005)
sugerem que tal não é suficiente. Os autores argumentam que, mesmo no casos em que são adotadas as
boas práticas enunciadas, “as diferentes etapas da revisão podem ter falhas ao nível do rigor científico”.
Adicionalmente, Biolchini et al. (2005) ressalvam que as várias etapas da revisão narrativa poderão ser
algo tendenciosas.

2.4.2 Revisão sistemática

Segundo Biolchini et al. (2005), a revisão narrativa apresenta algumas limitações, como o facto de existir
potencial para que a revisão seja elaborada de forma tendenciosa. Com o intuito de reduzir a suscetibi-
lidade para ocorrências de erros sistemáticos no processo de revisão, uma alternativa válida é a adoção
de um processo de revisão sistemática, que consiste em utilizar um conjunto de métodos e etapas bem
definidas, que devem ser realizadas durante a revisão sistemática de literatura (Cook, Mulrow, & Haynes,
1997).
Tal como o nome indica, uma revisão sistemática utiliza uma abordagem sistemática, que tem como
objetivo delinear um processo formal e controlado (Biolchini et al., 2005). Além disso, o processo de
revisão sistemática deverá ter um “ênfase na descoberta de princípios gerais, num alto nível de abstra-
ção conceptual, revelando possíveis inconsistências através do processo comparativo de vários estudos
individuais”, devendo essas inconsistências servir como um “estimulante para perceber a questão que
está a ser investigada” (Biolchini et al., 2005).
Para compreender o propósito da revisão sistemática, é relevante identificar as principais semelhanças
e diferenças entre os dois tipos de revisão. Tanto a revisão sistemática como a revisão narrativa incidem
sobre um conjunto itens. Por exemplo, em ambos é necessário formular uma questão à qual se procura
responder durante a revisão. No entanto, o modo como esses itens são abordados é distinto, apresentando
diferenças que podem ser identificadas. Apesar de em ambos os tipos de revisão existirem questões às
quais se visa responder, geralmente as questões formuladas na revisão narrativa são mais amplas, ao

32
contrário das definidas na revisão sistemática, que devem ser formuladas com âmbito restrito. Na Tabela 3
estão identificados, sucintamente, os principais fatores distintivos entre os processos de revisão narrativa
e sistemática para os itens que existem ambos os processos de revisão.

Tabela 3: Principais distinções entre revisão narrativa e revisão sistemática. (adaptado de Cook et al. (1997))

Item Revisão Narrativa Revisão Sistemática


Questão De âmbito pouco restrito De âmbito restrito
Fontes utilizadas Potencialmente tendenciosas São especificadas
Estratégia de pesquisa Por vezes não é especificada São especificadas
Seleção Critério indefinido Criteriosa
Síntese Qualitativa Qualitativa e quantitativa

A revisão sistemática pode ser aplicada em várias áreas científicas. Kitchenham (2004) enunciou
um conjunto de diretrizes para a aplicação de revisão sistemática na área de engenharia de software,
enquadrando-se assim no domínio de ciências da computação. O processo de revisão sistemática é
constituído por várias etapas realizadas de forma sequencial. Essas etapas podem ainda ser agrupadas
consoante a fase à qual pertencem na respetiva revisão: planeamento, execução ou documentação.
Na Figura 13 são apresentadas as etapas e fases do processo de revisão, estando do lado esquerdo
representadas as várias fases do processo e, do lado direito, as respetivas etapas para cada uma das
fases. O conjunto destas etapas carateriza o processo de revisão sistemática.

33
Figura 13: Fases e etapas do processo de revisão sistemática. (adaptado de Brereton et al. (2007)

Como já foi referido, o processo de revisão é constituído por várias etapas, sendo que cada uma das
etapas do processo de revisão sistemática tem um propósito específico:

• Especificar questões a serem respondidas: é a primeira etapa da fase de planeamento e


consiste em especificar as questões a serem respondidas durante o processo de revisão sistemá-
tica, servindo de ponto de partida para o restante processo de revisão sistemática (Kitchenham,
2004).

• Desenvolver protocolo da revisão sistemática: na definição do protocolo são especificados


alguns elementos, tais como a estratégia de pesquisa a ser utilizada e o critério de seleção dos
estudos, com o propósito de reduzir a possibilidade de obter resultados tendenciosos (Kitchenham,
2004).

• Validação do protocolo da revisão: a validação do protocolo da revisão é realizada após o


desenvolvimento do protocolo estar concluído. Como o protocolo constitui uma parte relevante
de todo o processo de revisão, sendo aplicado em diferentes etapas (como a etapa de seleção

34
de estudos, por exemplo) é necessário validar o protocolo, devendo o processo de validação ser
considerado pelos investigadores (Kitchenham, 2004).

• Identificar estudos relevantes: etapa referentes à pesquisa dos estudos. Os estudos devem
ser obtidos através da definição de termos de pesquisa. Podem ser combinados vários termos
utilizado operadores booleanos, como AND e OR, sendo que o processo de pesquisa deve ser
documentado (Kitchenham, 2004).

• Seleção dos estudos abrangidos na revisão: geralmente, esta seleção é feita tendo em conta
os critérios anteriormente definidos no protocolo. Essa seleção pode ser feita através da análise
dos títulos e abstracts das publicações, num processo chamado screening (Kitchenham, 2004).

• Avaliar qualidade dos estudos: a terceira etapa da fase de execução da revisão sistemática
consiste em avaliar a qualidade dos estudos. A avaliação da qualidade dos estudos permite aferir
determinadas caraterísticas que possam conferir uma fraca qualidade ao estudos, como a presença
de erros sistemáticos ou falta de validação dos resultados obtidos nos estudos que estão a ser
analisados (Kitchenham, 2004).

• Extração de dados: nesta etapa é definido que dados serão extraídos dos estudos, bem como a
forma como estes irão ser extraídos. É necessário extrair dados que possam auxiliar na resposta às
questões inicialmente definidas na fase de planeamento da revisão. Esses dados permitirão, por
exemplo, demonstrar tendências que sustentem as respostas às questões (Kitchenham, 2004).

• Sintetizar dados: na etapa seguinte à extração de dados, é necessário efetuar uma síntese dos
dados extraídos. Essa síntese pode ser quantitativa e qualitativa, complementada por uma síntese
descritiva, tendo como propósito auxiliar na resposta às questões definidas (Kitchenham, 2004).

• Escrita da revisão: a escrita da revisão pertence à fase de documentação da revisão, e devem


ser enunciados e descritos os resultados obtidos, de forma objetiva e rigorosa (Kitchenham, 2004).

• Validação da revisão: é a última etapa do processo de revisão sistemática, e consiste na vali-


dação do que foi escrito na etapa anterior. Caso a revisão seja publicada num jornal científico, é
necessário que a mesma seja validada por um conjunto de investigadores antes da sua publicação
(Kitchenham, 2004).

35
2.5 Domínio de aplicação
Alguns estudos têm abordado a aplicação de técnicas de Text Mining para revisões de literatura. Nesse
sentido, na Tabela 4 é apresentado um resumo da literatura relativo a alguns desses estudos, onde é
apresentada informação relevante sobre os estudos, como a principal informação extraída, o âmbito da
revisão, e o número de artigos utilizados no processo.
Tabela 4: Resumo de alguns dos trabalhos científicos que abordaram a aplicação de técnicas de Text Mining para revisões de literatura.

Autores Âmbito da revisão de literatura Principal informação extraída Total


através de Text Mining de
arti-
gos
(Moro et Tendências relativas à aplicação de Tópicos e termos dos artigos, e 219
al., 2015) Business Intelligence na indústria evolução ao longo dos anos.
bancária Principais artigos para cada um
dos tópicos.
(Moro et Relações existentes entre áreas de Evolução dos tópicos dos artigos e 811
al., 2017) investigação, produtos turísticos e relações entre áreas geográficas,
localizações geográficas. áreas científicas e produtos
turísticos.
(Amado et Tendências na aplicação de Big Data na Tópicos dos artigos e termos 1560
al., 2018) área de Marketing. relevantes, bem como a respetiva
evolução no tempo.
(Moro & Redes sociais na indústria de turismo e Tópicos e termos mais relevantes 479
Rita, 2017) hospitalidade, para brand building. dos artigos, respetiva evolução no
tempo.
(Guerreiro Descobrir os tópicos abordados na área Popularidade dos tópicos dos 246
et al., 2016) de Cause-related marketing. artigos, por ano, e termos mais
frequentes para cada tópico.
(Moro et Aplicação de técnicas de Data Mining Tópicos e respetivos termos 100
al., 2016) para determinar o risco de crédito. relevante dos artigos, e evolução
ao longo dos anos.
(Delen & Tendências relativas às áreas de Tópicos mais relevantes e termos 901
Crossland, investigação abordadas nos três descritos, de cada um dos jornais,
2008) maiores jornais sobre Gestão de para determinados períodos de
Sistemas de Informação. tempo.

Constata-se que, dos estudos presentes no resumo de literatura, a descoberta dos tópicos presentes
nos artigos é um dos objetivos da aplicação de técnicas de Text Mining. Na maioria dos estudos foi
utilizado LDA para descobrir os tópicos, à exceção do estudo da autoria de Guerreiro et al. (2016), no qual

36
foi utilizado o algoritmo Correlated Topic Model para esse propósito.
É percetível que o número de artigos utilizados em revisões de literatura efetuadas com recurso a
técnicas de Text Mining também é considerável, destacando-se particularmente um dos estudos (Amado
et al., 2018), no qual foram utilizados 1560 artigos, aplicando a mesma metodologia de Moro et al. (2015).
Adicionalmente, num outro estudo, a mesma metodologia foi utilizada para revelar as relações existen-
tes entre áreas de investigação, produtos turísticos e localizações geográficas (Moro et al., 2017). Além
disso, também foi aplicada num outro estudo (Moro et al., 2016) para aferir, na literatura existente sobre
a temática, de que forma as técnicas de Data Mining para determinar o risco de crédito.
Deste modo, verifica-se que a metodologia proposta por Moro et al. (2015) pode ser aplicada a áreas
de investigação bastante distintas, revelando tendências, relações e padrões existentes na literatura a ser
analisada. A metodologia pode ainda ser utilizada para responder a um conjunto de perguntas concretas
definida para a revisão de literatura, como é o caso das perguntas especificadas por Kuhrmann, Fernán-
dez, e Daneva (2017), que sugerem um conjunto de perguntas, tais como: “Quantas publicações existem,
no total, sobre o tópico a ser analisado na revisão sistemática?” ou “Quantas publicações existem, por
ano, sobre o tópico a ser analisado na revisão sistemática?”. Estas perguntas podem ser aplicadas em
revisões de qualquer área científica e permitem a obtenção de uma visão geral sobre a evolução de um
tópico em específico, revelando tendências. De referir que estas perguntas são apropriadas tanto para
revisões sistemáticas, como narrativas. No caso concreto da revisão sistemática, perguntas desta tipo-
logia poderão até auxiliar numa fase preliminar da mesma, podendo auxiliar na derivação de questões
adicionais.
Ainda no caso da revisão sistemática, o modelo proposto por Dernoncourt, Lee, e Szolovits (2017)
de forma a obter abstracts com as frases classificas por classes, através da aplicação de técnicas de
Deep Learning, obteve resultados significativos. Os resultados obtidos por este modelo demonstram que
as técnicas de Deep Learning podem de facto ser aplicadas para obter resultados bastante satisfatórios,
pelo que na presente dissertação é também proposta uma nova arquitetura baseada em Deep Learning de
forma a avaliar e comparar resultados. O modelo proposto por Dernoncourt et al. (2017) obtém resultados
de estado da arte na classificação de abstracts, nos datasets aos quais o modelo foi aplicado.

2.5.1 Oportunidades existentes no domínio de aplicação

A aferição das oportunidades existentes no domínio de aplicação é pertinente para determinar se existe,
efetivamente, interesse na utilização de ferramentas que auxiliem a execução de uma revisão de literatura,
bem como averiguar se existe uma escassez desse tipo de ferramentas. Uma das formas de determinar

37
as oportunidades relativas à utilização de Text Mining para auxiliar no processo revisões de literatura,
consiste em perceber a opinião e perspetiva que os possíveis utilizadores têm sobre este assunto. Nesse
sentido, foi efetuado um estudo pelas organizações Maralte BV e Publishing Research Consortium (2016)
no qual foram questionados vários investigadores, com o objetivo de determinar os seus “conhecimentos,
perspetivas e experiências” na aplicação de Text Mining como uma forma de analisar e rever jornais
científicos. Para tal, um total de 520 investigadores dispersos por várias regiões geográficas responderam
a um questionário.
No estudo, as respostas dadas pelos investigadores foram analisadas, tendo sido constatados alguns
factos de relevo sobre a aplicação de Text Mining a conteúdo de carácter científico, como jornais científicos.
Apresenta-se algumas dessas constatações, que foram enunciadas no estudo:

• 76% dos investigadores responderam que nunca aplicaram técnicas de Text Mining a jornais cien-
tíficos (Maralte BV & Publishing Research Consortium, 2016);

• A maioria dos investigadores que nunca utilizaram essas técnicas, manifestaram interessas em
utilizá-las no futuro” (Maralte BV & Publishing Research Consortium, 2016);

• Dos investigadores que nunca utilizaram as referidas técnicas, a maioria gostaria de utilizar as
técnicas para automatizar algumas das etapas que integram o processo de revisão sistemática de
literatura (Maralte BV & Publishing Research Consortium, 2016);

• Aproximadamente 45% dos investigadores responderam que gostariam de utilizar as técncias para
a finalidade de extrair dados dos jornais científicos” (Maralte BV & Publishing Research Consortium,
2016);

• É reduzida a percentagem de investigadores (24%) que manifestou um interesse em desenvolver


uma ferramenta que possibilite aplicar as técnicas de Text Mining a jornais científicos. Por outro
lado, grande parte dos investigadores (76%) deseja utilizar uma ferramenta já desenvolvida, que
possibilite aplicar as técnicas sem ser necessário despender tempo no desenvolvimento de uma
ferramenta para o efeito (Maralte BV & Publishing Research Consortium, 2016);

• Uma quantidade substancial de investigadores (69%) acha que a utilização da técnica lhes pos-
sibilitaria reduzir o tempo despendido na revisão de literatura (Maralte BV & Publishing Research
Consortium, 2016);

• Os investigadores que já utilizam as referidas técnicas de Text Mining, aplicando-as a jornais cientí-
ficos, considera-as difíceis de utilizar, principalmente pelo facto de serem necessárias capacidades

38
de programação (Maralte BV & Publishing Research Consortium, 2016);

• Grande parte dos investigadores que já utilizaram as técnicas de Text Mining para revisões de
literatura, efetua trabalho científico em áreas relacionadas com medicina (Maralte BV & Publishing
Research Consortium, 2016).

As constatações enunciadas no estudo evidenciam que não tem existido uma aplicação ampla das
técnicas de Text Mining a conteúdo textual de caráter científico, seja com o objetivo de analisar o conteúdo
publicado em jornais científicos ou de auxiliar no processo de revisão de literatura. Apesar disso, tal não
significa que o interesse em utilizar essas técnicas seja inexistente, sendo que até se verificou um interesse
substancial na aplicação destas técnicas, principalmente por parte daqueles que nunca adotaram essas
técnicas no passado (Maralte BV & Publishing Research Consortium, 2016).
Uma das hipóteses que poderá estar na génese da reduzida utilização destas técnicas por parte de
investigadores, é o facto de não existirem muitas soluções que possibilitem a aplicação de técnicas de
Text Mining sem que sejam exigidos conhecimentos técnicos, tanto no que diz respeito aos algoritmos
passíveis de serem aplicados e adaptados para automatizar o processo de revisão de literatura, bem
como as linguagens de programação utilizadas regularmente para a aplicação de técnicas de Text Mining.

2.5.2 Aplicação de text mining na etapa de seleção de estudos da revisão sistemática

Por vezes, as revisões sistemáticas de literatura poderão incidir sobre uma um número elevado de pu-
blicações. Considere-se por exemplo o caso de Dias, Mansur, Myczkowski, e Marcolin (2011), no qual
foram inicialmente consideradas 7659 publicações para o processo de revisão sistemática. Daí resulta a
necessidade de efetuar uma filtragem dos estudos a incluir no processo de revisão sistemática, sendo que
essa filtragem no processo de revisão sistemática dá-se na etapa de seleção de estudos. A identificação
dos estudos que devem ser incluídos nas etapas subsequentes deverá seguir uma estratégia bem defi-
nida, que geralmente consiste em analisar os títulos e abstracts das várias publicações com o objetivo de
aferir se essas publicações devem ser incluídas ou excluídas da revisão de literatura. A análise de títulos
e abstracts dá pelo nome de screening (Ng et al., 2014). No entanto, o processo de screening também
pode ser demorado, principalmente quando a área científica a rever apresenta um número substancial de
artigos já publicados, causando uma carga de trabalho substancial para os investigadores e aumentando
o tempo necessário para elaborar a revisão sistemática de literatura. Nesse sentido, uma abordagem que
permita obter a informação do abstract de forma estruturada, nomeadamente com recurso a modelos
com caraterísticas de Deep Learning, como proposto por Dernoncourt et al. (2017), poderá ser bastante
útil.

39
Uma outra solução possível para melhorar a etapa de screening do processo de revisão sistemática,
reduzindo a quantidade de tempos despendido nesta etapa, consiste na utilização de um modelo que pos-
sibilite classificar corretamente se um artigo deverá ser incluído ou não na revisão. Uma das abordagens
possíveis, consiste em treinar um modelo de Machine Learning para classificação de texto, com o intuito
de automatizar a etapa de screening. Foi essa a abordagem adotada por Shemilt, Khan, Park, e Thomas
(2016), num estudo comparativo que visa identificar as diferenças de eficácia na utilização de Text Mining
para revisões sistemáticas de literatura, comparativamente à eficácia de um processo de revisão em que
todas as etapas são feitas de modo exclusivamente manual.
Shemilt et al. (2016) propõem um modelo de Machine Learning cujo o objetivo final é determinar
se uma publicação deve ser ou não excluída do processo de revisão, sendo que o modelo é treinado
utilizando uma estratégia de aprendizagem ativa. Tal implica que numa fase inicial a seleção dos estudos
através de screening é feita de modo exclusivamente manual, sendo que um investigador analisa os
títulos e abstracts de um pequeno subconjunto de publicações, e decide se o artigo deverá ser incluído,
ou não, nas etapas consequentes da revisão sistemática. À medida que o investigador vai tomando as
suas decisões, essas decisões são introduzidas como dados de treino do modelo. Assim, utilizando
uma abordagem de aprendizagem ativa, o algoritmo de Machine Learning é treinado com recurso a um
pequeno número de dados de treino e, de forma cíclica, são utilizados novos dados para melhorar o
desempenho do modelo (Hashimoto, Kontonatsios, Miwa, & Ananiadou, 2016). Este tipo de abordagem
para a etapa de screening, baseada em aprendizagem ativa, tem vindo a ser utilizada por diversos autores
com o propósito de reduzir o tempo despendido na etapa de seleção de estudos do processo de revisão
sistemática de literatura (Miwa, Thomas, O’Mara-Eves, & Ananiadou, 2014; Wallace, Small, Brodley, &
Trikalinos, 2010).
Contudo, a utilização de um modelo para determinar automaticamente quais as publicações a se-
rem excluídas também apresenta alguns desafios, principalmente relacionados com o facto de existir a
possibilidade de serem excluídas publicações de forma errada, pelo facto de existirem falsos negativos
resultantes da classificação feita pelo modelo. Tendo em consideração que as etapas subsequentes à
etapa de screening utilizam apenas as publicações que não foram excluídas, o impacto da existência de
falsos negativos é significativo, devido à exclusão de publicações que poderiam conter informação potenci-
almente relevante para a revisão sistemática. Objetivamente, Shemilt et al. (2016) observaram que existe
um trade-off entre o número de dados utilizado para treinar o modelo e a capacidade do modelo classificar
corretamente as publicações a serem mantidas na revisão sistemática. Um maior número de dados de
treino implica um aumento do esforço exigido aos investigadores, visto que os dados de treino resultam

40
das classificações manuais desempenhadas por estes. No caso concreto dos autores, constatou-se que
é necessário utilizar um subconjunto que contenha 36% do total de publicações para treinar um modelo
que capaz de classificar corretamente 95% das publicações relevantes.
A utilização de Text Mining na etapa de screening diminuiu em 64% a carga de trabalho, reduzindo
o tempo e custos monetários necessários, comparativamente com a realização da etapa de screening
de modo exclusivamente manual (Shemilt et al., 2016). Deste modo, verifica-se que existe potencial na
utilização de técnicas de Text Mining para reduzir a carga de trabalho no processo de revisão sistemática
de literatura, mais precisamente na etapa de screening. Shemilt et al. (2016) referem que, tendo em
conta os resultados obtidos, a utilização de Text Mining poderá “representar uma abordagem pragmática
e eficiente para a identificação das publicações a serem incluídas em revisões sistemáticas de grande
escala”.
Contudo, importa referir que é difícil obter um modelo em que não se verifique a ocorrência de falsos
negativos ou falsos positivos. Veja-se o caso do presente estudo (Shemilt et al., 2016), no qual durante
a abordagem manual se determinou que 169 das publicações deveriam ser mantidas no processo de
revisão enquanto, na abordagem em que se utilizaram técnicas de Text Mining, foram identificadas 161
publicações como sendo passíveis de serem incluídas no processo de revisão sistemática. Tal significa
que houve uma exclusão, de forma errada, de um total de 8 artigos. Tendo em conta estes resultados cabe
ao investigador, ou grupo de investigadores, ponderar e identificar os riscos em função da área de estudo
e do propósito concreto da revisão sistemática que irão realizar, sendo que o principal risco associado é
a possibilidade de alguns artigos serem excluídos, erradamente, do processo de revisão sistemática. No
caso de Shemilt et al. (2016) foram excluídos de forma errada 5% dos artigos.

2.5.3 Aplicação de text mining para avaliar a qualidade dos estudos da revisão sistemática

Determinar se um estudo é tendencioso constitui uma das finalidades da etapa de avaliação da qualidade
dos estudos do processo de revisão sistemática (Kitchenham, 2004). Para auxiliar nesta etapa, recen-
temente são alguns os estudos (Marshall, Kuiper, & Wallace, 2014; Millard, Flach, & Higgins, 2015) que
têm explorado a a aplicação de técnicas de Text Mining com a finalidade de determinar se um estudo
apresenta caraterísticas tendenciosas.
No caso de Millard et al. (2015) foi utilizado um modelo de classificação de texto baseado em regressão
logística, de forma a determinar o risco dos estudos serem tendenciosas, permitindo ordenar os estudos
consoante o nível de risco que apresentam. Os autores utilizaram duas abordagens diferentes para treinar
o modelo, uma na qual se utilizou o abstract e título do artigo para teinaor o modelo, e outra em que se

41
utilizou a totalidade do texto presente no artigo, tendo sido feita uma comparação dos resultados obtidos.
Observou-se que através da utilização de todo o texto do artigos no processo de treino, o modelo obtém
melhor desempenho. No entanto, os autores ressalvam que o estudo tem algumas limitações, como o
facto de se ter utilizada um dataset de tamanho reduzido, tendo menos de um milhar de ocorrências por
cada classe presente nos dados de treino.
Num outro estudo, com o propósito de estimar a risco dos estudos serem tendenciosos (Marshall et
al., 2014), foi utilizado um modelo baseado em Support Vector Machines. Os dados utilizados para treinar
o modelo são constituídos por vários artigos, identificados com diferentes classes de risco: alto, baixo e
desconhecido. O modelo desenvolvido por Marshall et al. (2014) foca-se maioritariamente em estudos
relativos a ensaios clínicos. O trabalho desenvolvido pelos autores foi implementado numa plataforma
web, denominada RobotReviewer3 .

2.5.4 Aplicação de text mining na etapa de extração de dados da revisão sistemática

Uma das etapas da revisão sistemática à qual podem ser aplicadas técnicas de Text Mining é a etapa de
extração de dados. Contudo, no caso particular desta etapa existe um conjunto adicional de implicações
que deverá ser levado em consideração. Enquanto na etapa de seleção dos estudos, nomeadamente
através de screening, a aplicação de técnicas de Text Mining incide principalmente sobre o abstract, por
outro lado, na etapa de extração de dados geralmente é necessário aplicar as respetivas técnicas a todo
o texto da publicação. Isto deve-se ao facto de não ser possível, apenas com recurso ao abstract, extrair
todos os dados presentes na totalidade do artigo. Contudo, em certos casos é possível extrair certas
informações apenas com recurso aos abstracts dos artigos (Wallace, Kuiper, Sharma, Zhu, & Marshall,
2016).
A aplicação de técnicas de Text Mining e Machine Learning com o intuito de extrair dados de publicações
relacionadas com estudos clínicos tem sido alvo de interesse. Sendo que neste caso particular dos estudos
clínicos existe a possibilidade de extrair alguns dados apenas com recurso aos abstracts, nomeadamente
através da extração das seguintes entidades: população, intervenção, comparação e resultado (Wallace
et al., 2016).
Boudin et al. (2010) também se cingiram a uma abordagem que apenas extrai informação de abstracts.
Para esse fim, os autores optaram por combinar vários algoritmos, como árvores de decisão e Support
Vector Machines. Os modelos são treinados com recurso a um dataset constituído por vários abstracts,
sendo as várias frases dos abstracts identificadas nas respetivas classes a que pertencem: população,

3
http://www.robotreviewer.net/

42
intervenção, comparação e resultados. Um dos desafios prende-se com o facto dos dados não estarem
balanceados, havendo classes predominantes. Por exemplo, o número de dados correspondentes à classe
‘resultado’ era menos de metade, quando comparado com o número de dados correspondente à classe
‘população’.
Contudo, existem casos em que os dados de treino estão devidamente balanceados, como é caso de
Wallace et al. (2016), que tem em comum o objetivo de extrair entidades presentes nos abstracts dos
artigos. Seria pertinente comparar os resultados obtidos em ambos os estudos, de forma a determinar se
o facto dos dados estarem ou não balanceado se traduz numa diferença de desempenho. Contudo, não
é possível comparar diretamente o desempenho dos modelos obtidos em ambos os estudos, visto que
são utilizados algoritmos distintos e estratégias diferentes para avaliar os modelos e, por essa razão, é
difícil atribuir como causa da diferença de desempenho, o facto de um estudo utilizar dados balanceados
e outro não.
Assim, constata-se que alguns dos autores optam por recorrer apenas ao abstract. Apesar disso, ou-
tros autores como Kiritchenko, de Bruijn, Carini, Martin, e Sim (2010), focam-se em identificar e extrair
informação adicional da publicações relacionadas com ensaios clínicos, como o tamanho da amostra da
população, identificando o número de pessoas que participaram num ensaio clínico, duração de trata-
mentos, modo de administração do tratamento, entre outras informações relacionadas diretamente com
ensaios clínicos. Adicionalmente, os autores também se concentram na extração de informação que
não está diretamente relacionada com o ensaio clínico, como o nome dos autores, data de publicação
ou o nome da entidade financiadora do ensaio clínico (caso exista). A estratégia utilizada pelos autores
consistiu em treinar um modelo de classificação de texto capaz de identificar as frases que contenham
as entidades que se pretende extrair e, após essas frases estarem identificadas, são extraídos excertos
dessas frases através de regras, excertos esses que correspondem a entidades.

2.5.5 Desafios do domínio de aplicação

O aparecimento de estudos que abordam a temática de aplicação de técnicas de Text Mining em revisões
sistemáticas é relativamente recente e, por essa razão, é importante analisar a literatura disponível sobre
o assunto para perceber como poderão ser aplicadas estas técnicas no processo de revisão sistemática.
Contudo, se os estudos não estiverem devidamente detalhados, torna-se mais difícil de retirar ilações
desses mesmos estudos. Veja-se que, se os algoritmos ou técnicas utilizadas não estiverem devidamente
detalhados e especificados, a aplicação de técnicas de Text Mining torna-se desafiante, até pela dificuldade
de utilizar os estudos previamente elaborados como um ponto de partida.

43
Um obstáculo inerente ao estudo realizado por Shemilt et al. (2016) deve-se ao facto dos autores não
terem mencionado o algoritmo utilizado. Existem vários modelos baseados em diferentes algoritmos que
podem ser utilizados para classificação de texto, como árvores de decisão, redes neuronais de diversas
arquiteturas, Support Vector Machines, entre outros, pelo que a especificação do algoritmo utilizado no
estudo seria importante. Além do mais, tal aumenta a dificuldade em replicar os resultados obtidos no
estudo desenvolvido por Shemilt et al. (2016).
A falta de especificação dos algoritmos utilizados, bem como dos dados utilizados para treinar os
modelos, não é um problema esporádico nesta área de aplicação, sendo esta especificação não existente
em muitos dos artigos que abordam a aplicação de técnicas de Text Mining para auxiliar a revisão de
literatura. Numa análise crítica que incidiu sobre vários estudos relativos à utilização de Text Mining para
a revisão sistemática, Olorisade, de Quincey, Brereton, e Andras (2016) identificaram que “menos de
20% dos estudos explicaram os algoritmos utilizados, bem com a justificação que levou à decisão de
utilizar esse algoritmo”. Os autores que efetuaram a análise concluíram que existe uma “necessidade
de melhorar a explicação dos algoritmos utilizados, bem como os detalhes do processo utilizado, para
facilitar a replicação dos estudos”.
Saha, Ouzzani, Hammady, e Elmagarmid (2016) determinaram um conjunto de fatores como sendo
desafiantes para a construção de um modelo que consiga obter resultados satisfatórios na etapa de
seleção de estudos da revisão sistemática. Os fatores são os seguintes:

• A extração de features deve ser rápida;

• O algoritmo de previsão deve ser rápido;

• O algoritmo deverá ser capaz de lidar com dados não balanceados.

2.5.6 Mapa de literatura

No mapa de literatura, representado na Figura 14, são identificadas algumas das principais referências,
bem como os relacionamentos existentes entre vários conceitos.

44
Figura 14: Mapa de literatura

45
3 Text mining aplicado a revisões de literatura
A metodologia de Moro et al. (2015) permite auxiliar no processo de revisão de literatura, através da
extração de informação relevante e tendências. No entanto, na metodologia não existe nenhum módulo
cujo foco seja auxiliar o processo de revisão sistemática. Assim, com a presente dissertação pretende-se
desenvolver um modelo que sirva como um complemento à metodologia já existente, na forma de add-on,
sendo o propósito do modelo auxiliar o processo de revisão sistemática que, por norma, é um processo
demorado.
Uma revisão sistemática é um processo complexo, com várias etapas, que incide sobre uma quantidade
vasta de conteúdo científico, pelo que é um processo demorado. Até fatores como a inclusão de um
segundo ecrã para auxiliar os profissionais que estão a efetuar a revisão sistemática têm vindo a ser
analisados com vista a reduzir o tempo despendido neste processo (Wang et al., 2014). A adição de um
segundo ecrã permitiu agilizar o processo, no entanto continuam a existir determinadas etapas nas quais
não foram revelados quaisquer benefícios resultantes de tal adição, sendo a tarefa de abstract screening
uma delas. Assim, e em termos concretos, uma das etapas que pode beneficiar de técnicas de Text Mining
é a tarefa de abstract screeening, inserida na etapa de seleção de estudos, tal como demonstrado por
vários estudos enunciados na secção 2.5.2 da presente dissertação. Além do mais, o desenvolvimento
de modelos para permita estruturar os asbtracts tem sido alvo de estudo, nomeadamente com recurso a
Deep Learning (Dernoncourt et al., 2017).
A etapa de abstract screening envolve a leitura de todo o abstract para determinar se um artigo científico
deverá ser ou não incluído no restante processo de revisão, servindo assim de método de filtragem. Muitos
dos abstracts não apresentam uma estrutura definida, ou seja, é apenas texto. Contudo, é possível atribuir
uma estrutura para o abstract, através da categorização de cada uma das frases desse abstract numa
das seguintes classes, como apresentado no dataset de Dernoncourt e Lee (2017):

• Background

• Objective

• Methods

• Results

• Conclusions

Esta categorização em classes, obtida através de um modelo de classificação de frases de abstracts,


permite que o profissional encarregue da tarefa de abstract screening apenas se foque em determinadas

47
partes do abstract, caso assim o entenda. É possível, por exemplo, que exista um interesse em apenas
incluir no processo de revisão sistemática artigos que tenham um determinado objetivo ou métodos, o que
significa que são as frases dessas classes que terão maior relevância durante a etapa de abstract scree-
ning. Em casos que em o número abstracts que têm que ser lidos é substancial, o facto da informação
estar estruturada poderá ser uma ajuda para quem está a desempenhar esta tarefa consiga encontrar
mais facilmente a informação que pretende. Contudo, a classificação das frases de abstracts não é ape-
nas útil para abstract screening. Modelos de classificação de frases de abstracts podem também ser
utilizados para tarefas de information retrieval, como a pesquisa de artigos que contenham determinados
termos numa classe em específico, permitindo uma pesquisa mais objetiva.
Contudo, para treinar um modelo de classificação de abstracts são necessários dados, pelo que é
necessário efetuar um levantamento daqueles que são os datasets já existentes.
Durante o trabalho desenvolvido existe uma preocupação em detalhar os modelos desenvolvidas e
datasets utilizados, sendo o propósito evitar falhas comuns neste domínio de aplicação e já mencionados
na secção 2.5.5, na qual foram abordados os principais desafios existentes no domínio de aplicação.
Algumas dessas falhas estão primariamente relacionadas como a falta de especificação sobre os modelos
bem como os datasets utilizados para treinar os modelos, dificultando a replicação das experimentações
realizadas em estudos prévios.

3.1 Datasets
Um dos objetivos desta dissertação é treinar um modelo para que, dado um abstract de um artigo cientí-
fico, este seja capaz de categorizar cada uma das frases do abstract.
O principal desafio de treinar um modelo supervisionada deve-se ao facto de ser necessário utilizar um
dataset que apresente os dados devidamente categorizados, para que este possa ser utilizado para treinar
o modelo.
Nesta dissertação, adota-se o dataset de Dernoncourt e Lee (2017) para treinar o modelo de classifi-
cação de frases de abstracts. Entre os principais motivos que levaram à decisão de utilizar este dataset,
encontra-se o facto deste ser um dos poucos datasets que se encontram publicamente disponíveis e, dos
que estão publicamente disponíveis, é o que apresenta a maior quantidade de abstracts.
Devido à escassez de datasets que contenham abstracts de outras áreas científicas, decidiu-se que
seria pertinente criar um novo dataset durante a realização da dissertação, e disponibilizar o mesmo
publicamente. Tendo em conta que a maioria dos datasets são da área da medicina, consideramos que
idealmente o dataset deverá conter abstracts de uma área científica distinta.

48
3.2 Criação de um dataset aplicando inteligência coletiva e crowdsourcing
Inteligência coletiva consiste na utilização do contributo intelectual de várias pessoas, em alternativa do
contributo individual de uma só pessoa, com o intuito de combinar o conhecimento de vários indivíduos
em tarefas cognitivas. A grande vantagem de utilizar o contributo intelectual de um grupo de pessoas deve-
se ao facto do conhecimento agregado das pessoas pertencentes ao grupo ser superior ao conhecimento
individual (Woolley, Chabris, Pentland, Hashmi, & Malone, 2010). Existe uma forte interligação entre
inteligência coletiva e a web. Veja-se que comunidades baseadas na partilha conhecimento já existem há
algum tempo, sobre a forma de fóruns de discussão, inserindo-se no conceito de inteligência coletiva, e
que surgiram anteriormente às atuais redes sociais. Estes fóruns de discussão servem como comunidades
onde os seus intervenientes têm oportunidade de partilhar conhecimento sobre determinados tópicos.
Assim, depreende-se que com recurso aos meios tecnológicos ao nosso alcance, facilmente se con-
segue estabelecer conexões com várias pessoas, partilhando conhecimento e experiência, independen-
temente do quão geograficamente dispersas estas estejam. Estes meios tecnológicos têm servido como
um potenciador para a partilha de conhecimento, sobre as mais variadas formas. Daí resulta o conceito
de crowdsourcing, que visa capitalizar nas vantagens derivadas da inteligência coletiva, utilizando a web
para interligar grupos de pessoas com o intuito de resolver tarefas cognitivas (Brabham, 2008), desde
tarefas como anotação de dados, até à resolução de problemas matemáticos complexos.
Um dos dos principais obstáculos num processo de crowdsourcing deve-se à dificuldade de conseguir
manter os participantes motivados durante este processo. Assim, um dos maiores desafios no desenvolvi-
mento de uma plataforma de crowdsourcing é conseguir desenvolver um sistema que promova e ofereça
um estímulo positivo aos participantes (Morschheuser, Hamari, & Koivisto, 2016), por meio de incentivos.
Na realidade, os incentivos e motivação estão diretamente interligados (Hossain, 2012), visto que um
serve como estímulo (incentivo) para atingir um fim (individuo motivado). Por isso, determinar que estra-
tégias utilizar para motivar os participantes é uma das questões centrais no processo de crowdsourcing
(Massung, Coyle, Cater, Jay, & Preist, 2013).
No que diz respeito ao tipo de motivação, esta pode ser classificada como intrínseca ou extrínseca,
sendo que motivação extrínseca advém de incentivos externos, como uma recompensa monetária ou
outro tipo de compensação. Por outro lado, a motivação intrínseca não resulta de incentivos externos,
mas sim do próprio indivíduo, que obtém satisfação por participar em tarefas de crowdsourcing. Alguns
exemplos de incentivos extrínsecos são (Hossain, 2012):

• Dinheiro;

49
• Cupões de desconto;

• Produtos grátis;

• Prémios no ordenado;

• Oportunidades de carreira laboral.

Em termos de plataformas de crowdsourcing que utilizam motivação extrínseca, mais precisamente


através de incentivos monetários, destacamos particularmente as plataformas Amazon Mechanical Turk4
e Figure Eight5 (anteriormente denominada CrowdFlower). Estas são plataformas de crowdsourcing para
o fim de anotação de dados, funcionando como um serviço que possibilita qualquer pessoas possa obter
dados anotados, desde que se esteja disposto a gastar dinheiro.
Contudo, não é possível aferir com precisão se são os incentivos extrínsecos ou intrínsecos que têm
o papel mas preponderante na participação de processo de crowdsourcing. Na verdade, de acordo com
um estudo efetuado por Zheng, Li, e Hou (2011), os resultados sugerem que a motivação intrínseca é que
tem o papel mais preponderante. No entanto, os autores ressalvam que tal poderá depender do perfil
cultural dos participantes.
Decidiu-se que anotar os dados através de crowdsourcing seria a melhor solução, visto que possibilita
a utilização de inteligência coletiva, potenciando o contributo de várias pessoas. Além disso, o processo
de anotação é demorado, pelo que a execução do mesmo por uma só pessoa demoraria uma quantidade
considerável de tempo. Moura (2014) demonstrou que um processo de crowdsourcing para anotação
de dados pode ser realizado através de uma plataforma web, tendo sido obtidos resultados satisfatórios.
Como foi já referido, existe um conjunto de serviços, como Amazon Mechanical Turk ou Figure Eight,
que permitem efetuar a anotação de dados através de crowdsourcing. Contudo, para a utilização destes
serviços são necessários recursos monetários, pelo que a sua utilização nesta dissertação não é viável. Por
essas razões, optou-se por desenvolver uma plataforma que permita, através de crowdsouring, proceder
à anotação dos dados.
Um dos incentivos de participação na nossa plataforma de crowdsourcing, será o incentivo intrínseco,
que partirá do próprio indivíduo que participa na plataforma, que se sente motivado por estar a ajudar
num projeto de investigação. Uma das limitações associadas à dissertação, deve-se ao facto de ser difícil
introduzir um incentivo extrínseco de cariz monetário. No entanto, tal não elimina a necessidade de definir
um conjunto de incentivos adicionais, nomeadamente no que aos incentivos extrínsecos diz respeito.

4
https://www.mturk.com/
5
https://www.figure-eight.com/

50
Uma das alternativas possíveis consiste na utilização de gamification. Gamification resume-se à intro-
dução de mecanismos habitualmente presentes em jogos, como mecanismos de pontuações e leaderbo-
ards, em plataformas web ou outro tipo de aplicações (Deterding, Dixon, Khaled, & Nacke, 2011). Estes
mecanismos, como pontos ou leaderboards, servem de incentivo aos participantes. Na verdade, gamifi-
cation tem sido aplicado com sucesso em crowdsourcing (Dumitrache, Aroyo, Welty, Sips, & Levas, 2013;
Morschheuser et al., 2016), tendo sido uma das técnicas adotadas por Moura (2014) na sua plataforma.
Massung et al. (2013) também utilizaram gamification e, além de pontos, desenvolveram e integraram
um sistema de badges.

3.2.1 Recolha de abstracts

Antes de proceder ao desenvolvimento da plataforma, é necessário recolher os dados. Esses dados serão
depois anotados, através da identificação da classe de cada frase, sendo que o processo de anotação
é efetuado através de crowdsourcing. Existem várias plataformas que disponibilizam artigos científicos,
no entanto nem todas têm uma política bem definida naquilo que pode ser disponibilizado publicamente,
nomeadamente sob a forma de dataset.
O arXiv, que serve de arquivo científico, foi a única plataforma que encontramos na qual a política de
utilização estava bem definida, permitindo utilizar os metadados (nos quais se inclui os abstracts dos
artigos) recolhidos através da API para fins comerciais ou não comerciais: “Metadata for arXiv articles
may be reused in non-commercial and commercial systems”6 .
Por este motivo, optou-se por utilizar os abstracts de artigos do arXiv, tendo-se procedido à utilização
da API de metadados para recolher um conjunto de abstracts. Contudo, o acesso à API não foi efetuado
de forma direta, mas sim através de um package, denominado aRxiv para o software R, disponibilizado
por Ram e Broman (2017). Este package serve como uma camada de abstração que permite acader à
API através de um conjunto de funções disponibilizados no package para o R. Foi definido que apenas
artigos pertencentes à área de ciências de computação seriam considerados, para que seja o dataset seja
baseado numa área completamente díspar à de outros datasets, que tipicamente são de áreas relaciona-
das com medicina. Também se definiu que, dentro da área de ciências da computação, existiria um foco
em especial de artigos da área de social media. Para obter apenas artigos relacionados com a temático
social media, pesquisou-se por artigos que no seu título incluíssem algum destes termos: ‘social media’,
‘social network’ ou ‘social networks’. Assim, apenas artigos que contenham esses termos no título serão
retornados na pesquisa.

6
https://arxiv.org/help/oa/index

51
Para obter os metadados dos artigos, foi executado o seguinte código em R:

l i b r a r y (” aRxiv ”) # c a r r e g a r package
# e f e t u a r p e s q u i s a de a r t i g o s
d a d o s <− a r x i v _ s e a r c h ( ’ t i : ” s o c i a l m e d i a ” OR t i : ” s o c i a l n e t w o r k ”
OR t i : ” s o c i a l n e t w o r k s ” ’ ,
s o r t _ b y = ” u p d a t e d ” , a s c e n d i n g = FALSE , l i m i t = 2000)
# apenas i n c l u i r dados p e r t e n c e n t e s à c a t e g o r i a Computer S c i e n c e
d a d o s _ f i l t r a d o s <− s u b s e t ( d a d o s , g r e p l ( ” ^ c s ” ,
dados$primary_category ) )

Um dos fatores limitativos da API e consequentes funções disponibilizados pelo package, prende-se com
o facto de não existir uma forma que possibilite obter, através da definição de um filtro durante o processo
de pesquisa, apenas artigos que estejam escritos em inglês. Deste modo, e apesar da vasta maioria dos
artigos estarem escritos em inglês, é necessário aplicar uma estratégia que permita a filtragem dos artigos
escritos noutra língua, visto que apenas necessitamos de abstracts escritos em inglês. De forma manual,
tal seria um procedimento demorado, visto que era necessário ler os abstracts para verificar a língua
em que foram escritos, pelo que é necessário automatizar este processo de forma a detetar a linguagem
utilizada em cada um dos asbtracts. Para tal, utilizou-se o package textcat (Feinerer et al., 2013) para o R,
que permite detetar a linguagem na qual o texto foi escrito. Através do package, identificou-se que quatro
dos abstracts estavam escritos em outra língua que não inglês, tendo-se procedido à remoção desses
abstracts. O número reduzido de abstracts escritos em outras línguas que não o inglês sugere que a
vasta maioria dos artigos presentes no arXiv são, de facto, escritos em inglês.

3.2.2 Plataforma para anotação dos dados

Infraestrutura tecnológica da plataforma


Para que a plataforma desenvolvida esteja acessível online, optou-se por utilizar um serviço cloud com-
puting, permitindo agregar o software e hardware necessário para o funcionamento da plataforma. No
entanto, existem vários modelos de cloud, pelo que primeiro é necessário efetuar um levantamento dos ti-
pos de cloud existentes, com o intuito de averiguar a que melhor se adequa às necessidades da plataforma
de anotação de dados.
As clouds podem ser distinguidas pelo tipo de serviço: Infrastructure as a Service, Platform as a Service
e Software as a Service. Estes tipos de cloud têm diferentes níveis de abstração, resultando em diferentes
níveis de complexidade e flexibilidade. Software as a Service é o tipo de cloud que tem um maior nível de

52
abstração, sendo ideais para fornecer um software como um serviço, garantido o acesso ao software em
questão por parte dos utilizadores através da Internet, eliminando a necessidade de instalar o software no
computador pessoal dos seus utilizadores. Um exemplo disso é o Google Docs, proporcionando o acesso
a um editor de texto através do browser. Assim, este tipo de serviço cloud tem um elevado nível de
abstração, eliminando a necessidade de gerir as várias camadas subjacentes, como hardware e sistema
operativo.
Outro modelo de cloud, com um menor nível de abstração comparativamente ao Software as a Service,
é o de Platform as a Service. Este modelo de cloud serve maioritariamente como uma ferramenta de
suporte ao desenvolvimento de aplicações (Dillon, Wu, & Chang, 2010), permitindo o desenvolvimento
da aplicação (através de ferramentas de desenvolvimento pré-instaladas), assim como a disponibilização
da própria aplicação desenvolvida a utilizadores externos. São algumas as vantagens da utilização deste
modelo de cloud, como o facto de não ser necessário instalar e configurar sistemas operativos, assim
como a eliminação da necessidade de gerir as ferramentas de desenvolvimento. Contudo, tal é obtido à
custa de uma diminuição no nível de flexibilidade.
O modelo de cloud com o menor nível de abstração é o de Infraestruture as a Service, pelo que é o
que apresenta maior complexidade, com um nível superior de flexibilidade em contrapartida. Este modelo
de cloud assegura o acesso a uma infraestrutura de recursos computacionais, permitindo efetuar uma
seleção daquele que é o hardware pretendido, conforme as necessidades do projeto em questão. Além do
mais, ao nível do software, é possível efetuar a configuração desejada, tanto a nível de sistema operativo
bem como as ferramentas nele instaladas, daí a maior flexibilidade proporcionada por este modelo de
cloud.
A Tabela 5 sumariza as ferramentas selecionadas para suportar o funcionamento da plataforma, e que
têm que ser instaladas e configuradas no serviço de cloud. Tanto o sistema operativo Ubuntu, bem como
as ferramentas MariaDB e Nginx são open-source. No que diz respeito ao servidor web adotado, uma
alternativa válida seria o Apache, em detrimento do Nginx, no entanto selecionou-se o Nginx pelo facto de
apresentar melhor desempenho e uma menor exigência de memória (Suciu, Scheianu, & Vochin, 2017).

Tabela 5: Várias ferramentas que suportam a plataforma de anotação de dados, bem como a função de cada uma delas.

Função Ferramenta adotada


Sistema Operativo Ubuntu 16.04 Server
Sistema de Gestão de Base de Dados MariaDB
Servidor Web Nginx
Framework PHP Laravel (PHP 7.2)

53
Feita a distinção dos vários modelos de cloud, e tendo em conta a infraestrutura tecnológica necessária
para o funcionamento da framework Laravel, foi concluído que uma solução do tipo Infraestructure as a
Service seria ideal. Isto porque é necessário instalar vários componentes, como o Sistema de Gestão de
Base de Dados (SGBD) e o servidor web, assim como a devida configuração destes mesmos componentes
para que interagem corretamente entre si, pelo que o elevado grau de flexibilidade associado a uma cloud
de modelo Infrastructure as a Service é um requisito essencial.
Ao nível dos fornecedores de serviços cloud, estes são alguns dos que se enquadraram no modelo
Infrastructure as a Service: Amazon Elastic Compute Cloud, Google Cloud, Microsoft Azure e Digital
Ocean. Destes fornecedores, optou-se por utilizar o Amazon Elastic Compute Cloud. A opção de utilizar
este fornecedor recaiu maioritariamente sobre dois fatores:

• É o fornecedor com a maior percentagem de market share (Panettieri, 2017), com cerca de 40%
do mercado de cloud do tipo Infrastructure as a Service;

• Foram oferecidos créditos de utilização, ao abrigo do programa para estudante da Amazon Elastic
Compute Cloud, que nos permitem utilizar este serviço.

Como as exigências computacionais da plataforma são reduzidas, optou-se por utilizar a instância
t2.micro (nomenclatura utilizada na Amazon Elastic Compute Cloud), que se manifestou suficiente para
as necessidades da plataforma. As caraterísticas de hardware desta instância são apresentadas na Tabela
6.
Tabela 6: Caraterísticas de hardware, tendo por base a instância t2.micro.

Componente Caraterísticas
CPU Intel Xeon CPU E5-2620 v3 2.40GHz
Memória RAM 1 GB
Capacidade de armazenamento 30 GB (Solid-State Drive)

Descrição da plataforma de crowdsourcing


A plataforma foi desenvolvida com recurso à framework de PHP Laravel e alojada na cloud. Para dar
um aspeto mais profissional à aplicação, até porque se pretender obter o maior número de participantes
possível é um fator importante, foi comprado um domínio, pelo que o acesso à plataforma é feito através
do seguinte endereço:
http://classifyabstracts.info/
É uma plataforma web responsiva, pelo que se adapta a diferentes resoluções dos dispositivos, in-
cluindo dispositivos móveis. A aplicação foi partilhada com alunos e docentes, maioritariamente pertences

54
à Universidade do Minho e Instituto Universitário de Lisboa, através de apelos à participação no processo
de crowdsourcing efetuados por email. À semelhança de Moura (2014), optou-se por utilizar um sistema
de login que apenas exige a introdução de um email, seja ele fictício ou não. Este email apenas necessita
de ter uma estrutura válida, ou seja, tem que obrigatoriamente conter o caracter ‘@’, bem como acabar
com uma extensão de endereço válida, tais como ‘.net’, ‘.org’, ‘.com’ ou outras.
Optou-se por criar um sistema de login no qual não é necessário a introdução de uma password. Esta
decisão está relacionado com o facto da plataforma ter sido divulgada apenas em grupos restritos perten-
centes a instituições universitárias. Além do mais, este mecanismo de autenticação evita a confirmação
de contas por email, tornando o processo mais simples, visando impulsionar a participação no processo
de crowdsourcing. Além do mais, esta opção de utilizar o email como forma de autenticação, baseia-se
no facto do utilizador não poder começar imediatamente a classificar abstracts, sendo o seu acesso inicial
à plataforma bastante restrito. Para que não hajam restrições de acesso, o utilizador tem primeiro que
completar um pequeno tutorial na plataforma, servindo como um mecanismo de filtragem de utilizadores
mal intencionados. Poderá argumentar-se que um utilizador mal intencionado poderia despender o tempo
necessário para completar o tutorial, contudo o mesmo é válido para um login que necessite de password
e email, visto que é relativamente simples criar e confirmar um email falso. Caso o utilizador assim o
pretenda, poderá ser mesmo utilizado por parte do utilizador um email falso.
Seria também possível combinar ambas as abordagens, isto é, ser estritamente necessário um email
válido bem como completar o tutorial de iniciação para conseguir participar na plataforma. No entanto,
tal poderia aumentar em demasia o esforço necessário para que um utilizador conseguisse participar
ativamente na plataforma, resultando numa provável diminuição do número de participantes no processo
de crowdsourcing.
Caso o utilizador não esteja autenticado, será apresentada a este a página inicial da plataforma. Na
página inicial, como demonstrado na Figura 15, são apresentados ao utilizador vários detalhes e instruções
relativas à plataforma.

55
Figura 15: Página de entrada da plataforma.

A plataforma é responsiva, pelo que também também pode ser utilizada em smartphones, como de-
monstra a Figura 16.

56
Figura 16: Página de entrada vista num smartphone.

Após o utilizador estar autenticado, é necessário que este complete um tutorial de iniciação. O utilizador
apenas necessita de completar este tutorial se ainda não o tiver feito no passado. A primeira etapa deste
tutorial consiste em ler alguns exemplos de classificações para frases de abstracts, para que o utilizador
se familiarize com as classificações possíveis de frases de abstracts. Esta primeira etapa do tutorial é
apresentada na Figura 17.

57
Figura 17: Primeira etapa do tutorial de iniciação.

Na segunda e última etapa do tutorial de iniciação, o utilizador deverá classificar corretamente cada
uma das frases de um abstract. Caso as respostas dadas estejam corretas, o utilizador poderá começar a
classificar abstracts na plataforma de crowdsourcing, sendo-lhe atribuídos de forma automática os devidos
acessos.
Para simplificar o processo de anotação, a seleção da classificação de cada uma das frases é feita
através de dropdowns, como demonstra a Figura 18.

58
Figura 18: Segunda e última etapa do tutorial de iniciação.

Caso as respostas estejam erradas, é apresentado um aviso a indicar tal facto, e o utilizador terá que
repetir a última etapa do tutorial. Esta situação é apresentada na Figura 19.

59
Figura 19: Aviso de respostas erradas na última etapa do tutorial.

No caso das respostas dadas na última etapa do tutorial estarem corretas, o utilizador passará a ter
acesso a todas as funcionalidades presentes na plataforma. A classificação das frases é feita através
de dropwdowns, para tornar o processo de classificação o mais simples e rápido possível, visto que o
utilizador apenas necessita de selecionar a classe apropriada para cada uma das frases e no fim carregar
no botão Submit. A página onde é efetuada a classificação dos abstracts está presente na Figura 20.

60
Figura 20: Página onde se procede à classificação das frases do abstract.

Após o utilizador classificar as frases do abstract, é demonstrada uma mensagem que indica o número
de abstracts já classificados pelo utilizador. O utilizador pode ainda continuar a classificar abstracts, como
evidenciado na Figura 21.

61
Figura 21: Aspeto da páginas após classificação de um abstract.

Como incentivo extrínseco, foram introduzidos componentes de gamification, como pontos, sendo que
estes possibilitam o desbloqueio de diferentes níveis. Esses pontos são atribuídos em equivalência ao
número de abstracts classificados pelo utilizador, sendo que os pontos necessários para alcançar cada
um dos níveis estão identificados na Tabela 7.
Tabela 7: Pontos necessário para alcançar cada um dos níveis

Nível Pontos necessário para alcançar o nível


Bronze 10
Prata 50
Ouro 100

O utilizador pode ver o seu progresso, nomeadamente para consultar os níveis que já atingiu bem como
os que faltam ainda atingir, na página Achievements, como evidenciado na Figura 22. Nessa página os
participantes podem verificar quantos pontos já têm, que níveis já foram atingidos, o número de pontos

62
necessários para atingir cada um dos níveis, bem como o diferencial (caso exista) entre o número de
pontos já obtidos e o número de pontos necessários para cada nível. Cada um dos níveis (bronze, prata
e ouro) está destacado com as respetivas cores.

Figura 22: Página de achievements.

No que diz respeito à participação no processo de crowdsourcing, constatou-se que uma pequena
percentagem dos utilizadores tem uma contribuição substancial no processo de anotação de dados, tendo
sido poucos os utilizadores que classificaram mais de 50 abstracts, como comprovável na Figura 23. A
vasta maioria dos utilizadores classificou entre 1 a 10 abstracts, tendo sido 100 abstracts o número
máximo de abstracts classificados por um utilizador. Este tipo de fenómeno, relativo à desigualdade no
esforço dedicado pelos participantes no processo de crowdsourcing, é comum em comunidades online
nas quais o seu funcionamento tenha por base o contributo dos participantes da comunidade, onde são
comuns situações nas quais apenas uma pequena percentagem de utilizadores tem uma contribuição
significativa (Nielsen, 2006).

63
Figura 23: Gráfico que demonstra o número de utilizadores consoante o intervalo de abstracts classificados.

No total, 76 utilizadores diferentes efetuaram login na plataforma. Contudo, nem todos os utilizadores
chegaram a integrar o processo de crowdsourcing, visto que alguns deles não completaram o tutorial de
iniciação. A função do tutorial de iniciação é familiarizar os indivíduos com os conceitos e mecanismos
utilizados na plataforma. Deste modo, quem não completar o tutorial de iniciação tem um acesso restrito
à plataforma, não sendo possível a esses utilizadores procederem à classificação de abstracts. No gráfico
presente na Figura 24 são comparados os números de utilizadores por tipo de acesso, sendo visível que
a maioria dos utilizadores completou o tutorial de iniciação, tendo acesso total às funcionalidades da
plataforma.

64
Figura 24: Comparação entre o número de utilizadores que têm acesso total à plataforma, pois completaram o tutorial de iniciação, e o
número de utilizadores com acesso restrito.

3.3 Caraterização dos datasets a utilizar


Para uma melhor compreensão do problema, é útil efetuar uma caraterização de cada um dos datasets.
Ao longo desta dissertação, serão utilizados dois datasets para treinar os modelos propostos. Um deles, é
o dataset recolhido através da plataforma de crowdsourcing desenvolvida, e outro é um dataset publicado
por outros autores, que é o dataset PubMed 20k (Dernoncourt & Lee, 2017).
Decidiu-se designar o dataset desenvolvido na presente dissertação com o nome de CS Abstracts,
que significa Computer Science Abstracts, pelo que esta será a nomenclatura utilizada para referenciar o
nosso dataset, que foi obtido através do processo de crowdsourcing. É substancial a diferença no número
de abstracts e, consequentemente, o número de frases presentes em ambos os datasets. O dataset
PubMed 20k tem uma quantidade bastante mais vasta de abstracts. Tal pode ser comprovado através
da observação da Tabela 8, onde se verifica que o número de abstracts e respetivo número de frases de
cada um dos datasets, categorizado por dados de treino, validação e teste.

65
Tabela 8: Número de abstracts e frases para cada um dos datasets, separados por dados de treino, validação e teste.

Dataset Treino Validação Teste


Número de abstracts 15000 2500 2500
PubMed 20k
Número de frases 180000 30000 30000
Número de abstracts 500 77 77
CS Abstracts
Número de frases 3287 824 619

A distribuição dos abstracts pelas partições de dados de treino, validação e teste, no caso do dataset CS
Abstracts, foi feita de forma a manter a distribuição das classes pelas várias partições o mais uniforme
possível. De acordo com Ng (2017) o facto de os dados de treino, validação e teste terem a mesma
distribuição evita que se desenvolva um modelo que tenha um desempenho fora do expectável quando
colocado em ambiente produtivo. Um modelo é treinado através dos dados de treino, sendo que o modelo
é refinado consoante os resultados este tem nos dados de validação. Contudo, e segundo Ng (2017), se as
diferentes partições de dados seguirem distribuições diferentes é provável que, ao testar os modelos nos
dados de teste, o modelo tenha um desempenho totalmente diferente daquele que era obtido nos dados
de treino e validação. Assim, todas as partições (treino, validação e teste) deverão seguir a distribuição
original dos dados. Na Figura 25 está presente a distribuição das classes pelas várias partições de dados
para o dataset CS Abstracts.

Figura 25: Frequências relativas para o dataset CS Abstracts.

66
No que diz respeito à distribuição das classes do dataset PubMed 20k, este já vinha com a devida
distribuição dos dados pelas partições efetuada pelos autores, sendo essa distribuição apresentada na
Figura 26.

Figura 26: Frequências relativas para o dataset PubMed 20k.

Após a análise das distribuições de ambos os datasets, verifica-se que estes têm uma distribuição bas-
tante diferente. No Crowdsourced dataset as classes mais representadas são ‘Background’ e ‘Methods’,
enquanto no dataset PubMed 20k a classe maioritária é ‘Results’, seguida da classe ‘Methods’. A classe
‘Background’ é a menos representada no dataset PubMed 20k, algo completamente contrário ao que
acontece no dataset CS Abstracts, pois é a mais representada.

3.4 Modelação das arquiteturas

3.4.1 Ferramentas tecnológicas

Para o propósito de Text Mining, em termos de linguagem de programação foi maioritariamente utilizado
Python. Além disso, foram adotados um conjunto de packages, como o Keras, que possibilita a criação
de modelos com arquiteturas com caraterísticas de Deep Learning. Assim, para conceber as arquiteturas
dos modelos, treinar os modelos, bem como efetuar as previsões foi utilizado este package.
Para obter as diversas métricas relativas aos dados de teste, possibilitando uma avaliação detalhada
do modelo, como é o casos das métricas precisão, sensibilidade, F1-score bem como as curvas ROC (e
respetivas áreas abaixo da curva) adotou-se o package scikit-learn. Este package permite obter todas estas

67
métricas e além disso obter a média destas através dos métodos macro average e weighted average, à
exceção da área abaixo da curva ROC, para a qual o package apenas permite obter o valor médio através
do método macro average.
Para complementar a avaliação dos modelos, utiliza-se o package Lime (Ribeiro, Singh, & Guestrin,
2016) que permite efetuar uma interpretação dos modelos através de visualizações geradas através do
package.

3.4.2 Hardware

No que diz respeito ao hardware necessário para treinar os modelos, decidiu-se recorrer a uma infraestru-
tura de cloud, mais concretamente através da utilização dos serviços disponibilizados pela Amazon Elastic
Compute Cloud. Esta decisão recai maioritariamente sobre facto de tal possibilitar o acesso a compo-
nentes de alto desempenho, como uma Graphical Processing Unit (GPU). Treinar modelos baseados em
arquiteturas de Deep Learning é menos demorado numa GPU comparativamente a uma unidade central
de processamento (Shi, Wang, Xu, & Chu, 2016), pelo que a utilização de uma GPU permite agilizar o
processo de prototipagem e teste de diversos modelos. Especificamente, utilizou-se uma instância da
Amazon Elastic Cloud do tipo p2.xlarge, que por sua vez apresenta as seguintes caraterísticas:

• GPU: Nvidia Tesla K80

• Ram: 61 GB

• CPU: Intel Xeon E5-2686 v4 2.30 GHz

A utilização de uma instância deste tipo torna exequível uma experimentação mais abrangente, visto que
as limitações de hardware são poucas, especialmente quando comparado com o hardware tipicamente
presente em computadores pessoais, que apresentam especificações bastante inferiores às enunciadas
para a instância p2.xlarge.

3.4.3 Arquitetura proposta para classificação de abstracts

Para a classificação das frases dos abstracts nas várias categorias possíveis, foi desenvolvido um modelo
cujo a arquitetura apresenta caraterísticas de Deep Learning, apresentando várias layers. A arquitetura
proposta utilizar uma layer convolucional e uma layer GRU. No nosso modelo o propósito da layer con-
volucional é, dado um conjunto de inputs (que neste caso são palavras), obter vários features maps e,
desses feature maps, conseguir extrair as features mais importantes, sendo utilizado Max Pooling para
esse propósito. Tal implica que, após a layer convolucional, exista uma layer de Max Pooling.

68
Além do mais, foi adotada uma layer recorrente, neste caso GRU. Visto que uma layer recorrente
permite modelar interdependências existentes entre vários elementos que são dados com input, optou-se
por utilizar uma layer GRU com a intenção de capturar informação a cada uma da frase do abstract e,
desse modo, obter melhor desempenho.
Assim, para o propósito de classificação das frases dos abstracts, desenvolvemos este modelo baseado
em Deep Learning, que dá pelo nome de Word-BiGRU, para o qual se passa a explicar detalhadamente o
seu funcionamento, desde receber um input, até ao respetivo output (previsões).
Como é usual em modelos com caraterísticas de Deep Learning, no modelo Word-BiGRU é também
necessário obter um vetor que seja representativo das palavras. Para tal, utilizaram-se vetores que foram
pré-treinados em dados textuais da Wikipedia.
Cada abstract é formado por um conjunto de frases (f1 , ..., fi ), em que fi corresponderia à frase
situada na última posição de um dado abstract. Além disso, cada frase tem um conjunto de palavras.
Considere-se a frase i de um determinado abstract o conjunto de n palavras dessa frase do abstract é
dado por: (xi1 , ..., xin ).
A cada uma dessas palavras é atribuída uma representação vetorial, sendo que essa representação
vetorial corresponde às representações vetoriais obridas pelo Glove, pré-treinado em dados textuais da
Wikipedia (Pennington et al., 2014).

69
arquiettura.xml https://www.draw.io/

Posição Word Layer de Max


da frase Embedding convolução Pooling GRU bidirecional Concatenação Output

1
x 11
g1 z1
x 12

k1
... →
h1 ←
...

h1

x 1n y1

...
...
...

...
x i1
zi
gi yi
x i2 ki

... →
...

hi ←
hi

x in

i

Figura 27: Arquitetura do modelo proposto (Word-BiGRU).

Para obter um vetor representativo de cada uma das frases é necessário desempenhar todo um pro-
cesso que, através dos word embeddings, permita a obtenção desse vetor. Neste caso, tal é feito através
de uma layer de convolução, seguida de uma layer de Max Pooling. Como mencionado na secção 2.2.1,
uma convolução é feita através de uma abordagem de janela deslizante, através das quais são obtidas
várias features, sendo que o tamanho da janela é igual equivale ao tamanho do filtro.
Seja E[i : j] a sub-matriz abrangida pelo filtro, e que vai da linha i à linha j, uma feature ci é obtida
por:

ci = f (w ∗ E[i : i + h − 1] + b) (20)

onde f é a função de ativação, b é o valor de bias e w ∈ Rh×d é o filtro da convolução, de tamanho h.


Ao conjunto de features dá-se o nome de feature map. Para uma única frase, através da layer de
convolução, são produzidos vários feature maps. Como se pretende que uma frase seja representada
1 de 1 por um único vetor, é necessário converter os vários features maps de uma frase numa só representação 15/08/2018, 19:15

vetorial. Tal é feito através de uma layer de Max Pooling que, dos vários feature maps, extrai os valores

70
máximos. Assim, daí resulta um vetor representativo para cada uma das frases desse mesmo abstract,
sendo que o conjunto (g1 , ..., gi ) representa as várias frases de um abstract.
Estes vetores são utilizados como input de uma layer GRU bidirecional. O propósito desta layer é obter
representações de frases que contenham informação contextual. Tal é possível devido ao facto de numa
layer GRU bidirecional existir uma estrutura chamada hidden states, sendo atribuído um hidden state para
cada uma das frases do abstract, pelo que existem interdependências entre os vários hidden states. Seja
hi o hidden state da frase i, este dependerá do hiddden state hi−1 , que é o hidden state correspondente
à frase que ocupa a posição anterior no abstract.
Em primeira instância, no GRU é calculada uma update gate e uma reset gate, que determina a infor-
mação que não é relevante do hidden state anterior. A reset gate i é dada por:

ri = σ(Wr gi + Ur hi−1 + br ) (21)

onde Wr e Ur são as respetivas matrizes de pesos.


Através do produto de Hadamard, denotado pelo símbolo ⊙, é cálculado o hidden state candidato h̃i ,
onde será eliminada informação do hidden state anterior na proporção determinada pela reset gate ri :

h̃i = tanh(Wh gi + Uh (rt ⊙ hi−1 ) + bh ) (22)

Além do mais, é necessário calcular uma update gate ui que determina a informação que será utilizada
da respetiva representação vetorial gi da frase, para o cálculo do respetivo hidden state:

ui = σ(Wu gi + Uu hi−1 + bu ) (23)

Combinando o hidden state candidato com o hidden state anterior, assim como as respetivas update
gate para controlar que informação nova deverá ser armazenada, o hidden state hi é obtido por:

hi = ui ⊙ h̃i + (1 − ui ) ⊙ hi−1 (24)

Relembra-se que a layer GRU é bidirecional, o que significa que este processo é também produzido no
sentido inverso, mas em vez de ser considerado o hidden state situada na posição anterior, é considerado
o hidden state na posição posterior. Assim, para cada um dos abstracts resultam dois conjuntos de hidden
states. Um dos conjuntos é respetivo aos hidden states obtidos no sentido normal, isto é, o processo de

71
obtenção dos hidden states é feito da primeira para a última frase do abstract:


→ −

(h1 , ..., hi ) (25)

O outro conjunto de hidden states é obtido na ordem inversa, o que significa que os hidden states são
obtidos da última para a primeira frase do abstract:


− ←

(h1 , ..., hi ) (26)

Assim, para uma frase existem dois hidden states, sendo estes concatenados para a obter a represen-
tação vetorial ki da frase que leva em consideração a informação contextual:


→ ← −
ki = [ hi ⊕ hi ] (27)

onde ⊕ é o operador de concatenação.


Um das das caraterísticas do nosso modelo, é o facto de combinar uma feature numérica, que neste
caso é um número inteiro (1, ..., i) indicativo da posição que a frase ocupa no abstract, que é concatenada
com a representação vetorial da frase. Para esse fim, o vetor representativo de cada umas frases é
concatenado com o número inteiro que indica a posição que essa frase ocupa no abstract, do qual resulta
um novo vetor ki que, consequentemente, terá mais uma posição na sua estrutura vetorial:

zi = [ki ⊕ i] (28)

A previsão das classes é efetuada através de uma layer softmax, que leva em consideração cada dos
vetores para calcular as probabilidades de uma frase pertencer às diferentes classes existentes.

3.4.4 CNN

Uma forma de comprovar a utilidade da nossa arquitetura, consiste em comprará-la com uma arquitetura
mais simples. Uma rede neuronal convencional (CNN) apresenta as caraterísticas ideais para efeitos
comparativos. Isto deve-se ao facto da principal diferença entre o modelo proposto (Word-BiGRU) e o
modelo CNN deve-se ao facto do modelo Word-BiGRU ter uma layer GRU bidirecional, ao contrário do
modelo CNN, que não apresenta essa layer. Como é possível constatar na Figura 28, neste modelo deixa
de existir uma layer GRU bidirecional onde são calculados os vários hidden states, pelo que o modelo
apresenta uma arquitetura mais simples.

72
arquiettura.xml https://www.draw.io/

Posição Word Layer de Max


da frase Embedding convolução Pooling Concatenação Output

1
x 11
g1 z1
x 12

g1
...
...

x 1n y1
...

...
x i1
gi zi
gi
yi
x i2

...
...

x in

i

Figura 28: Arquitetura do modelo CNN.

O principal objetivo da inclusão deste modelo é verificar se a complexidade adicional presente na arqui-
tetura Word-BiGRU, com o propósito de considerar informação contextual do abstract, é uma complexidade
justificada. Como o principal fator distintivo de ambos os modelos é a layer GRU bidirecional, através da
comparação de ambos os modelos é possível concluir se a utilização dessa layer se traduz numa mais-
valia. Idealmente, o modelo Word-BiGRU deverá ser capaz de obter melhores resultados do que o modelo
CNN.

3.5 Integração dos modelos na plataforma


Em concordância com a metodologia CRISP-DM, foi efetuada a implementação dos modelos, mais con-
1 de 1 15/08/2018, 19:24
cretamente numa plataforma web. Foi efetuada uma integração com a plataforma web incialmente desen-
volvida para anotação de dados através de crowdsourcing. Assim, os modelos desenvolvidos em Python

73
foram integrados com o Laravel.
Em termos de de integração dos modelos na plataforma, o Laravel (PHP) envia o abstract a ser clas-
sificado, através de um objecto JSON, para o Python. Por sua vez, o Python faz um conjunto de pré-
processamento de dados, envolvendo a separação e numeração das frases e, subsequentemente, pro-
cede à classificação das váras frases do abstract. Por sua vez, o Python retorna as devidas classificações
através de um objeto JSON, cabendo ao Laravel tratar essa informação de forma a mostrá-la ao utilizador.
Estas trocas de dados estão identificadas na Figura 29.

Figura 29: Trocas de informação entre Laravel e Python.

Na plataforma foi implementado o modelo Word-BiGRU, treinado no dataset dataset CS Abstracts. O


aspeto da página de classificação de abstracts é o apresentado na Figura 30, na qual o utilizador poderá
proceder à introdução do abstract para classificação.

74
Figura 30: Página de classificação de abstracts.

O processo através do qual as várias frases do abstract são classificadas é abstraído do utilizador,
sendo que este apenas terá acesso ao resultados final devolvidos pelo modelo. Isto é, para os utilizadores
não é visível a interação que tem que ocorrer entre o Laravel e Python para que seja possível classificar as
frases do abstract. Após o abstract ser classificado, este é retornado ao utilizador de forma estruturada,
numa tabela, onde para cada uma das frases desse abstract é apresentada a respetiva classificação em
classes. Na Figura 31 é apresentada a página onde o utilizador verá o resultado da classificação efetuado
pelo modelo de classificação de texto.

75
Figura 31: Página de apresentação dos abstracts classificados, com as respetivas classes de cada uma das frases identificadas numa tabela.

O objetivo de integrar o modelo na plataforma web é possibilitar a sua aplicação e utilização por parte
de qualquer pessoa, sem obrigar que esta necessite de conhecimentos técnicos, nomeadamente ao nível
de linguagens de programação, bem como eliminar a necessidade de instalar software.

76
4 Resultados
No presente capítulo e, numa primeira instância, são detalhadas as métricas de avaliação utilizadas.
Subsequentemente, de acordo com essas métricas, são apresentados e discutidos os resultados obtidos
com os modelos de classificação de texto e respetivas comparações. São apresentados os resultados
para os dois datasets: PubMed 20k e CS Abstracts. É também analisado o comportamento dos dois
modelos de classificação desenvolvidos na presente dissertação, de forma a compreender os fatores que
influenciam as previsões efetuadas pelos modelos e, por sua vez, os resultados obtidos.

4.1 Métricas de avaliação


Para avaliar os modelos de classificação de texto optou-se por adotar as seguintes métricas: precisão,
sensibilidade, e F1-score. Considere-se que cada classe é representada por c ∈ C, em que C é o
conjunto de todas as classes, para o cálculo e compreensão destas métricas, é relevante compreender
os seguintes conceitos:

• Verdadeiros positivos, representado por T Pc , corresponde ao número de instâncias que que foram
corretamente classificadas como pertencendo à classe c;

• Verdadeiros negativos, representado por T NC , corresponde ao número de instâncias que foram


corretamente classificadas como não pertencendo à classe c;

• Falsos positivos, representado por F Pc , corresponde ao número de instâncias que foram incorre-
tamente classificadas como pertencendo à classe c;

• Falsos negativos, representado por F Nc , corresponde ao número de instâncias que foram incor-
retamente classificadas como não pertences da classe c, quando na realidade pertenciam a essa
classe.

Para uma dada classe, representada por c, a precisão traduz a percentagem de instâncias que foram
classificadas pelo modelo como sendo da classe c, e são efetivamente pertencentes à classe c:

T Pc
Precisãoc = (29)
T Pc + F Pc
Por outro lado, a métrica sensibilidade dá-nos informação sobre a percentagem de instâncias perten-
centes à classe c que o modelo foi capaz de identificar:

77
T Pc
Sensiblidadec = (30)
T Pc + F Nc
Para complementar as métricas de precisão e sensibilidade utilizamos o F1-score, que permite obter
um valor médio que consequentemente engloba os valores de precisão e sensibilidade obtidos:

Precisãoc × Sensibilidadec
F1-scorec = 2 × (31)
Precisãoc + Sensibilidadec
Estas métricas são calculadas para cada uma das classes presentes no dataset. Para ter uma pers-
petiva do desempenho geral do modelo que englobe as várias classes, e não apenas uma em particular,
é necessário utilizar um método que possibilite obter uma média da métrica de avaliação. Os métodos
macro average e weighted average são dois dos principais métodos pelos quais é possível obter um valor
que possibilite uma avaliação do desempenho global do modelo, pelo que são estes os dois métodos
adotados para avaliação dos modelos. Uma média calculada pelo método macro average é calculada
de modo a que classe tenha o mesmo peso no cálculo do valor médio. Assim, o valor obtido através
deste método para uma determinada métrica, como por exemplo a precisão, é obtida através da seguinte
equação:
1 ∑
Macro AveragePrecisão = Precisãoc (32)
|C| c∈C

Uma desvantagem associada à utilização do método macro average para o cálculo da média é facto de
não ser considerado o número de instâncias de cada classe, pelo que não há uma distinção dos pesos
atribuídos a cada classe. Mesmo em casos em que o número de instâncias de uma classe é bastante
reduzido, o peso dado a essa classe é exatamente igual. Em certas ocasiões, tal poderá causar a obtenção
de resultados que induzem em erro, dando uma perspetiva enganadora do desempenho dos modelos.
Por esse motivo, optou-se por complementar os resultados obtidos por esse método através da introdução
do método de weighted average, no qual o cálculo da média é ponderada em função dos vários pesos
das classes, o que implica que a média de uma determinada métrica dependa do número de instâncias
de cada classe.
Adicionalmente, também foi definido que a curva ROC, mais concretamente a área abaixo da curva
ROC, seria útil efetuar uma avaliação dos modelos. A curva ROC e respetiva área abaixo da curva fornecem
uma visão do poder discriminatório do modelo, dando uma perspetiva sobre o trade-off entre precisão
e sensibilidade (Fawcett, 2006). Idealmente, o valor da área abaixo da curva ROC deverá ser o mais
próxima possível do valor 1, pois quanto mais próxima esta estiver desse valor menor será o trade-off
existente entre sensibilidade e precisão. As curvas ROC e respetivas áreas são obtidas classe a classe, e

78
posteriormente é obtido um valor médio através do método macro average.

4.2 Desempenho dos modelos


Nesta secção é avaliado e comparado o desempenho dos modelos nos datasets. Recorre-se ainda ao
aumento artificial dos dados para verificar se tal se traduz numa mais-valia.

4.2.1 Desempenho no dataset PubMed 20

O desempenho dos modelos é avaliado pelas métricas precisão, sensibilidade e F1-score, em concor-
dância com o que foi definido nas métricas de avaliação. No que diz respeito ao dataset PubMed 20k,
existe um outro estudo (Dernoncourt et al., 2017) no qual foi utilizado o mesmo dataset para treinar um
modelo de classificação, tendo os autores apresentado os devidos resultados, pelo que esses resultados
serão utilizados para efeitos comparativos. Durante a presente dissertação, o modelo de Dernoncourt et
al. (2017) será apelidado de Char-BiLSTM, até pelas suas caraterísticas arquiteturais. Dada uma determi-
nada frase de um abstract, este modelo da autoria de Dernoncourt et al. (2017) utiliza os carateres das
palavras como input de uma layer LSTM bidirecional, a qual permite obter representações vetoriais dessas
mesmas palavras. Cada representação vetorial das palavras serve depois de input para outra layer LSTM
bidirecional, a qual permite obter uma representação vetorial da frase. Adicionalmente, os autores defi-
niram uma matriz de transição, que contém as probabilidades de transição entre classes subsequentes.
Os valores desta matriz são obtidos através do processo de treino do modelo e, dada uma frase com uma
determinada classe, como por exemplo ‘Objective’, permite determinar a probabilidade da frase seguinte
pertencer a uma dada classe, como ‘Methods’.
O desempenho do modelo CNN também é aferido, até para determinar se o modelo proposto na
presente dissertação (Word-BiGRU), se revela uma mais-valia face a modelos mais simples, como é o
caso do modelo CNN. De acordo com as métricas de avaliação definidas, são apresentados os valores
para cada um dos modelos na Tabela 9, sendo os melhores resultados destacados a negrito. De acordo
com os resultados obtidos, o nosso modelo (Word-BiGRU) é o que apresenta o melhor desempenho em
todas as métricas, independentemente de ser utilizado o método macro average ou weighted average para
a obtenção dos valores médios.

79
Tabela 9: Resultados obtidos no dataset PubMed 20k. (melhores resultados destacados a negrito)

Métrica Método Char-BiLSTM (Dernoncourt et al., 2017) CNN Word-BiGRU


Macro Average 86.4 80.7 86.7
Precisão
Weighted Average 90.1 83.6 90.9
Macro Average 83.7 77.6 86.7
Sensibilidade
Weighted Average 89.9 83.5 90.8
Macro Average 85.0 78.5 86.7
F1-score
Weighted Average 90.0 83.5 90.8

Face aos resultados obtidos observa-se que, pelo menos no caso específico do dataset PubMed 20k,
a inclusão de informação contextual é de facto uma fator benéfico. Veja-se que a principal diferença
entre o modelo CNN e o modelo Word-BiGRU é a inclusão de informação contextual através da layer GRU
bidirecional, mas a diferença nos valores obtidos é significativa, independentemente da métrica sobre
avaliação.
Relativamente à comparação entre o modelo Char-BiLSTM (Dernoncourt et al., 2017) e o nosso modelo
Word-BiGRU, a diferença não é muito substancial, mas existe novamente vantagem para o modelo desen-
volvido nesta dissertação. Existem diferenças significativas entre estes dois modelos, nomeadamente o
facto de no caso do modelo Char-BiLSTM ser considerada informação ao nível dos caracteres, enquanto
no modelo Word-BiGRU apenas é considerada informação ao nível das palavras. Além disso, no modelo
Word-BiGRU é considerada a posição da frase no abstract, sendo que essa informação não é considerada
no modelo Char-BiLSTM.
Para o modelo Word-BiGRU, as respetivas curvas ROC e áreas abaixo da curva são apresentadas na
Figura 32. O valor médio da área abaixo da curva, obtido através do método de macro average, é de
0.99. Este é um valor muito próximo de 1, que é o valor máximo possível, o que sugere que o modelo
tem um elevado pode discriminatório e o trade-off entre o número de verdades positivos e o número de
falsos positivos é extremamente reduzido.

80
1.0

0.8
True Positive Rate

0.6

0.4 macro­average ROC curve (area = 0.99)
ROC curve of class Methods (area = 0.99)
ROC curve of class Results (area = 0.99)
0.2 ROC curve of class Background (area = 0.98)
ROC curve of class Objective (area = 0.98)
ROC curve of class Conclusions (area = 1.00)
0.0
0.0 0.2 0.4 0.6 0.8 1.0
False Positive Rate

Figura 32: Curvas ROC e respetivas áreas abaixo da curva para o modelo Word-BiGRU no dataset PubMed 20k.

Para o modelo Char-BiLSTM não foram apresentados valores relativos às curvas ROC pelos autores
que desenvolveram o modelo (Dernoncourt et al., 2017), pelo que não é possível efetuar a comparação,
ao nível das curvas ROC, com o modelo Char-BiLSTM.

4.2.2 Desempenho no dataset CS Abstracts

O dataset desenvolvido no âmbito da presente dissertação, obtido através de crowdsourcing para tirar pro-
veito da inteligência coletiva, é constituído por um número significativamente menor de abstracts quando
comparado ao dataset PubMed 20k. Além do mais, visto que este dataset foi desenvolvido como parte
integrante da presente dissertação, não há modelos de outros autores que tenham sido treinados nestes
mesmos dados. Nesse sentido, a comparação será feita entre o modelo CNN e Word-BiGRU.
Os resultados obtidos para as métricas precisão, sensibilidade e F1-score são apresentados na Tabela
10, para valores médios obtidos através do método macro average bem como weighted average. Anali-
sando os resultados obtidos, verifica-se uma vez mais que o modelo Word-BiGRU tem um desempenho
substancialmente superior comparativamente ao modelo CNN, o que implica que inclusão de informação
contextual através da layer GRU bidirecional revela-se como um fator com impacto positivo no desempenho
do modelo, corroborando os resultados obtidos para o dataset PubMed 20k.

81
Tabela 10: Resultados obtidos no dataset CS Abstracts. (melhores resultados destacados a negrito)

Métrica Método CNN Word-BiGRU


Macro Average 61.3 75.4
Precisão
Weighted Average 66.3 76.3
Macro Average 57.0 64.7
Sensibilidade
Weighted Average 67.7 73.0
Macro Average 59.1 69.6
F1-score
Weighted Average 67.0 74.6

No que diz respeito à curva ROC o modelo Word-BiGRU tem um bom desempenho, como é observável
na Figura 33. Em termos de valores, a classe ‘Conclusions’ é a que apresenta um menor área abaixo da
curva, sendo a classe ‘Background’ a que apresenta a maior área abaixo da curva. O valor médio obtido
através do método de macro average é de 0.91.

1.0

0.8
True Positive Rate

0.6

0.4 macro­average ROC curve (area = 0.91)
ROC curve of class Methods (area = 0.89)
ROC curve of class Results (area = 0.88)
0.2 ROC curve of class Background (area = 0.96)
ROC curve of class Objective (area = 0.91)
ROC curve of class Conclusions (area = 0.88)
0.0
0.0 0.2 0.4 0.6 0.8 1.0
False Positive Rate

Figura 33: Curvas ROC e respetivas áreas abaixo da curva para o modelo Word-BiGRU no dataset CS Abstracts.

4.3 Hiperparâmetros
Um modelo preditivo poderá conter uma quantidade vasta de valores de hiperparâmetros que podem ser
alterados, sendo que alteração desses valores poderá ter um impacto positivo ou negativo no desempenho
do modelo. Contudo, a tarefa de encontrar os melhores hiperparâmetros para o modelo poderá ser uma

82
tarefa de elevada complexidade. Entre algumas das razões que tornam a tarefa complexa está o tempo
necessário para treinar o modelo, pelo que a experimentação de vários hiperparâmetros poder durar
uma quantidade de tempo considerável. Outra das razões está relacionado com o facto de um único
hiperparâmetro do modelo poder assumir um intervalo constituído por uma quantidade substancial de
valores diferentes, pelo que encontrar qual o melhor valor desse intervalo exige treinar o modelo várias
vezes. Além disso, visto que podem existir várias combinações de hiperparâmetros, existe um aumento de
espaço de soluções possíveis. Por exemplo, a layer de convolução tem os seus respetivos hiperparâmetros,
enquanto a layer GRU bidirecional terá os seus.
O modelo Word-BiGRU por nós proposto partilha alguns componentes com o modelo de compara-
ção (CNN). Veja-se que a layer convolucional apresenta exatamente a mesma estrutura em ambos os
modelos. Contudo, o tempo de treino do modelo Word-BiGRU é bastante superior ao do CNN. Como
tal, determinou-se que no que diz respeito à otimização dos hiperparâmetros que dizem respeito à layer
convolucional, seria sensato utilizar o modelo CNN, visto que a redução no tempo de treino agiliza este
processo. O objetivo é encontrar os melhores hiperparâmetros para o modelo CNN e posteriormente fazer
uma reutilização destes hiperparâmetros específicos na layer de convolução do modelo Word-BiGRU.
Tamanho do filtro, número de filtros e dropout são os principais hiperparâmetro do modelo CNN. O
tamanho do filtro é responsável por determinar quantas palavras da frase são abrangidas pelo filtro no
processo de janela deslizante para a operação de convolução. O número de filtros, tal como o nome indica,
determina quantos filtros são utilizados na layer de convolução, sendo que diferentes filtros deverão ser
capazes de extrair diferentes features. Por outro lado, dropout serve para reduzir o overfitting do modelo
aos dados de treino (Srivastava, Hinton, Krizhevsky, Sutskever, & Salakhutdinov, 2014). Assim, para o
modelo CNN foi utilizada a seguinte baseline como ponto de partida, com a inicialização dos respetivos
valores para os hiperparâmetros:

• Tamanho do filtro: 32

• Número de filtros: 3

• Dropout: 0.1

Além do mais, para limitar o espaço de soluções, os valores dos hiperparâmetros foram limitados aos
seguintes intervalos de valores:

• Tamanho do filtro ∈ [3, 5, 8];

• Número de filtros ∈ [32, 64, 128, 256];

83
• Dropout ∈ [0.1, 0.35, 0.5].

Utilizando esta baseline como ponto de partida, foi efetuada uma exploração de vários valores de hi-
perparâmetros, sendo utilizado para esse efeito a partição de dados de validação. De notar que primeiro
foram explorados os valores relativos ao tamanho dos filtros, em segundo lugar foram explorados o nú-
mero de filtros, e por fim o valor de dropout. Isto implica que, ao explorar o hiperparâmetro relativo ao
número de filtros, já está a ser utilizado o melhor valor para o hiperparâmetro tamanho de filtro, visto que
esse foi o primeiro hiperparâmetro a ser explorado. Na Tabela 11 são apresentados os resultados obti-
dos para diferentes valores de hiperparâmetro, sendo destacados a negrito os melhores valores de cada
hiperparâmetro. Os resultados das métricas, apresentados na Tabela 11 e Tabela 12, foram calculados
através do método weight averaged.

Tabela 11: Hiperparâmetros do modelo CNN (melhores resultados destacados a negrito).

Parâmetro Valor Precisão Sensibilidade F1-score


32 82.0 81.9 81.9
64 82.6 82.3 82.4
Número de filtros
128 83.3 83.4 83.3
256 83.2 83.2 83.2
3 83.3 83.4 83.3
Tamanho dos filtros 5 83.5 83.5 83.5
8 82.9 82.2 82.5
0.1 83.5 83.5 83.5
Dropout 0.35 83.6 83.6 83.6
0.5 81.5 80.6 81.0

Constata-se que os melhores resultados para o modelo CNN, dentro dos intervalos definidos, são
obtidos com 128 filtros. Cada um desses filtros tem um tamanho 5, sendo utilizado um dropout de
0.35 após a layer de convolução. Agora, é necessário averiguar quais serão os melhores hiperparâmetro
para o modelo Word-BiGRU. Visto que os valores obtidos para o modelo CNN são reaproveitados no
modelo Word-BiGRU, apenas é necessário aferir os hiperparâmetros relativos à layer GRU bidirecional,
mais concretamente o número de unidades ∈ [25, 50, 75, 100], como demonstrado na Tabela 12.

84
Tabela 12: Hiperparâmetros do modelo Word-BiGRU (melhores resultados destacados a negrito).

Parâmetro Valor Precisão Sensibilidade F1-score


25 89.4 89.3 89.3
50 91.5 91.5 91.5
Número de unidades
75 89.8 89.7 89.7
100 90.0 90.0 90.0

De acordo com os resultados obtidos, 50 unidades é o valor ideal da layer GRU bidirecional, pois é com
este valor que são obtidos os melhores resultados. Assim, estes são os hiperparâmetros com os quais
são obtidos os melhores resultados:

• Número de filtros: 128

• Tamanho dos filtros: 5

• Dropout: 0.35

• Número de unidades (GRU): 50

4.4 Aumento artificial de dados e o seu impacto nos resultados


Para treinar um modelo de forma supervisionada existe a necessidade de utilizar dados de treino devida-
mente categorizados, sendo que o desempenho do modelo estará dependente da qualidade dos dados
e, possivelmente, pela abundância dos mesmos. Existe ainda necessidade que os dados sejam capazes
de capturar as várias nuances que possam existir, para que o modelo treinado seja suficiente robusto em
ambiente real.
Suponha-se que um modelo treinado para distinguir carros de motas foi treinado com imagens com
a mesma disposição, todas com a mesma resolução, tendo assim a mesma quantidade de pixeis. Con-
tudo, apesar destas caraterísticas estarem presentes em todos os dados de treino, não significa que tal
pressuposto se estenda às imagens que o modelo terá que classificar em ambiente de produção. Even-
tualmente, o modelo poderá ter dificuldades em distinguir motas de carros caso as imagens tenham, por
exemplo, resoluções diferentes daquelas que foram utilizadas nos dados de treino, ou a imagem esteja
invertida verticalmente, ou horizontalmente. Apesar desta possibilidade, na área de visão computacional
tal situação poderá ser facilmente acautelada, nomeadamente através da introdução de diferentes vari-
antes dos dados de treino já existentes, tais como inversões horizontais ou verticais das imagens, assim

85
como alterações da resolução das mesmas. Pelo facto da aplicação dessas técnicas poder ser feita de
forma automática, não há necessidade de mão de obra humana, e como tal nas maiorias dos casos a
aplicação destas técnicas é simples e não apresenta custos assinaláveis. A título de exemplo, Redmon,
Divvala, Girshick, e Farhadi (2016) utilizaram translações, bem como alterações nas escalas das imagens,
para obter dados de treino adicionais. Através da utilização destas técnicas, é pretendido que o modelo
treinado tenha uma boa capacidade de generalização.
Contudo, na área de Text Mining, visto que os dados de treino são textuais, como frases ou documentos,
na tarefa de Data Augmentation não é possível tirar proveito das técnicas já implementadas e testadas na
área de visão computacional. Isto porque os dados textuais apresentam caraterísticas muito específicas,
em que as palavras se não tiverem uma determinada forma, deixa de ser percebidos e, como expectável,
se forem introduzidos dados que não fazem qualquer sentido, ou não se assemelhem de todo aos dados
utilizados no ‘mundo real’, o modelo poderá começar a ter um desempenho fora do expectável. Assim,
técnicas como translação, utilizadas por (Redmon et al., 2016) na área de visão computacional, não são
validas para dados textuais. Aumentar o tamanho da frase também não fará sentido, visto que o tamanho
das frases seria diferente do tamanho das frases introduzidas no modelo em contexto real. Além deste
aspeto, existe também o desafio de conseguir aumentar o tamanho da frase e manter o sentido e conteúdo
da frase intacto.
Uma solução possível para o caso de Text Mining, consiste na substituição de termos das frases por
sinónimos. Visto que os sinónimos têm o mesmo significado dos termos que foram substituídos, o sig-
nificado da frase continua intacto. Esses sinónimos podem ser obtidos de várias formas, como através
de listas de sinónimos existentes em algumas ferramentas de processamento de texto, como demons-
trado por Zhang, Zhao, e LeCun (2015). Uma limitação desta estratégia, deve-se ao facto de existir a
necessidade de interagir com outro ferramentas externas, como o editor de texto Word. Este problema é
ainda potenciado pelo facto de muitas ferramentas deste género serem proprietárias, dificultando a sua
integração com outras ferramentas ou linguagens de programação.
Alternativamente, é possível obter novos dados de treino através da tradução do texto presente nos
dados de treino, como demonstrado por Pavel Ostyakov no GitHub7 , numa implementação realizada
para a linguagem de programação Python, sendo a abordagem de Pavel Ostyakov aplicada na presente
dissertação para a finalidade de aumento artifical de dados. Esta abordagem consiste em traduzir os
dados de treino da sua língua original para uma outra língua, e novamente para a sua língua original. O
objetivo da utilização desta técnicas é conseguir introduzir ligeiras nuances nas frases originais, mantendo

7
https://github.com/PavelOstyakov/toxic/blob/master/tools/extend_dataset.py

86
o significado original da frase intacto. O processo pelo qual o autor obtém as implementações é bastante
simples, e resume-se às seguintes etapas realizadas através do package Textblob:

1. A frase original é traduzida para uma outra língua que não a original, através do package.

2. Através do mesmo package, a frase é traduzida novamente para a sua linguagem original, resul-
tando numa frase ligeiramente diferente da inicial.

A principal vantagem desta abordagem, é o facto de poder ser implementada na linguagem de progra-
mação na qual o modelo está a ser desenvolvido, como por exemplo Python, nomeadamente através da
adoção de packages desenvolvidos para o efeito de tradução de texto.
Na Tabela 13 apresentam-se três frases do dataset CS Abstracts, sendo exposto para efeitos compa-
rativos a constituição original da frase, bem como a frase resultante do processo de data augmentation.
Como se pode verificar, as frases são ligeiramente alteradas mas os seus significados são mantidos pra-
ticamente intactos. Além disso, constata-se que em certos casos, como o da primeira frase, a frase é
alterada através da adição e remoção de palavras, sem existir a necessidade de substituir os termos
originais pelos seus sinónimos.
Tabela 13: Comparação das frases originais com as respetivas frases resultantes do processo de data augmentation.

Frase original Frase após processo de data augmentation

“Early detection of such compromised accounts The early detection of such compromised ac-
is very important in order to control the damage.” counts is very important to control the damage.
(Seyler, Li, & Zhai, 2018)
“In this work we propose a novel general fra- In this paper we propose a new general framework
mework for discovering compromised accounts by for discovering compromised accounts through
utilizing statistical text analysis.” (Seyler et al., the use of statistical text analysis.
2018)
“These are the anomalies caused by a user be- These are the anomalies caused by a user due to
cause of his/her variable behaviour towards diffe- their variable behavior towards different sources.
rent sources.” (Seyler et al., 2018)

Importa referir que este processo pode ser repetido, através da utilização de diferentes linguagens de
tradução. Este processo apenas deve ser aplicado aos dados de treino, visto que a utilização desta técnicas
nos dados de validação ou teste resultariam numa comparação pouco conclusiva. Importa também referir
que existe a hipótese desta técnica ter um impacto negativo no modelo.
O dataset desenvolvido através de crowdsourcing sofre de uma limitação, que é o facto do número de
dados ser reduzido, principalmente quando comparado a datasets mais extensos. Nesse sentido, decidiu-

87
se que seria útil experimentar esta técnica de aumento artificial de dados tendo em vista a melhoria nos
resultados obtidos pelo modelo, face ao aumento da quantidade de dados de treino. Esta técnica foi
aplicada para aumentar os dados de treino do dataset CS Abstracts, e assim treinar o modelo Word-
BiGRU, sendo feita a comparação dos resultados entre a utilização dos dados de treino originais e os
dados aumentados artificialmente. Os resultados obtidos são apresentados na Tabela 14.

Tabela 14: Resultados comparativos do aumento artificial de dados do dataset CS Abstracts, para o modelo Word-BiGRU.

Métrica Método Normal Aumento artificial de dados


Macro Average 75.4 69.7
Precisão
Weighted Average 76.3 75.4
Macro Average 64.7 70.0
Sensibilidade
Weighted Average 73.0 74.9
Macro Average 69.6 69.8
F1-score
Weighted Average 74.6 75.1

Face aos resultados obtidos, constata-se o aumento artificial dos dados não tem um impacto positivo
na precisão do modelo. Contudo, nas métricas de sensibilidade e F1-score o aumento dos dados de treino
teve um impacto positivo.

Figura 34: Curva ROC e respetivas áreas abaixo da curva para o modelo Word-BiGRU treinados no dataset CS Abstracts com dados aumen-
tados artificialmente.

88
O valor médio para a área abaixo da curva é 0.91, sendo que este foi obtido através do método macro
average, resultados iguais aos obtidos sem aumento artificial de dados.
Face a estes resultados, pode-se concluir que o aumento artificial de dados pode efetivamente ter um
impacto positivo, pelo menos em algumas métrica mas, por outro lado, poderá ter um impacto negativo
em outras métricas, como neste caso se verificou para a métrica precisão. Deste modo, entende-se que o
aumento artificial através da técnica aqui demonstrada deverá ser encarado como uma estratégia válida
e que apresenta potencial, pelo que idealmente deverá ser testada em projetos de Text Mining nos quais
o número de dados disponibilizados no dataset é reduzido, de forma a tentar melhorar os resultados dos
modelos.

4.5 Análise dos modelos


Para determinar qual é o melhor modelo é necessário definir uma estratégia de avaliação que, como já foi
referido, permita comparar os vários modelos. De um modo geral, essa avaliação é feita através de um
conjunto de métricas. Para complementar a avaliação feita através dessas métricas é também útil obter
uma representação capaz de traduzir o modo como o modelo está a efetuar as previsões, nomeadamente
através da aferição das features que têm o maior impacto nas previsões efetuadas pelo modelo, de modo
a investigar o processo de decisão do modelo. Enquanto as métricas de avaliação como precisão se
focam maioritariamente naquilo que é o output do modelo para determinar o desempenho do mesmo,
uma representação que possibilite interpretar o modelo serve como um complemento às métricas de
avaliação com o intuito de averiguar o que está na base das decisões realizados pelo modelo, ou seja, o
que leva o modelo a ter um um determinado output. Estes tipos de representações são particularmente
úteis quando se tem conhecimento do negócio, permitindo verificar se as features utilizadas nas respetivas
previsões são coerentes com o conhecimento que se tem sobre o negócio. Em determinados modelos,
como os baseados em árvores de decisão que apresentem um número de reduzido de folhas, essa
interpretação pode ser feita por um humano com relativa facilidade, visto que uma árvore de decisão é uma
representação intuitiva e facilmente interpretável, sendo possível visualizar as caraterísticas essenciais nas
quais o modelo se baseia para realizar as previsões.
Contudo, o mesmo não se aplica a outros modelos de Machine Learning, que podem ser baseados
em conjuntos de operações complexas e pouco intuitivas que, inversamente às árvores de decisão, são
de difícil representação visual, o que se torna num entrave para a interpretação dos mesmos. É o caso
dos modelos desenvolvidos nesta dissertação, que são baseados em arquiteturas baseadas em Deep
Learning, nas quais existem várias layers que realizam um conjunto diferente de operações. Este tipo de

89
modelos enquadra-se na categoria de modelos do tipo black box pois envolvem um conjunto de várias
operações com um certo grau de complexidade e de difícil interpretação, tornando-se num obstáculo que
impossibilita averiguar, de forma direta, o processo de decisão efetuado pelo modelo. Além do mais,
não existe uma representação inerente a estes modelos que possibilite visualizar a forma como o modelo
efetua as decisões, pelo que é difícil concluir se o modelo está ou não a ter um comportamento dentro
do expectável.
Apesar disso, existem alguns trabalhos na comunidade científica que se têm focado no desenvolvimento
e exploração de técnicas para interpretar modelos do tipo black box. Um exemplo disso é o package Lime
(Ribeiro et al., 2016), disponível para Python, e que tem como principal propósito possibilitar a interpre-
tação de qualquer modelo, independentemente do âmbito, tipo e complexidade do modelo. Este nível
de flexibilidade está intrinsecamente relacionado com o modo de funcionamento do Lime. Fundamental-
mente, este package efetua várias alterações ao input do modelo, como alteração e remoção de palavras,
com o propósito de avaliar o impacto que estas alterações têm nas previsões efetuadas pelo modelos e,
através disso, estimar aquelas que são as features (neste caso, palavras) que mais contribuem para a
classificação atribuída pelo modelo.
Com a utilização do package Lime pretende-se analisar quais são as palavras que têm influência nas
classificações atribuídas pelo modelo em determinadas frases, de modo a conseguir investigar as dife-
renças de funcionamento entre os modelos, nomeadamente no que diz respeito à atribuição das classes
‘Background’, ‘Objective’, ‘Methods’, ‘Results’ e ‘Conclusions’. Assim, para uma dada frase, utilizou-se o
Lime para determinar quais são as palavras que mais influenciam a classificação atribuída pelo modelo.
Adicionalmente, pretende-se comparar os modelos Word-BiGRU e CNN para verificar se, efetivamente,
existem diferenças no modo de funcionamento de ambos os modelos.
Nesse sentido, optou-se por adotar uma abordagem que consiste em aplicar o package Lime a ambos
os modelos, para comparar os resultados obtidos, bem como ter uma perceção dos fatores que motivam
essa diferença de resultados entre ambos os modelos. As visualizações geradas pelo package mostram
as previsões efetuadas pelo modelo, bem com as palavras que mais contribuíram para essas previsões,
destacadas a sombreado.
Na Figura 35 são apresentados os resultados obtidos pelo Lime para o modelo CNN, com as respetivas
previsões atribuídas pelo modelo. Todo o abstract é apresentado, sendo exibidas as probabilidades.
A frase sobre classificação é a primeira frase do abstract. Constata-se que o modelo CNN atribui a
maior probabilidade à classe ‘Background’, estando essa previsão correta, visto que a frase pertence
efetivamente à classe ’Background’. No abstract são destacadas a sombreado as palavras que mais

90
contribuíram para o modelo CNN classificar a frase como ‘Background’, sendo o grau de contribuição
maior conforme a intensidade do sombreado.
A vermelho, estão destacados os termos que mais contribuem para a classificação ‘Background’, sendo
o principal destaque para os termos ‘media’, ‘development’ e ‘personalization’. A verde, são destacados os
termos levam o modelo a considerar que o abstract poderá pertencer a uma classe que não ‘Background’.
Contudo, é possível visualizar que algumas palavras que não as da própria frase também são apresentadas
a sombreado. Tal poderá ser explicado pelo facto de como o Lime funciona. Isto porque, o Lime altera
várias palavras de todo o abstract ao mesmo tempo (tanto da própria frase como de outras frases), e
efetua as estimativas com base nessas alterações.

Figura 35: Termos mais preponderantes na classificação atribuída pelo modelo CNN para a primeira frase do abstract.

Para interpretar as diferenças existentes entre ambos os modelos, é relevante interpretar o modelo
Word-BiGRU, pelo que a visualização obtida para este modelo através do Lime é apresentada na Figura
36, com as respetivas probabilidades atribuídas a cada uma das classes, resultantes das previsões do
modelo Word-BiGRU. Numa primeira instância, é possível visualizar que o conjunto de palavras que de-
termina a classificação ‘Background’ é significativamente diferente ao que contribuía para essa mesma
classificação, no modelo CNN. Além do mais, a probabilidade atribuída à classe Background também é
maior, comparativamente à que era atribuída no modelo CNN. Os termos que mais contribuem para a
classificação de ‘Background’ pelo modelo Word-BiGRU são ‘media’ e ‘latent attributes’. Além do mais,
verifica-se que são várias as palavras de outras frases assinaladas com um sombreado (vermelho) intenso,
pertencentes a outras frases do abstract.

91
Figura 36: Termos mais preponderantes na classificação atribuída pelo modelo Word-BiGRU para a primeira frase do abstract.

É também necessário interpretar o modelo CNN para a segunda frase, pelo que é apresentada a vi-
sualização obtida através do Lime na Figura 37. Novamente, a classe à qual o modelo atribuiu maior
probabilidade é ‘Background’, sendo que essa classificação está correta, visto que a frase pertence efeti-
vamente à classe ‘Background’. É possível constatar que os termos ‘However’ e ‘current’ são aqueles que
mais influencia têm na atribuição do modelo, classificando a frase como ‘Background’. Adicionalmente,
observando a visualização produzida pelo Lime verifica-se que são poucas aquelas as palavras que não
pertenciam à própria frase que foram destacadas pelo package.

Figura 37: Termos mais preponderantes na classificação atribuída pelo modelo CNN para a segunda frase do abstract.

Para a segunda frase do abstract, os resultados obtidos através do package Lime para visualizar os ter-
mos com mais influência nas previsões são apresentados na Figura 38. Realça-se que, comparativamente
ao modelo CNN, o modelo Word-BiGRU atribui uma probabilidade ainda maior à classe ‘Background’ do
que aquela que era atribuída com o modelo CNN. No que diz respeito ao termos da própria frase, os que
têm um impacto significativo na classificação são idênticos aos que eram atribuídos com o modelo CNN,
com especial destaque para o termo ‘However’, ‘user’, ‘limited’ e ‘integrated’. Contudo, termos de outras
frases são também dados como relevantes, como é o caso do termo ‘abundance’ e ‘user’, situados na
primeria frase do abstract, e não na frase que está a ser classificada (segunda frase do abstract).

92
Figura 38: Termos mais preponderantes na classificação atribuída pelo modelo Word-BiGRU para a segunda frase do abstract.

Tendo em conta as visualizações obtidas através do package Lime, depreende-se que o conjunto de
palavras que ambos os modelos focam é diferente, o que indica que o processo de decisão de um e outro
modelo é diferente, motivado pelas diferenças arquiteturas entre ambos os modelos.

93
5 Conclusões

5.1 Síntese
Numa primeira instância foi efetuada uma revisão de literatura, em que foram abordadas as várias técnicas
de Text Mining, bem como arquiteturas Deep Learning que possam ser aplicadas para a finalidade de
classificação de texto. No que diz respeito a revisões de literatura, identificou-se que existe, de acordo
com estudos anteriores, um certo interesse em aplicação de ferramentas que possibilitem, por exemplo,
automatizar a extração de dados ou avaliar a qualidade dos estudos.
Inerente às limitações identificadas no domínio de aplicação, mais concretamente o facto da maioria
dos datasets serem da área da medicina, durante a dissertação decidiu-se criar um novo dataset que que
contivesse abstracts de uma área de investigação distinta, tendo sido para tal criado um dataset da área de
ciências da computação, com especial foco para artigos que abordassem a área de social media. Assim,
foi necessário numa primeira fase proceder à obtenção de abstracts da área de ciências de computação,
que foram recolhidos através da plataforma arXiv, para posteriormente proceder à anotação de dados.
Para a anotação de dados, recorreu-se à utilização de inteligência coletiva e crowdsourcing, tendo sido
desenvolvida uma plataforma web para esse efeito. A plataforma apresenta caraterísticas de gamification,
nomeadamente através de um sistema de badges, para que tal sirva de incentivo à participação no
processo de crowdsourcing.
Foi também desenvolvido um modelo que permitisse identificar a classificar frases de abstracts. O
propósito deste modelo é auxiliar a revisão sistemática, mais precisamente a fase de seleção de estudos.
Uma das tarefas da etapa de seleção de estudos envolve a leitura de abstracts, de forma a perceber que
estudos deverão ser incluídos nas etapas subsequentes da revisão sistemática. Assim, o propósito deste
modelo é possibilitar a apresentação de abstracts nos quais as frases estão devidamente categorizadas,
e deste modo facilitar a identificação da informação relevante do abstract. Foram desenvolvidos dois
modelos distintos, um baseado em redes neuronais convolucionais, e outro baseado em redes neuronais
recorrentes, tendo sido feita a respetiva comparação com outros modelos existentes.
Procedeu-se à integração do modelo uma plataforma web, para que este possa ser aplicado por qual-
quer pessoa, sem necessidade de conhecimentos de programação ou interação com ferramentas de
programação.

95
5.2 Discussão
Para a criação do dataset foi criada uma plataforma web, com o intuito de utilizar inteligência coletiva
e crowdsourcing para o propósito de anotação de dados. Através do processo de crowdsourcing, foram
classificados 654 abstracts. Em termos de participação na plataforma web, a maioria dos utilizadores
que participaram no processo de crowdsourcing fizeram-o classificando um número reduzido de abstracts,
sendo que apenas uma pequena percentagem de utilizadores classificou mais de 10 abstracts.
Os modelos foram treinados e avaliados em dois datasets distintos. Um dos datasets denomina-se
PubMed 20k, da autoria de Dernoncourt e Lee (2017). Por outro lado, o dataset desenvolvido durante
esta dissertação, dá pelo nome de CS Abstracts, tendo sido o modelo também treinado neste dataset,
bem como respetiva avaliação de resultados.
Os resultados obtidos com o modelo Word-BiGRU, no datset PubMed 20k, são bastante satisfatórios,
com áreas abaixo da curva ROC bastante próximas do valor 1. Nas métricas de precisão, sensibilidade
e F1-score, e em concreto, comparando com o modelo desenvolvido por Dernoncourt et al. (2017) no
PubMed 20k, os resultados obtidos no modelo Word-BiGRU são satisfatórios.
Assim, o modelo por nós desenvolvido, denominado Word-BiGRU, e que apresenta uma arquitetura ba-
seada em Deep Learning, revela um desempenho superior a outros modelos. A arquitetura deste modelo
foi desenvolvida tendo em vista a contemplação de informação contextual de cada uma das frases do
abstract, nomeadamente através da inclusão de uma layer GRU bidirecional, sendo o objetivo possibilitar
que essa informação contextual se torne uma mais-valia para o desempenho do modelo nas métricas de
avaliação definidas. Uma análise detalhada às palavras e excertos que influenciam as previsões efetuadas
pelo modelo evidencia que a inclusão de um layer GRU bidirecional, presente no modelo Word-BiGRU, é
efetivamente responsável por contemplar informação contextual. Este caso em concreto revela que a con-
ceção de um modelo deverá ter em consideração as várias caraterísticas inerentes aos dados utilizados
para treinar os modelos.
No que diz respeito ao desempenho no dataset CS Abstracts, os resultados obtidos nas métricas de
precisão, sensibilidade e F1-score são menores. Contudo, o número de abstracts presente no dataset CS
Abstracts é bastante menor, contemplando na totalidade 654 abstracts. Assim, face ao número reduzido
de abstracts presentes no dataset CS Abstracts os resultados obtidos nas métricas, apesar de serem
menores, continuam a ser satisfatórios, tendo em consideração a escassez de dados de treino. Devido
ao facto do número de abstracts presentes no dataset CS Abstracts ser bastante inferior, recorreu-se ao
aumento artificial de dados, para verificar se seria possível obter melhorias nos resultados. Com aumento
artificial de dados, para o dataset CS Abstracts, foram obtidos resultados superiores nas métricas de

96
sensibilidade e F1-score, mas inferiores na precisão.

5.3 Trabalho futuro


No que ao processo de crowdsourcing diz respeito, seria de relevo complementar os incentivos proveni-
entes dos componentes de gamification, como pontos e badges, com incentivos de caráter monetário, de
modo a determinar se existiria um impacto no número de usuários a participar ativamente no processo de
crowdsourcing. Na temática dos modelos de classificação, e em concreto os direcionados para a classifi-
cação de frases de abstracts, poderão ser desenvolvidos modelos que tenham arquiteturas semelhantes
e que possam ser comparados.
Além do mais, também existem várias outras áreas que podem ser exploradas, nomeadamente no que
diz respeito a modelos e técnicas de Text Mining para auxiliar as etapas da revisão sistemática, como a
etapa de extração de dados.
Na plataforma, a integração dos componentes de crowdsourcing e de classificação de abstracts, de
forma a criar um sistema de aprendizagem ativa, é uma possibilidade que poderá ser explorada.
Durante a finalização da escrita desta dissertação, em Outubro de 2018, foi descoberto o artigo de Jin
e Szolovits (2018), que seguindo uma investigação independente, também abordaram o mesmo conjunto
de dados, propondo, tal como neste trabalho, uma rede neuronal que utiliza uma camada recorrente (mas
distinta, do tipo LSTM) para modelar interdependências entre frases dos abstracts. Nesse sentido, seria
relevante no futuro efetuar comparações de resultados com este modelo.

97
Referências Bibliográficas
Amado, A., Cortez, P., Rita, P., & Moro, S. (2018). Research trends on Big Data in Marketing: A text
mining and topic modeling based literature analysis. European Research on Management and
Business Economics, 24(1), 1–7. Retrieved from http://www.sciencedirect.com/science/article/
pii/S2444883417300268 doi: https://doi.org/10.1016/j.iedeen.2017.06.002
Barbounis, T. G., Theocharis, J. B., Alexiadis, M. C., & Dokopoulos, P. S. (2006). Long-term wind speed
and power forecasting using local recurrent neural network models. IEEE Transactions on Energy
Conversion, 21(1), 273–284.
Bengio, Y., Simard, P., & Frasconi, P. (1994). Learning long-term dependencies with gradient descent is
difficult. IEEE transactions on neural networks, 5(2), 157–166.
Biba, M., & Gjati, E. (2014). Boosting text classification through stemming of composite words. In Recent
advances in intelligent informatics (pp. 185–194). Springer.
Biolchini, J., Mian, P. G., Natali, A. C. C., & Travassos, G. H. (2005). Systematic review in software
engineering. System Engineering and Computer Science Department COPPE/UFRJ, Technical
Report ES, 679(05), 45.
Blei, D. M., Ng, A. Y., & Jordan, M. I. (2003). Latent Dirichlet Allocation. Journal of Machine Learning
Research, 3, 993–1022.
Boudin, F., Nie, J.-Y., Bartlett, J. C., Grad, R., Pluye, P., & Dawes, M. (2010). Combining classifiers for
robust pico element detection. BMC medical informatics and decision making, 10(1), 29.
Brabham, D. C. (2008). Crowdsourcing as a model for problem solving: An introduction and cases.
Convergence, 14(1), 75–90.
Brereton, P., Kitchenham, B. A., Budgen, D., Turner, M., & Khalil, M. (2007). Lessons from applying the
systematic literature review process within the software engineering domain. Journal of systems
and software, 80(4), 571–583.
Chapman, P., Clinton, J., Kerber, R., Khabaza, T., Reinartz, T., Shearer, C., & Wirth, R. (2000). CRISP-DM
1.0 Step-by-step data mining guide.
Cho, K., van Merrienboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., & Bengio, Y. (2014).
Learning phrase representations using rnn encoder–decoder for statistical machine translation. In
Proceedings of the 2014 conference on empirical methods in natural language processing (emnlp)
(pp. 1724–1734).
Chung, J., Gulcehre, C., Cho, K., & Bengio, Y. (2014). Empirical evaluation of gated recurrent neural

99
networks on sequence modeling. In Nips 2014 workshop on deep learning, december 2014.
Cohen, A. M., & Hersh, W. R. (2005, mar). A survey of current work in biomedical text mining. Briefings
in Bioinformatics, 6(1), 57–71. Retrieved from http://dx.doi.org/10.1093/bib/6.1.57
Cohen, S. (2016). Bayesian Analysis in Natural Language Processing. Morgan & Claypool Publishers.
Cook, D. J., Mulrow, C. D., & Haynes, R. B. (1997). Systematic reviews: synthesis of best evidence for
clinical decisions. Annals of internal medicine, 126(5), 376–380.
Delen, D., & Crossland, M. D. (2008). Seeding the survey and analysis of research literature with text
mining. Expert Systems with Applications, 34(3), 1707–1720.
Dernoncourt, F. (2017). Sequential short-text classification with neural networks. Unpublished doctoral
dissertation, Massachusetts Institute of Technology.
Dernoncourt, F., & Lee, J. Y. (2017). Pubmed 200k rct: a dataset for sequential sentence classification in
medical abstracts. In Proceedings of the eighth international joint conference on natural language
processing (volume 2: Short papers) (Vol. 2, pp. 308–313).
Dernoncourt, F., Lee, J. Y., & Szolovits, P. (2017). Neural networks for joint sentence classification in
medical paper abstracts. In Proceedings of the 15th conference of the european chapter of the
association for computational linguistics: Volume 2, short papers (Vol. 2, pp. 694–700).
Deterding, S., Dixon, D., Khaled, R., & Nacke, L. (2011). From game design elements to gamefulness:
defining gamification. In Proceedings of the 15th international academic mindtrek conference:
Envisioning future media environments (pp. 9–15).
Dias, Á. M., Mansur, C. G., Myczkowski, M., & Marcolin, M. (2011). Whole field tendencies in trans-
cranial magnetic stimulation: A systematic review with data and text mining. Asian Journal of
Psychiatry, 4(2), 107–112. Retrieved from http://www.sciencedirect.com/science/article/pii/
S1876201811000372 doi: https://doi.org/10.1016/j.ajp.2011.03.003
Dillon, T., Wu, C., & Chang, E. (2010). Cloud computing: issues and challenges. In Advanced information
networking and applications (aina), 2010 24th ieee international conference on (pp. 27–33).
Duchi, J., Hazan, E., & Singer, Y. (2011). Adaptive subgradient methods for online learning and stochastic
optimization. Journal of Machine Learning Research, 12(Jul), 2121–2159.
Dumitrache, A., Aroyo, L., Welty, C., Sips, R., & Levas, A. (2013). Dr. detective: combining gamification
techniques and crowdsourcing to create a gold standard for the medical domain. Crowdsourcing
the Semantic Web.
Ekbal, A., & Bandyopadhyay, S. (2010). Named entity recognition using support vector machine: A
language independent approach. International Journal of Electrical, Computer, and Systems Engi-

100
neering, 4(2), 155–170.
Fawcett, T. (2006). An introduction to roc analysis. Pattern recognition letters, 27(8), 861–874.
Feinerer, I., Buchta, C., Geiger, W., Rauch, J., Mair, P., & Hornik, K. (2013). The textcat package for n-gram
based text categorization in r. Journal of statistical software, 52(6), 1–17.
Glorot, X., Bordes, A., & Bengio, Y. (2011). Deep sparse rectifier neural networks. In Proceedings of the
fourteenth international conference on artificial intelligence and statistics (pp. 315–323).
Goldberg, Y. (2016). A primer on neural network models for natural language processing. Journal of
Artificial Intelligence Research, 57, 345–420.
Grishman, R., & Sundheim, B. (1996). Message understanding conference-6: A brief history. In Coling
1996 volume 1: The 16th international conference on computational linguistics (Vol. 1).
Guerreiro, J., Rita, P., & Trigueiros, D. (2016). A text mining-based review of cause-related marketing
literature. Journal of Business Ethics, 139(1), 111–128.
Gupta, V., & Lehal, G. S. (2009). A survey of text mining techniques and applications. Journal of emerging
technologies in web intelligence, 1(1), 60–76.
Hashimoto, K., Kontonatsios, G., Miwa, M., & Ananiadou, S. (2016). Topic detection using para-
graph vectors to support active learning in systematic reviews. Journal of Biomedical Informa-
tics, 62(Supplement C), 59–65. Retrieved from http://www.sciencedirect.com/science/article/
pii/S1532046416300442 doi: https://doi.org/10.1016/j.jbi.2016.06.001
He, W., Zha, S., & Li, L. (2013). Social media competitive analysis and text mining: A case study in the
pizza industry. International Journal of Information Management, 33(3), 464–472.
Hossain, M. (2012). Users’ motivation to participate in online crowdsourcing platforms. In Innovation
management and technology research (icimtr), 2012 international conference on (pp. 310–315).
Hsieh, T.-J., Hsiao, H.-F., & Yeh, W.-C. (2011). Forecasting stock markets using wavelet transforms and
recurrent neural networks: An integrated system based on artificial bee colony algorithm. Applied
soft computing, 11(2), 2510–2525.
Huang, A. (2008). Similarity measures for text document clustering. In Proceedings of the sixth new
zealand computer science research student conference (nzcsrsc2008), christchurch, new zealand
(pp. 49–56).
Jin, D., & Szolovits, P. (2018). Hierarchical neural networks for sequential sentence classification in
medical scientific abstracts. arXiv preprint arXiv:1808.06161.
Kalchbrenner, N., Grefenstette, E., & Blunsom, P. (2014, June). A convolutional neural network for
modelling sentences. Proceedings of the 52nd Annual Meeting of the Association for Computational

101
Linguistics.
Kim, Y. (2014). Convolutional neural networks for sentence classification. In Proceedings of the 2014
conference on empirical methods in natural language processing (emnlp) (pp. 1746–1751).
Kiritchenko, S., de Bruijn, B., Carini, S., Martin, J., & Sim, I. (2010). ExaCT: automatic extraction of clinical
trial characteristics from journal publications. BMC medical informatics and decision making, 10(1),
56.
Kitchenham, B. (2004). Procedures for performing systematic reviews. Keele, UK, Keele University,
33(2004), 1–26.
Korde, V., & Mahender, C. N. (2012). Text classification and classifiers: A survey. International Journal of
Artificial Intelligence & Applications, 3(2), 85.
Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural
networks. In Advances in neural information processing systems (pp. 1097–1105).
Kuhrmann, M., Fernández, D. M., & Daneva, M. (2017). On the pragmatic design of literature studies
in software engineering: an experience-based guideline. Empirical software engineering, 22(6),
2852–2891.
Lample, G., Ballesteros, M., Subramanian, S., Kawakami, K., & Dyer, C. (2016). Neural architectures for
named entity recognition. In Proceedings of naacl-hlt (pp. 260–270).
Lan, M., Sung, S.-Y., Low, H.-B., & Tan, C.-L. (2005). A comparative study on term weighting schemes for
text categorization. In Neural networks, 2005. ijcnn’05. proceedings. 2005 ieee international joint
conference on (Vol. 1, pp. 546–551). IEEE.
LeCun, Y., Kavukcuoglu, K., & Farabet, C. (2010). Convolutional networks and applications in vision. In
Circuits and systems (iscas), proceedings of 2010 ieee international symposium on (pp. 253–256).
Liao, W., & Veeramachaneni, S. (2009). A Simple Semi-supervised Algorithm For Named Entity Recogni-
tion..
Luhn, H. P. (1957). A statistical approach to mechanized encoding and searching of literary information.
IBM Journal of research and development, 1(4), 309–317.
Maralte BV, & Publishing Research Consortium. (2016). Text Mining of Journal Literature 2016
(Tech. Rep.). Retrieved 06-01-2018, from http://publishingresearchconsortium.com/index.php/
prc-documents/prc-research-projects/54-prc-text-mining-of-journal-literature-2016
Marshall, I. J., Kuiper, J., & Wallace, B. C. (2014). Automating risk of bias assessment for clinical trials.
In Proceedings of the 5th acm conference on bioinformatics, computational biology, and health
informatics (pp. 88–95). ACM.

102
Massung, E., Coyle, D., Cater, K. F., Jay, M., & Preist, C. (2013). Using crowdsourcing to support pro-
environmental community activism. In Proceedings of the sigchi conference on human factors in
computing systems (pp. 371–380).
McNamara, D. S., Kintsch, E., Songer, N. B., & Kintsch, W. (1996). Are good texts always better?
interactions of text coherence, background knowledge, and levels of understanding in learning from
text. Cognition and instruction, 14(1), 1–43.
Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). Efficient estimation of word representations in
vector space. arXiv preprint arXiv:1301.3781.
Mikolov, T., Sutskever, I., Chen, K., Corrado, G. S., & Dean, J. (2013). Distributed representations of words
and phrases and their compositionality. In Advances in neural information processing systems (pp.
3111–3119).
Millard, L. A. C., Flach, P. A., & Higgins, J. P. T. (2015). Machine learning to assist risk-of-bias assessments
in systematic reviews. International journal of epidemiology, 45(1), 266–277.
Miner, G., Elder, J., Fast, A., Hill, T., Nisbet, R., & Delen, D. (2012). Practical Text Mining and Statistical
Analysis for Non-structured Text Data Applications. Academic Press.
Miwa, M., Thomas, J., O’Mara-Eves, A., & Ananiadou, S. (2014). Reducing systematic review workload
through certainty-based screening. Journal of biomedical informatics, 51, 242–253.
Moro, S., Cortez, P., & Rita, P. (2015). Business intelligence in banking: A literature analysis from 2002
to 2013 using text mining and latent Dirichlet allocation. Expert Systems with Applications, 42(3),
1314–1324.
Moro, S., Cortez, P., & Rita, P. (2016). An automated literature analysis on data mining applications to
credit risk assessment. In In artificial intelligence in financial markets (pp. 161–177). London:
Palgrave Macmillan UK. Retrieved from https://doi.org/10.1057/978-1-137-48880-0{_}6 doi:
10.1057/978-1-137-48880-0_6
Moro, S., & Rita, P. (2017). Brand strategies in social media in hospitality and tourism. International
Journal of Contemporary Hospitality Management.
Moro, S., Rita, P., & Cortez, P. (2017). A text mining approach to analyzing Annals literature. Annals of
Tourism Research, 66, 208–210. Retrieved from http://www.sciencedirect.com/science/article/
pii/S0160738317300968 doi: https://doi.org/10.1016/j.annals.2017.07.011
Morschheuser, B., Hamari, J., & Koivisto, J. (2016). Gamification in crowdsourcing: a review. In System
sciences (hicss), 2016 49th hawaii international conference on (pp. 4375–4384).
Moulinier, I., & Ganascia, J.-G. (1995). Applying an existing machine learning algorithm to text categori-

103
zation. In International joint conference on artificial intelligence (pp. 343–354). Springer.
Moura, B. C. (2014). Inteligência coletiva para análise de sentimento sobre mensagens da plataforma
stocktwits.
Ng, A. (2017). Machine learning yearning.
Ng, L., Pitt, V., Huckvale, K., Clavisi, O., Turner, T., Gruen, R., & Elliott, J. H. (2014). and Abstract
Screening and Evaluation in Systematic Reviews (TASER): a pilot randomised controlled trial of title
and abstract screening by medical students. Systematic reviews, 3(1), 121.
Nielsen, J. (2006). The 90-9-1 rule for participation inequality in social media and online communities.
Retrieved 18-06-2018, from https://www.nngroup.com/articles/participation-inequality
Nothman, J., Ringland, N., Radford, W., Murphy, T., & Curran, J. R. (2013). Learning multilingual named
entity recognition from Wikipedia. Artificial Intelligence, 194, 151–175.
Oliveira, N., Cortez, P., & Areal, N. (2013). On the predictability of stock market behavior using StockTwits
sentiment and posting volume. In Progress in artificial intelligence: 16th portuguese conference
on artificial intelligence, epia 2013: proceedings (pp. 355–365). Springer.
Oliveira, N., Cortez, P., & Areal, N. (2017). The impact of microblogging data for stock market prediction:
Using Twitter to predict returns, volatility, trading volume and survey sentiment indices. Expert
Systems with Applications, 73, 125–144. Retrieved from http://www.sciencedirect.com/science/
article/pii/S0957417416307187 doi: https://doi.org/10.1016/j.eswa.2016.12.036
Olorisade, B. K., de Quincey, E., Brereton, P., & Andras, P. (2016). A Critical Analysis of Studies That
Address the Use of Text Mining for Citation Screening in Systematic Reviews. In Proceedings of the
20th international conference on evaluation and assessment in software engineering (pp. 14:1—-
14:11). New York, NY, USA: ACM.
Panettieri, J. (2017). Cloud Market Share 2017: Amazon AWS, Microsoft Azure, IBM, Google. Retri-
eved 11-06-2018, from https://www.channele2e.com/channel-partners/csps/cloud-market-share
-2017-amazon-microsoft-ibm-google
Pennington, J., Socher, R., & Manning, C. (2014). Glove: Global vectors for word representation. In
Proceedings of the 2014 conference on empirical methods in natural language processing (emnlp)
(pp. 1532–1543).
Porter, M. (1980). An algorithm for suffix stripping. Program, 14(3), 130–137. Retrieved from http://
www.emeraldinsight.com/doi/10.1108/eb046814 doi: 10.1108/eb046814
Porter, M. F. (2001). Snowball: A language for stemming algorithms. Retrieved from http://snowball
.tartarus.org/texts/introduction.html

104
Ram, K., & Broman, K. (2017). arxiv: Interface to the arxiv api [Computer software manual]. Retrieved
from https://github.com/ropensci/aRxiv (R package version 0.5.17)
Ramasubramanian, C., & Ramya, R. (2013). Effective pre-processing activities in text mining using
improved porter’s stemming algorithm. International Journal of Advanced Research in Computer
and Communication Engineering, 2(12).
Razavian, A. S., Azizpour, H., Sullivan, J., & Carlsson, S. (2014). Cnn features off-the-shelf: an astounding
baseline for recognition. In Computer vision and pattern recognition workshops (cvprw), 2014 ieee
conference on (pp. 512–519).
Redmon, J., Divvala, S., Girshick, R., & Farhadi, A. (2016). You only look once: Unified, real-time object
detection. In Proceedings of the ieee conference on computer vision and pattern recognition (pp.
779–788).
Ribeiro, M. T., Singh, S., & Guestrin, C. (2016). ”why should I trust you?”: Explaining the predictions
of any classifier. In Proceedings of the 22nd ACM SIGKDD international conference on knowledge
discovery and data mining, san francisco, ca, usa, august 13-17, 2016 (pp. 1135–1144).
Rußwurm, M., & Körner, M. (2018). Multi-temporal land cover classification with sequential recurrent
encoders. ISPRS International Journal of Geo-Information, 7(4), 129.
Saha, T. K., Ouzzani, M., Hammady, H. M., & Elmagarmid, A. K. (2016). A large scale study of SVM based
methods for abstract screening in systematic reviews. arXiv preprint arXiv:1610.00192.
Salton, G., & Buckley, C. (1988). Term-weighting approaches in automatic text retrieval. Information
processing & management, 24(5), 513–523.
Salton, G., Wong, A., & Yang, C.-S. (1975). A vector space model for automatic indexing. Communications
of the ACM, 18(11), 613–620.
Seyler, D., Li, L., & Zhai, C. (2018). Identifying compromised accounts on social media using statistical
text analysis. arXiv preprint arXiv:1804.07247.
Shemilt, I., Khan, N., Park, S., & Thomas, J. (2016). Use of cost-effectiveness analysis to compare the
efficiency of study identification methods in systematic reviews. Systematic reviews, 5(1), 140.
Shi, S., Wang, Q., Xu, P., & Chu, X. (2016). Benchmarking state-of-the-art deep learning software tools.
In Cloud computing and big data (ccbd), 2016 7th international conference on (pp. 99–104).
Singh, J., & Gupta, V. (2017). A systematic review of text stemming techniques. Artificial Intelligence
Review, 48(2), 157–217. Retrieved from https://doi.org/10.1007/s10462-016-9498-2 doi: 10
.1007/s10462-016-9498-2
Sparck Jones, K. (1972). A statistical interpretation of term specificity and its application in retrieval.

105
Journal of documentation, 28(1), 11–21.
Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. (2014). Dropout: a simple
way to prevent neural networks from overfitting. The Journal of Machine Learning Research, 15(1),
1929–1958.
Suciu, G., Scheianu, A., & Vochin, M. (2017). Disaster early warning using time-critical iot on elastic cloud
workbench. In Black sea conference on communications and networking (blackseacom), 2017 ieee
international (pp. 1–5).
Szarvas, G., Farkas, R., & Kocsor, A. (2006). A multilingual named entity recognition system using boosting
and c4. 5 decision tree learning algorithms. In International conference on discovery science (pp.
267–278).
Tan, A.-H. (1999). Text mining: The state of the art and the challenges. In Proceedings of the pakdd 1999
workshop on knowledge disocovery from advanced databases (Vol. 8, pp. 65–70). sn.
Tanabe, L., Xie, N., Thom, L. H., Matten, W., & Wilbur, W. J. (2005). GENETAG: a tagged corpus for
gene/protein named entity recognition. BMC bioinformatics, 6(1), S3.
Toman, M., Tesar, R., & Jezek, K. (2006). Influence of word normalization on text classification. Procee-
dings of InSciT, 4, 354–358.
Turney, P. D., & Pantel, P. (2010). From frequency to meaning: Vector space models of semantics. Journal
of artificial intelligence research, 37, 141–188.
Wallace, B. C., Kuiper, J., Sharma, A., Zhu, M., & Marshall, I. J. (2016). Extracting pico sentences from
clinical trial reports using supervised distant supervision. Journal of machine learning research :
JMLR, 17.
Wallace, B. C., Small, K., Brodley, C. E., & Trikalinos, T. A. (2010). Active learning for biomedical citation
screening. In Proceedings of the 16th acm sigkdd international conference on knowledge discovery
and data mining (pp. 173–182). ACM.
Wang, Z., Asi, N., Elraiyah, T. A., Dabrh, A. M. A., Undavalli, C., Glasziou, P., … Murad, M. H. (2014).
Dual computer monitors to increase efficiency of conducting systematic reviews. Journal of clinical
epidemiology, 67(12), 1353–1357.
Webster, J., & Watson, R. T. (2002). Analyzing the past to prepare for the future: Writing a literature review.
MIS quarterly, xiii–xxiii.
Wei, X., & Croft, W. B. (2006). Lda-based document models for ad-hoc retrieval. In Proceedings of
the 29th annual international acm sigir conference on research and development in information
retrieval (pp. 178–185).

106
Woolley, A. W., Chabris, C. F., Pentland, A., Hashmi, N., & Malone, T. W. (2010). Evidence for a collective
intelligence factor in the performance of human groups. Science, 330 6004, 686-8.
Yang, X., Macdonald, C., & Ounis, I. (2017). Using word embeddings in twitter election classification.
Information Retrieval Journal, 1–25.
Young, T., Hazarika, D., Poria, S., & Cambria, E. (2017). Recent trends in deep learning based natural
language processing. arXiv preprint arXiv:1708.02709.
Zhang, S., & Elhadad, N. (2013). Unsupervised biomedical named entity recognition: Experiments with
clinical and biological texts. Journal of Biomedical Informatics, 46, 1088–1098.
Zhang, X., Zhao, J., & LeCun, Y. (2015). Character-level convolutional networks for text classification. In
Advances in neural information processing systems (pp. 649–657).
Zheng, H., Li, D., & Hou, W. (2011). Task design, motivation, and participation in crowdsourcing contests.
International Journal of Electronic Commerce, 15(4), 57–88.

107

Você também pode gostar