| Literature DB >> 33984021 |
Tiziano Fagni1, Fabrizio Falchi2, Margherita Gambini3, Antonio Martella4, Maurizio Tesconi1.
Abstract
The recent advances in language modeling significantly improved the generative capabilities of deep neural models: in 2019 OpenAI released GPT-2, a pre-trained language model that can autonomously generate coherent, non-trivial and human-like text samples. Since then, ever more powerful text generative models have been developed. Adversaries can exploit these tremendous generative capabilities to enhance social bots that will have the ability to write plausible deepfake messages, hoping to contaminate public debate. To prevent this, it is crucial to develop deepfake social media messages detection systems. However, to the best of our knowledge no one has ever addressed the detection of machine-generated texts on social networks like Twitter or Facebook. With the aim of helping the research in this detection field, we collected the first dataset of real deepfake tweets, TweepFake. It is real in the sense that each deepfake tweet was actually posted on Twitter. We collected tweets from a total of 23 bots, imitating 17 human accounts. The bots are based on various generation techniques, i.e., Markov Chains, RNN, RNN+Markov, LSTM, GPT-2. We also randomly selected tweets from the humans imitated by the bots to have an overall balanced dataset of 25,572 tweets (half human and half bots generated). The dataset is publicly available on Kaggle. Lastly, we evaluated 13 deepfake text detection methods (based on various state-of-the-art approaches) to both demonstrate the challenges that Tweepfake poses and create a solid baseline of detection techniques. We hope that TweepFake can offer the opportunity to tackle the deepfake detection on social media messages as well.Entities:
Year: 2021 PMID: 33984021 PMCID: PMC8118345 DOI: 10.1371/journal.pone.0251415
Source DB: PubMed Journal: PLoS One ISSN: 1932-6203 Impact factor: 3.240
The proposed TweepFake dataset tweets grouped by imitated human account.
| fake account | tweets | technology | human account | tweets |
|---|---|---|---|---|
| bot#1 | 946 | RNN + Markov | human#1 | 946 |
| bot#2 | 348 | GPT-2 | human#2 | 348 |
| bot#3 | 132 | GPT-2 | human#3 | 132 |
| bot#4 | 1792 | GPT-2 | human#4 | 1803 |
| bot#5 | 11 | RNN | ||
| bot#6 | 38 | LSTM | human#5 | 56 |
| bot#7 | 18 | Torch RNN | ||
| bot#8 | 217 | GPT-2 | human#6 | 217 |
| bot#9 | 1289 | RNN + Markov | human#7 | 1289 |
| bot#10 | 1030 | Markov Chains | human#8 | 515 |
| human#9 | 515 | |||
| bot#11 | 2409 | RNN | human#10 | 2409 |
| bot#12 | 1245 | RNN | human#11 | 1245 |
| bot#13 | 228 | GPT-2 | human#12 | 228 |
| bot#14 | 355 | GPT-2 | human#13 | 1293 |
| bot#15 | 33 | GPT-2 | ||
| bot#16 | 286 | RNN | ||
| bot#17 | 549 | GPT-2 | ||
| bot#18 | 18 | GPT-2 | ||
| bot#19 | 52 | unknown | ||
| bot#20 | 100 | CharRNN | human#14 | 100 |
| bot#21 | 39 | GPT-2 | human#15 | 39 |
| bot#22 | 128 | OpenAI | human#16 | 128 |
| bot#23 | 1523 | unknown | human#17 | 1523 |
The proposed TweepFake dataset tweets grouped by technology.
| technology | fake acc. | human acc. | info | code | tweets | tweets |
|---|---|---|---|---|---|---|
| GPT-2 | bot#2 | human#2 | [ | [ | 348 | 3711 |
| bot#3 | human#3 | [ | [ | 132 | ||
| bot#4 | human#4 | - | [ | 1792 | ||
| bot#8 | human#6 | - | [ | 217 | ||
| bot#13 | human#12 | 228 | - | - | ||
| bot#14 | human#13 | - | [ | 355 | ||
| bot#15 | human#13 | - | - | 33 | ||
| bot#17 | human#13 | - | - | 549 | ||
| bot#18 | human#13 | - | - | 18 | ||
| bot#21 | human#15 | - | - | 39 | ||
| RNN | bot#5 | human#4 | - | - | 11 | 3969 |
| bot#11 | human#10 | [ | - | 2409 | ||
| bot#12 | human#11 | [ | [ | 1245 | ||
| bot#16 | human#13 | [ | [ | 286 | ||
| bot#7 | human#5 | [ | [ | 18 | ||
| RNN + Markov | bot#1 | human#1 | - | - | 946 | 2235 |
| bot#9 | human#7 | - | - | 1289 | ||
| Markov Chains | bot#10 | human#8 | [ | [ | 1030 | 1030 |
| human#9 | ||||||
| LSTM | bot#6 | human#5 | [ | [ | 38 | 38 |
| OpenAI | bot#22 | human#16 | - | - | 128 | 128 |
| CharRNN | bot#20 | human#14 | - | [ | 100 | 100 |
| unknown | bot#19 | human#13 | - | - | 52 | 52 |
| unknown | bot#23 | human#17 | - | - | 1523 | 1523 |
Description of the methods used in the experimentation.
| Encoding | Method name | Algorithm |
|---|---|---|
| BoW+TF_IDF | Logistic regression classifier [ | |
| Random forest classifier [ | ||
| Support vector machine classifier [ | ||
| BERT | Logistic regression classifier | |
| Random forest classifier | ||
| Support vector machine classifer | ||
| Characters | Single CNN network [ | |
| Single GRU network [ | ||
| Combined CNN and GRU networks using internal char embeddings representation | ||
| Native LM | BERT language model with fine-tuning | |
| DistilBERT language model with fine-tuning | ||
| RoBERTa language model with fine-tuning | ||
| XLNet language model with fine-tuning |
Fig 1Architecture of the tested deep neural networks based on character encoding.
Three different architectures were tested: a) a CNN sub-network using three different kernel sizes (3,4, and 5) combined together and followed by a dropout layer, b) a bidirectional GRU followed by a dropout layer, and c) a network exploiting both CNN and GRU to extract spatial and temporal features from data in order to try to improve the effectiveness of the solution.
Experimental results on test set obtained with the proposed baselines.
| Method | |||||||
|---|---|---|---|---|---|---|---|
| Precision | Recall | F1 | Precision | Recall | F1 | Accuracy | |
| 0.841 | 0.749 | 0.792 | 0.774 | 0.859 | 0.814 | 0.804 | |
| 0.759 | 0.798 | 0.778 | 0.787 | 0.747 | 0.767 | 0.772 | |
| 0.851 | 0.754 | 0.800 | 0.779 | 0.869 | 0.822 | 0.811 | |
| 0.846 | 0.820 | 0.833 | 0.826 | 0.851 | 0.838 | 0.835 | |
| 0.864 | 0.776 | 0.818 | 0.797 | 0.878 | 0.836 | 0.827 | |
| 0.860 | 0.818 | 0.838 | 0.827 | 0.867 | 0.846 | 0.842 | |
| 0.896 | 0.794 | 0.842 | 0.815 | 0.908 | 0.859 | 0.851 | |
| 0.899 | 0.743 | 0.814 | 0.781 | 0.916 | 0.844 | 0.830 | |
| 0.848 | 0.820 | 0.834 | 0.826 | 0.853 | 0.839 | 0.837 | |
| 0.899 | 0.882 | 0.890 | 0.884 | 0.901 | 0.892 | 0.891 | |
| 0.894 | 0.880 | 0.886 | 0.882 | 0.895 | 0.888 | 0.887 | |
| 0.901 | 0.902 | ||||||
| 0.832 | 0.871 | 0.846 | 0.882 | 0.877 | |||
Fig 2Accuracy heat-map over fake account type.