История создания
Алгоритм BM25 появился в рамках проекта Okapi, разработанного исследователями Университета Лондона в 1970-х годах. Целью этого проекта было создание системы поиска научных публикаций с учетом текстового содержимого и частоты ключевых слов.
Со временем алгоритм был доработан, а его применение расширилось до коммерческих поисковых систем и корпоративных информационных баз данных. BM25 продолжает оставаться основой для многих современных поисковых технологий.
Принципы работы
- Вероятностная модель — основа работы алгоритма. BM25 оценивает вероятность того, что документ является релевантным для конкретного поискового запроса.
- Учет частоты термина (TF) — чем чаще слово встречается в документе, тем выше его значимость для запроса, но с эффектом убывающей отдачи.
- Инвертированная частота документа (IDF) — редкие слова получают больший вес, поскольку они имеют большую ценность для релевантности.
- Корректировка длины документа — длинные документы получают пониженный вес для предотвращения необоснованного повышения их значимости.
Эти принципы помогают алгоритму делать выводы о том, какой контент лучше всего соответствует запросу пользователя.
Параметры BM25
k1 (параметр важности частоты термина)
Этот параметр контролирует влияние частоты появления термина в документе на его релевантность.
- Если значение параметра велико (например, 2.0), высокая частота термина оказывает большее влияние на результат.
- Низкие значения параметра уменьшают значимость частоты ключевых слов.
b (параметр учета длины документа)
Этот параметр определяет, насколько важно учитывать длину документа.
- При значении b, равном 0, длина текста игнорируется.
- Если параметр установлен в 1, длинные документы получают меньший вес.
Применение BM25 на практике

BM25 активно используется в поисковых платформах Elasticsearch и Solr. Эти системы обеспечивают точное ранжирование результатов для пользователей.
- Анализ текстов и рекомендательные системы
Алгоритм помогает классифицировать тексты и определять их релевантность для предоставления контентных рекомендаций. Это полезно как в медиаплатформах, так и в академических системах.
- Корпоративные информационные базы
В компаниях BM25 используется для поиска данных в сложных архивах, документации и внутренних базах данных, что помогает оптимизировать доступ к информации.
Интернет-магазины внедряют BM25 для улучшения поиска товаров. Это позволяет покупателям быстрее находить нужные позиции, даже если они используют нечеткие поисковые запросы.
- Обработка больших данных и AI
BM25 применяется в аналитических системах обработки естественного языка (NLP) и машинного обучения для повышения точности классификации текстов и ответов чат-ботов.
В исследованиях текстовой информации и анализа данных алгоритм помогает проводить тестирование новых поисковых и ранжировочных методов.