Аспектний аналіз тональності відгуків (ABSA) за допомогою LLM
Ви ведете мережу готелів і отримуєте тисячі відгуків на місяць. Загальний сентимент — 4.2 зірки, але ви не знаєте, що саме потрібно покращити. Гості пишуть: «Номер чистий, але Wi-Fi огидний, і сніданок так собі». Три аспекти, три думки — а у вас тільки середня оцінка. ABSA (Aspect-Based Sentiment Analysis — за визначенням із Wikipedia) витягує ці деталі та перетворює їх на actionable інсайти.
Наша команда впровадила ABSA для 15 клієнтів у e-commerce, HoReCa та логістиці — опрацьовано понад 2 млн відгуків, середній час проєкту — 3 тижні. Підхід простий: LLM + structured output + агрегація. У цій статті розберемо, як це працює в продакшені та чому generic-рішення не дотягують.
Чому ABSA кращий за загальний сентимент?
Без ABSA ви втрачаєте контекст. Наприклад, фраза «персонал привітний, але черги дикі»: загальний позитив, а аспект «швидкість обслуговування» негативний. Тільки аспектний аналіз дає сигнал менеджеру: «збільште кількість касирів у години пік». За нашими даними, 68% негативних відгуків містять хоча б один позитивний аспект — без ABSA ці сигнали губляться.
Як LLM вирішує задачу ABSA
Класичні підходи (CRF, BiLSTM, BERT fine-tuning) вимагають розміченого корпусу. Для нового домену — це тижні розмітки. LLM з structured output вирішує задачу швидше: один промпт — і ви отримуєте JSON з аспектами та тональностями.
Ось Pydantic-модель, яку ми використовуємо в продакшені:
class AspectSentiment(BaseModel): aspect: str sentiment: Literal["positive", "negative", "neutral", "mixed"] opinion_phrase: str score: float # -1.0 to 1.0 class ReviewAnalysis(BaseModel): aspects: list[AspectSentiment] overall_sentiment: Literal["positive", "negative", "neutral", "mixed"] key_issues: list[str] key_positives: list[str] Модель GPT-4o видає цей JSON з точністю ~92% на російськомовних відгуках (за нашими тестами на 5000 прикладів). Для чутливих даних використовуємо LLaMA 3 70B, хостимо через vLLM — latency p99 під 800 ms.
Чому агрегація важливіша за поодинокий аналіз?
Один відгук — шум. Тисячі — сигнал. Ми будуємо пайплайн, який збирає результати по всіх відгуках за період та агрегує:
| Аспект | Середня тональність | Тренд за місяць | Частка згадок |
|---|---|---|---|
| Чистота | 0.65 | ▬ стабільно | 45% |
| Wi-Fi | -0.32 | ▼ падає | 22% |
| Сніданок | 0.10 | ▲ зростає | 18% |
| Персонал | 0.80 | ▲ зростає | 35% |
Тренди дають зрозуміти, що Wi-Fi погіршується — сигнал для заміни роутерів. А зростання тональності по сніданку говорить, що новий шеф-кухар працює добре.
Ми також будуємо теплові карти аспектів за часом: видно, як після зміни прибиральниці впав аспект «чистота». Автоматичні алерти: якщо тональність за аспектом «швидкість доставки» падає нижче порогу — сповіщення в Slack керівнику логістики.
Як ми гарантуємо точність аналізу?
Для високої точності використовуємо few-shot промпти з 10–15 прикладами на домен та chain-of-thought роздуми. Кожен результат проходить валідацію схеми. Для критичних галузей налаштовуємо калібрування впевненості — модель повертає score від -1 до 1, і ми відкидаємо прогнози з низькою впевненістю (<0.3). Це дає precision до 96% на ключових аспектах.
Порівняння підходів: Open source vs GPT-4o
| Критерій | Open source (LLaMA 3 70B) | GPT-4o |
|---|---|---|
| Точність ABSA | 87% | 92% |
| Latency p99 | 800 ms | 1.2 s |
| Вартість 1k відгуків | безкоштовно (self-host) | $0.50 |
| Конфіденційність | повна | залежить від угоди |
Вибір залежить від ваших вимог щодо privacy та бюджету. Ми допомагаємо підібрати оптимальний варіант.
Що входить у нашу роботу
- Консультація та аудит поточного потоку відгуків: які канали (Google Maps, Yandex, відзовик, CRM), в якому форматі (CSV, API, JSON)
- Вибір стеку: OpenAI / opensource-модель, векторна БД (Qdrant або pgvector) для зберігання ембеддінгів
- Розробка промптів з few-shot та chain-of-thought для високої точності
- Інтеграція з вашим дашбордом (Metabase, PowerBI, Tableau) або наш типовий чорновик на Plotly
- Документація та навчання команди: як інтерпретувати аспектний радар і тренди
- Гарантія 3 місяці підтримки — фікс багів, доналаштування аспектів під новий сезон
Як почати?
Опишіть своє завдання — ми запропонуємо архітектуру під ваш бюджет і терміни. Оцінимо проєкт за 2 робочих дні. Результат: JSON-схема, прототип на 50 відгуках та roadmap до продакшену. Зв'яжіться з нами — ми покажемо, як ABSA вирішує ваші конкретні болі. Отримайте консультацію з архітектури ABSA для вашого бізнесу.







