Группа факторов T отвечает за смысловое соответствие документа запросу - то самое, что исторически называли текстовой релевантностью. Принципиальный сдвиг последних лет в том, что в иерархии сигналов первичны нейросети (семейство DSSM, дистилляция из BERT), а классический лексический BM25 опустился до уровня дополнительных фич. Иными словами, движок сначала спрашивает у нейросети, о том ли документ, и только потом уточняет ответ счётчиками вхождений по полям.
Концептуально итоговый скор группы можно записать как линейную комбинацию четырёх блоков:Веса в формулах ниже иллюстративны. Реальные коэффициенты обучаемы и проприетарны, это реконструкция структуры группы по метаданным утечки web_production (1923 фактора).
Код: Выделить всё
T = wn·NeuralMatch + wbm·BM25family + wprox·Proximity + wfield·FieldMatch
где
NeuralMatch - нейро-семантическое соответствие (query, doc)
BM25family - классический лексический матч по полям
Proximity - близость слов запроса друг к другу
FieldMatch - попадание слов запроса в значимые зоны (заголовок)
приоритет: NeuralMatch >> FieldMatch (title) > body > url
Нейро-семантика: ядро группы
Это смысловой слой. Здесь решается, релевантен ли документ по содержанию, а не по совпадению строк. Состав блока:
Код: Выделить всё
[29] RelevSentsDssm DSSM на переформулировках запроса; выделяет
релевантные предложения внутри документа
[579] DssmBertDistillL2 DSSM, дистиллированный из BERT; разметка взята
из PRS-логов. Современное ядро группы
[859] DssmNavigationL2 запросно-документная навигационность
(насколько пара query-doc выглядит навигационной)
[851] SosDssm специализированный DSSM под узкий домен
[852] MedDssm специализированный DSSM (медицинская тематика)
Фактор [29] RelevSentsDssm работает на уровне предложений: он не оценивает документ целиком, а ищет внутри него предложения, которые максимально близки к запросу и его переформулировкам. Это важно для длинных документов, где релевантный фрагмент может быть локальным. [859] DssmNavigationL2 отвечает за навигационность - случаи, когда пользователь ищет конкретный ресурс, а не тему вообще. Пара [851] SosDssm и [852] MedDssm - это специализированные DSSM под узкие домены, где общая модель проседает и нужна доменная настройка.
BM25 по полям: лексический матчПрактический вывод: нейро-слой реагирует на смысл, а не на буквальные вхождения. Документ, который раскрывает тему по существу, выигрывает у документа, в котором та же фраза просто повторена много раз.
Классический блок никуда не делся - он уточняет нейро-оценку точными лексическими сигналами. Принципиально, что BM25 здесь считается не по документу как единому полю, а по зонам, и зоны имеют разный вес: title выше body, body выше url.
Код: Выделить всё
[46] TextBM25 простой BM25 по тексту документа
[71] TxtBm25Ex BM25 по ТОЧНОЙ форме слов запроса
[76] TxtBm25Sy BM25 с учётом СИНОНИМОВ (см. блок out_004)
[1092] TitleBm15K01 BM25-матч по ЗАГОЛОВКУ (title - отдельная
высоковесная зона)
[1091] UrlBm15K01 BM25-матч по тексту URL
Проксимити и значимые зоны
Близость слов запроса друг к другу - отдельный сигнал. Документ, где слова запроса стоят рядом и в одном предложении, релевантнее документа, где они разбросаны по разным абзацам.
Код: Выделить всё
[53] TxtPair близость пар слов запроса друг к другу
[55] TxtBreak насыщенные предложения; разрывы между словами запроса
[57] TxtHiRel BM25 по словам в значимых зонах разметки
(выделения, [b]bold[/b] и т.п.)
FieldMatch: слова запроса в заголовке
Код: Выделить всё
[56] TxtHead слова запроса в заголовке (точная форма)
[69] TxtHeadEx слова запроса в заголовке (с синонимами/расширением)
Синонимы засчитываются, голый повтор упирается в потолок
Сквозная закономерность группы: всюду, где есть фактор с суффиксом Sy ([76] TxtBm25Sy, [69] TxtHeadEx), синонимы и переформулировки набирают лексический балл наравне с точной формой. А вот наращивание точных повторов работает только до предела - дальше включается ограничитель AntiSeoUpperBound, который обрезает вклад буквального переспама. То есть кривая отдачи от плотности ключа выходит на плато, и попытки добить релевантность повторами после этого плато ничего не дают, кроме риска антиспам-санкций.
Что это значит на практикеИтог по группе T: смысл и зоны важнее плотности. Сначала нейро-семантика ([579] DssmBertDistillL2, [29] RelevSentsDssm) решает, о том ли документ. Затем лексический BM25 по полям (title > body > url) уточняет оценку, причём синонимы засчитываются, а голый повтор упирается в AntiSeoUpperBound.
- Оптимизировать под смысл, а не под плотность - нейро-слой первичен, и он реагирует на полноту раскрытия темы.
- Заголовок ([1092] TitleBm15K01, [56]/[69]) - самая весомая текстовая зона, релевантность title тянет больше, чем тело.
- Синонимы и естественные переформулировки засчитываются ([76], [69]), дословный повтор ключа необязателен.
- Близость слов запроса ([53] TxtPair) и значимые зоны ([57] TxtHiRel) дают дополнительный сигнал.
- Наращивание точных вхождений упирается в AntiSeoUpperBound - после плато это пустая трата и риск.
Контекст серии
Этот разбор - часть серии по формуле ранжирования 2026. Каскад, общая формула и карта всех факторов в хаб-треде: viewtopic.php?t=1828