Antitoxic Bot — Бот, Распознающий Токсичных Пользователей В Чатах Telegram



Что побудило меня сделать это? Существует известная проблема с токсичными людьми в чатах.

Модераторы чатов не всегда могут отследить и забанить токсичных людей; Я хотел бы автоматизировать процесс.



Стек проектов

Весь проект будет написан на Python с использованием библиотек.

Питорч И pyTeleramBotApi .



Разделение проекта на этапы

Я разделил проект на 3 этапа.

1 этап — написать телеграм-бота, который ведет статистику токсичности пользователей, написать определение токсичности по простейшим правилам.

Этап 2 — найти датасет с токсичными комментариями, выбрать архитектуру нейросети, написать нейросеть, обучить нейросеть.

3 этап — отладка телеграм-бота в большом чате.



1? тап - написание бота

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

< -5. At the first stage, to identify toxic sentences, I decided to use a search for swear words.

AntiToxic Bot — бот, распознающий токсичных пользователей в чатах Telegram

Пример вывода статистики

AntiToxic Bot — бот, распознающий токсичных пользователей в чатах Telegram

Пример уведомления

2-й шаг — написание и обучение нейронной сети

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

Набор данных содержит около 14 000 сообщений и 2 класса (токсичные, позитивные).

Следующий шаг.

Нам нужно выбрать архитектуру нейронной сети.

Я остановился на CNN + ГРУ.



AntiToxic Bot — бот, распознающий токсичных пользователей в чатах Telegram

Архитектура нейронной сети Далее я настроил нейронную сеть на обучение в Google Colab. Нейронная сеть обучалась за 30-45 минут. После обучения нейросети я построил таблицу, показывающую, как работают другие варианты классификации токсичных сообщений.

Имя точность точность отзывать
CNN+ГРУ 0.9 0.9 0.85
CatBoost 0.86 0.75 0.83
Правила (проверьте наличие матерных слов) 0.66 0.69 0.53
Остается только интегрировать нейросеть в бота.



3 этап – отладка проекта

Я запустил своего Telegram-бота в чате с 65 людьми.

В течение 3 дней в боте были обнаружены небольшие ошибки, которые были исправлены.



Нижняя граница



AntiToxic Bot — бот, распознающий токсичных пользователей в чатах Telegram

Пример обработки сообщения Бот более-менее справляется со своей задачей, но иногда обычное сообщение определяет как токсичное.

Эту проблему можно решить, найдя больший набор данных и усложнив архитектуру нейронной сети, но по мере усложнения архитектуры ресурсов Google Colab может оказаться недостаточно.



Ссылки

Репозиторий проекта Бот в телеграмме Часть 2 — Немного об архитектуре нейросети бота Теги: #python #Обработка естественного языка #боты для мессенджеров #классификация #нейронная сеть #проект #нейронные сети и машинное обучение #токсичные сообщения
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.