<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Pro ling Fake News Spreaders on Twitter</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alvaro Lopez</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pasqual Mart</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universitat Politecnica de Valencia</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>The increase of fake news makes social media a dangerous and powerful tool due to the big impact that it can have on society. Fake news must be detected automatically to avoid the mass manipulation of people. In this paper we present our team participation at PAN 2020 Shared Task: Pro ling Fake News Spreaders on Twitter. We propose a deep learning model to classify authors from twitter into fake news spreaders or not according to their their tweets. The main problem that we tackle is the classi cation for Spanish and English authors separately, although we also considered bilingual models to solve the task. Our best model obtained an accuracy of 0.755 on Spanish and 0.68 on English.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>classi cation models for every tweet language as well as a bilingual model that
classi es tweets of both languages.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related work</title>
      <p>
        The detection of fake news is a complex topic which can be addressed in very
di erent ways in order to make the most of the available information. In (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ),
authors use data mining techniques to make use of all possible information before
the classi cation. They use not only a linguistic-based approach but also get data
from the author pro le, their network of contacts in social media (to detect bots)
and other user's opinions in their posts.
      </p>
      <p>
        The type of model used for the classi cation varies too. In (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) they used a
Naive Bayes classi er to tackle the task in a similar way that spam lters do. On
the other hand, in (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) authors used SVM classi ers with linguistic features such
as n-grams, punctuation, psycholinguistic features (aided by a lexicon),
readability and syntax. Finally, in (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) authors use a deep learning model that combined
linguistic information extracted from news using an RNN and extracted
information from user features with an FC network, building an ensemble of models
to classify.
      </p>
      <p>We have observed a diversity in approaches which might be derived from
the heterogeneity among fake news sources. The media from where the data is
extracted greatly in uences the news extension and format, since the information
is presented di erently in a tweet than in a web post, for instance. Besides that,
the metadata regarding the author and her/his social media network di ers too.
Because of that, there is not just one predominant approach, although it must
be noted that most of them take into account linguistic features.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Our approach</title>
      <p>In order to classify the authors we are given some of their tweets, all written in
either English or Spanish. We approached the problem in two di erent ways: on
the one hand, training a classi er that takes all tweets as a sequence and assigns
a class to the author; on the other hand, training a single tweet classi er and
then performing a vote with the classi cation of each tweet to decide the class
of the author.</p>
      <p>Between both approaches, we decided to use the single tweet classi er for two
main reasons: rstly, we prefer to train a solid single tweet classi er so that we
do not depend on having more or fewer tweets than in inference, and we will be
able to classify correctly new authors even if they have fewer or higher number of
tweets than the ones in our training set. Secondly, if we use the approach of the
sequence of tweets for each author, the number of samples to train the models is
reduced drastically since the number of single tweets is signi cantly higher than
the number of authors.</p>
      <p>In the next sections, we are going to describe the models implemented
following the chosen approach and how their training was performed. We will present
not only independent models for English and Spanish but also a bilingual model
that deals with the problem of classifying authors whose language is unknown
as well as bilingual authors.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Models</title>
      <p>In this section we describe the model architectures employed and the main idea
behind them. The models used can be grouped in three classes based on the
type of encoding used for the tweets: untrained embedding, pretrained neural
net language model and pretrained multilingual encoder.</p>
      <p>The rst type is model 1 which uses a new untrained embedding layer to
encode the tweets words. After this embedding layer it has two bidirectional
LSTM layers with 32 units and then a fully connected part with one dense layer
of 128 neurons and the last one with 1 neuron with sigmoid activation function
for classi cation (0 not fake, 1 fake). For the other layers we employed the ReLU
activation function and batch normalization between all the layers. To avoid
over tting we used a dropout layer between the dense layers with a drop factor
of 0.5. With this model we tried to train our own embeddings for English and
Spanish from scratch. But as we show in the results section we couldn't achieve
good results because we did not have enough data to train the embeddings and,
consequently, the models with this new embeddings couldn't learn well because
of the bad encoding of the words.</p>
      <p>
        The second type of models are the ones with a pretrained embedding based on
feed-forward Neural Net Languange Model (nnlm)(
        <xref ref-type="bibr" rid="ref8">8</xref>
        )1, the size of the embedding
output is a vector of 128 dimensions with the full tweet encoding. This is because
this module internally combines the words embeddings into a single vetor to
encode the sentence. With this pretrained embedding we aimed to improve the
results taking advantage of the better representation of the tweets that it gives
thanks to the large amount of data2 and resources used to train it.
      </p>
      <p>We trained two models with this kind of embedding. The rst one is model
