Обучение модели Sentiment Analysis
Fine-tuning сентимент-классификатора нужен, когда готовые модели дают неудовлетворительное качество на вашем доменном тексте — что типично для специализированных отраслей.
Когда обучать, а не использовать готовую
Готовые модели (blanchefort/rubert-base-cased-sentiment, sismetanin/rubert-ru-sentiment-rusentiment) обучены на общих текстах. Они хуже работают на:
- Финансовых текстах («акции упали» — это негатив для инвестора, но не для шортиста)
- Медицинских текстах («нет побочных эффектов» — позитив)
- Техническом тексте («критическая ошибка исправлена» — позитив)
- Коротких, специфичных текстах (чат-диалоги, твиты)
Тест: запустите готовую модель на 100 ваших текстах, оцените вручную. Если F1 < 80% — стоит fine-tuning.
Структура датасета
Минимум для бинарной классификации: 500–1000 примеров на класс. Для 3 классов: 500+ на каждый. Источники: существующие тикеты с оценками CSAT, отзывы с рейтингами (1–2 звезды = негатив, 4–5 = позитив).
Важно: проверьте баланс и качество разметки. Смешанные отзывы («в целом хорошо, но цена завышена») разметчики оценивают по-разному — нужны чёткие правила разметки.
Fine-tuning
Стандартный процесс через AutoModelForSequenceClassification с 2–5 эпохами. Learning rate: 2e-5–5e-5. Для 3-классовой задачи особенно внимательно к нейтральному классу — он часто недоразмечен.
Оценка на доменном тесте
После обучения: F1 по каждому классу отдельно. Confusion matrix часто показывает: модель путает «нейтраль» с «позитивом» — это нормально, добавьте больше нейтральных примеров.
Calibration: вероятности должны соответствовать реальной точности. temperature_scaling для калибровки если нужны достоверные вероятности для принятия решений.







