A Machine Learning Analysis of the Features in Deceptive and Credible News

A Machine Learning Analysis of the Features in Deceptive and Credible News

Qi Jia (Jerry) Sun
Discourse Processing Lab
Simon Fraser University
Burnaby, BC, Canada
qjsun@sfu.ca
jerrys7.github.io
Abstract

Fake news is a type of pervasive propaganda that spreads misinformation online, taking advantage of social media’s extensive reach to manipulate public perception. Over the past three years, fake news has become a focal discussion point in the media due to its impact on the 2016 U.S. Presidential election. Fake news can have severe real-world implications: in 2016, a man walked into a pizzeria carrying a rifle because he read that “Hillary Clinton was harboring children as sex slaves”. This project presents a high accuracy (87%) machine learning classifier that determines the validity of news based on the word distributions and specific linguistic and stylistic differences in the first few sentences of an article. This can help readers identify the validity of an article by looking for specific features in the opening lines aiding them in making informed decisions. Using a dataset of 2,107 articles from 30 different websites, this project establishes an understanding of the variations between fake and credible news by examining the model, dataset, and features. This classifier appears to use the differences in word distribution, levels of tone authenticity, and frequency of adverbs, adjectives, and nouns. The differentiation in the features of these articles can be used to improve future classifiers. This classifier can also be further applied directly to browsers as a Google Chrome extension or as a filter for social media outlets or news websites to reduce the spread of misinformation.

\keywords

Fake news detection Natural language processing Machine learning

1 Introduction

1.1 Fake News

Fake news is a type of pervasive propaganda that spreads misinformation online, taking advantage of social media’s extensive reach to manipulate public perception. Over the past three years, fake news has become a focal discussion point in the media due to its impact on the 2016 U.S. Presidential election. Fake news can have severe real-world implications: for instance, in 2016, a man walked into a pizzeria carrying a rifle because he read online that “Hillary Clinton was harboring children as sex slaves”. [9]

1.2 Machine Learning

Machine learning (ML) is a system that utilizes a statistical model consisting of a predetermined set of features and algorithms to make predictions on unseen data without supervision. ML algorithms have been widely adopted for spam email filtering. Parallels can be drawn between spam emails and fake news such as grammatical errors, misinformation, limited vocabulary, and their purpose of manipulating the reader. Thus, applying a similar ML method from spam emails to fake news could yield promising results.

1.3 Purpose

This project seeks to find a ML classifier that determines the validity of news based on the word distributions and specific linguistic and stylistic differences of the first few sentences of an article. This can help readers identify the validity of an article early on by looking for specific features in the opening lines and differentiate fake from real news.

Using a dataset of 2,107 articles from 30 different websites, this project seeks to establish an understanding of the variations between fake and credible news by examining the model, dataset, and linguistic features. The differentiation in the features of these articles can be used to improve future classifiers. A deeper understanding of the differences between deceptive and credible media will further the collective progress in the battle against fake news.

2 Related Work

In December 2016, the fake news challenge was launched (www.fakenewschallenge.org). Its purpose was to explore how ML could combat fake news. The challenge was to determine the level of agreement between a statement and its headline. This challenge increased the usage of ML in fake news, and within the past few years, many datasets were prepared for fake news classification such as the L.I.A.R. dataset [20], which categorizes news into 5 levels of credibility, Rashkin et al., 2017 dataset [15], a dataset differentiating between satire, propaganda, hoax, or credible news, Asr et al., 2018 [3], a large comprehensive dataset of fact-checked news articles taken from Snopes and Politifact, and the BuzzFeedUSE dataset [8], a collection of veracity labels for Facebook links. These datasets have been the foundation for many ML models to detect fake news. Many different ML models have been created such as the deep diffusive network model (Zhang et al., 2018) [21] or the Naïve Bayes model (Granik et al., 2017) [6]. However, this existing research used unbalanced data sets (Granik et al., 2017), small data sets (Perez-Rosas et al., 2017) [12], or data sets from a single domain (Zhang et al., 2017). Unbalanced datasets between fake and real news may contain significant differences in subject matter, the number of articles, or the date of publishing, contributing to skewed results. Despite the many ML models available, no algorithm fully controlled their lurking variables nor determined the features of fake news. This paper introduces a robust classification model which aids in distinguishing the characteristics that are essential in the composition of fake news.

3 Methodology

3.1 Data Collection

Due to the data-dependent nature of ML classifiers, collecting unbiased data is essential to its success. To eliminate all confounding variables, the datasets of fake and credible articles need to be similar in subject matter, writing style, size, publication date (2 weeks), and political lean. This allows the classifier to classify based on word distribution and other linguistic features of the articles. Data used in preparation was obtained from 15 credible [10] and 15 fake news sources [2]. Each credible article was meticulously hand labelled by fact-checking and cross-referencing other verifiable sources. These sources were labelled as credible by established fact-checkers such as PolitiFact or Snopes. Fake news sources were taken from The Fake News Codex [2], a collection of websites known to publish fake news.