3, this model is a basic fully connected net with two dense layers of 32 neurons
and the last one with 1 for making the classi cation with a sigmoid activation
function. Before these three layers we employed batch normalization and a drop
out with a drop factor of 0.5 to avoid over tting and to regularize the training of
the parameters. With this regularization techniques we tried to avoid destroying
our embedding since it had been ne tuned during the training phase.</p>
      <p>The second model trained with the nnlm based embedding is model 4.
This one uses a slightly more complex architecture as can be seen in Figure
1. It also uses dense layers but we introduce skip connections that allow to
jump over each dense layer to give more paths to back-propagate the error.
To implement the skip connections we used concatenation layers, and to apply
1 We get this nnlm models from tensor ow hub (https://tfhub.dev/google/
collections/tf2-preview-nnlm/1).
2 The datasets used to train these embeddings are the English Google News 200B and
the Spanish Google News 50B.
regularization we used batch normalization after each dense layer and dropout
after each concatenation layer with a drop rate of 0.5.</p>
      <p>
        Finally the last type of models are the ones with a pretrained multilingual
encoder3. This encoder is a CNN based model trained over 16 languages for tasks
such as text classi cation, text clustering, semantic textural similarity retrieval,
cross-lingual text retrieval, etc. All the model details can be found in (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ). The
main idea of this model is to be able to encode sentences in di erent languages
but with the same meaning to vectors with a similar encoding. In this case the
encoder generates a 512 size vector to encode the whole input sentence. By using
this type of sentence encoder, not only we have been able to train models for
English and Spanish but also for both languages at the same time, aiming to get
similar results to the single language models.
      </p>
      <p>So based in this type of sentence encoder, not only we have been able to train
models for English and Spanish but also for both at the same time trying to get
similar results with this single model.</p>
      <p>We trained three models with the multilingual encoder. The rst one is
model 5. This model shares exactly the same architecture than model 4 (shown
in Figure 1) but changing the nnlm encoder by the cnn multilingual encoder.
We used the same architecture to be able to compare directly the two encoders
and because the capacity of this model is big enough also for this encoding.</p>
      <p>The next model is model 6 which is an extension of model 5, since it has
the same layers but with double number of neurons in the fully-connected layers.
With this modi cation we tried to learn more patterns in the data thanks to
the bigger model and the strong regularization of the dropout layers to force
sparsity.</p>
      <p>The last model trained is the bilingual one, model 7. To approach this
harder problem of multilingual classi cation we take advantage of the
multilingual encoder to be able to work with nearly the same representation of the tweet
no matter the language it is written in. But as we are training for a bilingual
task, in order to force the network to learn some ner characteristics of each
language we trained a bilinear model with two parallel networks that have been
pretrained each one for a single language. For that, we used two pretrained
versions of model 5, one for English and one for Spanish, and we connected the
output of the cnn encoding to both nets; the resulting output tensors of these
nets are then concatenated and passed through a simple fully-connected net with
a dense layer with 128 neurons and ReLu, and the output dense with 1 neuron
and sigmoid activation function. We also used batch normalization before the
two dense layers.
3 We get this multilingual encoder from tensor ow hub (https://tfhub.dev/google/
universal-sentence-encoder-multilingual-large/3).</p>
      <p>input_1: InputLayer
multilingual_encoder: Lambda</p>
      <p>dense: Dense
batch_normalization: BatchNormalization
batch_normalization_1: BatchNormalization
concatenate: Concatenate</p>
      <p>dropout: Dropout
dense_1: Dense
concatenate_1: Concatenate</p>
      <p>dropout_1: Dropout
dense_2: Dense
batch_normalization_2: BatchNormalization
concatenate_2: Concatenate
dropout_2: Dropout
dense_3: Dense
batch_normalization_3: BatchNormalization</p>
      <p>dense_4: Dense</p>
    </sec>
    <sec id="sec-5">
      <title>Experimental setup</title>
      <p>Data processing and partitioning
In this section we describe how we split and processed the data in order to train
the models.</p>
      <p>The dataset has tweets from 600 authors written in English or Spanish. For
this task we will know in advance the language of the tweets of an author, so
we will be able to build independent models for each language. Nevertheless, we
will also confront the task with a multilingual model that works with tweets of
both languages.</p>
      <p>
        As can be seen in Table 1 we have a perfectly balanced dataset at author
level so we decided to make a random partition with 80% of the authors for
train split and the other 20% for validation. Since the models were tested on the
TIRA(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) platform, we avoided creating a test split so as to have more training
data.
      </p>
      <p>From this partitions we extracted all the tweets and their label from the
author and stored them in one le for each partition, obtaining a dataset to
train the single tweet classi ers. All these tweets have been processed to be in
one single line by removing the break line token ('nn').</p>
      <p>After this we obtained the data balance shown in Tables 2 for English and 3
