Публикации

Глубокое обучение для определения риторических ходов

Sociedade Brasileira de Computação · Sep 2025

Дообучил дистиллированную версию BERTimbau на корпусе CorpusDT для определения риторических ходов в аннотациях научных статей на португальском, достигнув F1-score 0,94 в классификации предложений. Показывает потенциал NLP для повышения качества академического письма на португальском.

Разбор

F1 0,94 · 93,97 % точности · 6 риторических классов · 52 аннотации → 1 409 примеров

Проблема

Португальскому языку не хватает инструментов для поддержки научного письма. Риторические ходы Swales (контекст, пробел, цель, метод, результат и вывод) обычно выстраиваются интуитивно, и исследовательский пробел часто остаётся неявным. Предыдущий эталонный классификатор для португальского, AZPort, достигал 72 % точности с подходом на основе наивного Байеса.

Ограничение

CorpusDT, один из немногих размеченных корпусов, доступных на португальском, содержит всего 52 научные аннотации, что слишком мало для прямого дообучения Transformer.

Подход

Я построил пайплайн аугментации данных, который сохраняет риторический смысл каждого предложения: обратный перевод (PT→EN→PT), замену синонимов, случайные вставку и перестановку, а также случайное удаление как регуляризацию, применяемые стохастически и со смещением в сторону миноритарных классов. Это расширило 52 аннотации до 1 409 сбалансированных примеров предложений (стратифицированное разбиение 80/20). На этом наборе я дообучил distilbert-portuguese-cased, дистиллированную версию BERTimbau, с головой классификации на 6 классов, взвешенной по классам кросс-энтропией, смешанной точностью (FP16), AdamW с косинусным планировщиком и ранней остановкой по F1 на валидации.

Результат

Итоговый классификатор достиг взвешенного F1 0,94 (0,9403 macro) и 93,97 % точности на валидационном наборе, лучший известный результат для определения риторических ходов на португальском. Анализ ошибок показал, что ошибочные классификации сосредоточены между семантически смежными ходами (например, 7,7 % предложений класса «Результат» прочитаны как «Метод»), тонкая граница даже для человеческих аннотаторов. Ошибки следуют логическому паттерну, а не случайному.

Графический интерфейс для моделирования экзафлопсных систем

ERADSP 2023 · 2023

Участвовал в разработке GUI для iSPD (Iconic Simulator of Parallel and Distributed Systems), инструмента для анализа производительности крупномасштабных распределённых систем. Руководил переработкой и повторной реализацией интерфейса на C++ с использованием Qt, с упором на адаптивный дизайн, обработку событий и эффективную визуализацию массивных наборов метрик производительности.