Okapi BM25 — функция ранжирования, используемая поисковыми системами для упорядочивания документов по их релевантности данному поисковому запросу. Она основывается на вероятностной модели, разработанной в 1970-х и 1980-х годах Стивеном Робертсоном, Карен Спарк Джонс и другими.
Сама функция носит название BM25 (BM от англ. best match), но её часто называют «Okapi BM25» по названию поисковой системы Okapi, созданной в Лондонском городском университете в 1980-х и 1990-х годах, в которой эта функция была впервые применена.
BM25 и его различные более поздние модификации (например, BM25F) представляют собой современные TF-IDF-подобные функции ранжирования, широко используемые на практике в поисковых системах. В веб-поиске эти функции ранжирования часто входят как компоненты более сложной, часто машинно-обученной, функции ранжирования.
BM25 — поисковая функция на неупорядоченном множестве термов («мешке слов») и множестве документов, которые она оценивает на основе встречаемости слов запроса в каждом документе, без учёта взаимоотношений между ними (например, близости). Это не одна функция, а семейство функций с различными компонентами и параметрами. Одна из распространенных форм этой функции описана ниже.
Пусть дан запрос , содержащий слова , тогда функция BM25 даёт следующую оценку релевантности документа запросу :
где есть частота слова (англ. term frequency, TF) в документе , есть длина документа (количество слов в нём), а — средняя длина документа в коллекции. и — свободные коэффициенты, обычно их выбирают как и .
есть обратная документная частота (англ. inverse document frequency, IDF) слова . Есть несколько толкований IDF и небольших вариации его формулы. Классически, она определяется как:
где есть общее количество документов в коллекции, а — количество документов, содержащих . Но чаще применяются «сглаженные» варианты этой формулы, например:
Заметим, что вышеуказанная формула IDF имеет следующий недостаток. Для слов, входящих в более чем половину документов из коллекции, значение IDF отрицательно. Таким образом, при наличии любых двух почти идентичных документов, в одном из которых есть слово, а в другом — нет, второй может получить бо́льшую оценку.
Иными словами, часто встречающиеся слова испортят окончательную оценку документа. Это нежелательно, поэтому во многих приложениях вышеприведённая формула может быть скорректирована следующими способами:
Положим, что поисковое слово встречается в документах. Тогда случайно выбранный документ содержит слово с вероятностью (где есть мощность множества документов в коллекции). В таком случае информационная ценность фразы « содержит » будет такова:
Теперь положим, что имеется два поисковых слова и . Если они входят в документ независимо друг от друга, то вероятность обнаружить их в случайно выбранном документе такова:
и содержание этого события
Это примерно то, что выражается компонентой IDF в BM25.
Для улучшения этой статьи желательно: |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .