BM25 (Best Matching 25) – это алгоритм оценки и ранжирования релевантности текстовых документов в поисковых системах. Он был разработан Джо Баярдом и Трэвисом Хьюзом в 1994 году для улучшения алгоритма BM-11.
Формула BM25, используемая поисковыми алгоритмами, представляет собой коммерческую тайну и постоянно модифицируется. Кроме того, речь идёт не о единой для всех документов формуле.
Для чего используется
Алгоритм Okapi BM-25 используется для проверки релевантности конкретного документа в отношении конкретного поискового запроса. Он учитывает не только количество совпадений ключевых слов, но и их распределение по документу. BM25 имеет несколько параметров, которые могут быть настроены для лучшей производительности и релевантности результатов поиска.
BM25 рассчитывает балл релевантности для каждого документа путем анализа значимости каждого слова в запросе и его частоты в документе. Он также учитывает факторы, такие как длина документа и общая длина коллекции документов. BM25 работает с неупорядоченным списком терминов (Мешок слов (Bag of Words) и множестве документов, оцениваемых с точки зрения использования слов запроса в каждом документе из коллекции. Близость слов не учитывается.
Большинство текстовых анализаторов, используемых в практике SEO, основаны на одной из версий BM25, оценивающей ключевые слова в определенных текстовых зонах документа на сравнении с некоторым эталонным корпусом. В качестве такого корпуса чаще всего служат страницы из топа поисковой выдачи, поскольку они формально соответствуют эталонной разметке и требованиям поисковой системы. Однако надо учитывать, что попадание в топ выдачи современных поисковых систем может быть связано не только с высокой текстовой релевантностью, но и множеством более весомых факторов ранжирования (хостовых, ссылочных, поведенческих, коммерческих).
Для применения BM25 на практике необходима предварительная обработка текста: удаление стоп-слов, строчных букв, стемминг или лемматизация. На вход необходимо подавать только токены.
Отличие от TF-IDF и других похожих алгоритмов
BM25, как и TF-IDF, это методология, связанная с семантикой распределения, для выявления самых весомых слов контекста в рамках документа. Отличие состоит в том, что BM25 учитывает длину документа и насыщенности слов внутри документа, в то время как TF-IDF фокусируется на частоте терминов и придает больший вес реже встречающимся терминам. Кроме того, TF-IDF дает преимущество более длинным документам, поскольку в них больше объема для включения конкретных терминов.
BM25 можно рассматривать как частный случай TF-IDF, отличающийся от базового алгоритма определенным выбором TF и IDF, с исключением случайных совпадений и сортировкой n-грамм и слов. Для этого используются вспомогательные “веса”, учитывающие зоны документа и информативность n-грамм.
Преимущества алгоритма BM25 включают его простоту и эффективность, а также учет различных факторов, влияющих на релевантность документа. Он является одним из самых популярных алгоритмов оценки в поисковых системах и активно используется в практике SEO.
Проблематика
С помощью BM25 можно просчитать только базовые метрики, связанные с заданным ключевым словом.
BM25 относится к алгоритмам лексического поиска и не может быть использован для семантического, кроме как способа предварительной обработки данных.
В качестве метрики оценки качества текста BM25 можно использовать только для оценки уже существующего контента. Попытка задать эти метрики на уровне технического задания для копирайтера приведет к резкому снижению качества контента (читабельность, естественность и т.п.).
Обязательное условие использования на практике – проход по всей коллекции документов.
В Яндекс оценка контента с помощью BM25 остаётся основой первичного ранжирования: благодаря сравнению вхождений ключевых слов в определенные текстовые зоны заданного URL с некоторым эталонным корпусом, поисковый алгоритм может предположить тематику и соответствие определенным запросам. Однако это уже не работает для вторичного ранжирования, когда оцениваются более сложные и комплексные показатели, в том числе – не-текстового характера (хостовые, поведенческие и т.п.).
Полноценная оптимизация контента возможна только при сочетании двух основных факторов: текст должен быть понятен поисковым алгоритмам, и текст должен соответствовать запросам посетителей сайта. Анализ текста с использованием BM25 в таком виде может быть полезен только для выявления проблематики, но не как инструмент оптимизации.