Você está na página 1de 46

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO SUL DE

MINAS GERAIS – CAMPUS PASSOS

João Roberto Lopes da Silva

Análise e identificação de fake news na rede social Twitter

PASSOS, MG
2019
Ficha catalográfica elaborada pelo Sistema de Geração de Ficha Catalográfica do
Instituto Federal do Sul de Minas Gerais - Campus Passos

Silva, João Roberto Lopes.


Análise e Identificação de Fake News na Rede Social Twitter / João
Roberto Lopes Silva. - 2019.
44 p.

Orientador(a): Hugo Resende.

Trabalho de Conclusão de Curso (Graduação - Bacharelado em


Ciência da Computação) - Instituto Federal de Educação, Ciências e
Tecnologia do Sul de Minas Gerais - Campus Passos, 2019.

1. Fake News. 2. Classificador Naive Bayes. 3. Inteligência


Artificial. I. Título.
João Roberto Lopes da Silva

Análise e identificação de fake news na rede social Twitter

Trabalho de Conclusão de Curso apresentado ao


IFSULDEMINAS como parte das exigências do curso de
graduação em bacharelado em Ciência da Computação
para a obtenção do título de Bacharel em Ciência da
Computação.

Orientador: Prof. Me. Hugo Resende

PASSOS, MG
2019
Aos meus pais e irmã, vocês são insubstituíveis e
preciosos demais.
AGRADECIMENTOS

À minha família, pelo incessante amor, amizade e suporte durante meus estudos,
assim como na minha vida.
Ao meu orientador Hugo, pela paciência, dedicação, companheirismo e
importantes ensinamentos durante a jornada de desenvolvimento deste trabalho.
Aos meus amigos, Igor, Isaac, Renato, Bruce e Erik, pela imprescindível amizade
e por sempre estarem ao meu lado.
Aos meus companheiros de turma, pelos bons momentos e pelo suporte que
proporcionamos uns aos outros no decorrer do curso.
Aos meus professores, pelos bons momentos e pelos importantes ensinamentos
proporcionados no decorrer do curso.
Ao IFSULDEMINAS – Campus Passos, por me proporcionar uma infraestrutura
de qualidade, assim como para a comunidade.
RESUMO

O uso da Internet como meio de acesso a conteúdos noticiosos se tornou parte do


cotidiano da maioria de seus usuários. Em particular, as redes sociais, impulsionadas
pelo avanço tecnológico da Internet móvel e dos aparelhos celulares, se tornaram
grandes fontes de informação. Com a popularidade de tais redes sociais, a propagação
de notícias falsas tem aumentado consideravelmente nos últimos anos. Essas notícias
são denominadas fake news, as quais têm estrutura similar à uma notícia real, e são
criadas com o intuito de se obter vantagens em diversos setores, tais como, política,
esporte, entre outros. Uma das principais redes sociais atualmente é o Twitter, que
possui milhões de usuários ativos e permite a coleta de informações da sua base de
dados por meio de bibliotecas específicas para essa finalidade. A partir dos dados
coletados dessa rede social, se torna possível a análise de objetos desses dados por
meio de diversos algoritmos existentes na literatura computacional, dentre os quais tem-
se o classificador Naive Bayes, comumente utilizado na classificação de documentos
textuais. Nesse sentido, este trabalho tem como objetivo apresentar um classificador
capaz de detectar fake news, tendo como entrada uma base de dados composta por
notícias coletadas na rede social Twitter. Inicialmente, foram coletados e armazenados
os tweets que serão analisados e, a partir de então, foi utilizado o classificador Naive
Bayes, na experimentação que determinou a veracidade das informações, tais
experimentos obtiveram acurácia máxima de 85%. Com os resultados dessa etapa de
classificação, foram efetuadas análises empíricas, a fim de verificar se esses resultados
se aproximam do valor rotulado. Desta maneira, foram realizadas análises quantitativas
e qualitativas, nas quais foi possível inferir a correlação dos resultados obtidos com a
realidade.

Palavras-chave: Classificação textual. Twitter. Fake news. Naive Bayes.


ABSTRACT
The use of the Internet as a means of accessing news content has become part of the
daily lives of most of its users. In particular, social networks, driven by the technological
advancement of mobile Internet and mobile devices, have become major sources of
information. With the popularity of such social networks, the spread of fake news has
increased considerably in recent years. Such news are called fake news, which have a
structure similar to a real news, and are created in order to gain advantages in various
sectors, such as politics, sports, among others. One of the main social networks today is
Twitter, which has millions of active users and allows the collection of information from its
database through libraries specific for this purpose. From the data collected from this
social network, it is possible to analyze objects of these data through various algorithms
in the computer literature, among which is the Naive Bayes classifier, commonly used in
the classification of textual documents. In this sense, this paper aims to present a
classifier capable of detecting fake news, having as input a database composed of news
collected on the social network Twitter. Initially, we collected and stored the tweets that
will be analyzed and, from then on, the Naive Bayes classifier was used in the experiment
that determined the veracity of the information, such experiment obtained 85% maximum
accuracy. With the results of this classification step, empirical analyzes were performed
in order to verify if these results approximate the labeled value. Thus, quantitative and
qualitative analyzes were performed, in which it was possible to infer the correlation of
the results obtained with reality.

Key-words: Text classification. Twitter. Fake news. Naive Bayes.


LISTA DE FIGURAS

Figura 1 - Fluxograma de etapas do processo de mineração textual. ........................... 15


Figura 2 - Fluxograma das etapas do OAuth. ............................................................... 17
Figura 3 - Exemplo de Serious Fabrication. .................................................................. 19
Figura 4 - Exemplo de Large Scale Hoaxes. ................................................................. 19
Figura 5 - Exemplo de Humorous Fake com conteúdo satirizante. ............................... 19
Figura 6 – Arquitetura de um classificador 3HAN. ........................................................ 24
Figura 7- Código para Autenticação por Meio do Tweepy. ........................................... 29
Figura 8 - Código para Extração de tweet por ID. ......................................................... 29
Figura 9 - Fluxograma de Funcionamento do Classificador Proposto. .......................... 31
Figura 10 - Código para a função GridSearchCV. ......................................................... 32
Figura 11- Distribuição de tweets por segmento social. ................................................ 34
Figura 12 - Gráfico de Acurácias x Tamanho do Conjunto de Treinamento.................. 35
Figura 13 - Gráfico Comparativo de Acurácias. ............................................................ 38
LISTA DE TABELAS

Tabela 1 - Matriz De Confusão para uma classificação binária. ................................... 22


Tabela 2 - Valores de Acurácia Obtidos. ....................................................................... 36
LISTA DE ABREVIATURAS E SIGLAS

API Application Programming Interface


FN Falsos Negativos
FP Falsos Positivos
HAN Hierarchical Attention Network
IA Inteligência Artificial
KNN K-Nearest Neighbors
PIN Personal Identification Number
PLN Processamento de Linguagem Natural
REST Representational State Transfer
RNA Rede Neural Artificial
VN Verdadeiros Negativos
VP Verdadeiros Positivos
LISTA DE EQUAÇÕES

Equação 1 - Teorema de Naive Bayes …………………………………………………… 20


Equação 2 - Acurácia ………………………………………………………………………. 23
SUMÁRIO

1 INTRODUÇÃO.......................................................................................................................12

1.1 Objetivo Geral ...................................................................................................................13

1.2 Objetivos Específicos .......................................................................................................13

2 REFERENCIAL TEÓRICO ....................................................................................................14

2.1 Mineração de Textos .........................................................................................................14

2.2 Fake News .........................................................................................................................18

2.3 Classificadores .................................................................................................................19

2.4 As Bibliotecas Tweepy, Scikit-Learn e Pandas ...............................................................21

2.5 Métricas de Avaliação .......................................................................................................21

3 ESTADO DA ARTE ...............................................................................................................24

4 MATERIAL E MÉTODOS ......................................................................................................27

4.1 Levantamento de Requisitos............................................................................................27

4.2 Coleta e Rotulação das Notícias para a Composição da Base de Dados .....................28

4.3 Pré-processamento dos Dados........................................................................................30

