BM25算法是評分相關性的常用公式,思路比較簡單。它主要計算壹個查詢中所有$ term和文檔的相關度,然後累加得分,每個詞的相關度得分主要受tf/idf的影響。公式如下:
其中:是每個單詞與文檔的相關值;代表$ term在查詢中;代表相關文檔;是文字的分量。
可以外部設置,默認值為value。idf公式的基本思想是,壹個詞的重要性與其在整個文檔集合中的出現頻率成反比。公式如下:
其中:是文檔總數;包含該單詞的文檔數;0.5是調節系數,避免0的情況。取對數的目的是為了使idf值在n和的影響下更加平滑。
從這個公式可以看出,越大越小,數值越大。
下面是的公式,
其中:,,為調節因子,壹般為,,;是文檔的字數,代表查詢句子的字數;是文檔的長度,是文檔的平均長度;
可見,其他因素相同的情況下,相關性越大,相關性越低;至於除以壹,我覺得是比較這個文檔和整個文檔的長度,避免單獨取值時過大。
乘積的左因子表示文檔中詞的頻率關系,乘積的右因子表示查詢語句中詞的頻率關系。大多數情況下,查詢詞在查詢語句中出現壹次,所以可以看作是1,由於是1,所以右因子實際上等於1,所以公式可以簡化為:
簡化公式後,可以得到:
影響BM25配方的因素有
1:分數越高,分數越高。
2.分數越高,分數越高。
3:如果文檔級別中文檔長度較高,得分會較低。
4是分數的調節因子。
壹般來說,壹篇文章分為幾個部分,如標題、內容、描述、錨點等。在BM25F公式中,這些部分稱為字段。有兩篇文章。壹篇文章的標題部分和查詢的BM25之間的相關分數是A,另壹篇文章的內容部分和查詢的BM25之間的相關分數也是A..假設不考慮這兩篇文章其他部分與查詢的相關性,根據經驗,第壹篇壹般應該比第壹篇更相關。BM25F在D篇中介紹了每個域的信息,它處理D篇中每個域中每個$ term的相關性,公式如下:
BM25也叫okapi BM25,okatp是BM25和$ term鄰近度融合的相關性計算公式。
查詢中第壹個$ term的權重定義為:
能找到的定義更像是BM25中查詢部分和IDF的產物。區別在於常量參數的設置。在報紙上。
$ term接近度的定義如下
是搜索項和之間以字數表示的距離。
下面的公式體現了BM25和$ term鄰近的融合,BM25中的tf被替換為
的定義與BM25相同。
OkaTP最終定義為
其中s是查詢中所有$ term成對組合的集合。
算法和OkaTP很像。
其中,TP為$ term鄰近度,鄰近度信息被引入到該算法中以優化相關度計算效果。
假設壹個查詢q包含n個$ term,代表壹篇文章,文章中任意兩個不同的$ term位置之間的距離表示為。這兩個$ term
註意:查詢中的第壹個$ term可能在文檔中出現多次,每次出現都用。
參見$ TERM接近度評分,對原始論文的非常大的文本集合進行特別檢索
妳可以結合文章《通過BP-ANN進行選擇性$ TERM鄰近評分》來理解上述兩個公式。
本文認為OkaTP存在兩個問題:1公式的後半部分。OkaTP(可以看作是給prase的配樂)和BM25的前壹部分重疊,也就是壹個$ term會同時出現在兩個部分;2.單字的分數和松散短語的分數的線性組合可以打破詞頻的非線性特性。
基於這兩點,提出了newTP算法。在newTP中引入了span的概念。Span是根據查詢詞在文檔中的命中位置,將整個命中列表分成多個片段,每個片段稱為壹個擴展的span。確定跨度的規則如下。
其中MAX_DIS被視為已設置。
根據查詢詞在span中的密度和數量來確定$ term對相關性的貢獻。從而替換OkaTP中的tpi和tf部分。
壹個$ term t對相關性的貢獻表示為:
其中包括:
壹個$ term測試對整個文檔相關性的貢獻是:
可以看出,rc包含了鄰近度和tf的信息。
將BM25中的tf直接替換為rc,得到新的相關性計算公式:
其中,TOP是$ term順序接近度。該算法是在BM25TP的基礎上優化的。該算法引入了$ term階數信息。如果兩個$ term以與文檔相反的順序出現在查詢中,它將受到懲罰,如果順序相同,它將得到獎勵。
在BM25TP算法中用於計算鄰近度,但此公式對$ term順序不敏感。妳會認為約翰比瑪麗快,而瑪麗比約翰快是壹樣的。
為了說明BM25TOP算法,引入以下兩個定義。
:在查詢Q中的位置
:在文檔d中的位置
新公式用於替換BM25TOP中的。這個公式應該滿足以下三個條件。
滿足前兩項也可以通過BM25TP算法中的dist函數來滿足,第三項是增加對$ term階的考慮。
滿足上述三個條件的公式有很多,本文選取以下公式。
在…之中
的大小表示文檔d中的和之間的相對距離。符號表示兩個$ term在查詢和文檔中的順序是否相同,加號(+)表示順序相同,符號(-)表示兩個$ term在查詢和文檔中的順序相反。
圖像隨功能的變化如下:
[圖片正在上傳...(圖片-8d 6891-1599898211594-0)]
註意:接近度是的倒數,值越大,接近度越小。
從上圖可以看出,兩個$ term之間的距離越遠,接近度越大,接近度越小;
當兩對$ term大小相等但符號相反時,壹對帶負號(-)的$ term的接近度會較小。
以下是BM25TOP計算的合理安排:
其中包括: