Все статьи и примеры

исполнители

Ключевые слова или ИИ: как проверить отбор в Telegram-чатах

· Pingfinch

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

Почему по уведомлениям не понять, хорош ли фильтр?

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

Поэтому считают две доли. Доля полезных уведомлений (в машинном обучении precision) показывает, какая часть присланного вам подходит. Полнота (recall) показывает, какую часть всех подходящих сообщений фильтр нашёл. Для полноты нужно самому знать, сколько подходящих было всего.

Общего сравнения слов и ИИ мы не проводили. Результат зависит от ваших чатов и формулировок, так что считать придётся на своих.

Как собрать выборку для проверки?

  1. 1

    Одни чаты, один период

    Выпишите подряд 50–100 сообщений из своих чатов. Если запросы редки, берите больше: когда подходящих пять, одно сообщение сдвигает полноту на 20 пунктов.

  2. 2

    Разметка до уведомлений

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

  3. 3

    Контрольная часть

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

  4. 4

    Прогон

    Правило по словам проверьте сами поиском по выписанному. Сервис, который читает только новые сообщения, проверяйте неделей вперёд: в конце недели разметьте чаты за эти дни и только потом откройте уведомления.

Как при разметке отличить запрос от рекламы и вакансии, разобрано в отдельной статье. Pingfinch читает только новые сообщения, так что для него годится второй путь.

Как это выглядит на примере?

Четыре учебных сообщения и правило «в тексте встречается „кран“»:

Подходит: Запрос без слова

«Под мойкой капает из-под гайки, кто может сегодня посмотреть?» Правило промолчало, а заказ ваш.

Подходит: Запрос со словом

«Нужно поменять кран в ванной, течёт. Кто возьмётся в субботу?» Правило сработало верно.

Не подходит: Продажа техники

«Продаю автокран на 25 тонн, документы в порядке, торг.» Слово есть, заказа нет.

Не подходит: Реклама коллеги

«Меняем краны и смесители, выезд в течение часа.» Слово есть, пишет исполнитель.

Правило показало три сообщения, полезное среди них одно: доля полезных 1 из 3. Подходящих было два, найдено одно: полнота 1 из 2.

Что не смешивать с ошибками фильтра?

Считайте отдельной строкой
  • Сообщения с меткой «неясно»: доли считайте по остальным
  • Один запрос в нескольких чатах: это один запрос, Pingfinch тоже пришлёт его один раз
  • Чаты, к которым сервис так и не получил доступа: это пробел охвата
  • Нулевой знаменатель: если фильтр ничего не показал, пишите «нет данных» вместо 0 % или 100 %

Общую долю верных решений (accuracy) не берите вовсе. В учебном примере фильтр, который молчит всю неделю, прав в 52 случаях из 60, это около 87 %, и не нашёл ни одного запроса.

Что важнее: меньше лишнего или меньше пропусков?

С фильтром А из примера придётся больше читать, с фильтром Б вы потеряете половину запросов. Мастеру с редкими крупными заказами важнее полнота, исполнителю с потоком мелких задач важнее доля полезных. Решите, что вам дороже: десяток лишних уведомлений или один потерянный заказ.

После правки пересчитайте на новой неделе и пишите рядом с процентом числа и даты: «6 из 8 за 14–20 октября» скажет больше, чем «75 %». В Pingfinch при сомнении ИИ отклоняет сообщение. Лишнего так меньше, но пропуски возможны, и выборка покажет, сколько их у вас.

Как так же проверить Pingfinch?

Pingfinch, сервис уведомлений о запросах в выбранных публичных Telegram-чатах, не отбирает по ключевым словам: присылать ли сообщение, решает ИИ по вашей инструкции. Слова можно только исключить правилом «🔇 Не присылать». Сообщения с исключёнными словами, сообщения без единого слова и копии уже отклонённых отсеиваются ещё до ИИ. ИИ видит одно сообщение без переписки, поэтому «А завтра после обеда сможете к нам подъехать?» не придёт, и при подсчёте это ожидаемый пропуск.

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

С чего начать?

Разметьте сообщения из своих чатов, посчитайте обе доли для правила по словам и подключите Pingfinch к тем же чатам на неделю. Начать можно бесплатно в боте, условия после бесплатного периода на странице «Тарифы». Шаблоны инструкций и то, что ещё сравнить при выборе сервиса, есть в статьях ниже.

Вопросы и ответы

Можно ли найти пропуски, не читая все сообщения?

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

Читайте также

Попробуйте на одном чате

Добавьте публичную группу или канал по @username и опишите запросы, которые хотите получать.

Первые 7 дней бесплатно, уведомления без ограничений.