4.4 Detecção da Fake News e Validação dos Resultados ....................................................31

5 EXPERIMENTOS COMPUTACIONAIS .................................................................................33

6 CONCLUSÕES......................................................................................................................40

REFERÊNCIAS BIBLIOGRÁFICAS .........................................................................................42


12

1 INTRODUÇÃO

O uso da Internet como meio de acesso a conteúdos ou, particularmente, notícias,


é algo rotineiro entre a maioria dos seus usuários. O crescente mercado de celulares e
de redes móveis permite que tal uso seja cada vez maior e, nesse sentido, as redes
sociais são consideradas grandes fontes de informação (WESTLUND, 2015). A rede
social Twitter, a qual possui mais de 320 milhões de usuários mensais ativos, é uma das
mais utilizadas no mundo (INVESTOR RELATIONS, 2019), além de ser uma importante
ferramenta para difusão de notícias por meio de pequenas mensagens conhecidas como
tweets, nas quais o usuário pode publicar um texto com até 280 caracteres.
Com a popularidade das redes sociais, a propagação de notícias falsas que
aparentam ser verdadeiras tem aumentado consideravelmente nos últimos anos (GU;
KROPOTOV; YAROCHKIN, 2017). Tais notícias ficaram conhecidas como fake news, as
quais são criadas originalmente com objetivos de se obter vantagens em diversos
setores, por exemplo: na política, no esporte, entre outros (CAMBRIDGE, 2018). A
propagação de fake news em redes sociais é uma preocupação crescente, a qual foi
impulsionada, principalmente, pelas últimas eleições presidenciais dos Estados Unidos
e do Brasil. Durante e depois de tais processos eleitorais, houve um expressivo aumento
de processos judiciais entre partidos políticos, alegando vantagens eleitorais obtidas por
meio da disseminação de fake news (OLIVEIRA, 2018).
No sentido de identificar fake news, recentemente várias abordagens que se
utilizam de diferentes técnicas foram propostas. Inspirados pelo conceito, Ciampaglia et
al. (2015), de fecho epistêmico1, utilizam bancos de dados pré-estabelecidos e grafos de
conhecimento para avaliar a veracidade de alguma afirmação em particular. Seus testes
demonstraram uma acurácia de até 95% em casos de afirmações simples. Em um outro
trabalho, Tacchini et al. (2017) utilizaram de duas técnicas para classificar postagens
feitas através da rede social Facebook em boatos ou não-boatos. A primeira técnica é
baseada em regressão logística, enquanto a segunda técnica apresenta um sistema de
rotulação booleana através de crowdsourcing, uma forma de rotulação na qual os

1
Segundo Luper (2008), fecho epistêmico determina que o conhecimento é fechado através de inferências
ou acarretamentos. Se um indivíduo S conhece p, e p implica em q, então S conhece q.
13

próprios usuários classificam os tweets como verdadeiros ou falsos. Experimentos


computacionais reportam uma acurácia acima de 99% em alguns casos de testes. Por
fim, Granik e Mesyura (2017) empregam um classificador bayesiano, comumente
utilizado para detecção de spams em e-mails, para encontrar fake news divulgadas
através de páginas do Facebook. Considerando a sua simplicidade, o modelo bayesiano
obteve uma acurácia de aproximadamente 75%, apontando que pesquisas podem ser
realizadas com foco em outras técnicas da Inteligência Artificial (IA).
Fundamentando-se nas informações supramencionadas, este documento propõe
a utilização de um classificador probabilístico de Naive Bayes na identificação de
possíveis fake news difundidas através da rede social Twitter. Tal identificação permitirá
análises sobre a eficiência dessa abordagem, a fim de se determinar quais técnicas da
IA que investigaram esse problema se apresentam como soluções factíveis.

1.1 Objetivo Geral

Determinar a eficácia de um classificador Naive Bayes, treinado por uma base de


dados de notícias recentes extraídas da rede social Twitter, para identificação de fake
news.

1.2 Objetivos Específicos

- Analisar e definir as tecnologias que serão utilizadas no desenvolvimento deste trabalho;


- Coletar notícias que irão compor a base de dados por meio de um Web Crawler Agent
(WCA);
- Criar a base de dados rotulada em notícias falsas ou verdadeiras;
- Aleatorizar a base de dados e separá-la em conjuntos de treinamento, de validação e de
testes;
- Implementar e treinar o classificador utilizando o conjunto de treinamento;
- Experimentar o classificador utilizando-se do conjunto de testes;
- Realizar testes de acurácia;
- Analisar os resultados obtidos e compará-los com resultados coletados na literatura.
14

2 REFERENCIAL TEÓRICO

Na tarefa de se detectar fake news, diferentes tecnologias podem ser utilizadas,


desde a maneira de se obter os dados necessários para a análise, à maneira como eles
são classificados. De modo a entender as principais ferramentas e/ou tecnologias
presentes neste trabalho, este capítulo apresenta uma fundamentação teórica com essa
finalidade. Na Seção 2.1 são evidenciados os conceitos e etapas necessárias para a
compreensão do processo de mineração textual, além de uma visão geral do
funcionamento da coleta de dados no Twitter.
Posteriormente, na Seção 2.2, é introduzido um conceito formal de fake news,
assim como exemplos para a compreensão dos seus diferentes tipos. Em seguida, na
Seção 2.3 são apresentados diferentes tipos de classificadores, tal como o classificador
de Naive Bayes. Na Seção 2.4, são detalhados os conceitos das bibliotecas envolvidas
no processo de mineração textual e de classificação utilizadas no desenvolvimento deste
trabalho. Por fim, na Seção 2.5, são detalhadas as métricas de avaliação utilizadas para
tornar possível a análise da capacidade de predição do algoritmo utilizado neste trabalho,
além da validação dos seus resultados.

2.1 Mineração de Textos

A mineração de textos se refere, de maneira geral, ao processo de extrair


conhecimento, padrões não-triviais ou informações de interesse a partir de um texto
desestruturado. Tal tarefa pode ser identificada como um campo interdisciplinar na
intersecção de áreas relacionadas à extração de informação, aprendizado de máquina,
estatística, processamento de linguagem natural, mineração de dados, entre outros
(HOTHO; NÜRNBERGER; PAAß, 2005).
Segundo Aggarwal e Zhai (2012), o campo de mineração de dados obteve
grandes avanços nos últimos anos graças ao desenvolvimento de melhores tecnologias
para software e hardware. Tal afirmação é verdadeiramente especial para o escopo de
mineração de textos, onde o desenvolvimento de plataformas web e redes sociais
permitiram a acelerada criação de grandes repositórios de diferentes tipos de dados.
15

Um tipo de dados conhecido particularmente por Dados Textuais são instâncias


de dados não estruturados. Tal tipo de informação é uma das mais simples formas de
dados que pode ser gerada na maioria dos cenários atuais. Textos desestruturados são
facilmente compreendidos e processados por humanos, porém são consideravelmente
mais difíceis para que máquinas os compreendam. Tendo em vista o grande volume de
dados não estruturados que precisam ser analisados, e a sua inestimável fonte de
informação e conhecimento, a necessidade de algoritmos e métodos que os processem
de maneira eficiente se faz necessária (ALLAHYARI et al., 2017).
Aranha e Passos (2007) propõem um modelo para mineração textual que se
baseia em cinco etapas, sendo elas, coleta, pré-processamento, indexação, mineração
e análise. A Figura 1 ilustra tais etapas.

Figura 1 - Fluxograma de etapas do processo de mineração textual.

Fonte - Adaptado de Aranha e Passos (2007).

Na Figura 1, a etapa de coleta pode ser realizada através de um Web Crawler


Agent (WCA), que são programas capazes de explorar páginas web de maneira
automatizada com a finalidade de extrair informações de interesse, ou coletar textos
utilizados na extração de conhecimento. A etapa de pré-processamento embasa-se na
utilização de técnicas ligadas ao Processamento de Linguagem Natural (PLN) para
estruturar os textos utilizados durante o processo. Na próxima etapa, a de indexação,
são implementados métodos para facilitar a busca de documentos através de palavras-
chave, os quais permitem uma melhoria na performance e possibilitam diferentes
16

