В этом процессе есть одно слабое место — словарь ненормативной лексики, имеющий ряд недостатков, которые тесно связаны с богатством русского языка и находчивостью его носителей. Словарь ищет по точному совпадению слова: «собака» и «с0бака» для него — два разных слова. Чтобы словарь работал эффективно, его нужно постоянно пополнять. Однако, в реальности, сколько слов не впиши, этого всегда будет недостаточно.
Сейчас мы сохранили лучшее из того, что было — оставили реал-тайм реагирование. Вместо использования одного словаря с ограниченным количеством слов мы обучили ML-модель на основе автоматической разметки и учли ранее принятые решения отдела модерации. ML-модель — это второй этап проверки отзыва на маты, которая позволяет детальнее оценивать отзыв и реагировать там, где словарь бессилен.
Благодаря разработанной модели мы:
- увеличили вариативность слов в словаре в два раза;
- нашли более 30 тысяч опубликованных отзывов в продукте с обсценной лексикой, о которых ранее не знали;
- стали учитывать однокоренные слова, поэтому теперь не нужно фиксировать в словаре сотни вариаций одного слова;
- стали реагировать на слова, которые разделены знаком препинания, например, «точкой».
За прошедшие две недели модель предотвратила публикацию больше 11 тысяч отзывов с обсценной лексикой, что составляет одну рабочую неделю команды модерации. Благодаря доработке, продукт будет содержать меньше токсичного контента, а компании станут получать более экологичную обратную связь в отзывах.
Интеграция новой ML-модели — это лишь первый шаг борьбы с токсичными отзывами. В дальнейшем будем работать над тем, чтобы ещё больше увеличить вариативность слов за счёт ручной разметки от модерации. Ещё будем определять модификацию слов с использованием эмодзи, знаков препинания или латинских символов, например, «сказочный же ты д🫶лб🫶б». И будем учитывать контекст всего отзыва, даже если там нет явной нецензурной лексики, например, «шлепок ты майонезный».