Реалізація аналізу тональності тексту
Аналіз тональності визначає емоційну забарвленість тексту: позитивна, негативна, нейтральна. Завдання здається простим—доки не зіштовхнешся з сарказмом, галузевою лексикою, змішаними рецензіями або коротким текстом типу «Ну спасибі».
Готові рішення проти кастомного навчання
Для більшості завдань почніть з готових моделей. Для російської: blanchefort/rubert-base-cased-sentiment (Hugging Face)—3 класи, ~86% точність на загальних текстах. Для англійської: cardiffnlp/twitter-roberta-base-sentiment-latest.
Кастомне навчання потрібне коли: галузева специфіка (медицина, фінанси, техніка), потрібні нестандартні класи (наприклад, 5-рівнева шкала), або якість готових моделей незадовільна на вашому корпусі.
Галузева специфіка
«Препарат не викликав побічних ефектів»—позитив у медицині, але нейтральна констатація факту в загальному сенсі. «Активне зниження»—негатив у фінансах. Fine-tuning на доменних даних (500–2000 прикладів) піднімає точність на 5–10% порівняно з загальними моделями.
Аспектний sentiment
Повний аналіз рецензії: «Їжа смачна, але обслуговування жахливе, і ціни завищені»—три аспекти з різною тональністю. Aspect-Based Sentiment Analysis (ABSA) вилучає пари (аспект, тональність). Реалізація: sequence labeling з тегами B-ASP, I-ASP + класифікація sentiment для кожного span.
Деплой та швидкість
BERT inference: 50–150ms/текст на CPU. Для високонавантажених систем (>1000 запитів/сек) використовуйте батчинг + ONNX: 5–15ms/текст. Для простих випадків (бінарна класифікація, англійська), roBERTa-distilled працює в 3x швидше з втратою якості < 2%.







