Антиспам и фильтры качества: SPAM, NO_SPAM и манипуляции в офферах

Рейтинг: 0% · 0 голосов
Разбор устройства поиска и факторов ранжирования: реконструкция формулы, поведенческие, текстовые, ссылочные и хостовые факторы, антиспам, что живо и что давно мёртво. Аналитика на основе метаданных факторов web_production.
Ответить
Аватара пользователя
anna_seo
Сообщения: 70
Зарегистрирован: 11 май 2026, 05:31

Антиспам и фильтры качества: SPAM, NO_SPAM и манипуляции в офферах

Сообщение anna_seo »

Что это за группа сигналов

В реестре факторов товарной вертикали goods (ya/extsearch/goods/base/factors/factors_meta_gen.in, всего 3144 фактора) есть отдельная пачка признаков, которая отвечает не за релевантность и не за цену, а за "чистоту" оффера и магазина. Это антиспам-слой: дешёвые статические флаги, которые ловят примитивные манипуляции в названии товара, имени магазина и текстовых полях, плюс несколько унаследованных "кармических" признаков, доехавших до Маркета из общего веб-стека Яндекса.

Важно сразу обозначить рамку. Маркет не индексирует ваш сайт в привычном SEO-смысле - вы отдаёте офферы фидом (YML, Yandex Market Language), апстрим-конвейер (дерево market/, не это репо) матчит офферы в карточки моделей и категоризирует, после чего готовое поколение индекса раскатывается шардами на бекенды report. Антиспам-факторы из нашего дерева - это то, что считается уже над офферной частью индекса и подаётся в ранжирующую формулу report. Параллельно существует продуктовый "индекс качества продавца" (отгрузки, отмены, претензии) - это другая, операционная история, она живёт не в факторах ранжирования, а в кабинете партнёра. Я разбираю именно ранжирующие признаки по коду.
Дисклеймер. Это реконструкция по исходникам товарной вертикали goods, а не официальная формула Маркета. Финальное ранжирование - CatBoost/MatrixNet (meta_models, formulas-JSON), это деревья решений. У факторов НЕТ фиксированных процентных весов. Все оценки "сильный/слабый сигнал" - качественные.
Реальные имена факторов из реестра

Вытащил из factors_meta_gen.in всё, что относится к спаму, карме, латинице и капсу. Привожу с тегами как в коде. Тег TG_TEXT_PLACE - участвует в текстовой выдаче, TG_MODEL_OFFER_PLACE - в карточке товара с офферами, TG_BLENDER_PLACE - в подмешивании в блендер общей выдачи. Ни один из перечисленных НЕ помечен TG_DEPRECATED или TG_UNUSED - то есть формально все живые.

Код: Выделить всё

ФАКТОР                       УРОВЕНЬ      МЕСТА ВЫДАЧИ
---------------------------- ------------ -----------------------------
NO_SPAM                      STATIC       BLENDER + MODEL_OFFER + TEXT
SPAM_2                       STATIC       BLENDER + MODEL_OFFER + TEXT
SPAM_KARMA                   STATIC       BLENDER + MODEL_OFFER + TEXT
ADV_ASPAM                    STATIC       BLENDER + MODEL_OFFER + TEXT
BAD_BOOKMARKS                STATIC       BLENDER + MODEL_OFFER + TEXT
TEST_ANTISPAM_FEATURES       STATIC       BLENDER + MODEL_OFFER + TEXT
SYN_PERCENT_BAD_WORD_PAIRS   STATIC       BLENDER + MODEL_OFFER + TEXT
NUM_LATIN_LETTERS            STATIC       BLENDER + MODEL_OFFER + TEXT
SHOP_NAME_LATIN              OFFER        BLENDER + MODEL_OFFER + TEXT
SHOP_NAME_UPPERCASE          OFFER        BLENDER + MODEL_OFFER + TEXT
RINGS_HOST_RANK_BADNESS_1    STATIC       BLENDER + MODEL_OFFER + TEXT
RINGS_HOST_RANK_BADNESS_2    STATIC       BLENDER + MODEL_OFFER + TEXT
RINGS_HOST_RANK_BADNESS_3    STATIC       BLENDER + MODEL_OFFER + TEXT
RINGS_HOST_RANK_BADNESS_4    STATIC       BLENDER + MODEL_OFFER + TEXT
RINGS_HOST_RANK_BADNESS_OLD  STATIC       BLENDER + MODEL_OFFER + TEXT
CATEGORY_CLSSFY_BAD_TITLE_PR_M   CATEGORY  TEXT
CATEGORY_CLSSFY_BAD_TITLE_PR_S   CATEGORY  TEXT
CATEGORY_CLSSFY_BAD_CATEGORY_PR_M CATEGORY TEXT
CATEGORY_CLSSFY_BAD_CATEGORY_PR_S CATEGORY TEXT
CATEGORY_CLSSFY_BAD_FULL_PR_M    CATEGORY  TEXT
CATEGORY_CLSSFY_BAD_FULL_PR_S    CATEGORY  TEXT
Обратите внимание: у каждого есть зеркальный FI_-вариант (FI_NO_SPAM, FI_SPAM_KARMA, FI_NUM_LATIN_LETTERS и т.д.). Префикс FI - это та же фича в другом представлении/реестре фичей, не отдельный сигнал, поэтому в таблице я их не дублирую.