maneiras de se ordenar os documentos. A penúltima etapa, a de mineração, se resume


na aplicação de algum classificador capaz de distinguir padrões e permitir a extração de
conhecimento. Por fim, a etapa de análise consiste em uma atividade realizada por um
especialista humano, que interpreta os dados obtidos no passo anterior com o intuito de
se obter algum conhecimento útil.
O campo da mineração textual utiliza de diversas bases de dados para a extração
de conhecimento, desde redes sociais, planos de saúde, seguros de vida, registros
médicos, entre outros (ALLAHYARI et al., 2017). Para Aggarwal e Zhai (2012), dados
textuais em redes sociais permitem a compreensão de aspectos (de grupos e de
pessoas) considerados previamente impossíveis, tanto em escala quanto em extensão.
Dentre essas redes sociais destaca-se o Twitter, que devido ao tamanho de sua base de
dados, leva grandes empresas e organizações midiáticas a investirem em diferentes
maneiras de minerá-lo, com o objetivo de obter opiniões populares sobre seus produtos
ou serviços (KOULOUMPIS; WILSON; MOORE, 2011).
O Twitter disponibiliza duas diferentes Interfaces de Programação de Aplicações
(API) para extração de dados: a Streaming API e a Representational State Transfer
(REST) API. A Streaming API é capaz de proporcionar acesso em tempo-real aos dados
da plataforma ao disponibilizar os tweets assim que são publicados. Por outro lado, a
REST API permite a busca histórica de tweets através de diversos critérios
(SRIVASTAVA, 2018). Portanto, atendendo às características deste trabalho e as
diferenças entre esses métodos, a utilização da REST API se mostra como a mais
eficiente.
Conforme Kumar, Morstatter e Liu (2014), as APIs do Twitter são acessadas
somente por meio de requisições autenticadas. Para tanto, a plataforma utiliza o padrão
de autenticação Open Authentication (OAuth) e cada requisição deve estar assinada por
uma credencial válida do site. A Figura 2 ilustra as etapas para o acesso do OAuth às
APIs do Twitter.
17

Figura 2 - Fluxograma das etapas do OAuth.

Fonte - Adaptado de Kumar, Morstatter e Liu (2014).

Na Figura 2, em particular, na primeira etapa, a aplicação deve obrigatoriamente


ser registrada no Twitter2, e através desse processo obter uma chave de consumidor e
um segredo, os quais devem ser utilizados pela aplicação para se autenticar na
plataforma. Na etapa seguinte, a aplicação utiliza a chave de consumidor e o segredo
para criar um link único do Twitter, por meio do qual o usuário é orientado a se identificar
e autorizar a aplicação para se autenticar para ela. Ainda nessa etapa, a plataforma emite
um verificador OAuth, também denominado de PIN, ao verificar as credenciais do
usuário. Na terceira etapa, o usuário fornece o PIN para a aplicação, o qual será utilizado
na requisição de uma chave e de um segredo de acesso únicos emitidos ao usuário pela

2
https://developer.twitter.com/en/apps
18

plataforma. Finalmente, na última etapa, a aplicação utiliza a chave e o segredo de


acesso obtidos na etapa anterior para autenticar o usuário no Twitter e emitir chamadas
da API pelo usuário.
De acordo com Thelwall (2001), as etapas ilustradas na Figura 2 podem ser
realizadas de maneira automatizada por meio de WCAs. Em razão da quantidade de
materiais disponíveis sobre eles, neste trabalho foi implementado um desses sistemas
que se mostrou capaz de coletar tweets noticiosos de maneira satisfatória.

2.2 Fake News

Segundo Cambridge (2018), as fake news são similares a artigos de notícias, que
possuem conteúdo enganoso e tem como objetivo prover vantagens aos seus autores
em diferentes campos como: política, esporte, entre outros. De acordo com Horne e Adali
(2017), um pressuposto frequentemente subentendido em discussões sobre fake news
é o de que elas são escritas para se parecer com notícias verdadeiras. Os autores
também relatam que a estruturação geral do título e a utilização de substantivos próprios
são significativos para a determinação da veracidade de um artigo noticioso, e a partir
disso concluem que as fake news são dirigidas para o público que provavelmente não lê
além do título de uma matéria.
Rubin, Chen e Conroy (2015) discutem três diferentes categorizações de fake
news e as comparam com reportagens genuínas. A primeira dessas categorias,
denominada de Serious Fabrications, aponta para reportagens fraudulentas comumente
difundidas por tabloides ou pela imprensa sensacionalista, que através de exageros,
mentiras ou exploração de escândalos, tem como propósito chamar a atenção do leitor.
A segunda categoria, chamada de Large Scale Hoaxes, é considerada um tipo de
fabricação que tenta enganar o público ao se disfarçar de uma notícia tradicional. Por
fim, a categoria Humorous Fakes apresenta o conceito de fake news compostas de
conteúdo humorístico, por exemplo o satírico, e aponta que caso o leitor esteja ciente
das intenções humorísticas, talvez ele não interprete de maneira literal a mensagem da
notícia. Exemplos de fake news Serious Fabrication, Large Scale Hoaxes e Humorous
Fakes são apresentados, respectivamente, por meio das Figuras 3, 4 e 5.
19

Figura 3 - Exemplo de Serious Fabrication.

Fonte: Autor.

Figura 4 - Exemplo de Large Scale Hoaxes.

Fonte: Autor.

Figura 5 - Exemplo de Humorous Fake com conteúdo satirizante.

Fonte: Autor.

Tendo em vista as informações supramencionadas, este trabalho propõe o uso de


tweets noticiosos, como os apresentados nos exemplos anteriores, para a elaboração da
base de dados a ser utilizada pelo classificador Multinomial Naive Bayes, o qual será
apresentado na seção 2.3.

2.3 Classificadores

Na tarefa de se classificar informações textuais ou não-textuais pode-se utilizar


de diversos tipos de classificadores. No campo da IA existem as Redes Neurais Artificiais
(RNAs), as quais têm apresentado bons resultados quando aplicadas a tarefas de
classificação em diversos segmentos (SARAVANAN; SASITHRA, 2014). Além disso,
20

existem os classificadores probabilísticos, dentre os quais se destacam os que


implementam os algoritmos mais conhecidos na literatura computacional, tais como o
Naive Bayes, Árvores de Decisão e K-Nearest Neighbours (KNN). Esses classificadores
têm se mostrado como boas ferramentas para a classificação automática de documentos
(KORDE; MAHENDER, 2012). Neste trabalho será investigada a aplicação do
classificador Naive Bayes.
O classificador de Naive Bayes tem sido comumente usado para classificação
textual por ser simples e efetivo, pois ele oferece uma performance competitiva se
comparado a métodos mais complexos. O classificador se fundamenta no Teorema de
Thomas Bayes, ao presumir de maneira ingênua (naive) que quaisquer relações entre
um par de variáveis são inexistentes, dada a existência de uma classe em particular
(TANG; KAY; HE, 2016).
O Teorema de Bayes, representado na Equação 1, pode ser definido como o
cálculo da probabilidade de um evento ocorrer dado que outro já tenha ocorrido, sendo
tal cálculo denominado de probabilidade condicional. Posto isto, P (A) e P (B)
representam respectivamente as probabilidades de A e B ocorrerem e, P (B|A)
representa a probabilidade de B ocorrer dado a ocorrência de A.

𝑃(𝐴)×𝑃(𝐵|𝐴)
𝑃(𝐴|𝐵) = (1)
𝑃(𝐵)

Conforme McCallum et al. (1998), o modelo supervisionado Multinomial Naive


Bayes (MNB) normalmente apresenta uma performance superior quando comparado a
outros modelos da mesma fundamentação. Por esse motivo este trabalho empregará o
uso do modelo MNB, e para manipulá-lo será utilizada a biblioteca Scikit-Learn em
virtude de suas funções que facilitam a manipulação desejada do algoritmo. Parâmetros
globais do classificador são denominados hiperparâmetros, por exemplo, neste trabalho,
o valor do limiar no qual uma notícia pode ser considerada real ou fake, de acordo com
sua classificação.
21