3.2 Text Scraping and Cleaning

Text scraping was done through a Java library called JSoup which scrapes text based on its HTML tag. The contents of the articles were scraped from the HTML paragraph element <p>. However, many extraneous words in the paragraph element were also scraped such as the report’s location, or the journalist’s name. These statements were removed from classification. For the classifier to function at its optimal level, each scraped word from the websites needed to be in their inflectional forms because words with the same root (decided, decide, deciding) should be treated as the same word (decide). [17] To achieve this, the text was stripped of HTTPS, removed of non-alphabetical characters, converted into lowercase, and its words stemmed to their root word. [13]

3.3 Data Preprocessing

This classifier is to be trained based on the word distributions of each article. However, it is only important that high-frequency words appear in the article. For example, if a word appeared once or twice, it should not hold any weight in classification. Since chi-square tests statistical analyses were conducted on the optimal data set, words that appeared at least 6 times in List A were chosen to be part of the list (List B) of common words. [1]

Words are divided into two categories: function words, which signify grammatical relationships (the, to, a…), and content words, which have meaning (green, Science…). A list of function words found on Semantic Similarity [16] was removed from List B. After removal, List B contained 1000 common words.

To generate article vectors for classification, each article was assigned 1000 parameters, ranked in terms of importance to indicate its keywords. The order of the articles was randomized to ensure fair representation of all domains. To classify fake and credible news, articles are compared to each other based on these parameters.

3.4 Classification

In order to balance domains, the data were randomly split into training, validation and testing categories. 60% of the data was used for training, 20% for validation, and the remaining 20% for testing. 21 classification models were trained and tested at 95% variance. The top 3 models (based on their classification performance on the validation set) per word count were tested with the testing set to find the overall best model. Furthermore, the errors made by the classifier were analyzed in order to eliminate mistakes from future classifiers and improve upon their accuracy.

3.5 Feature Analysis

Recognizing the most important features for classification demonstrates the differentiation between fake news and credible news. In essence, the features of an article are dependent on its words, sentences, and paragraphs. A word’s features include length and a part of speech. A sentence’s or paragraph’s features are its length, its tone (sentiment) and its degree of formality and authenticity. Lastly, the overall word distribution in these articles was also very important. The word’s part of speech and the overall sentiment (tone) of the text were extracted with the Stanford CoreNLP library [17] [19]. The degrees of formality and authenticity were extracted using the Linguistic Inquiry and Word Count (LIWC) and Receptivi API [11]. These features were analyzed, and various statistical tests were performed to find their significance and weight (Table 2, 3, 4, 5, 6).

4 Results

#of Words Model Recall (%) F1 Score (%) Classification Accuracy (%)
30 Quadratic SVM 52 57 54
60 Bagged Trees 75 75 77
90 Linear SVM 82 82 82
120 Linear SVM 83 82 83
90 EA Linear SVM 82 82 87
120 EA Linear SVM 83 82 87
Table 1: Classification Model by Number of Words
Part of Speech Z- Score P-value
Adjective 2.561 0.0104
Adverb 7.225 <0.00001
Noun -5.428 <0.00001
Pronoun 1.607 0.108
Verb 0.989 0.336
Table 2: Part of Speech Distribution in Real and Fake News
Sentiment Z- Score P-value
Very Positive 0.886 0.375
Positive 0.0307 0.976
Neutral 1.154 0.248
Negative -1.086 0.278
Very Negative -0.992 0.321
Table 4: Convention Lengths Distributions in Real and Fake News
Length Z- Score P-value
Word -0.250 0.802
Sentence 0.651 0.515
Table 3: Sentiment Score Distribution in Real and Fake News
Tone Authenticity Emotional Tone
Z-score p-value Chi-square () df p-value
1.863 0.0625 630.5 576 0.0574
-1.122 0.262 398.3 380 0.249
Table 5: LIWC Summary Variable Distribution in Real and Fake News
Chi-Squared Test Two Sample Z-Test Most influential Words
p-value <0.0001 p-value = 0.0437 Clinton, gun Obama, city
Table 7: Minimum Frequency of Words in List A per Word Count
# of Words Minimum Frequency of Words
30 4
60 5
90 6
120 6
Table 6: Word Distributions in Real and Fake News

5 Discussion

5.1 Model Performances

The Linear SVM model initially reached a testing accuracy of 83%. The categories of Type I and Type II errors made by the classifiers were analyzed and split into 3 groups (Figure 1, Figure 2). In the testing set, 200 credible articles were checked to ensure that each article was relevant to the series of topics while simultaneously replacing irrelevant ones with a different article from the same domain and time period. 200 fake articles were also re-fact checked to ensure that the contents were false. In total, 13 fake articles and 21 credible articles were replaced. After this error analysis, both classifying accuracies on the testing set for 90 and 120 words converged at 87%. (Table 1.)

