Фейковые отзывы на маркетплейсах: как ML вычисляет накрутку рейтинга
Каждый день на маркетплейсах появляются миллионы отзывов, и покупатели до сих пор выбирают товар по звёздам. Доверие к рейтингу стало настолько ценным, что вокруг него вырос целый теневой рынок: сервисы предлагают накрутить пятёрки, утопить конкурента или организовать «волну» положительных оценок через связанные аккаунты — всё под видом «легального продвижения».
Инженеры Wildberries недавно рассказали, как устроена их оборона. В день на площадку приходит 4–5 млн отзывов, и 3–5% из них — фейки. Даже при минимальных 3% это 120–150 тысяч подозрительных текстов ежедневно. Вручную такое не отмодерируешь, поэтому за разбор отвечает ансамбль из более чем 20 моделей.
Ключевая мысль: одной модерацией текста проблему не решить. Люди часто вообще не пишут — просто ставят звёзды. Нейросети давно умеют сочинять отзывы, неотличимые от человеческих, а кто-то искренне пишет «в стиле ИИ». Поэтому система смотрит в первую очередь на поведение пользователя: как он покупает, когда оставляет оценку, с кем связан. Признаки в компании не раскрывают — чтобы накрутчики не адаптировались.
Работа разбита на два этапа. Предмодерация решает за секунды: подозрительный отзыв уходит в корзину до публикации, честный — в ленту без задержки. Постмодерация перепроверяет спорные случаи позже, когда накапливается больше данных об аккаунте и товаре. Ежедневно проверяется не меньше 10 млн отзывов.
Отдельная боль — баланс ошибок. Спрятать настоящий негативный отзыв так же плохо, как пропустить фейк: покупатель не узнает о проблемах товара, а автор честной рецензии почувствует несправедливость. Идеального решения нет, поэтому команда старается не перегибать палку.
Рейтинг, кстати, тоже не показатель. У хорошего товара, раскрученного в соцсетях, пятёрка может быть абсолютно честной, а современные накрутчики избегают резких скачков. Поэтому модели следят за динамикой: скоростью появления отзывов, распределением оценок, сезонностью.
Самые хитрые схемы ловят графовые алгоритмы. Фрод сегодня редко выглядит как десять одинаковых отзывов: это сети аккаунтов, которые координируют действия и дружно пишут в похожие промежутки времени. По отдельности каждый аккаунт выглядит нормально, вместе — образует подозрительную структуру.
Это бесконечная гонка. Как только площадки научились находить одинаковые тексты, накрутчики перешли к перефразам; когда подтянули анализ аккаунтов, выросли сети пользователей. Поэтому антифрод-системы строят не вокруг одного детектора, а вокруг связки NLP, поведенческого анализа и графов.
А как в Wildberries оценивают точность такой системы? Если признаки специально не раскрывают, непонятно, сколько реальных покупателей попадает под подозрение ошибочно — для честного человека заморозка отзыва или понижение веса оценки довольно неприятны. Хотелось бы увидеть цифры по ложным срабатываниям, а не только по доле найденных фейков.
Интересно, как именно устроен ансамбль из двадцати с лишним моделей: каждая отвечает за свой тип признаков или они голосуют по одному вектору? И как часто систему переобучают, чтобы накрутчики не успевали подстраиваться под текущие правила.
Я тоже стала осторожнее с рейтингами: если у товара сотня отзывов, но все появились за пару дней, сразу подозреваю накрутку. Приятно, что площадки теперь смотрят на поведение покупателя, а не только на текст — звёзды без отзыва как раз самый удобный способ накрутки.
3–5% фейков в день — это ведь только те, кого система успела поймать, а сколько проходит незамеченными, никто не скажет. Если нейросети сочиняют отзывы, неотличимые от человеческих, то и поведенческие признаки со временем научатся обходить.
А если я честно купила товар и в тот же день поставила пять звёзд, система может решить, что я бот? Я обычно оцениваю заказ сразу, и теперь переживаю, что такие отзывы посчитают подозрительными.
Интересно, а как эта система отражается на интерфейсе: видит ли покупатель, что отзыв проверен, или вся борьба с фейками остаётся невидимой? Мне как пользователю было бы спокойнее, если бы у сомнительных оценок появлялась какая-то пометка, а не только пониженный вес в рейтинге.
Как разработчик добавлю: связки аккаунтов и паттерны покупок — это по сути графовый антифрод, у нас похожая схема в платёжном шлюзе. Сложнее всего бороться с дрейфом признаков, когда накрутчики адаптируются, так что переобучение ансамбля у них наверняка идёт почти непрерывно.