← Все проекты
Кейс · TELEGRAM · АВТОМАТИЗАЦИЯ

Автоматизация поиска заявок в Telegram-чатах

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

Чаты → Отбор → Темы → Запросы

Задача бизнеса

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

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

Как устроено решение

Я собрала юзербота, который забирает сообщения из подключённых чатов и пропускает их через правила отбора. Учитываются признаки поиска исполнителя, близость слов намерения и темы, стоп-слова и повторы.

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

Почему фильтр устроен сложнее, чем поиск по словам

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

Как проверяется качество отбора

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

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

Что меняется в работе

Специалист получает подборку по своему направлению и меньше времени тратит на просмотр общей ленты.

Устойчивость работы

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

Моя роль в проекте

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

Технологии

Python, Telethon, VPS, systemd, правила отбора в rules.json, журналы в CSV, git.

Есть похожий процесс?

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

Обсудить задачу ↗