for Spanish.</p>
      <p>Language Class 1 Class 0 Total</p>
      <p>English
Spanish</p>
      <p>We have implemented two input pipelines because not all the models
previously described accept the same input data format.</p>
      <p>The rst pipeline, used for model 1, takes the tweets strings and tokenizes
them separating the tokens by the blank space and then uses a token encoder
to get the id corresponding to each word token. We used one token encoder
with the English vocabulary and another for Spanish, both of them taking the
vocabulary set of words from the tweets in the train partition.</p>
      <p>Train 11800 (49%) 12200 (51%) 24000
Validation 3200 (53%) 2800 (47%) 6000</p>
      <p>15000 15000 30000</p>
      <p>For the rest of the models we used the other input pipeline that just forwards
the tweets strings to the model. This is because the pretrained encoders (nnlm
and multilingual) have their own sentence processing from the sentence string
to the feature vector.
As we explained in the description of the models, we applied abundant
regularization with dropout and batch normalization. This is because we have observed
that without it the models quickly over tted reaching training accuracies over
90% while having validation accuracies just over 60%. With all the
regularization we achieved a very controlled training with very low over tting and in very
advanced epochs.</p>
      <p>Regarding models 1, 3 and 4, the ones with the new embedding and the nnlm
encoder, we trained them for 5000 epochs, which was possible thanks to their
training speed of two seconds per epoch during training. Once again, to avoid
over tting and develop a more stable training we used the SGD optimizer with
a momentum of 0.9 and a low learning rate of 0.0002, which is lowered by a
learning rate scheduler to 0.0001 from epoch 1000 and to 0.00005 from epoch
3000.</p>
      <p>For the models with the cnn based multilingual encoder we had to adjust the
number of epochs because they required more computation than the previous
ones. In this case we trained for 1000 epochs using the Adam optimizer with a
learning rate of 0.0002.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Results</title>
      <p>For getting the vote result for classifying an author we implemented two types
of voting techniques given the probability of each tweet of being fake. These two
voting methods are the averaged vote and product vote.</p>
      <p>The averaged vote is a more standard way of performing the voting process.
The author will be classi ed as a likely fake news spreader depending on if the
average of the probabilities of their tweets is higher than a given threshold.</p>
      <p>The product vote is slightly more sophisticated and consists of taking again
the probabilities of each tweet of being fake given by the model and we also
compute the probability of being true for each tweet (P (true) = 1 P (f ake)).
Then we perform the product of of each group of probabilities and we get the
author label by choosing the class of the highest product result. This method
is shown in equation 1 where m is the total number of tweets for this author.
Note that in this case we don't use any threshold to get the label, we just take
the class that maximizes the product. With this vote technique we aim to get
better results in the case of having very high probabilities because they have less
impact to reduce the product value.</p>
      <p>After making inference in the validation set with the best model of each type
we got the results of Table 4. Note that for all the results shown we obtained the
same value with both voting techniques described except in two cases (marked
with *) where we got modestly better results using the product vote. The table
also shows the false negatives (FN) and the false positives (FP) in order to make
a better analysis.</p>
      <p>Analyzing model 1 results, if we look at the accuracies obtained and the
FN/FP ratio we can see that this model is just classifying always in the \true"
class because the obtained accuracy matches the number of true samples in the
validation sets for English and Spanish (see Tables 2 and 3). This is because of
the model embedding which is not pretrained and could not be trained with the
available data and resources. If the embedding is bad the results of the net will
also be bad.</p>
      <p>Looking at models 3 and 4 we can see how we started to get some better
results, mainly in the case of the Spanish data that seems to be an easier task
than the English one. In the case of model 3 and English data we get just one
more point in accuracy over the partition proportion but looking at the FN/FP
we see that the main source of errors are the FP so this model is not voting just
the majority class. However, a big step is achieved by model 4, which has a more
complex model architecture and gets signi cantly better results in the case of
English data.</p>
      <p>Finally looking at models 5, 6 and 7, the ones with the multilingual
encoder, we see a huge increase in the case of English data and a smaller decrease
for the Spanish, but in overall the performance of the models 6 and 7 get a
better result for classifying both languages separately. Note that model 6 is just
a bigger version of model 5 but it doesn't achieve any better results and,
looking at the bilingual classi cation, model 5 gets better results with the product
vote. Also note that model 7 gets the same result as model 6 despite having the
pretrained models 5 and 6 as two branches of its net.</p>
      <p>We also analyzed the models output probabilities to see if the predictions are