2.4 As Bibliotecas Tweepy, Scikit-Learn e Pandas

A biblioteca denominada de Tweepy é implementada em linguagem Python e


apresenta funções que facilitam a utilização de chamadas das APIs disponibilizadas pelo
Twitter, além de permitir a interação dessas APIs com essa linguagem (TWEEPY, 2019).
Outra biblioteca utilizada neste trabalho é a Pandas, também implementada em Python,
a qual é utilizada para estruturas de dados de alta performance. Essa biblioteca fornece
uma API capaz de lidar com tarefas comuns envolvidas com estruturas e análise de
dados, tais como, formação, manipulação e leitura de conjuntos de dados, visualização
desses dados, entre outros (PANDAS, 2019).
Devido à facilidade de acesso a inúmeras ferramentas eficientes para mineração
e análise de dados, dentre elas o classificador MNB, o qual foi implementado neste
trabalho, foi feito o uso da biblioteca Scikit Learn. Por ser implementada em linguagem
Python, tal biblioteca proporciona de maneira simplificada o acesso a outras bibliotecas
úteis em Python, como por exemplo, a NumPy, SciPy e matplotlib (SCIKIT-LEARN,
2019).

2.5 Métricas de Avaliação

Na construção de um modelo de classificação, a análise de sua capacidade de


predição é indispensável para a validação dos resultados obtidos por ele. Nesse sentido,
o algoritmo cross validation é um dos métodos mais populares utilizados no campo de
validação desses modelos, devido à sua heurística de divisão de dados (ARLOT, 2010).
Em diversos campos de estudo, diferentes tipos de cross validation são utilizados,
dentre eles destaca-se o 2-fold cross validation, onde os dados são divididos
aleatoriamente em dois conjuntos, denominados conjunto de treinamento e conjunto de
validação. Uma extensão desse método é o k-fold cross validation, onde os dados são
aleatoriamente divididos em k subconjuntos, dentre os quais, k - 1 subconjuntos são
utilizados para o treinamento do classificador. O conjunto restante é utilizado para a
validação. Esse processo se repete até que todos os subconjuntos sejam utilizados na
22

validação (CHANDRASHEKAR; SAHIN, 2014). Baseando-se nas informações


anteriores, propõe-se neste trabalho a utilização do método k-fold cross validation, sendo
o valor de k definido por meio de análises durante o desenvolvimento deste trabalho.
Assim que concluídos os testes, se torna possível aferir algumas medidas de
qualidade para o classificador, as quais se fundamentam nas possíveis instâncias de um
conjunto de testes observado. Tais instâncias são passíveis de classificação em quatro
tipos, as quais podem ser: (i) verdadeiras positivas (VP), quando uma instância positiva
é corretamente classificada; (ii) falsas positivas (FP), quando uma instância negativa é
erroneamente classificada como positiva; (iii) falsas negativas (FN), quando uma
instância positiva é erroneamente classificada como negativa; e (iv) verdadeiros
negativos (VN), que representam instâncias negativas corretamente classificadas.
Através das medidas de qualidade apresentadas nos parágrafos anteriores é
possível construir uma matriz de confusão, comumente utilizada como base para
diversas métricas encontradas na literatura. Nessa matriz, os números da diagonal
principal representam as decisões corretas do classificador, enquanto na diagonal
secundária eles representam os erros entre as classes (FAWCETT, 2009). As
informações citadas anteriormente são ilustradas na Tabela 1.

Tabela 1 - Matriz De Confusão para uma classificação binária.

Fonte: Autor.

A partir da matriz de confusão de um classificador é possível realizar o cálculo de


diversas métricas. Uma dessas métricas é a acurácia (Equação 2), que obtém a
inferência da proporção de classificações corretas pelo total de instâncias do conjunto.
O cálculo da acurácia viabiliza a validação do algoritmo do classificador, assim como a
comparação de seu desempenho se comparado a outros classificadores.
23

𝑉𝑃 + 𝑉𝑁
𝐴𝑐𝑢𝑟á𝑐𝑖𝑎 = (2)
𝑉𝑃 + 𝑉𝑁 + 𝐹𝑃+ 𝐹𝑁
24

3 ESTADO DA ARTE

O campo de detecção de notícias falsas, apesar de recente, já possui relevância


dado o seu papel dentro das circunstâncias atuais de massiva veiculação de artigos
jornalísticos falsos na Internet, como elaborado no primeiro capítulo desta obra. Existem
diversas metodologias capazes de realizar tal tarefa, dentre as quais destacam-se os
modelos baseados em redes neurais, pois comumente apresentam bons resultados, e
modelos probabilísticos, devido ao baixo custo computacional e consideráveis
resultados, conforme apresentado na Seção 2.3.
Singhania, Fernandez e Rao (2017), utilizaram classificadores baseados em uma
rede neural artificial profunda (denominada 3HAN) e uma base de dados com mais de
40 mil artigos jornalísticos, para a obtenção de uma acurácia máxima de 96.77% em seu
melhor classificador. Na Figura 6 é ilustrada a arquitetura proposta pelos autores.

Figura 6 – Arquitetura de um classificador 3HAN.

Fonte: Singhania, Fernandez e Rao (2017).

Na arquitetura ilustrada por meio da Figura 6, inicialmente, cada palavra em uma


sentença do documento é transformada em uma forma definida pelos autores conhecida
25

como forma incorporada (w), que pode ser entendida como uma coleção de números
reunidos em uma estrutura específica, a qual objetiva representar o significado de uma
palavra. Em seguida, tais palavras incorporadas são analisadas por um mecanismo
denominado GRU (Gated Recurrent Unit) bidirecional, o qual procura, de maneira
adaptativa, relações entre todas as palavras incorporadas dentro de uma mesma
sentença, tanto no sentido comum de leitura de um documento, quanto no sentido
inverso. O principal objeitvo dessas leituras é a geração de representações de interação,
denominadas estados ocultos (hw).
Em seguida, esses estados ocultos são concatenados e utilizados como entrada
para a próxima etapa. Na sequência, é realizada uma ação conhecida como extração de
vetores de atenção (uw) para cada sentença, na qual as palavras incorporadas mais
relevantes, dadas as análises anteriores, são extraídas por meio de um Rede Neural
Perceptron Multicamadas. A fim de se extrair vetores de atenção para cada documento
(us), a mesma estratégia utilizada para cada palavra nos passos anteriores é aplicada em
todas essas sentenças, por meio dos vetores de atenção obtidos na etapa anterior. Em
seguida, a mesma abordagem é utilizada nas manchetes de notícias juntamente com os
vetores de atenção obtidos de cada documento. Por fim, os autores utilizam esse vetor
de atenção final (vn) como entrada em uma função particular às redes neurais, conhecida
como função sigmoide, útil na tarefa de classificação.
Tacchini et al. (2017), por meio de uma base de dados composta por publicações
realizadas em páginas do Facebook, em conjunto com os dados de interações de todos
os usuários com tais publicações, utilizaram duas técnicas diferentes para classificação
de notícias em boatos ou não-boatos. É importante mencionar que os usuários que
constituem essa base de dados são classificados em três diferentes categorias, sendo a
primeira delas a de usuários que curtiram apenas publicações de boatos, a segunda, por
usuários que curtiram apenas publicações de não-boatos e a terceira, por usuários que
curtiram pelo menos uma publicação de cada uma dessas possibilidades.
A primeira técnica utilizada pelos autores consiste da aplicação de um modelo de
regressão logística, onde dois conjuntos são utilizados, sendo o primeiro conjunto o de
publicações e o outro conjunto, de usuários. Com base em tais conjuntos, o modelo
realiza as suas classificações de acordo com o conjunto de usuários que curtiram uma
26

determinada publicação. Entre os principais resultados reportados pelos autores, no que