This model (90 words) displayed a greater accuracy than both Granik et al. and Zhang et al. even though both utilized skewed data sets. The model classified fake news with an accuracy of 88% and credible news at 85%. Overall the classifiers obtained a recall rate of 82%. This is important as mislabeling credible data could cause the user to trust a deceptive website, increasing their intake of fake news.

5.2 Feature Analysis

Based on this dataset, adverbs were used 40% more in fake news articles (p) probably to give emphasis to deceptive information. The higher usage of nouns in credible news could be attributed to credible news presenting more objective information since nouns tend to not hold any emotion. (Table 2.)

The p-values of sentiment analysis were not statistically significant. This data was supported by the LIWC summary variable of emotional tone which displayed no significant statistical difference between credible and fake news. This contradicts the notion that fake news is emotionally colored. (Table 3.) The differences in word length and sentence length were also statistically insignificant disproving the notion that credible news tends to use more complex language than fake news. (Table 4.) However, LIWC data showed that the authentic tone of fake news was significantly higher than that of credible news. (Table 5.) This deviates from the stereotypical notions of fake and credible news and can be attributed to the fact that fake news puts in more effort to make their content seem authentic. The statistical differences in word distribution were also very significant (Table 6, Figure 3, Figure 4). The model appears to use all of these distinctions in features to classify fake and real news.

5.3 Topic Distribution

The topics of the dataset were further analyzed and it was noticed that there were visibly more topics in fake news than real news. This could be the result of the data collection method: Much of the real news was collected by compiling similar news topics that were fact-checked by fact-checkers such as Snopes and Politifact and labelled as true. Thus, there are more clusters of topics and less individual topics.

There was a general trend that if the topics did not overlap between real and fake news, the classifier performed better. This may suggest that the classifier is classifying on topics rather than content.
After close comparisons between fake and real news of the same topic, it is evident that the content in fake news is not the polar opposite of credible news. Instead, they seem to stretch the truth to one end of the political spectrum or adds additional deceptive information.

Overall there were more topics in fake news and so the articles were more spread out and as a result, there were less fake news articles that overlapped with the real news articles. In some topics such as Mueller investigation the classification was lackluster while in other topics such as the Parkland shooting, the performance was very strong. This difference can arise due to the divisiveness of a certain topic. There appears to be a general trend between the magnitude of the topic and the accuracy of classification. Topics that are of greater magnitude in terms of relevance tend to have a greater exposure to the general public, with greater exposures come more diverse perspectives.

6 Conclusion

This paper presents a high accuracy ML classifier to classify the validity of online news articles to be Credible or Fake based on word distributions and other linguistic and stylistic features. The best performing model by overall classification accuracy on the testing set was Linear SVM reaching 87.0%. This model performed better than existing classifiers even with unbalanced datasets such as Granik et al. [6] and Zhang et al. [20]. The optimal number of words (X) in an article to test was found to be 90 words since the accuracy converged after that point. Additionally, by analyzing the model and its features, this project provides insight into the specific features of fake news. This classifier appears to use the differences in word distribution, levels of tone authenticity and the frequency of different parts of speech. In particular, the frequency of adverbs, adjectives, and nouns showed very significant statistical differences between real and fake news.

7 Future Work

This model presented also provides a few limitations which reduce the inferences that can be drawn. This classifier requires large amounts of data to stay updated to each news cycle and produce optimal results. Therefore, finding the minimum amount of data required to still attain high accuracy rates could drastically reduce the time to prepare data for the classifier. An automated data collection system can be implemented to quickly and cost-effectively collect data. Moreover, this classifier is binary, while news can be partially credible or fake. Thus, adding extra dimensions may present further useful information. This model may be coded into a chrome extension and aid the general public in making better-informed decisions. Further applying a successful classifying filter to news websites or social media outlets can help reduce the large amounts of misinformation circulating the Internet.

8 Acknowledgements

I thank Dr. Maite Tobaoda, a linguistics professor at Simon Fraser University. She has given me the opportunity to take part in a discourse processing lab. I thank Dr. Fatemeh Torabi Asr, a post-doctorate at Simon Fraser University who has kindly mentored me on data collection and project development and given me invaluable advice on extensions to my project. I thank Dr. Joan Hu, a statistics professor at Simon Fraser University who has advised me on statistical procedures. I thank William Chow for his help in editing this paper.

References

Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
""
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
   
Add comment
Cancel
Loading ...
393285
This is a comment super asjknd jkasnjk adsnkj
Upvote
Downvote
""
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters
Submit
Cancel

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test
Test description