Case study
Social media misinformation, an NLP study
Should social media companies be held responsible for misinformation? This project collects 1,054 news articles on the question, labels each article's stance with a BERT model, maps what the coverage talks about, and predicts where an article stands.
- News articles
- 1,054
- Sentiment accuracy, SVM
- 68.72%
- Four-stance accuracy, SVM
- 62.56%
- Majority-class baseline
- 50%
Data and labels
Articles came from NewsAPI, MediaStack and Google News RSS. Each one was cleaned, tokenized, stemmed and lemmatized, then turned into count and TF-IDF features. A BERT sentiment model assigned each article a stance.
Exploring the coverage
- K-Means with silhouette analysis, and hierarchical clustering with cosine distance in R.
- LDA topic modeling with five topics, which separates regulatory, technological, political and user-focused threads.
- Apriori association rules in R.
Predicting stance
Naive Bayes, decision trees (entropy and Gini at several depths) and SVMs with linear, RBF and polynomial kernels were trained to predict each article's label.
With four uneven classes, always guessing "anti-regulation" scores about 50%. The four-stance models beat that by a modest margin, and the three-way sentiment model does clearly better.
Limitations
The labels come from a BERT model, not from human annotators, so these accuracies measure agreement with that model's labels. The study maps how coverage frames the question; it does not judge whether any article is true.