Текстовая и нейросетевая релевантность: от BM25 до DSSM и BERT

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

Текстовая и нейросетевая релевантность: от BM25 до DSSM и BERT

Сообщение anna_seo »

Группа T: что такое текстовая релевантность в 2026

Группа факторов 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 (медицинская тематика)
Ключевой фактор здесь - [579] DssmBertDistillL2. Логика дистилляции такая: тяжёлый BERT обучается на размеченных данных (в данном случае разметка получена из PRS-логов, то есть из поведения асессоров и пользователей), а затем его знание переносится в существенно более лёгкую DSSM-модель. На выходе получается компактная двухбашенная сеть, которая на инференсе быстра, но несёт в себе семантику, выученную трансформером. Это и есть компромисс между качеством BERT и стоимостью применения на масштабе индекса.

Фактор [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
Разделение [71] TxtBm25Ex и [76] TxtBm25Sy - это две стороны одной медали. Ex считает попадание точной словоформы, Sy засчитывает синонимы и переформулировки. Наличие синонимического варианта означает, что движок не штрафует за отсутствие дословного повтора: если в документе стоит синоним, лексический сигнал всё равно набирается. Отдельно стоит отметить [1092] TitleBm15K01 - заголовок вынесен в собственный фактор не случайно, это самая весомая текстовая зона. [1091] UrlBm15K01 - тот же BM25, но по тексту URL, зона наименее весомая, но в навигационных запросах полезная.

Проксимити и значимые зоны

Близость слов запроса друг к другу - отдельный сигнал. Документ, где слова запроса стоят рядом и в одном предложении, релевантнее документа, где они разбросаны по разным абзацам.

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

[53] TxtPair    близость пар слов запроса друг к другу
[55] TxtBreak   насыщенные предложения; разрывы между словами запроса
[57] TxtHiRel   BM25 по словам в значимых зонах разметки
                (выделения, [b]bold[/b] и т.п.)
[57] TxtHiRel интересен тем, что учитывает разметку: слова запроса, попавшие в визуально выделенные участки текста, весомее обычного текста. Это не призыв вручную болдить ключи - это сигнал, что выделенное обычно несёт смысловую нагрузку.

FieldMatch: слова запроса в заголовке

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

[56] TxtHead    слова запроса в заголовке (точная форма)
[69] TxtHeadEx  слова запроса в заголовке (с синонимами/расширением)
Этот блок дублирует логику Ex/Sy, но применительно конкретно к заголовку. Пара [56] TxtHead и [69] TxtHeadEx показывает, что и для title синонимическое расширение засчитывается отдельным фактором - точная форма не обязательна, чтобы заголовок считался релевантным.

Синонимы засчитываются, голый повтор упирается в потолок

Сквозная закономерность группы: всюду, где есть фактор с суффиксом 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 - после плато это пустая трата и риск.
Группа T - это наглядная иллюстрация того, как поиск прошёл путь от чистого счётчика слов к семантике: BM25 не исчез, но из главного героя превратился в уточняющий слой поверх нейросетевого ядра.

Контекст серии
Этот разбор - часть серии по формуле ранжирования 2026. Каскад, общая формула и карта всех факторов в хаб-треде: viewtopic.php?t=1828
👍 ❤️ 🔥 😄 🤔
Ответить
Поделиться темой: ✈ Telegram VK

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

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

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