Разбор по смыслу

Прямые антиспам-флаги: NO_SPAM, SPAM_2, ADV_ASPAM

Это ядро. NO_SPAM по смыслу - "документ прошёл проверку, спама не обнаружено" (инвертированный признак: высокое значение = чисто). SPAM_2 - вторая версия спам-детектора (наличие "2" прямо говорит, что был SPAM первой версии, который вытеснили). ADV_ASPAM (advanced anti-spam) - продвинутый антиспам-вердикт. Все три - статические, считаются на этапе сборки индекса, а не в рантайме запроса. Для модели это, скорее всего, сильные понижающие/срезающие сигналы: если оффер помечен как спамный, дерево уводит его вниз независимо от того, как хорошо он матчится по тексту.

Кармические признаки: SPAM_KARMA, BAD_BOOKMARKS

SPAM_KARMA - накопленная "репутация спамности" источника, не разовый вердикт, а агрегат. BAD_BOOKMARKS - доля плохих/мусорных закладок-сигналов. Это унаследованная веб-механика: репутация, которая копится и медленно отпускает. Практический вывод - разовая чистка одного оффера карму не обнуляет, тут работает история.

Латиница и капс в текстах: NUM_LATIN_LETTERS, SHOP_NAME_LATIN, SHOP_NAME_UPPERCASE

Самая понятная и контролируемая магазином группа. NUM_LATIN_LETTERS - количество латинских букв (в русскоязычном названии товара куча латиницы - классический признак переспама и обхода: "КУПИТЬ Iphone NEW ОРИГИНАЛ TOP"). SHOP_NAME_LATIN и SHOP_NAME_UPPERCASE - заданы на уровне TG_OFFER, то есть это про имя магазина в оффере: целиком латинское имя или ИМЯ КАПСОМ. Логика старая и прозрачная: крикливое название - попытка визуально выделиться в выдаче, модель это штрафует.

Лексический мусор: SYN_PERCENT_BAD_WORD_PAIRS

Процент "плохих пар слов" - синтаксический сигнал бессвязного текста: набор ключей, склеенный без грамматики ("чехол телефон купить дёшево москва оригинал самсунг"). Высокий процент плохих биграмм = текст писали не для человека, а под выдачу.

Категорийная классификация: CATEGORY_CLSSFY_BAD_*

Шесть признаков (BAD_TITLE, BAD_CATEGORY, BAD_FULL, каждый в версиях _M и _S). По смыслу - вероятность того, что классификатор считает товар попавшим не в свою категорию: BAD_TITLE по названию, BAD_CATEGORY по заявленной категории фида, BAD_FULL по всему вместе. Суффиксы _M и _S - почти наверняка две модели/два порога (например, более и менее строгий). Это ловит подмену категории - когда товар суют в популярную или конкурентную выдачу, где его быть не должно. Живут на TG_DOCUMENT_CATEGORY и только в TG_TEXT_PLACE.

Унаследованный веб-бэкграунд: RINGS_HOST_RANK_BADNESS_1..4 + OLD

