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:
- Scrape: collect the political tweets and their accounts.
- Classify: Botometer bot-likelihood scoring for each account.
- Score: sentiment with both VADER and TextBlob, so the two models can be compared.
- Validate: SciPy t-tests on sentiment differences between likely-bot and likely-human accounts.
- 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.