made with a good level of con dence by the models. In Figure 2 we show the
counts of probabilities outputted by model 5 making inference with the
development partition in both languages. Comparing both languages we can con rm
that for Spanish the models obtained better results because the fake samples
probabilities are more separated from the true ones in the right histogram. Also,
the range of probabilities is wider in Spanish so it has a more con dent prediction
in some cases.</p>
      <p>In the case of having more data to make this histogram analysis we could
adjust the threshold for making the average vote behave in a way such that
the number of false negatives is minimized, lowering the threshold from 0.5
and making a trade-o between false positives and false negatives, taking into
account the shape of the histogram. We made some experiments by changing
the threshold and we got better results in some cases but since the development
partition is very small and we can not ensure that it is a representative set of
data, we decided to not implement it in the nal model.</p>
      <p>(a) English
(b) Spanish
Fig. 2: Probability count for the predictions made for each class and dataset
language.</p>
    </sec>
    <sec id="sec-7">
      <title>Test set submission on TIRA</title>
      <p>After analyzing the results we decided to select model 5 as the one to submit
on TIRA platform and perform the test inference. We did it on the early bird
submission period and we got 0.755 of accuracy on Spanish and a 0.68 on
English. If we compare it with the results from the experiments, we got more
or less an expected result having more accuracy on Spanish than English.
8</p>
    </sec>
    <sec id="sec-8">
      <title>Conclusions</title>
      <p>Being able to detect fake news spreaders automatically is a really hard task.
Although a fully automatic detection of malicious users may still be far, a robust
model with a low number of false negatives would have a big impact, providing
a rst ltering for potential fake news spreaders for humans to later review more
carefully, saving their time and resources.</p>
      <p>We have seen that the task di culty also depends on the language, probably
not because of the language itself but because of the di erent ways of making
fake news depending on the language that the target people speak. In this case
it seems that for the Spanish language it is easier to nd patterns to detect fake
news.</p>
      <p>Despite of the results we have seen that the task is approachable. We are
convinced that with a bigger dataset and more research we could get good enough
results.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Granik</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mesyura</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Fake news detection using naive bayes classi er</article-title>
          .
          <source>In: 2017 IEEE First Ukraine Conference on Electrical and Computer Engineering (UKRCON)</source>
          . pp.
          <volume>900</volume>
          {
          <issue>903</issue>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Perez-Rosas</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kleinberg</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lefevre</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mihalcea</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Automatic detection of fake news</article-title>
          .
          <source>CoRR abs/1708</source>
          .07104 (
          <year>2017</year>
          ), http://arxiv.org/abs/1708.07104
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Potthast</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gollub</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wiegmann</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stein</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>TIRA Integrated Research Architecture</article-title>
          . In: Ferro,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Peters</surname>
          </string-name>
          ,
          <string-name>
            <surname>C</surname>
          </string-name>
          . (eds.)
          <article-title>Information Retrieval Evaluation in a Changing World</article-title>
          . Springer (Sep
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Rangel</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giachanou</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ghanem</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosso</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Overview of the 8th Author Pro ling Task at PAN 2020: Pro ling Fake News Spreaders on Twitter</article-title>
          . In: Cappellato,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Eickho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Ferro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Neveol</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.)
          <article-title>CLEF 2020 Labs and Workshops, Notebook Papers</article-title>
          .
          <source>CEUR-WS.org (Sep</source>
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Ruchansky</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seo</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Liu,
          <string-name>
            <surname>Y.</surname>
          </string-name>
          :
          <article-title>CSI: A hybrid deep model for fake news</article-title>
          .
          <source>CoRR abs/1703</source>
          .06959 (
          <year>2017</year>
          ), http://arxiv.org/abs/1703.06959
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Shu</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sliva</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tang</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Liu, H.:
          <article-title>Fake news detection on social media: A data mining perspective (</article-title>
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Yang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cer</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ahmad</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guo</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Law</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Constant</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abrego</surname>
            ,
            <given-names>G.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yuan</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tar</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sung</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Strope</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kurzweil</surname>
          </string-name>
          , R.:
          <article-title>Multilingual universal sentence encoder for semantic retrieval</article-title>
          . CoRR abs/
          <year>1907</year>
          .04307 (
          <year>2019</year>
          ), http://arxiv.org/abs/
          <year>1907</year>
          .04307
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Yoshua</given-names>
            <surname>Bengio</surname>
          </string-name>
          , Rejean Ducharme,
          <string-name>
            <surname>P.V.C.J.:</surname>
          </string-name>
          <article-title>A neural probabilistic language model</article-title>
          .
          <source>Journal of Machine Learning Research</source>
          <volume>3</volume>
          ,
          <issue>1137</issue>
          {
          <fpage>1155</fpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>