Перейти к содержанию

Okapi BM25

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
(перенаправлено с «BM25»)

Okapi BM25 — функция ранжирования, используемая поисковыми системами для упорядочивания документов по их релевантности данному поисковому запросу. Она основывается на вероятностной модели, разработанной в 1970-х и 1980-х годах Стивеном Робертсоном, Карен Спарк Джонс и другими.

Сама функция носит название BM25 (BM от англ. best match), но её часто называют «Okapi BM25» по названию поисковой системы Okapi, созданной в Лондонском городском университете в 1980-х и 1990-х годах, в которой эта функция была впервые применена.

BM25 и его различные более поздние модификации (например, BM25F) представляют собой современные TF-IDF-подобные функции ранжирования, широко используемые на практике в поисковых системах. В веб-поиске эти функции ранжирования часто входят как компоненты более сложной, часто машинно-обученной, функции ранжирования.

Функция ранжирования

BM25 — поисковая функция на неупорядоченном множестве термов («мешке слов») и множестве документов, которые она оценивает на основе встречаемости слов запроса в каждом документе, без учёта взаимоотношений между ними (например, близости). Это не одна функция, а семейство функций с различными компонентами и параметрами. Одна из распространенных форм этой функции описана ниже.

Пусть дан запрос [math]\displaystyle{ Q }[/math], содержащий слова [math]\displaystyle{ q_1, ..., q_n }[/math], тогда функция BM25 даёт следующую оценку релевантности документа [math]\displaystyle{ D }[/math] запросу [math]\displaystyle{ Q }[/math]:

[math]\displaystyle{ \text{score}(D,Q) = \sum_{i=1}^{n} \text{IDF}(q_i) \cdot \frac{f(q_i, D) \cdot (k_1 + 1)}{f(q_i, D) + k_1 \cdot (1 - b + b \cdot \frac{|D|}{\text{avgdl}})}, }[/math]

где [math]\displaystyle{ f(q_i, D) }[/math] есть частота слова (англ. term frequency, TF) [math]\displaystyle{ q_i }[/math] в документе [math]\displaystyle{ D }[/math], [math]\displaystyle{ |D| }[/math] есть длина документа (количество слов в нём), а [math]\displaystyle{ avgdl }[/math] — средняя длина документа в коллекции. [math]\displaystyle{ k_1 }[/math] и [math]\displaystyle{ b }[/math] — свободные коэффициенты, обычно их выбирают как [math]\displaystyle{ k_1 = 2.0 }[/math] и [math]\displaystyle{ b = 0.75 }[/math].

[math]\displaystyle{ \text{IDF}(q_i) }[/math] есть обратная документная частота (англ. inverse document frequency, IDF) слова [math]\displaystyle{ q_i }[/math]. Есть несколько толкований IDF и небольших вариации его формулы. Классически, она определяется как:

[math]\displaystyle{ \log \frac{N}{n(q_i)}, }[/math]

где [math]\displaystyle{ N }[/math] есть общее количество документов в коллекции, а [math]\displaystyle{ n(q_i) }[/math] — количество документов, содержащих [math]\displaystyle{ q_i }[/math]. Но чаще применяются «сглаженные» варианты этой формулы, например:

[math]\displaystyle{ \text{IDF}(q_i) = \log \frac{N - n(q_i) + 0.5}{n(q_i) + 0.5}, }[/math]

Вышеуказанная формула IDF имеет следующий недостаток. Для слов, входящих в более чем половину документов из коллекции, значение IDF отрицательно. Таким образом, при наличии любых двух почти идентичных документов, в одном из которых есть слово, а в другом — нет, второй может получить бо́льшую оценку.

Иными словами, часто встречающиеся слова испортят окончательную оценку документа. Это нежелательно, поэтому во многих приложениях вышеприведённая формула может быть скорректирована следующими способами:

  • Игнорировать вообще все отрицательные слагаемые в сумме (что эквивалентно занесению в стоп-лист и игнорированию всех соответствующих высокочастотных слов);
  • Налагать на IDF некоторую нижнюю границу [math]\displaystyle{ \varepsilon }[/math]: если IDF меньше [math]\displaystyle{ \varepsilon }[/math], то считать её равной [math]\displaystyle{ \varepsilon }[/math].
  • Использовать другую формулу IDF, не принимающую отрицательных значений.

Интерпретация IDF в теории информации

Положим, что поисковое слово [math]\displaystyle{ q }[/math] встречается в [math]\displaystyle{ n(q) }[/math] документах. Тогда случайно выбранный документ [math]\displaystyle{ D }[/math] содержит слово с вероятностью [math]\displaystyle{ \frac{n(q)}{N} }[/math] (где [math]\displaystyle{ N }[/math] есть мощность множества документов в коллекции). В таком случае информационная ценность фразы «[math]\displaystyle{ D }[/math] содержит [math]\displaystyle{ q }[/math]» будет такова:

[math]\displaystyle{ -\log \frac{n(q)}{N} = \log \frac{N}{n(q)}. }[/math]

Теперь положим, что имеется два поисковых слова [math]\displaystyle{ q_1 }[/math] и [math]\displaystyle{ q_2 }[/math]. Если они входят в документ независимо друг от друга, то вероятность обнаружить их в случайно выбранном документе [math]\displaystyle{ D }[/math] такова:

[math]\displaystyle{ \frac{n(q_1)}{N} \cdot \frac{n(q_2)}{N}, }[/math]

и содержание этого события

[math]\displaystyle{ \sum_{i=1}^{2} \log \frac{N}{n(q_i)}. }[/math]

Это примерно то, что выражается компонентой IDF в BM25.

Модификации

  • При экстремальных значениях коэффициента [math]\displaystyle{ b }[/math] в функции BM25 получаются функции ранжирования, известные под названиями BM11 (при [math]\displaystyle{ b=1 }[/math]) и BM15 (при [math]\displaystyle{ b=0 }[/math]).[1]
  • BM25F[2] — модификация BM25, в которой документ рассматривается как совокупность нескольких полей (таких как, например, заголовки, основной текст, ссылочный текст), длины которых независимо нормализуются, и каждому из которых может быть назначена своя степень значимости в итоговой функции ранжирования.

Примечания

  1. Xapian: BM25 Weighting Scheme. Дата обращения: 30 января 2010. Архивировано 15 марта 2010 года.
  2. Hugo Zaragoza, Nick Craswell, Michael Taylor, Suchi Saria, and Stephen Robertson. Microsoft Cambridge at TREC-13: Web and HARD tracks. Архивная копия от 26 августа 2009 на Wayback Machine In Proceedings of TREC-2004, 2004.

Литература

  • Stephen E. Robertson, Steve Walker, Susan Jones, Micheline Hancock-Beaulieu, and Mike Gatford. Okapi at TREC-3. In Proceedings of the Third Text REtrieval Conference (TREC 1994). Gaithersburg, USA, November 1994.
  • Stephen E. Robertson, Steve Walker, and Micheline Hancock-Beaulieu. Okapi at TREC-7. In Proceedings of the Seventh Text REtrieval Conference. Gaithersburg, USA, November 1998.
  • Karen Spärck Jones, Steve Walker, and Stephen E. Robertson. A Probabilistic Model of Information Retrieval: Development and Comparative Experiments (parts 1 and 2). Information Processing and Management, 36(6):779-840. 2000.
  • Nick Craswell, Hugo Zaragoza, Stephen Robertson. Microsoft Cambridge at TREC-14: Enterprise Track. In Proceedings of the Fourteenth Text REtrieval Conference (TREC 2005). Gaithersburg, USA, November 2005. Describes application and tuning of Okapi BM25F.