В рамках заказ заключалось в разработке ИИ-бота для мониторинга новостей о ДТП в Telegram-группах. Это задание обосновано необходимостью автоматизации сбора и анализа данных о
дорожных происшествиях, что актуально для повышения безопасности на
дорогах, оперативного реагирования органов ГИБДД и анализа тенденций в регионах (например, Магадан, Нерюнгри). Оценка современного состояния
проблемы показывает, что традиционные методы мониторинга (ручной поиск)
неэффективны из-за объёма данных в социальных сетях. Актуальность
задания обусловлена ростом числа ДТП в России (по данным Росстата, в 2024
году зарегистрировано более 150 тысяч ДТП), а также развитием технологий
ИИ для обработки естественного языка и компьютерного зрения. Задание
позволяет применить знания по программированию, ИИ и обработке
изображений для создания практического инструмента.
Цель: создать интеллектуального бота для автоматического
мониторинга и фильтрации новостей о дорожно-транспортных происшествиях
(ДТП) в Telegram-группах, позволяющего оперативно выявлять релевантную
информацию и пересылать её в целевую группу пользователей.
Основные задачи:
автоматический сбор скриншотов из заданных Telegram-групп и
каналов;
предварительная обработка изображений для улучшения качества
текста при распознавании (OCR);
распознавание текста на изображениях с применением методов
компьютерного зрения и поддержки русского языка;
фильтрация распознанного текста, по ключевым словам, связанным с
ДТП, ПДД, ГИБДД и регионами наблюдения (Нерюнгри, Магадан);
выделение и исключение дублирующихся сообщений с применением
хеширования и алгоритмов нечеткого сравнения строк (Fuzzy matching);
автоматическая пересылка уникальных сообщений в целевую
Telegram-группу для дальнейшего использования;
обеспечение устойчивой работы бота с учётом особенностей
интерфейса Telegram (темный режим, водяные знаки, искажения текста).
Telegram является одной из самых популярных платформ для обмена
информацией, которая за счет широкого распространения и разнообразия
тематических сообществ играет важную роль в оперативном информировании
пользователей. Автоматизация мониторинга Telegram новостей позволяет
значительно повысить эффективность и скорость реагирования на события в
сфере безопасности дорожного движения.
Для эффективного мониторинга новостных сообщений о ДТП в
Telegram необходимо учесть особенности источников данных и специфику
представления информации в мессенджере. Сообщения часто содержат текст
в виде изображений со сложным фоном, водяными знаками и в темном
режиме, что значительно усложняет задачу распознавания.
Использование OCR-технологий на базе современной нейронной сети
EasyOCR с поддержкой ускорения на GPU позволило существенно повысить
качество извлечения текста из изображений. Для повышения точности
применялись методы предварительной обработки изображений: изменение размера, билатеральная фильтрация для сохранения краев, адаптивное
пороговое преобразование и детекция границ (Canny), что эффективно
подавляло визуальные помехи.
Ключевым этапом стало определение набора ключевых слов и фраз,
релевантных теме ДТП и дорожных происшествий, что обеспечило
фильтрацию нерелевантного контента. Для минимизации дублирования
сообщений применялись алгоритмы хеширования текстов и нечеткого
сравнения строк с порогом, обеспечивающим баланс между точным
совпадением и толерантностью к небольшим различиям в тексте.
Автоматизация действий с пользовательским интерфейсом Telegram
реализована через библиотеки PyAutoGUI и pygetwindow, что позволяло
открывать нужные группы, прокручивать чаты, делать скриншоты и
производить навигацию без вмешательства человека. Такой подход имитирует
естественные пользовательские действия, обеспечивая универсальность и
устойчивость работы. Перспективы развития включают расширение словаря ключевых
терминов, внедрение методов машинного обучения для улучшения
распознавания контекста сообщений и интеграцию с другими источниками
данных (официальные сводки, метеоданные, дорожные камеры). Кроме того,
автоматизация может быть расширена на аналитическое сопровождение —
формирование статистики, выявление закономерностей и прогнозирование
рисков. своевременно выявлять и устранять неполадки. Также реализована
эффективная система фильтрации дубликатов сообщений с использованием
методов хэширования и нечеткого поиска, что повысило качество обработки
данных.
Разработка осуществлялась в среде Visual Studio, что обеспечило
удобство написания, отладки и запуска кода. В процессе практики были
освоены методы поиска интерфейсных элементов на экране, обработки
скриншотов и внедрения OCR-технологий для извлечения текста из
изображений. Также был приобретён опыт работы с логированием ошибок и
фильтрацией дублирующейся информации, что повысило надёжность и
стабильность программы. Особое внимание уделялось обработке ошибок и обеспечению
устойчивости программы — введено системное логирование, позволяющее