diz respeito à primeira técnica, cabe salientar uma expressiva taxa de acerto de 99%. A
segunda técnica utilizou um sistema de classificação booleana feita pelos próprios
usuários, no qual as publicações foram classificadas sob diversos aspectos, por
exemplo, se a publicação era considerada vandalismo, ou se ela viola alguma regra de
conduta da plataforma. Tal sistema, em conjunto com a aplicação de um algoritmo da
Teoria dos Grafos, conhecido como algoritmo harmônico, permitiu, de acordo com os
autores, a transferência de informações entre usuários que curtiram as mesmas
publicações. Nesse sentido, foi observado que a segunda técnica conseguiu uma
acurácia máxima de 99.4%.
Tendo-se em mente o que foi disposto neste capítulo, é possível perceber
algumas aplicações que atacaram o problema de detecção de notícias falsas, embora
em uma quantidade não tão expressiva. Tal observação leva à sugestão de que o
problema em questão é recente, passível de tratamento por outras técnicas ainda não
investigadas.
27

4 MATERIAL E MÉTODOS

Neste capítulo será detalhada a metodologia utilizada para o desenvolvimento


deste trabalho. Na Seção 4.1 são pormenorizados os processos que fundamentam cada
decisão deste trabalho, assim como quais levantamentos bibliográficos foram realizados.
Em seguida, na Seção 4.2, são apresentados os detalhes relacionados ao processo de
coleta de tweets, os quais irão compor a base de dados utilizada para treinar o
classificador proposto neste trabalho. Posteriormente, na Seção 4.3, são detalhados os
processos de criação dos conjuntos de dados utilizados em diversas etapas deste
trabalho. Na Seção 4.4 são expostos alguns aspectos inerentes ao classificador, assim
como as etapas do seu funcionamento, também são evidenciados detalhes da métrica
de avaliação de desempenho do classificador.

4.1 Levantamento de Requisitos

De modo a se identificar um modelo de classificador conceituado na literatura


computacional, foi realizado, primeiramente, um levantamento bibliográfico sobre as
Redes Neurais Artificiais (RNAs), a fim de aplicá-las na resolução do problema
apresentado neste trabalho. No entanto, o método se mostrou com um grau elevado de
complexidade para um Trabalho de Conclusão de Curso, devido às diversas adaptações
necessárias para o conjunto de entradas e, além disso, o prazo para conclusão de tal
trabalho o tornaria inviável. A partir desse momento, por meio de um levantamento sobre
a literatura acerca de detecção de fake news, optou-se então pela implementação de um
classificador probabilístico baseado no Teorema de Thomas Bayes.
Definido o classificador, foi então realizado um estudo sobre as tecnologias
relacionadas à extração de tweets provenientes diretamente do Twitter, no qual foi
apurado que a plataforma disponibiliza duas APIs gratuitas que facilitam tal atividade.
Dentre essas APIs, a REST API se mostrou a mais adequada para a implementação
deste trabalho por apresentar diversos métodos vantajosos, por exemplo, a realização
de busca e a extração de tweets de até sete dias prévios à data de consulta. Outra
vantagem é o fato de essa API não requerer uma conexão ativa e constante entre a
28

aplicação e o servidor da plataforma. Por fim, cabe destacar que tal API permite realizar
buscas por tweets através de critérios especificados pelo desenvolvedor de acordo com
o que foi apresentado na Seção 2.1.
Para o desenvolvimento do WCA optou-se pelo uso da linguagem Python,
principalmente por tal linguagem oferecer facilidades na integração com variadas
bibliotecas, por exemplo, a biblioteca Tweepy. O WCA tem como objetivo sondar a base
de dados do Twitter, por meio de recursos fornecidos pela REST API, de modo a retornar
dados referentes às chaves de busca inseridas pelo desenvolvedor.
Uma vez concluído o desenvolvimento do WCA, foi realizado um levantamento
bibliográfico acerca de técnicas de pré-processamento textual as quais, ao manipular
certos aspectos de cada entrada, têm como finalidade descartar informações irrelevantes
para o classificador e, consequentemente, obter um melhor desempenho para ele. Sendo
assim, após um estudo de algumas bibliotecas, optou-se pela implementação manual de
tais técnicas, devido a indisponibilidade de bibliotecas que tratassem de forma correta
bases de dados com conteúdo em Português do Brasil.
A fim de se implementar o classificador de forma eficiente, foi realizado um estudo
a respeito das bibliotecas existentes que automatizam o processo de desenvolvimento
do classificador. A partir desse estudo, identificou-se como uma ferramenta passível de
utilização neste trabalho a biblioteca conhecida como Scikit Learn. Tal biblioteca tem
como característica principal o provimento de recursos que facilitam a implementação de
modelos diversos da IA que são propostos para lidar com tarefas inerentes à construção
de soluções por meio de aprendizagem supervisionada e não-supervisionada.

4.2 Coleta e Rotulação das Notícias para a Composição da Base de Dados

Para a realização da coleta de tweets, primeiramente se desenvolveu um WCA


capaz de atender as necessidades presentes neste trabalho. Para isso, foi necessária a
criação de uma aplicação no site para desenvolvedores do Twitter, a qual disponibiliza
os conjuntos de chaves e segredos necessários para o processo de autenticação
obrigatório da plataforma, denominado de OAuth. Posteriormente, por meio da biblioteca
29

Tweepy e dos conjuntos de chaves obtidos, foi possível autenticar a aplicação e


estabelecer uma conexão com a API do Twitter. Essa biblioteca tem por objetivo facilitar
o processo de autorização OAuth, tendo em vista que ele requer diversas etapas
conforme apresentado na seção 2.1. Na Figura 7 é possível observar um exemplo dos
parâmetros que foram utilizados no código de autenticação.

Figura 7- Código para Autenticação por Meio do Tweepy.

1. CONSUMER_KEY = "CHAVE DO CONSUMIDOR"


2. CONSUMER_SECRET = "SEGREDO DO CONSUMIDOR"
3. ACCESS_TOKEN = "CHAVE DE ACESSO"
4. ACCESS_TOKEN_SECRET = "SEGREDO DA CHAVE DE ACESSO"
5.
6. auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
7. auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
8.
9. api = tweepy.API(auth)
Fonte: Autor.

A comunicação entre a aplicação e a REST API foi realizada por meio da Tweepy
e para a realização de tal processo foram utilizadas duas variáveis. A variável auth
realizou a autenticação por meio da classe OAuthHandler enquanto a variável api
estabeleceu a conexão com a API do Twitter. Visto que a conexão foi estabelecida, se
torna possível efetuar chamadas na base de dados do Twitter.
Para a busca e coleta dos tweets da base de dados da plataforma foi utilizado o
método get_status(), o qual é possível observar no código da Figura 8. Tal método utiliza
como parâmetro uma chave única do tweet, denominada de ID, e retorna apenas esse
tweet em particular. Uma vez que o WCA recebe a resposta do servidor do Twitter, o
armazenamento dos dados obtidos foi realizado, o que possibilitou a aplicação de futuras
técnicas utilizadas de análise.

Figura 8 - Código para Extração de tweet por ID.

1. tweet = api.get_status("ID PERTENCENTE AO TWEET")


Fonte: Autor.
30

A extração de tweets foi realizada periodicamente, um tweet por vez,


considerando acontecimentos nacionais que produziram conteúdo midiático em
quantidade considerável, com o objetivo de encontrar alguns indícios de manipulação.
Foram considerados apenas perfis do Twitter com intenção jornalística, ou seja,
quaisquer notícias provenientes de perfis com objetivos diferentes, ou não estritamente
focados em jornalismo, não foram coletadas. Tais decisões objetivam a padronização de
qualidade para as entradas que compõem a base de dados e, além disso, vale salientar
uma carência de bases de dados que se encaixem no perfil deste trabalho de maneira
satisfatória.
Conforme apresentado na Seção 2.3, o classificador MNB é um classificador do
tipo supervisionado, e por esse motivo, se torna necessária a construção de uma base
de tweets rotulados manualmente a fim de se obter um conjunto de treinamento para o
modelo proposto neste trabalho. Sendo assim, todos os tweets da base de dados
elaborada foram manualmente rotulados entre notícias reais ou fake news. Com o
objetivo de criar uma base de dados rotulada consistente e para que se alcance uma
melhor acurácia do modelo, foram selecionadas, em proporções equivalentes, tweets
para cada um dos dois possíveis casos.

