04 марта 2020

Хороший, плохой, злой: как Яндекс использует нейросети для борьбы со спамом и матом

Основная цель Яндекса — решать задачи людей. Любые задачи: в сети и в реальном мире, повседневные и редкие, бытовые и научные, за третий класс и за пятый курс. Именно для этого мы совершенствуем свой поиск и создаём новые сервисы.
Разработчики Яндекса автоматизировали борьбу со спамом и матом в своих сервисах. Рассказываем, какие инструменты они для этого использовали.
3
Хороший, плохой, злой: как Яндекс использует нейросети для борьбы со спамом и матом

Любой сайт, где пользователи могут сами публиковать контент — потенциальная площадка для спама, мошенничества и нецензурной лексики. У Яндекса есть несколько сервисов (например, Яндекс.Карты, Яндекс.Район, Яндекс.Кью и Кинопоиск), где любой может оставить комментарий, поэтому команда Антиспама создает инструменты для борьбы с недопустимым контентом.

К автоматическим классификаторам разработчики предъявляют несколько требований:

  1. Точность. Система должна верно отмечать «плохой» контент, не удаляя при этом нейтральные посты без спама и мата.
  2. Полнота. Одной точности недостаточно: «автомодератор» может функционировать без ложных срабатываний, но при этом пропускать часть спама и ругательств. Поэтому важна полнота — это доля плохого контента, который система выявляет как плохой.
  3. Скорость. Даже если спам провисел на сайте несколько минут, его могли увидеть сотни людей, а это отрицательно сказывается на репутации самого сервиса — поэтому система должна работать как можно оперативнее.

Эффективность Антиспама проверяют асессоры — они отсматривают выборки контента и оценивают решения машины. Сейчас система, проверяющая комментарии, работает с помощью нескольких инструментов:

Чистый веб

Чистый веб — сервис, который защищает от спама все продукты Яндекса, где публикуется созданный пользователем контент. В его основе лежат наработки, которые изначально создавались для фильтрации взрослого контента в поисковых запросах. Например, чтобы по запросу «медсестра» поисковик показывал только сотрудников больниц, а не кадры из фильмов для взрослых.

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

Умное кэширование

Что касается спама, то основная сложность в его «поимке» — это не определение контекста, а скорость его распространения. Для того чтобы система не удаляла спам автоматически, злоумышленники незначительно меняют сообщения перед отправкой: добавляют новые слова, заменяют символы.

Хороший, плохой, злой: как Яндекс использует нейросети для борьбы со спамом и матом

Для выявления таких сообщений используют вероятностный метод понижения размерности многомерных данных — Locality-sensitive hashing (LSH). Каждый проверяемый текст разделяется на последовательности из n символов, и по их хэшам строится LSH-вектор документа. Благодаря этому машина сравнивает не сами тексты, а их векторы. Это позволяет эффективно вычислять спам, даже если каждое новое сообщение чем-то отличается от предыдущего.

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

Толокеры и асессоры

Хотя система и учится самостоятельно вычислять спам, иногда она нуждается в помощи или перепроверке. Это касается тех случаев, когда важно не просто удалить пост с ругательствами, а верно оценить контекст. Иногда спамеры рекламируют свои услуги в отзывах у конкурентов, пишут бессмысленный набор символов или просто по ошибке оставляют комментарий не о той организации (например, жалуются на маникюрный салон в отзывах на ресторан).

Поскольку машина не всегда точно улавливает контекст, сложные случаи перепроверяют вручную. Толокеры (пользователи сервиса Толока, созданного для обучения ИИ) и асессоры (специалисты, анализирующие работу поисковой системы) оценивают тексты, в которых классификатор не увидел ошибок, и благодаря этому помогают обучать систему.

Классификатор хороших текстов

Классификатор хороших текстов позволяет автоматизировать часть работы, которой раньше занимались люди. Первые модели работали по такому принципу: они разбивали текст на слова, приводили каждое слово в начальную форму (иначе говоря, выделяли леммы) и анализировали их с помощью специального «словаря хороших лемм», служебные слова при этом не учитывались.

Логика такой системы заключалась в том, что если сообщение состоит только из «хороших» слов, то и посыл его скорее всего не будет содержать оскорблений — однако современные модели работают умнее. Разметкой грубостей в классификаторе занимается нейросеть BERT, созданная для обработки естественного языка. Она улавливает слова в контексте и помогает выявлять оскорбления даже там, где не используются грубые слова.

Антимат

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

Поэтому недостаточно составить словарь «плохих слов». Вместо этого Яндекс научил машину самостоятельно вносить шум в мат и ругательства — генерировать варианты, на которые может хватить фантазии пользователей. Благодаря этому система может подозрительные комбинации символов, даже если их нет в словарях. В этом случае цель системы не в том, чтобы перебрать все возможные варианты, а в том, чтобы комментатору стало лень тратить усилия на придумывание такого оскорбления, которое не сможет придумать машина.

Заключение

Сегодня машина обрабатывает до 90% контента, но все равно нуждается в перепроверке человеком. Конечно, при желании пользователи могут так завуалировать оскорбление, чтобы система ничего не распознала, но большую часть спама и негатива нейросети уже научились удалять быстро и точно.

МЕРОПРИЯТИЯ

Комментарии

 
 
10 декабря 2021

Спасибо за статью! Вот есть хороший сайтик, там тоже много нашёл полезного: https://lifehacker.ru/

04 марта 2020

Есть ли где-то открытый код классификатора хороших текстов?

05 марта 2020

Яндекс не раскрывает алгоритмы работы Антиспама, чтобы не упрощать работу спамерам.

ВАКАНСИИ

Добавить вакансию
Senior DevOps Developer
Лимасол, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

LIVE >

Подпишись

на push-уведомления