BM25
Что такое BM25 и откуда он взялся
BM25 — это ранжирующая функция, разработанная в 1990-х годах в рамках исследований по информационному поиску (IR). Ее создали Стивен Робертсон и Карен Спарк Джонс, работавшие над улучшением вероятностных моделей ранжирования. Формула призвана решить проблему оценки релевантности: как понять, что один документ больше соответствует запросу, чем другой. За десятилетия BM25 стал базовым стандартом в поисковых движках, от библиотек типа Lucene до поиска на больших сайтах, и лег в основу многих современных алгоритмов, включая те, что используются в Google и Яндекс.
Суть модели — в балансе между частотой ключевого слова в тексте и его редкостью в остальной коллекции документов. Если слово встречается на странице много раз, это хорошо, но не бесконечно: после определенного порога каждое новое вхождение дает все меньше пользы. При этом если слово есть во многих документах (например, «сайт» или «заказать»), оно слабо различает страницы между собой, поэтому его вес в формуле снижается.
Как BM25 работает на практике
Формула BM25 учитывает три ключевых параметра: TF (term frequency — частота термина в документе), IDF (inverse document frequency — обратная частота документа) и длину документа. IDF наказывает слишком общие слова, позволяя редким терминам, точно отражающим суть запроса, получать больший вес. Длина документа нормируется относительно средней длины по коллекции, поэтому длинный текст не получает преимущества только за счет того, что повторяет ключ много раз.
Для SEO это означает, что алгоритм поощряет тексты, где ключевые слова распределены естественно и подкреплены контекстными синонимами. Если ваша страница про «ремонт квартир в Москве» — формула оценит, сколько раз вы упомянули эти слова, но при этом учтет, что «ремонт» и «квартир» встречаются на тысячах других страниц. Поэтому важно добавлять уникальные уточнения и LSI-слова — это повысит релевантность в глазах BM25 без риска переспама.
Практический пример: представьте два текста о кофемашинах. В первом — слово «кофемашина» повторено 20 раз, и кроме него почти нет других терминов. Во втором — «кофемашина» встречается 10 раз, но есть «эспрессо», «капучино», «помол» и «давление». При поиске «купить эспрессо-кофемашину» BM25 оценит второй текст выше, потому что IDF редких слов «эспрессо» и «купить» усилит его позицию, а частота базового слова не настолько критична.
Типичная ошибка и заблуждение
Самое распространенное заблуждение — считать, что BM25 требует жесткого вхождения ключевых фраз в точном виде и их максимального количества. На деле формула устойчива к словоформам и синонимам, а чрезмерное повторение ключа (переоптимизация) приводит к штрафам: после определенного порога TF рост полезности прекращается, а если вас поймают на спаме — алгоритм может вообще исключить страницу из выдачи.
Другая ошибка — игнорировать длину текста, думая, что «чем больше слов, тем лучше». BM25 нормирует по длине, поэтому водянистая статья с растянутыми предложениями проиграет лаконичной, но насыщенной смыслом. Важно не количество слов, а их информационная плотность и соответствие интенту запроса.
Наконец, стоит понимать: BM25 — не единственный фактор ранжирования. В современных поисковиках он действует как один из сигналов, который комбинируется с поведенческими метриками, ссылочной массой и семантическим анализом. Но понимание его логики помогает строить контент-стратегию, которая будет естественной для пользователей и понятной для алгоритмов.