Алгоритм BM25, Лучшее соответствие

NLP

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

  • Соотношение между каждым словом t в запросе и документом d
  • Сходство между словом t и запросом
  • вес каждого слова

Общая формула для BM25:Score(Q,d)=inWiR(qi,d)Score(Q,d) = \sum_i^n{W_i R(q_i, d)}вQQпредставляет запрос,qiq_iПредставляет слово в запросе. d представляет определенный поисковый документ.

WiW_iУказывает вес слова

Вот собственно ЦАХАЛ:IDF(qi)=logNdfi+0.5dfi+0.5IDF(q_i) = \log{\frac{N-df_i+0.5}{df_i+0.5}}где N представляет собой общее количество документов в индексе,dfidf_iвключатьqiq_iколичество документов. По роли ЦАХАЛа, для определенногоqiq_i,Включаютqiq_iЧем больше документов, тем большеqiq_iЧем меньше важность или чем ниже степень дискриминации, тем меньше IDF, поэтому IDF можно использовать для описанияqiq_iСходство с документацией.

Соотношение слов к документам

Дизайн BM25 основан на важном открытии: связь между частотой слов и релевантностью нелинейна, то есть оценка релевантности каждого слова документу не превышает определенного порога, когда количество вхождений слова достигает порога. После этого его влияние не будет возрастать линейно, и этот порог будет связан с самим документом. Поэтому при характеристике сходства между словами и документами BM25 оформляется следующим образом:S(qi,d)=(k1+1)tftdK+tftdS(q_i, d) = \frac{(k_1+1)tf_{td}}{K+tf_{td}} K=k1(1b+b*LdLave)K = k_1(1-b+b*\frac{L_d}{L_{ave}})

в,tftdtf_{td}частота слова t в документе d,LdL_dдлина документа d,LaveL_{ave}средняя длина всех документов, переменнаяk1k_1— положительный параметр, используемый для нормирования частотного диапазона слов в статье, когдаk1=0k_1=0, которая является бинарной моделью (без частоты слов), большее значение соответствует использованию более оригинальной информации о частоте слов. b — еще один настраиваемый параметр (0<b<10<b<1), он решает использовать длину документа для представления диапазона количества информации: когда b равно 1, длина документа полностью используется для взвешивания веса слова, а когда b равно 0, длина документа не используется. .

Релевантность слова для запроса

Когда запрос очень длинный, нам также необходимо охарактеризовать вес между словом и запросом. Для коротких запросов этот пункт необязателен.S(qi,Q)=(k3+1)tftqk3+tftqS(q_i, Q)=\frac{(k_3+1)tf_{tq}}{k_3+tf_{tq}}здесьtftqtf_{tq}Указывает частоту слова t в запросе,k3k_3— настраиваемый положительный параметр для исправления частотного диапазона слов в запросе.

Следовательно, окончательная формула для BM25:TIM截图20180828203827.png-4.8kB

После тестирования три вышеуказанных регулируемых параметра,k1k_1иk3k_3Желательно 1,2~2, b равно 0,75

Вот статья о сравнении насыщенности частоты слов BM25 и IF/IDF, нормализации длины поля и настройке BM25 для справки.--Ссылка на сайт--. О тюнинге БМ25--Ссылка на сайт--