Адрес cmd этой статьи:Классический алгоритм поиска: принцип BM25
Что такое бм25?
bm25 — это алгоритм оценки релевантности поисковых запросов и документов.Вероятностная модель поискаПредлагаемый алгоритм, а затем опишем алгоритм bm25 простыми словами: у нас есть запрос и пакет документов Ds, и теперь мы хотим рассчитать показатель корреляции между запросом и каждым документом D. Наш подход заключается в том, чтобы сначала разрезать запрос .Оценка, получить слово $q_i$, тогда оценка слова состоит из 3-х частей:
- Соотношение между словами $q_i$ и D
- Соотношение между словами $q_i$ и D
- вес каждого слова
Наконец, мы суммируем оценки для каждого слова и получаем оценку между запросом и документом.
бм25 объяснил
Прежде чем говорить о БМ25, мы должны ввести некоторые понятия.
Бинарная независимая модель BIM
BIM (бинарная модель независимости) — это алгоритм, предложенный для оценки релевантности документов и запросов.Для расчета $P(R|d,q)$ BIM вводит два основных предположения:
Предположение 1
Когда статья представлена функциями, учитывается только наличие или отсутствие слов, в частности, документ d представлен в виде вектора $\vec x=(x_1,x_2,...,x_n)$, где, когда слово $ Когда t$ появляется в документе d, $x_t=1$, иначе $x_t=0$.
Предположение 2
Встречаемость слов в документе не зависит друг от друга, математическое описание $P(D)=\sum_{i=0}^n P(x_i)$
С этими двумя предположениями давайте смоделируем релевантность документов и запросов:
в
Затем, поскольку в конечном итоге мы получаем ранжирование, мы также можем получить ранжирование документов, рассчитав соотношение документов и запросов, связанных и нерелевантных, по следующей формуле:
в
Поскольку каждый xt равен либо 0, либо 1, мы получаем:
Затем введем некоторые обозначения:
Итак, мы можем получить:
Затем мы делаем следующее эквивалентное преобразование:
В этот момент в формуле
определить ct одного слова
Следующим шагом нам нужно решить, как оценить PT и UT, посмотрите на таблицу:
где dft — общее количество документов, содержащих слово t, поэтому
В это время значение ct слова t равно:
Для сглаживания мы все добавляем 1/2, чтобы получить:
На практике нам трудно узнать, сколько связанных документов для t, поэтому предположим, что S=s=0, поэтому:
где N — общее количество документов, а dft — количество документов, содержащих t.
Вышеизложенное является основной идеей BIM.Позже люди обнаружили, что такие факторы, как частота слов и длина документа, которые не учитывались в BIM, должны быть приняты во внимание, поэтому за этим стоит алгоритм BM25.
- Соотношение между словами t и D
- Соотношение между словами t и D
- вес каждого слова
3 части, чтобы представить алгоритм bm25.
вес слова
Самый простой способ взвесить слово — использовать значение idf, т.е., т. е. сколько документов содержат определенное слово информации для преобразования. Если здесь используется IDF, то весь BM25 можно рассматривать как TF-IDF в определенном смысле, но часть TF представляет собой сложную функцию частотности слов, основанную на документах и ключевых словах запроса, с двумя частями, а также одну из них использовать значение ct, полученное выше.
Соотношение слов и документов
В tf-idf "частота слов" используется непосредственно для этой информации. Если это встречается чаще, то обычно считается более релевантным. Однако у BM25 есть понимание: связь между частотой слов и релевантностью нелинейна. В частности, оценка релевантности каждого слова для документа не будет превышать определенного порога. Когда количество вхождений слова достигает порога, его влияние Нет больше растут линейно, и этот порог будет связан с самим документом.
Что касается конкретных операций, мы «стандартизировали» частоту слов, и конкретная формула выглядит следующим образом:
где tftd — вес термина t в документе d, Ld и Lave — длина документа d и средняя длина документов во всем наборе документов соответственно. k1 — положительный параметр настройки, который масштабирует частоту терминов в документе. Если k 1 принимает 0, это эквивалентно тому, что не учитывается частота слов, а если k 1 принимает большее значение, это соответствует использованию исходной частоты слов. b — еще один параметр настройки (0≤ b≤ 1), который определяет степень масштабирования длины документа: b = 1 означает полное масштабирование веса термина на основе длины документа, b = 0 означает, что коэффициент длины документа не учитывается при нормализации.
Релевантность слов и запросов
Если запрос очень длинный, для терминов запроса можно использовать аналогичный метод расчета веса.
где tftq — вес термина t в запросе q. Здесь k3 — еще один положительный параметр настройки, используемый для масштабирования частоты терминов tq в запросе.
Последняя формула:
Реализация в bm25 gensim
Когда gensim реализует bm25, значение idf рассчитывается по формуле BIM:
Тогда релевантность слова и запроса не учитывается.
Некоторые ключевые параметры принимают значения:
PARAM_K1 = 1.5
PARAM_B = 0.75
EPSILON = 0.25
здесьEPSILON
Он используется, чтобы указать, как получить значение idf, когда возникает отрицательное значение.
Кратко о содержании этой статьи: BM25 — это самая основная технология в области поиска.BM25 состоит из трех основных понятий, включая релевантность слов в документах, релевантность слов в ключевых словах запроса и вес слов. Некоторые параметры в ВМ25 получены опытным путем.Позже я продолжу представлять варианты ВМ25 и приложения в сочетании с другой документальной информацией (нетекстовой).
Ссылаться на
Анализ алгоритма BM25
Поиск моделей BM25 и BM25F
Классический алгоритм ядра поиска: BM25 и его варианты
Введение в поиск информации