Twitter Bot Classification

Telling genuine public reaction apart from likely-bot activity in political discourse.

Department
Information Science
Role
Head Researcher
Year
2025

Problem

Organizations that use social sentiment data need to distinguish genuine public reaction from activity associated with likely-bot accounts.

Approach

I built an end-to-end Python workflow on 350+ political tweets:

  1. Scrape: collect the political tweets and their accounts.
  2. Classify: Botometer bot-likelihood scoring for each account.
  3. Score: sentiment with both VADER and TextBlob, so the two models can be compared.
  4. Validate: SciPy t-tests on sentiment differences between likely-bot and likely-human accounts.
  5. Visualize: chart the results, with Gensim LDA topic modeling.

Result

A reproducible scrape, classify, score, validate and visualize workflow. Comparing two sentiment models strengthened confidence in the results, and the analysis surfaced an honest limit: the highest bot-likelihood tier had too few accounts for strong conclusions.

Where else it applies

The workflow generalizes to brand-sentiment monitoring, review-authenticity analysis and public-opinion research.

Tools

  • Python
  • Botometer
  • VADER
  • TextBlob
  • SciPy
  • Gensim LDA