Что побудило меня сделать это? Существует известная проблема с токсичными людьми в чатах.
Модераторы чатов не всегда могут отследить и забанить токсичных людей; Я хотел бы автоматизировать процесс.
Стек проектов
Весь проект будет написан на Python с использованием библиотек.
Разделение проекта на этапы
Я разделил проект на 3 этапа.1 этап — написать телеграм-бота, который ведет статистику токсичности пользователей, написать определение токсичности по простейшим правилам.
Этап 2 — найти датасет с токсичными комментариями, выбрать архитектуру нейросети, написать нейросеть, обучить нейросеть.
3 этап — отладка телеграм-бота в большом чате.
1? тап - написание бота
Для начала я написал обычного телеграм-бота, который собирает и отображает статистику, а также уведомляет администратора чата о токсичных пользователях, если их рейтинг ниже.
< -5. At the first stage, to identify toxic sentences, I decided to use a search for swear words.
Пример вывода статистики
Пример уведомления
2-й шаг — написание и обучение нейронной сети
Прежде чем я начал писать и обучать нейронную сеть, я нашел набор данных на болтать с токсичными комментариями.Набор данных содержит около 14 000 сообщений и 2 класса (токсичные, позитивные).
Следующий шаг.
Нам нужно выбрать архитектуру нейронной сети.
Я остановился на CNN + ГРУ.
Архитектура нейронной сети Далее я настроил нейронную сеть на обучение в 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 дней в боте были обнаружены небольшие ошибки, которые были исправлены.
Нижняя граница
Пример обработки сообщения Бот более-менее справляется со своей задачей, но иногда обычное сообщение определяет как токсичное.
Эту проблему можно решить, найдя больший набор данных и усложнив архитектуру нейронной сети, но по мере усложнения архитектуры ресурсов Google Colab может оказаться недостаточно.
Ссылки
Репозиторий проекта Бот в телеграмме Часть 2 — Немного об архитектуре нейросети бота Теги: #python #Обработка естественного языка #боты для мессенджеров #классификация #нейронная сеть #проект #нейронные сети и машинное обучение #токсичные сообщения-
Autodesk 2010. Змея В Шампанском
19 Oct, 24 -
Adobe Строб
19 Oct, 24 -
Coldfusion Жив Или Мертв?
19 Oct, 24 -
Конференция Analyst Days Словами Участников
19 Oct, 24