Political Stance Detection with BERT

Python · HuggingFace Transformers · BERT · Twitter API · Scikit-learn

Can we automatically detect whether a politician supports or opposes vaccination from their tweets? End-to-end pipeline covering data collection, cleaning, manual annotation, and fine-tuning of Portuguese BERT models for stance and sentiment classification in Brazilian legislators' tweets on COVID-19 vaccines (2020–2023).

  • Problem: Automatically classify political stance on vaccination at scale, in Portuguese.
  • Solution: Fine-tuning of BERTimbau for stance detection, with a full collection pipeline via Twitter API and manual annotation by nine independent annotators.
  • Result: Corpus of 9,045 annotated posts (α=0.94 relevance · α=0.70 stance · α=0.67 sentiment), publicly available as a gold standard for supervised model training.

Tweet Dataset — Brazilian Mayoral Candidates & COVID-19

Python · Twitter API · Pandas · Data Analysis

Dataset of tweets from Brazilian mayoral candidates during the COVID-19 pandemic, collected via the Twitter API. Systematic large-scale collection and documentation of political data for reproducible research.

  • Problem: Lack of structured data on municipal political communication during the pandemic.
  • Solution: Automated collection pipeline via API with documentation and organization for reuse by other researchers.
  • Result: Public dataset of mayoral candidates' tweets, openly available for downstream research.

Federalism & Educational Inequality During the Pandemic

R · tidyverse · ggplot2 · Comparative Statistical Analysis

How did the lack of federal coordination amplify inequalities in the educational response to the pandemic? Systematic collection and analysis of educational policy data across all 26 Brazilian states and capital cities during 2020–2021, with comparative indicators and analytical visualizations.

  • Problem: Measuring the impact of federal discoordination on state-level educational responses during the pandemic.
  • Solution: Large-scale government data collection, construction of comparative indicators, and statistical analysis in R.
  • Result: Published in the Comparative Education Review (vol. 70, no. 1, 2026) — one of the leading international journals in comparative education.

NLP for the Humanities — Interactive Textbook

Python · Jupyter Book · HuggingFace · Scikit-learn · Google Colab · GitHub Pages

Open-access interactive textbook built from scratch to teach Python, NLP, and Machine Learning to social science researchers without a technical background. Each chapter is an executable notebook with a direct link to Google Colab — no local installation required.

  • Problem: No Portuguese-language teaching material that takes humanities researchers from zero to advanced NLP techniques.
  • Solution: Interactive Jupyter Book published via GitHub Pages, with a progressive curriculum from basic Python to text classification with language models.
  • Result: Actively used in course FLP0478 (DCP-USP) and publicly available for anyone to access and contribute.

Contact

Interested in collaborating or discussing any of these projects? I'm open to data science roles and collaborations in applied NLP, text analysis, and unstructured data.