Пять признаков "плохости" хоста из общевебной системы host-rank (RINGS). Это 링-ранг хоста-источника оффера: насколько "плохой" домен по вебным меркам. Наличие версий 1..4 плюс OLD - типичный след эволюции, где старую версию не выпилили, а оставили рядом. Для Маркета это репутация домена магазина, прилетающая снаружи вертикали.

Где сигнал сильный, где слабый (качественно)

Код: Выделить всё

СИГНАЛ                         ХАРАКТЕР ВЛИЯНИЯ (реконструкция)
------------------------------ ----------------------------------------
NO_SPAM / SPAM_2 / ADV_ASPAM   сильный, режущий: спамный вердикт топит
SPAM_KARMA / BAD_BOOKMARKS     средний, инерционный: копится и отпускает
NUM_LATIN_LETTERS              средний, монотонный: больше латиницы хуже
SHOP_NAME_LATIN/UPPERCASE      слабый-средний: косметика имени магазина
SYN_PERCENT_BAD_WORD_PAIRS     средний: маркер нечитаемого названия
CATEGORY_CLSSFY_BAD_*          средний-сильный в своей категории выдачи
RINGS_HOST_RANK_BADNESS_*      слабый для Маркета: внешняя вебная карма
Ещё раз граница: "режущий", "монотонный", "инерционный" - это моя интерпретация семантики имён и тегов. В CatBoost ни у одного из них нет фиксированного веса - один и тот же фактор в разных листьях дерева может играть по-разному. Доказано кодом только то, что фактор существует, не помечен мёртвым и подаётся в указанные места выдачи.
Что из этого реально контролирует магазин
  • Название оффера в фиде. Убрать латиницу там, где она не нужна (NUM_LATIN_LETTERS, SHOP_NAME_LATIN). Латиница допустима в брендах и моделях (iPhone 15, ASUS ROG), но не как украшение и не как дубль кириллического ключа.
  • Капс. Не писать имя магазина и название товара КАПСОМ (SHOP_NAME_UPPERCASE). Заглавные только по правилам языка.
  • Читаемость названия. Название - для человека: бренд, тип товара, модель, ключевой параметр. Без склейки ключей - это прямо бьёт по SYN_PERCENT_BAD_WORD_PAIRS.
  • Правильная категория в фиде. Не пихать товар в чужую, более конкурентную категорию - это материал для CATEGORY_CLSSFY_BAD_CATEGORY/FULL.
  • Гигиена домена-источника. Чистый хост без вебной истории спама помогает по RINGS_HOST_RANK_BADNESS.
Чего магазин НЕ контролирует напрямую: SPAM_KARMA и BAD_BOOKMARKS - это накопленная репутация, она не сбрасывается одним правильным фидом. TEST_ANTISPAM_FEATURES по имени - служебный/экспериментальный антиспам-канал, на него закладываться нельзя вообще.

Практические выводы
  • Антиспам в Маркете - это про офферы и тексты фида, а не про сайт. Чистый, человекочитаемый фид закрывает большую часть управляемых факторов.
  • Манипуляции в названии (латиница, капс, ключевая каша) ловятся дешёвыми статическими признаками - это первое, что чинится и первое, что стоит проверить.
  • Категорийная дисциплина важна отдельно: правильная категория в YML снижает риск по CATEGORY_CLSSFY_BAD_*.
  • Репутационные признаки (KARMA, RINGS) инерционны - не ждите мгновенного эффекта от разовой чистки.
Границы вывода
Доказано кодом: перечисленные факторы есть в реестре товарной вертикали goods, у каждого указанные теги/места выдачи, ни один из разобранных не помечен TG_DEPRECATED/TG_UNUSED. Реконструкция (по именам и тегам, не по формуле): что именно каждый сигнал измеряет и насколько сильно влияет. Сама логика бана/санкций магазина - это операционный индекс качества продавца, он живёт вне факторов ранжирования и в этом разборе не вскрывается. Числовые веса не приводятся принципиально: ранжирует CatBoost-ансамбль, статических процентов у факторов нет.
👍 ❤️ 🔥 😄 🤔
Ответить
Поделиться темой: ✈ Telegram VK

Вернуться в «SEO и факторы ранжирования»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость