Estimating predictive uncertainty for rumour verification models (2020)

Abstract: The inability to correctly resolve rumours circulating online can have harmful real-world consequences. We present a method for incorporating model and data uncertainty estimates into natural language processing models for automatic rumour verification. We show that these estimates can be used to filter out model predictions likely to be erroneous so that these difficult instances can be prioritised by a human fact-checker. We propose two methods for uncertainty-based instance rejection, supervised and unsupervised. We also show how uncertainty estimates can be used to interpret model performance as a rumour unfolds.

## introduction one of the greatest challenges of the information age is the rise of pervasive misinformation. social media platforms enable it to spread rapidly, reaching wide audiences before manual verification can be performed. hence there is a strive to create automated tools that assist with rumour resolution. information about unfolding real-world events such as natural disasters often appears in a piece-wise manner, making verification a time-sensitive problem. failure to identify misinformation can have a harmful impact, thus it is desirable that an automated system aiding rumour verification does not only make a judgement but that it can also inform a human fact-checker of its uncertainty. deep learning models are currently the stateof-the-art in many natural language processing (nlp) tasks, including rumour detection @xcite , the task of identifying candidate rumours, and rumour verification @xcite , where the goal is to resolve the veracity of a rumour. latent features and large parameter spaces of deep learning models make it hard to interpret a model's decisions. increasingly researchers are investigating methods for understand-ing model predictions, such as through analysing neural attention @xcite and studying adversarial examples @xcite . another way to gain insights into a model's decisions is via estimating its uncertainty. understanding what a model does not know can help us determine when we can trust its output and at which stage information needs to be passed on to a human @xcite . in this paper, rather than purely focusing on the performance of a rumour verification model, we estimate its predictive uncertainty to gain understanding of a model's decisions and filter out the cases that are 'hard' for the model. we consider two types of predictive uncertainty: data uncertainty (aleatoric) and model uncertainty @xcite . the approach we adopt requires minimal changes to a given model and is relatively computationally inexpensive, thus making it possible to apply to various architectures. we make the following contributions: ## data in our experiments we use publicly available datasets of twitter conversations discussing rumours. ## experimental setup we perform cross-validation on all of the datasets. when choosing parameters, we choose one of the folds within each dataset to become the development set: charliehebdo in pheme (large fold with balanced labels) and fold 0 in twitter 15 and twitter 16. we evaluate models using both accuracy and macro f-score due to the class imbalance in the pheme dataset 2 . during the cross-validation iterations each fold becomes a testing set once. we then aggregate model predictions from each fold, resulting in predictions for the full dataset, and use them to perform evaluation as well as unsupervised instance rejection based on uncertainty levels. to perform supervised rejection we need to train a meta-classifier on a subset of data that was not used for training the rumour verification model. therefore in a separate set of experiments we exclude one of the folds (development set) from training of the verification model. we run crossvalidation with one less fold and at each step obtain predictions and uncertainty estimates for both the test fold and the development set. we then use the predictions and uncertainty values predicted for the instances in the development set as training instances in our rejection meta-models, which we then evaluate on each of the corresponding test folds, thus obtaining the combined predictions for all of the folds in the dataset except for the development. this set up corresponds to results shown in ## discussion we have shown that data and model uncertainties can be included as part of the evaluation of any deep learning model without harming its performance. moreover, even though data uncertainty estimation changes the loss function of a model, it often leads to improvements @xcite . when performing rejection in an unsupervised fashion we need to know when to stop removing instances. defining a threshold of uncertainty is not straightforward as uncertainty will be on a different scale for different datasets. supervised rejection leverages all forms of uncertainty together and dictates the number of instances to remove. thus to tune both methods availability of a development set is important. while we are not focusing on user uncertainty here, in rumour verification linguistic markers of user uncertainty (words like "may", "suggest", "possible") are associated with rumours. in the pheme dataset such expressions often occur in unverified rumours, thus conversations containing them are easier to classify, and hence they are associated with lower predictive uncertainty. ## conclusions and future work we have presented a method for obtaining model and data uncertainty estimates on the task of rumour verification in twitter conversations. we have demonstrated two ways in which uncertainty estimates can be leveraged to remove instances that are likely to be incorrectly predicted, so that making a decision concerning those instances can be prioritised by a human. we have also shown how uncertainty estimates can be used to interpret model decisions over time. our results indicate that the effect of data uncertainty and model uncertainty varies across datasets due to differences in their respective properties. the methods presented here can be selected based on knowledge of the properties of the data at hand, for example prioritising the use of aleatoric uncertainty estimates on imbalanced and heterogeneous datasets such as pheme. for best results, one should use a combination of aleatoric and epistemic uncertainty estimates and tune the parameters of uncertainty estimation methods using a development set. using uncertainty estimation methods can help identify which instances are hard for the model to classify, thus highlighting the areas where one should focus during model development. future work would include a comparison with other, more complex, methods for uncertainty estimation, incorporating uncertainty to affect model decisions over time, and further investigating links between uncertainty values and linguistic features of the input.