4.3 Pré-processamento dos Dados

Uma vez rotulados os tweets, e com o intuito de se melhor treinar o modelo,


realizou-se então a eliminação de informações inúteis para o processo de classificação
contidas nesses tweets. De modo a eliminar tais informações, previamente à
classificação foi realizado um pré-processamento dos dados. Informações como links,
stopwords, nomes de usuários, entre outros, foram removidas de modo a padronizar as
entradas.
Neste trabalho, em particular, foram estas as etapas implementadas
manualmente realizadas para o pré-processamento das entradas: (i) remoção de
stopwords, palavras que ocorrem com tanta frequência em algum idioma que não se
tornam discriminativas para o classificador (AGGARWAL; ZHAI, 2012); (ii) remoção de
acentuação e caracteres especiais a fim de eliminar discrepâncias na designação da
31

polaridade de cada palavra (HEMALATHA; VARMA; GOVARDHAN, 2012); (iii) remoção


de links ou etiquetas de usuários do Twitter, uma vez que eles podem causar falsas
predições ao alterarem as probabilidades de certas palavras (HEMALATHA; VARMA;
GOVARDHAN, 2012); (iv) remodelação das entradas para que todas as letras sejam
minúsculas, com o intuito de padronização delas (GOMES,2013).

4.4 Detecção da Fake News e Validação dos Resultados

Devido à sua eficiência em tarefas de classificação textual, possuir fácil


implementação e apresentar resultados satisfatórios quando comparado à algoritmos
mais complexos o classificador MNB foi escolhido para a classificação dos dados. A sua
implementação neste trabalho foi realizada com o auxílio da biblioteca Scikit Learn, uma
vez que ela disponibiliza facilidades para se trabalhar com classificadores probabilísticos,
desde o treinamento de modelos de classificadores, funções para cálculo de
desempenho a plotagens gráficas utilizadas em etapas de análise de desempenho.
De modo a se obter um melhor entendimento do fluxo de execução do presente
projeto, na Figura 9 é apresentado um fluxograma com as tarefas a serem realizadas.

Figura 9 - Fluxograma de Funcionamento do Classificador Proposto.

Fonte: Autor.
32

O modelo de classificador proposto neste trabalho é constituído por 3 etapas


principais. A primeira delas é a de aprendizado, na qual o classificador é treinado de
acordo com o conjunto de entradas que recebe (Conjunto de Treinamento). Em seguida,
a etapa de validação possibilita que o classificador realize ajustes em seus
hiperparâmetros com base em um outro conjunto de dados (Conjunto de Validação), com
o intuito de aprimorar o desempenho do modelo. Por fim, na etapa de testes, a partir de
um conjunto de entradas (Conjunto de Testes), o modelo já treinado desempenha as
classificações imparciais. A fim de inferir a capacidade de classificação do modelo
proposto, neste trabalho utilizou-se uma métrica denominada acurácia, que obtém a
proporção entre o número de classificações corretas, verdadeiras positivas e verdadeiras
negativas, pelo total de instâncias do conjunto, conforme apresentado na Seção 2.5.
Para a implementação das etapas supramencionadas, foi utilizada uma função
disponibilizada pela biblioteca Scikit Learn denominada GridSearchCV. Ela permite
testes em conjuntos de combinações hiperparâmetros para um ou mais modelos, além
de ser capaz de retornar quais dessas combinações possuem melhores resultados. A
GridSearchCV mostra tais resultados em métricas especificadas pelo desenvolvedor a
priori. Neste trabalho, em particular, essa função recebeu 4 parâmetros: (i) parâmetro
estimator, onde foram passados os classificadores e métodos utilizados pelo modelo; (ii)
o parâmetro param_grid, onde foi fornecida uma lista de hiperparâmetros dos modelos e
seus intervalos de valores para cada um desses parâmetros; (iii) parâmetro cv, onde o
valor de validação cruzada foi definido; (iv) parâmetro scoring, onde a métrica de
avaliação foi definida (SCIKIT-LEARN, 2019). Tal função é ilustrada na Figura 10.

Figura 10 - Código para a função GridSearchCV.

1. clf = GridSearchCV(modelos, hiperparametros, cv=5, scoring = score)


Fonte: Autor.
33

5 EXPERIMENTOS COMPUTACIONAIS

Neste capítulo, serão apresentados os resultados obtidos após o desenvolvimento


e experimentações do modelo proposto. Na Seção 5.1, são elaborados detalhes acerca
da composição da base de dados. Na Seção 5.2, os resultados obtidos durante os
experimentos computacionais deste trabalho são comparados com outros trabalhos. Na
Seção 5.3, são discutidos os custos computacionais dos modelos apresentados na
Seção 5.2.

5.1 Base de Dados

Objetivando obter melhores resultados para o modelo, como apresentado na


Seção 4.2, após a finalização da etapa de coleta de tweets foram obtidas 100 entradas,
classificadas igualmente entre notícias reais e fake news. Nesse sentido, é importante
denotar que devido a natureza laboriosa de coleta de cada entrada e o curto espaço de
tempo para esta pesquisa, deciciu-se que tal número é suficiente para a realização de
análises iniciais. Para a coleta de notícias falsas, utilizou-se de reportagens publicadas
em agências de fact-checking, tendo em vista a formação de uma base de dados com
entradas fundamentadas em classificações verdadeiras. Essas agências apuram a
veracidade de fatos e notícias mais compartilhados na Internet. Por meio de
metodologias fidedignas, os fatos são apurados normalmente entre reais ou falsos e,
assim sendo, são disponibilizados, juntamente de tais metodologias, para o leitor em
suas publicações. Dentre tais agências, foram utilizadas como fundamentação para a
etapa de coleta neste trabalho reportagens da Agência Lupa, Agência AosFatos e
Boatos.org (LUPA, AOSFATOS, BOATOS.ORG, 2019).
A fim de se compreender amplamente o que foi coletado, todos os tweets da base
de dados foram categorizados por segmento social, de acordo com a visão do autor
deste trabalho. Nesse sentido, na Figura 11 é apresentada a distribuição de tais
segmentos sociais para os tweets que compõem a base de dados.
34

Figura 11- Distribuição de tweets por segmento social.

Saúde Educação
3% 2%
Policial
7%

Internacional
7%

Política
40%

Esportes
11%

Ciência
13%

Cotidiano
17%

Fonte: Autor.

Como apresentado na Figura 11, o segmento denominado cotidiano é composto


por notícias que retratam acontecimentos que não se encaixam necessariamente em
outros segmentos sociais designados pelo autor. Nesse sentido, tal designação não
descarta a importância dessas notícias, apenas as categoriza dentro de um espectro de
segmentos sociais. Para o segmento denominado internacional, foram escolhidas
notícias cujo principal assunto consiste de qualquer tipo de interação entre duas nações,
independentemente de leituras mais viscerais sobre tais notícias.
A partir dos dados apresentados na Figura 11, juntamente com o cenário político
brasileiro durante a elaboração deste documento e do volume de artigos jornalísticos que
tratam sobre o tema política que são compartilhados em redes sociais, principalmente
no Twitter como neste trabalho, é passível de dedução que o fluxo de notícias reais e
fake news para tal categoria social é consideravelmente maior dentro do escopo
brasileiro de notícias.
35

5.2 Resultados

Na literatura computacional não foi encontrado um consenso a respeito do


tamanho ótimo para um conjunto de treinamento de um classificador (HAYKIN, 2009).
Sendo assim, para a etapa de treinamento do modelo proposto, foram realizados
experimentos com diferentes percentuais de amostras considerados factíveis conforme
reportado em alguns trabalhos da literatura. Nesse sentido, incrementou-se, em cada
execução, 1% no tamanho do conjunto, em um intervalo entre 20% a 35% do total de
tweets, decidiu-se por esse intervalo pois ele representa diversos valores que são
discutidos como ótimos para tal instância dentro da literatura computacional. O gráfico
ilustrado na Figura 12 dispõe as acurácias obtidas para cada variação no tamanho do
conjunto de treinamento.

Figura 12 - Gráfico de Acurácias x Tamanho do Conjunto de Treinamento.

