Взвешивает частоту слова в документе на его редкость в корпусе, подавляя общеупотребительные слова.
- частота слова в документе: насколько оно важно именно здесь
- редкость слова в корпусе: «и» встречается везде и получает почти нулевой вес
Ключевые тезисы
- Классический для поиска и классификации текстов.
- BM25 — его усовершенствованная версия, стандарт лексического поиска.
- В гибридном поиске отлично дополняет плотные .
Какую задачу решает
Простой подсчёт слов в документе делает самыми важными предлоги и союзы. исправляет это, домножая частоту слова в документе на обратную частоту его встречаемости в коллекции: слово, которое есть везде, получает нулевой вес, а слово, редкое в корпусе и частое в этом документе, — максимальный.
Метод остаётся практически ценным через тридцать лет после появления. Он не понимает смысла и не видит синонимов, зато работает мгновенно, объясним до каждого числа и точен там, где важны конкретные термины: коды, названия, артикулы, редкие слова. В современных поисковых системах его наследник BM25 стоит рядом с поиском, а не вместо него.
Запрос «ошибка ORA-01555». поиск найдёт документы про ошибки Oracle вообще, потому что кода ошибки почти не отличается от эмбеддинга соседних кодов — для модели это редкая строка без семантики. BM25 найдёт ровно те документы, где эта строка встречается. Обратный случай: запрос «как ускорить медленный отчёт» — здесь BM25 бесполезен, потому что в документах написано «оптимизация производительности выгрузки». Гибридная схема берёт кандидатов из обоих источников и объединяет их ранги — отсюда и её повсеместность.
Подробный разбор
- число объектов в выборке
- номер или количество: индекс шага, число соседей, кластеров или позиций
- суммирование по всем перечисленным элементам
- логарифм: превращает произведения в суммы и сжимает масштаб
Слово «и» встречается в каждом документе — его idf близок к нулю. Слово «гидроразрыв» встречается в трёх документах из миллиона — его idf огромен, и присутствие такого слова почти однозначно определяет тему.
- Насыщение по частоте: десятое вхождение слова добавляет намного меньше, чем второе.
- Нормировка на длину документа: длинные тексты не получают преимущества автоматически.
- Типичные параметры: , .
В RAG-системах BM25 в паре с плотными почти всегда лучше любого из методов по отдельности: лексический поиск ловит точные термины и артикулы, — смысл.
Где применяется
- Полнотекстовый поискBM25 — базовый ранжировщик Elasticsearch и большинства поисковых движков.
- Гибридный поиск в Ловит точные термины и коды, которые поиск размывает.
- Классификация текста плюс линейная модель — крепкая , которую стоит побить перед .
- Извлечение ключевых словСлова с наибольшим весом в документе — готовый набор тегов.
Плюсы, минусы и альтернативы
Плюсы
- Мгновенно считается и не требует обучения.
- Полностью объясним: вклад каждого слова виден.
- Точен на редких терминах, именах и кодах.
- Не требует и работает на любом объёме.
Минусы
- Не видит синонимов: «автомобиль» и «машина» — разные слова.
- Игнорирует порядок слов и контекст.
- Разреженные огромной размерности.
- Требует текста (лемматизация, стоп-слова) для приличного качества.
- Плохо работает на коротких текстах, где совпадений мало.
Брать, если
- Нужен поиск по точным терминам, кодам, названиям.
- Нужна быстрая интерпретируемая .
- Ресурсов на нейросетевые нет.
Не брать, если
- Нужен поиск по смыслу и синонимам — берите .
- Тексты короткие, а формулировки разнообразны.
Чем заменяют
Связанные темы
Поиск, эмбеддинги и RAG · От слов к векторам
Embeddings95%
Эмбеддинги · Обработка естественного языкаПлотные векторные представления объектов, где геометрическая близость означает смысловое сходство.
Semantic Search80%
Семантический поиск · Обработка естественного языкаПоиск по смыслу, а не по совпадению слов: запрос и документы сравниваются в пространстве эмбеддингов.
RAG80%
Retrieval-Augmented Generation · Обработка естественного языкаЯзыковая модель отвечает, опираясь на найденные во внешней базе фрагменты, а не только на память весов.
RAG80%
RAG · Генеративный ИИПодмешивание найденных документов в контекст модели вместо хранения знаний в весах.
LLM80%
Большие языковые модели · Генеративный ИИТрансформеры-декодеры, обученные на огромных корпусах предсказывать следующий токен.
Agents80%
Агенты · Генеративный ИИLLM, которая планирует, вызывает инструменты и итеративно движется к цели.
NDCG80%
NDCG · МетрикиНормированный дисконтированный кумулятивный выигрыш: учитывает градации релевантности и позиции с логарифмическим дисконтом.
MRR80%
Средний обратный ранг · МетрикиСреднее значение 1/rank первого релевантного результата.
MAP80%
Средняя усреднённая точность · МетрикиСреднее по запросам от average precision — учитывает и релевантность, и позиции.
Precision@K80%
Точность@K · МетрикиДоля релевантных объектов среди первых K позиций выдачи.
Recall@K80%
Полнота@K · МетрикиКакая доля всех релевантных объектов попала в топ-K.
Tokenization75%
Токенизация · Обработка естественного языкаРазбиение текста на единицы, с которыми работает модель: слова, подслова или байты.
Bag of Words75%
Мешок слов · Обработка естественного языкаТекст представляется вектором частот слов, порядок полностью игнорируется.
Word2Vec75%
Word2Vec · Обработка естественного языкаОбучает плотные векторы слов по контексту: близкие по смыслу слова оказываются рядом в пространстве.
GloVe75%
GloVe · Обработка естественного языкаСтроит эмбеддинги из глобальной матрицы совстречаемости слов, а не только из локальных окон.
FastText75%
FastText · Обработка естественного языкаПредставляет слово суммой векторов его символьных n-грамм, что даёт эмбеддинги даже для незнакомых слов.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
TF
Частота слова в документе. Обычно с логарифмическим сглаживанием, иначе длинные документы доминируют.
Разбор ниже: Формула и смысл множителейIDF
— обратная частота документов. Обнуляет вес слов, встречающихся повсюду.
Разбор ниже: Формула и смысл множителейРазреженный вектор
Документ представлен размера словаря, где почти все координаты нулевые.
Разбор ниже: Формула и смысл множителейBM25
Улучшенная версия с насыщением частоты и нормировкой на длину документа. Стандарт полнотекстового поиска.
Разбор ниже: BM25 — усовершенствованная версияПрофильная компетенция для ролей: NLP-инженер, Инженер речи.
Усиливает профиль: LLM-инженер.
Спрашивают на собеседовании: Яндекс — NLP, Авито — Поиск и ранжирование, Ozon — Поиск и рекомендации.
Тема встречается в тесте по направлениям — ошибки приведут обратно на эту страницу.
Разбор архитектуры, где эта тема — один из кирпичей: требования, развилки, цифры и режимы отказа.
Глава «Обработка естественного языка» последний раз правилась . Нашли ошибку — напишите.