Мониторинг отзывов: почему фильтр по тональности не работает
Вы подключаете мониторинг отзывов, и через неделю дашборд показывает 30% негатива. Вы читаете выборку и не узнаёте свой продукт: половина «негативных» отзывов на самом деле нейтральные вопросы или констатация факта. Классификатор тональности врёт, и врёт он не случайно. Собрать отзывы из CMS, маркетплейсов и соцсетей в одну ленту — задача мониторинга. Мониторинг информации.
Что именно ломается
Тональность — это не бинарный признак. Отзыв «Доставка заняла пять дней, хотелось бы быстрее» не негативный и не положительный. Это констатация с лёгким недовольством. Модель, обученная на отзывах с явной оценкой («ужасно», «отлично»), не видит границу между нейтральным и слабым негативом. Она сваливает всё в одну корзину.
В нашей практике на проекте маркетплейса классификатор маркировал 47% нейтральных отзывов как негативные. Реальная доля негатива была 12%. Ошибка в четыре раза.
Почему дообучение не помогает
Первое желание — дообучить модель на своих данных. Это работает, если у вас есть размеченная выборка минимум в 500 примеров на класс. Но разметка тональности субъективна: два разметчика сходятся в 70% случаев. Модель учится на противоречиях и воспроизводит их.
Второе желание — добавить правила поверх классификатора. Ключевые слова вроде «ужас», «кошмар», «никогда больше» действительно маркируют негатив. Но они не ловят контекст: «Ужас, как быстро привезли» — это положительный отзыв с негативным словом.
Что работает на практике
Рабочая система мониторинга строится не на одном классификаторе, а на контуре из трёх слоёв. Три слоя — это задача обработки естественного языка, а не настройка дашборда. Разработка систем обработки естественного языка.
Слой 1: явные маркеры. Ключевые слова и фразы с высокой точностью. Они дают 20% негатива, но почти без ложных срабатываний.
Слой 2: классификатор с порогом. Модель не решает «негатив или нет», а возвращает вероятность. Порог 0.7 отсекает 80% ложных срабатываний ценой потери 15% реального негатива. Потерянные отзывы всё равно видны в общей ленте.
Слой 3: ручная выборка. Каждую неделю менеджер по репутации просматривает 50 случайных отзывов из зоны неуверенности классификатора (вероятность 0.4–0.7). Это занимает 20 минут и даёт обратную связь для калибровки порога.
| Слой | Доля негатива | Точность | Время на проверку |
|---|---|---|---|
| Маркеры | 20% | 95% | 0 |
| Классификатор (порог 0.7) | 65% | 82% | 0 |
| Ручная выборка | 15% | 100% | 20 мин/нед |
Как читать метрику негатива
Когда вы видите на дашборде «30% негатива», первый вопрос — что считается негативом. Если в выборку попадают нейтральные отзывы, метрика растёт, а репутация не меняется. Если классификатор обучен на другом домене, метрика врёт системно. Отзывы живут в CMS, маркетплейсах и соцсетях; их нужно собирать в одном месте. Интеграция ИИ с CMS.
Проверка простая: возьмите 20 случайных «негативных» отзывов и прочитайте их за 5 минут. Если больше трети — не негатив, классификатор нужно калибровать.
Что мы сделали на проекте маркетплейса
Заменили один классификатор на контур из трёх слоёв. Порог 0.7, ручная выборка 50 отзывов в неделю. Через месяц метрика негатива упала с 30% до 14%, но это не улучшение продукта, это честные цифры. Реальный негатив не изменился, изменилась точность его измерения.
Теперь рост негатива на 3 пункта за неделю — это сигнал к действию, а не повод пересматривать стратегию на шуме классификатора.
Поговорите о задаче
Разберём вашу задачу и покажем, что уже работает у клиентов из вашей отрасли.
Оставить заявку