90%

85%
85%
83%
82%

79%
80% 79%
78%
ACURÁCIA OBTIDA

77%
77%
76% 76%
75% 75% 75%
74%
75% 73%

70%

65%

63%
60%
0.2 0.22 0.24 0.26 0.28 0.3 0.32 0.34

TAMANHO DO CONJUNTO DE TREINAMENTO

Fonte: Autor.
36

Na Figura 12, é possível observar um comportamento linear de acurácias obtidas


para o classificador, porém, para um tamanho do conjunto de treinamento de 34%, o
classificador obteve desempenho inferior se comparado aos demais resultados obtidos.
Tal desempenho pode ser explicado pela alta granularidade da base de dados, onde
nessa instância em particular, o classificador pode ter utilizado um conjunto ruim de
entradas para realizar seu treinamento.
A partir dos resultados apresentados na Figura 12, foi possível inferir valores de
acurácia de suma importância para a comparação de resultados do classificador
proposto com outros classificadores que possuem objetivos semelhantes. Os valores de
acurácia média, máxima, mínima e mediana, assim como seus respectivos tamanhos de
amostra para treinamento, são apresentados na Tabela 2.

Tabela 2 - Valores de Acurácia Obtidos.

Acurácia Valor Tamanho Conjunto


de Treinamento
Média 0.7678 Não aplicável
Máxima 0.85 20%
Mínima 0.6285 34%
Mediana 0.7666 29%
Fonte: Autor.

A partir dos valores apresentados na Tabela 2, torna-se possível a comparação


de acurácias com outros modelos de classificadores apresentados na literatura
computacional. Granik e Mesyura (2017), por exemplo, obtiveram acurácia de 75.40%
na tarefa de detecção de notícias falsas, por meio de um classificador bayesiano, em
uma base de dados composta de mais de 1.700 notícias coletadas na rede social
Facebook. Apesar de apresentar uma base de dados maior, as notícias que a compõem
são completas, o que implica em uma maior complexidade computacional para o
classificador devido ao maior tamanho das entradas. Tendo isso em mente, essa é uma
possível justificativa para o resultado de acurácia menor reportada no trabalho desses
autores quando comparado à obtida neste trabalho, pois aqui fez-se o uso de uma base
37

de dados de tamanho consideravelmente menor. Todavia, os autores não especificam


quais foram os hiperparâmetros ajustados durante os seus experimentos, o que
impossibilita maiores comparações entre o modelo desenvolvido por eles e o modelo
apresentado neste trabalho.
Singhania, Fernandez e Rao (2017) empregaram diferentes modelos de
detectores de fake news automáticos que se baseiam em deep learning com redes
neurais artificiais hierárquicas (HAN) em 3 níveis, denominados 3HAN, conforme
abordado no Capítulo 3. Em seus experimentos computacionais, por meio de uma base
de dados composta de mais de 40 mil artigos jornalísticos completos, obtiveram uma
acurácia máxima de 96.77%, valor considerado bastante expressivo quando se trata
desta mesma problemática. O modelo desenvolvido pelos autores, se comparado ao
deste trabalho, possui complexidade consideravelmente maior, principalmente graças ao
conjunto de metodologias aplicadas na construção do modelo da obra que apresenta os
melhores resultados, denominado pelos autores de 3HAN+PT. Sendo assim, com base
nas informações supracitadas, é de se inferir que o 3HAN obtenha resultados melhores
quando comparado ao modelo apresentado neste trabalho. Na Figura 13 são dispostos
os resultados de acurácia para os modelos citados acima.
38

Figura 13 - Gráfico Comparativo de Acurácias.

100%
96.77%

95%

90%

85%
85%

80%

75.40%
75%

70%

Singhania, Fernandez e Rao (2017) Granik e Mesyura (2017) Autor

Fonte: Autor.

5.3 Complexidade Computacional

A complexidade computacional é uma medida que mensura a eficiência de


algoritmos ao resolver problemas que sejam passíveis de soluções computacionais
(SIPSER, 2006). Nesse sentido, pode se definir como complexidade de determinado
código, o conjunto de recursos necessários estimados para que ele consiga resolver
algum problema sob a perspectiva computacional. Sendo assim, é possível comparar as
complexidades computacionais dos modelos classificadores citados na Seção 5.2, a fim
de se encontrar o modelo mais eficiente em termos de tempo de execução dada uma
entrada qualquer.
Segundo Zheng e Webb (2005), classificadores baseados no Teorema de Bayes,
como visto no trabalho de Granik e Mesyura (2017) e também aqui, possuem
comportamento linear na etapa de treinamento, denotados por O(tn), onde t representa
o número de entradas e n o custo computacional do algoritmo que modela tal etapa. Na
etapa de classificação, durante a tarefa de classificar apenas uma instância, utiliza-se a
notação O(kn), onde k representa o número de atributos pertencentes àquela instância.
39

Devido à indisponibilidade de código ou pseudocódigo para o modelo apresentado


por Singanhia, Fernandez e Rao (2017), foi impossível inferir de maneira satisfatória as
complexidades computacionais para as etapas desse trabalho. Assim sendo, pode-se
concluir que a aplicação de modelos que se baseiam no Teorema de Bayes, como
apresentado neste documento e no trabalho de Granik e Mesyura (2017), devido à sua
complexidade computacional de natureza linear, são indicados para aplicação em bases
de dados de tamanhos maiores e para casos onde a velocidade de computação é
necessária.
40

6 CONCLUSÕES

Nesta obra foram apresentados um contexto passível de tratamento por meio de


técnicas de mineração textual e métodos probabilísticos capazes de serem utilizados em
situações onde se objetiva classificar informações textuais. Para a coleta de informações
em formato de artigos jornalísticos utilizou-se a rede social Twitter, sendo essa, uma
fonte considerável de tais artigos contidos em tweets.
Nesse sentido, objetivou-se apresentar um modelo capaz de extrair e analisar
tweets a fim de classificá-los em verdadeiros ou falsos de maneira satisfatória. Para isso,
foram desenvolvidos e modelados um WCA específico para coletar tais tweets e uma
base de dados. A partir de então, foi realizado um pré-processamento nos dados dessa
base, de tal forma que os tais pudessem ser utilizados como entrada nas fases de
treinamento e de testes do modelo proposto. Para classificar as informações fez-se o
uso do classificador Multinomial Naive Bayes, o qual obteve, durante a fase de testes,
uma acurácia máxima de 85% na tarefa de classificação de notícias falsas. Sendo assim,
é possível concluir que este trabalho apresenta um classificador de possível relevância
para tarefas similares a aqui apresentada.
Ao fim da elaboração deste trabalho observou-se principalmente durante grandes
acontecimentos midiáticos, particularmente no tocante a cunho político, um aumento no
fluxo de notícias falsas ou manipuladas sendo compartilhadas no Twitter. Durante a fase
de coleta de tweets, também foi possível observar que notícias aparentemente
manipuladas eram majoritariamente oriundas de usuários comuns. No entanto, elas
ainda apresentavam links para acesso às páginas das matérias de seus jornais
originalmente veiculadores, permitindo assim a dedução de qual jornal originalmente deu
início a essas manipulações.
As bibliotecas utilizadas para o desenvolvimento do modelo aqui proposto foram
de grande ajuda inicialmente, pois forneceram de maneira facilitada funções
fundamentais para o seu desenvolvimento. No entanto, durante a fase final deste
trabalho, identificaram-se algumas limitações causadas por tais bibliotecas onde, por
exemplo, a inacessibilidade de algumas informações pós-treinamento do modelo
impossibilitou maiores análises de seu desempenho para palavras específicas. Tendo
41

isso em mente, conclui-se que idealmente a implementação do modelo deve ser manual,
possibilitando assim maior acesso a certas características do classificador em qualquer
fase.

6.1 Contribuições

Como contribuição, este trabalho disponibiliza uma base de dados composta de


