Словарь ИИ
Что такое BM25
Коротко
BM25 это формула ранжирования для поиска по словам: она оценивает документ по тому, сколько раз в нем встречаются слова запроса, насколько эти слова редкие и какой длины сам документ.
Поиск и RAG · BM25
Михаил МозгПроверено: 1 минута чтения
Ребенку
Представь, что ты ищешь в классной библиотеке книгу про жирафов. Книга, где слово «жираф» встречается много раз, скорее всего про них. А слово «и» есть во всех книгах, по нему ничего не найдешь. Еще толстая книга может случайно упомянуть жирафа один раз. BM25 считает все это и ставит нужную книгу первой.
Простыми словами
Это классический способ искать по совпадению слов, без нейросетей. Для каждого документа формула считает баллы. Слово из запроса встретилось несколько раз, баллов больше, но после нескольких повторов прибавка почти исчезает, так что текст, набитый одним словом, не выиграет. Редкое слово весит больше частого: «возврат» важнее предлога «на». Длинный документ немного штрафуется, потому что в нем слова попадаются просто из-за объема. Например, по запросу с маркой кабеля «ВВГнг 3х2,5» такой поиск сразу найдет карточку именно этого товара.
Для бизнеса
Поиск по словам до сих пор нужен почти в каждой системе ответов по документам. Он точен там, где нейросетевой поиск ошибается: артикулы, номера договоров, фамилии, коды ошибок, редкие отраслевые термины. Метод работает на обычном процессоре, не требует обучения и встроен в распространенные поисковые движки, поэтому почти ничего не стоит. Слабое место: синонимы и перефразировки, «вернуть деньги» он не свяжет с «оформить возврат». Для русского языка важна морфология: без приведения слов к начальной форме поиск пропустит падежи. Обычно его ставят рядом с поиском по смыслу. Для интернет-магазина такая связка закрывает и поиск по артикулу, и вопросы покупателей своими словами.
Для специалиста
BM25 это функция ранжирования из вероятностной модели релевантности (Probabilistic Relevance Framework), подробно разобранной в обзоре Robertson и Zaragoza (2009). Вес термина состоит из двух частей. Первая при отсутствии данных о релевантности сводится к форме IDF и выше у редких терминов. Вторая зависит от частоты термина в документе через функцию насыщения (saturation): вклад растет с частотой, но не превышает предела, крутизну задает параметр k1. Длина документа нормируется относительно средней с силой b. Модель не говорит, как выбирать параметры; по экспериментам, на которые ссылаются авторы, во многих случаях подходят 0,5 < b < 0,8 и 1,2 < k1 < 2. В Elasticsearch BM25 стоит по умолчанию с k1 = 1,2 и b = 0,75. Расширение BM25F учитывает поля документа: заголовок, текст, ссылки. В конвейерах RAG BM25 служит разреженным (sparse) ретривером в гибридном поиске и базовой линией: Dense Passage Retrieval (Karpukhin и др., 2020) сравнивали именно с ним. Для русского текста перед индексацией нужны лемматизация или стемминг.
Пример
Менеджер ищет в базе «счет 1047 от ООО Вектор». Поиск по смыслу предлагает похожие счета других клиентов, а BM25 сразу ставит первым документ с этим номером и названием.
Связанные термины
Вопросы и ответы
Зачем BM25, если есть поиск по смыслу?
Работает ли BM25 с русским языком?
Источники
- Robertson, Zaragoza, The Probabilistic Relevance Framework: BM25 and Beyond, Foundations and Trends in Information Retrieval, 2009staff.city.ac.uk
- Elastic, Similarity settings, документация Elasticsearch, проверено 16.10.2026elastic.co
- Karpukhin и др., Dense Passage Retrieval for Open-Domain Question Answering, 2020arxiv.org
Где это применяют в компании
Не уверены, нужно ли это вашей компании?
Карта ИИ-решений