Как ИИ-мониторинг отсеивает шум и не теряет нужное

Три ступени отбора, сюжеты вместо сотни одинаковых постов, тональность без обращения к модели и двойная проверка срочного. Рассказываем, как это устроено и что показали замеры.

Максим ДедяевТехнический директор

5 минут чтения

Мониторинг читает сотни Telegram-каналов и сайтов СМИ, и почти всё, что в них выходит, к вашей теме не относится. Задача системы: убрать этот шум, не потеряв ни одной нужной публикации, и сделать это так, чтобы разбор не стоил как работа аналитика.

Telegram читается живым потоком со страховочным опросом, ленты сайтов опрашиваются каждые 10 минут. Новый источник начинает собираться через десятки секунд после подключения, а материалы за последние 5 часов система добирает сама. В каталоге 83 сайта СМИ, и к ним можно добавить свои каналы.

Как задаётся тема

Тему описывает человек, обычными словами: что в неё входит, что не входит и какие объекты важны. Словарь по этому описанию собирает ИИ. На шаге проверки система сразу показывает живые примеры за последние двое суток с причиной, почему публикация попала в тему, и прогноз: примерно сколько публикаций в день будет в ленте.

Отметки «Верно» и «Ошибка» на этих примерах не пропадают: они становятся образцами темы для следующих ступеней отбора.

Первая ступень: словарь

Словарь темы работает без обращения к модели и ничего не стоит. По нашим оценкам, он отсекает около 94–98% потока, в зависимости от темы. Исключения задаются только фразами от двух слов, чтобы одно случайное слово не выбрасывало нужное.

Английские тексты проверяются скрытым английским зеркалом словаря, его не нужно заполнять вручную. Латинские слова ищутся целиком: «AI» больше не находится внутри «said».

Слабое место словаря понятно: публикация может быть по теме, но без нужных слов. Особенно в широких темах, где одно и то же событие называют по-разному.

Вторая ступень: отбор по смыслу

Всё, что словарь отсеял, получает второй шанс. Локальная модель сравнивает публикацию с описанием темы и с образцами из её ленты за 45 дней, включая отметки «Верно» и «Ошибка». Порог настроен так, чтобы проходило 97% нужного, и пересчитывается каждые 12 часов без участия людей. Пока образцов меньше десяти, этот шаг не включается.

Дальше быстрая проверка с правилом «сомневаешься, пропусти». Она отсекает около 60% лишнего. Если описание темы подробное, от 80 знаков, работает ещё одна проверка: главный ли предмет публикации ваша тема или она упомянута мимоходом. При сомнении или сбое публикация остаётся в ленте.

Это замер на 329 публикациях двух тем: в одной считали лишнее, в другой нужное.

Что показал замер

Мы проверили отбор на трёх рабочих темах. Эталоном были оценки отдельной сильной модели-судьи: половина выборки ушла на настройку порога, половина на проверку.

Полнота отбора до и после смыслового шага
ТемаТолько словарьСловарь и смысл
С сильным словарём99,2%100%
Среднего охвата80%100%
Со слабым словарём31%90,5%

Главный выигрыш у тем, где словарь не справляется в одиночку. Там, где словарь и так ловит почти всё, смысловой шаг почти ничего не добавляет к счёту. Для небольшой темы это около 0,2 доллара в месяц, для крупной около 37 долларов, а на каждую тему стоит потолок: не больше доллара в сутки.

Сюжеты вместо сотни одинаковых постов

Одна новость расходится по десяткам каналов почти дословно. Повтор у того же источника система не заводит отдельной строкой. Копия у другого источника остаётся, потому что это сигнал распространения, но в режиме «Без повторов» лента показывает её как «+N» у исходной публикации.

Публикации об одном событии собираются в сюжет. Сюжет появляется, когда о событии написали хотя бы двое, или раньше, если у поста всплеск просмотров: в три раза выше обычного для канала и не меньше 5000. Фазы сюжета считаются по времени, без модели, и после 72 часов тишины сюжет считается затихшим.

Приоритет сюжету ставят правила, и у каждого приоритета есть названная причина. Нет основания, нет и приоритета. Если вы с ним не согласны, это можно отметить прямо в сюжете.

Тональность без обращения к модели

Раньше тональность размечала модель по сети, и у тысяч публикаций оценки выходили одинаковыми заготовками. Теперь её считает на сервере небольшой классификатор, обученный на 420 размеченных публикациях. Внешних вызовов нет, и результат не зависит от настроения модели.

Тональность: прежняя разметка моделью и классификатор на сервере
ПоказательБылоСтало
Совпадение с эталоном68,6%75,9%
Точность негатива73%84%
Точность позитива66%75%
Полнота нейтральных42%66%

Ложных «негативов» в ленте заметно меньше. Честная оговорка: полнота негатива немного снизилась, с 88 до 81%, зато каждая отметка «негатив» стала надёжнее.

Срочное проверяется дважды

Пометка «срочно» от первой разметки только кандидат. Пост старше суток срочным не бывает по правилу, без модели. Остальных кандидатов проверяет отдельный верификатор в роли «адвоката дьявола»: он отсеивает мемы, сарказм, кликбейт, мнения и старые новости, а при сомнении срочность не подтверждает.

Уведомление о срочной публикации приходит только после этой проверки.

Что получает клиент

  • Ленту с отобранными публикациями и сюжетами, с выгрузкой в CSV.
  • Уведомления восьми видов. Правила для них считаются кодом раз в минуту, без моделей. Режимы: «Только важное», «Важное и сюжеты» или «Только брифинги», есть тихие часы.
  • Брифинги утром, за ночь, и вечером, за день, в Telegram или на почту, текстом или вложением PDF и DOCX. Порядок в брифинге задаёт код по охвату.

Ссылки на публикации вставляет код, а не модель, поэтому они не бывают выдуманными. Цитата остаётся в брифинге, только если она найдена в тексте публикации или на картинке.

Как мы следим за качеством

Каждые сутки отдельная проверка оценивает отбор: полноту, точность, ложные срочные и время обнаружения. В контрольную выборку попадает 5% отсеянного, а проверяющая модель не видит, что решил конвейер. Метрики показываются, только когда выборка достаточная: для долей не меньше 30 публикаций.

Правка человека в ленте постоянна, конвейер её не перебивает. Если за две недели набирается три однотипные правки, система сама предлагает превратить их в правило темы.

Подробнее об ИИ-мониторинге