100 tweets divididos igualmente entre notícias reais e fake news, onde toda entrada
possui embasamento em sua classificação, proporcionando dessa maneira, uma base
de dados com classificações fidedignas à realidade. Além disso, essa base de dados
pode ser utilizada, ou até mesmo expandida por outros pesquisadores que desejam
realizar tarefas similares no campo de classificação textual. Finalmente, pode-se concluir
que o algoritmo Naive Bayes, apesar de sua simplicidade, pode ser considerado um
método factível na tarefa de classificação de notícias falsas.

6.2 Trabalhos Futuros

Para a elaboração da base de dados foi utilizada a rede social Twitter,


principalmente por proporcionar acesso, por meio de APIs disponibilizadas pelo próprio,
a um grande volume de notícias que são publicadas em sua plataforma. Nesse sentido,
a tarefa de coleta de tweets foi feita manualmente devido à sua laboriosa natureza de
classificação de veracidade e, juntamente com limitações de tempo para a elaboração
deste documento, a base de dados foi composta por 100 tweets. Tendo isso em mente,
para trabalhos futuros estima-se que seja viável de se utilizar bases de dados maiores,
ou até mesmo expandir essa base apresentada neste trabalho. Tal modificação poderá
acarretar em melhores resultados, devido à natureza do modelo, que possui um
paradigma de aprendizado supervisionado.
42

REFERÊNCIAS BIBLIOGRÁFICAS

AGGARWAL, Charu C.; ZHAI, ChengXiang (Ed.). Mining text data. Springer Science &
Business Media, 2012.

ALLAHYARI, Mehdi et al. A brief survey of text mining: Classification, clustering and
extraction techniques. arXiv preprint arXiv:1707.02919, 2017.

AOSFATOS. Valorize o que é real. Disponível em: <https://aosfatos.org/>. Acesso em:


08 out. 2019.

ARANHA, Christian; PASSOS, Emmanuel. A tecnologia de mineração de textos.


Revista Eletrônica de Sistemas de Informação, v. 5, n. 2, 2006.

ARLOT, Sylvain et al. A survey of cross-validation procedures for model selection.


Statistics surveys, v. 4, p. 40-79, 2010.

BOATOS.ORG. Disponível em: <https://www.boatos.org/>. Acesso em: 08 out. 2019.

CHANDRASHEKAR, Girish; SAHIN, Ferat. A survey on feature selection methods.


Computers & Electrical Engineering, v. 40, n. 1, p. 16-28, 2014.

CIAMPAGLIA, Giovanni Luca et al. Computational fact checking from knowledge


networks. PloS one, v. 10, n. 6, p. e0128193, 2015.

FAKE NEWS. Dicionário online da Cambridge. Disponível em


<https://dictionary.cambridge.org/pt/dicionario/ingles/fake-news>. Acesso em 29 mar.
2019.

FAWCETT, Tom. An introduction to ROC analysis. Pattern recognition letters, v. 27,


n. 8, p. 861-874, 2006.

GOMES, Helder Joaquim Carvalheira. Text Mining: análise de sentimentos na


classificação de notícias. 2013. Tese de Doutorado. 2013. 60f. Tese de Mestrado -
Universidade Nova de Lisboa, Instituto Superior de Estatística e Gestão de Informação,
Lisboa, 2012.

GRANIK, Mykhailo; MESYURA, Volodymyr. Fake news detection using naive Bayes
classifier. In: 2017 IEEE First Ukraine Conference on Electrical and Computer
Engineering (UKRCON). IEEE, 2017. p. 900-903.

GU, Lion; KROPOTOV, Vladimir; YAROCHKIN, Fyodor. The Fake News Machine: How
Propagandists Abuse the Internet and Manipulate the Public. A TrendLabs Research
Paper, 2017.
43

HAYKIN, Simon S. et al. Neural networks and learning machines/Simon Haykin. New
York: Prentice Hall, 2009.

HEMALATHA, I.; VARMA, GP Saradhi; GOVARDHAN, A. Preprocessing the informal


text for efficient sentiment analysis. International Journal of Emerging Trends &
Technology in Computer Science (IJETTCS), v. 1, n. 2, p. 58-61, 2012.

HORNE, Benjamin D.; ADALI, Sibel. This just in: fake news packs a lot in title, uses
simpler, repetitive content in text body, more similar to satire than real news. In:
Eleventh International AAAI Conference on Web and Social Media. 2017.

HOTHO, Andreas; NÜRNBERGER, Andreas; PAAß, Gerhard. A brief survey of text


mining. In: Ldv Forum. 2005. p. 19-62.

INVESTOR RELATIONS. Selected Company Metrics and Financials. Disponível em:


<https://investor.twitterinc.com>. Acesso em: 29 mar. 2019.

MCCALLUM, Andrew et al. A comparison of event models for naive bayes text
classification. In: AAAI-98 workshop on learning for text categorization. 1998. p. 41-
48.

KORDE, Vandana; MAHENDER, C. Namrata. Text classification and classifiers: A


survey. International Journal of Artificial Intelligence & Applications, v. 3, n. 2, p.
85, 2012.

KOULOUMPIS, Efthymios; WILSON, Theresa; MOORE, Johanna. Twitter sentiment


analysis: The good the bad and the omg! In: Fifth International AAAI conference on
weblogs and social media. 2011.

KUMAR, Shamanth; MORSTATTER, Fred; LIU, Huan. Twitter data analytics. New
York: Springer, 2014.

LUPA. Agência Lupa, a primeira agência de fact-checking do Brasil. Disponível em:


<https://piaui.folha.uol.com.br/lupa/>. Acesso em: 08 out. 2019.

LUPER, Steven. The epistemic closure principle. 2008.

OLIVEIRA, Mariana. Candidatos ajuizaram ao menos 103 ações alegando serem


vítimas de fake news. Disponível em <https://www.conjur.com.br/2018-set-
29/candidatos-ajuizaram-103-processos-alegando-fake-news>. Acesso em: 18 abr.
2019.

PANDAS. The Pandas Project. Disponível em:


<https://pandas.pydata.org/about.html>. Acesso em: 05 set. 2019.
44

RUBIN, Victoria L.; CHEN, Yimin; CONROY, Niall J. Deception detection for news:
three types of fakes. In: Proceedings of the 78th ASIS&T Annual Meeting:
Information Science with Impact: Research in and for the Community. American
Society for Information Science, 2015. p. 83.

SARAVANAN, K; SASITHRA, S. Review on Classification Based on Artificial Neural


Networks. The International Journal of Ambient Systems and Applications, v. 2, n.
4, p. 11-18, 2014.

SCIKIT-LEARN. Documentation of scikit-learn. Disponível em: <https://scikit-


learn.org/stable/documentation.html>. Acesso em: 12 mai. 2019.

SINGHANIA, Sneha; FERNANDEZ, Nigel; RAO, Shrisha. 3han: A deep neural network
for fake news detection. In: International Conference on Neural Information Processing.
Springer, Cham, 2017. p. 572-581.

SIPSER, Michael et al. Introduction to the Theory of Computation. Boston: Thomson


Course Technology, 2006.

SRIVASTAVA, Jayesh. How to Extract Tweets from Twitter in Python. Disponível


em: <https://medium.com/@jayeshsrivastava470/how-to-extract-tweets-from-twitter-in-
python-47dd07f4e8e7>. Acesso em: 09 mai. 2019.

TACCHINI, Eugenio et al. Some like it hoax: Automated fake news detection in social
networks. arXiv preprint arXiv:1704.07506, 2017.

TANG, Bo; KAY, Steven; HE, Haibo. Toward optimal feature selection in naive Bayes
for text categorization. IEEE transactions on knowledge and data engineering, v. 28,
n. 9, p. 2508-2521, 2016.

TWEEPY. Tweepy Documentation. Disponível em:


<https://tweepy.readthedocs.io/en/latest/>. Acesso em: 12 mai 2019.

THELWALL, Mike. A web crawler design for data mining. Journal of Information
Science, v. 27, n. 5, p. 319-325, 2001.

WESTLUND, Oscar. News consumption in an age of mobile media: Patterns, people,


place, and participation. 2015.

ZHENG, Fei; WEBB, Geoffrey I. A comparative study of semi-naïve bayes methods in


classification learning. AUSDM05, 2005.

Você também pode gostar