Publications

Deep Learning for Rhetorical Move Detection

Sociedade Brasileira de Computação · Sep 2025

Fine-tuned a distilled version of BERTimbau on the CorpusDT corpus to identify rhetorical moves in Portuguese scientific abstracts, achieving an F1-score of 0.94 in sentence classification. Highlights the potential of NLP for enhancing the quality of academic writing in Portuguese.

Case study

0.94 F1 · 93.97% accuracy · 6 rhetorical classes · 52 abstracts → 1,409 examples

The problem

Portuguese lacks tools to support scientific writing. Swales's rhetorical moves (context, gap, purpose, method, result and conclusion) are usually structured intuitively, and the research gap is often left implicit. The previous reference classifier for Portuguese, AZPort, reached 72% accuracy with a Naive Bayes approach.

The constraint

CorpusDT, one of the few annotated corpora available in Portuguese, contains just 52 scientific abstracts, too little to fine-tune a Transformer directly.

The approach

I built a data-augmentation pipeline that preserves the rhetorical meaning of each sentence: back-translation (PT→EN→PT), synonym substitution, random insertion and swap, and random deletion as regularization, applied stochastically and biased toward the minority classes. This expanded the 52 abstracts into 1,409 balanced sentence examples (stratified 80/20 split). On that set I fine-tuned distilbert-portuguese-cased, a distilled version of BERTimbau, with a 6-class classification head, class-weighted cross-entropy, mixed precision (FP16), AdamW with a cosine scheduler, and early stopping on validation F1.

The result

The final classifier reached a weighted F1 of 0.94 (0.9403 macro) and 93.97% accuracy on the validation set, the best known result for rhetorical-move detection in Portuguese. Error analysis showed misclassifications concentrate between semantically adjacent moves (for example, 7.7% of Result sentences read as Method), a subtle boundary even for human annotators. The errors follow a logical pattern rather than a random one.

Graphical Interface for Exascale Systems Simulation

ERADSP 2023 · 2023

Contributed to the GUI of iSPD (Iconic Simulator of Parallel and Distributed Systems), a tool for performance analysis of large-scale distributed systems. Led the redesign and reimplementation of the interface in C++ using Qt, focusing on responsive design, event handling and efficient visualization of massive performance metrics.