信息檢索(IR)筆記2: Rank: 基於概率的rank model

這是cs276 information retrieval & web search的筆記2,這裏總結關於IR 系統中,rank的一些概率模型,BIM,BM25

introduction

IR系統的核心就是ranking,也就是非常直觀的任務,對於user的一個query qq, IR系統希望給每個檢索出來的文檔一個分數 score,按照score由高到低反饋給用戶,而概率模型的核心就是對這個分數,用概率建模。

P(Rq,d)P(R|q,d) 其中 RR 是一個binary事件變量,R=1R=1 表示相關,R=0R=0 表示不相關。qq 表示user的查詢,而 dd 表示文檔

由於我們只care的是rank(相對大小)而不是 ProbProb 絕對大小。因此在概率模型中我們使用的metric通常是

Odd(Rq,d)=P(R=1q,d)P(R=0q,d)Odd(R|q,d)=\frac{P(R=1|q,d)}{P(R=0|q,d)}

下面介紹兩種概率模型,BIM,BM25,分別基於 二項分佈和泊松分佈

BIM( binary independent model)

首先將document 向量化成 x=(x1,,xi,,xT),Tx = (x_1,\dots ,x_i,\dots ,x_T ),T 表示 query 中 termterm 的數量,xi=1    termix_i =1 \iff term_i 在document dd

那麼 score

O(Rq,d)=O(Qq,x)=Pr(R=1q,x)Pr(R=0q,x)=Pr(R=1q)Pr(xR=1,q)Pr(xq)Pr(R=0q)Pr(xR=0,q)Pr(xq)(bayes rule)=O(Rq)Pr(xR=1,q)Pr(xR=0,q) \begin{aligned} O(R|q,d) &= O(Q|q,x)\\ &= \frac{\Pr(R=1|q,x)}{\Pr(R=0|q,x)}\\ &= \frac{\frac{\Pr(R=1|q)\Pr(x|R=1,q)}{\Pr(x|q)}}{\frac{\Pr(R=0|q)\Pr(x|R=0,q)}{\Pr(x|q)}} (bayes\ rule)\\ &=O(R|q)\frac{\Pr(x|R=1,q)}{\Pr(x|R=0,q)} \end{aligned}

因爲 qq 對於每個document dd 來說,都是一樣的,可以看做一個常量,因此我們重點關心的是
Pr(xR=1,q)Pr(xR=0,q)(1)\frac{\Pr(x|R=1,q)}{\Pr(x|R=0,q)} \tag{1}

binary independent model 的核心就是兩個假設:

  1. 每個 termiterm_i 是一個二項分佈
  2. termiterm_i 獨立

基於獨立性假設對於等式 (1)(1), 我們有

score(q,d)=i=1TPr(xiR=1,q)Pr(xiR=0,q)=xi=1Pr(xi=1R=1,q)Pr(xi=1R=0,q)xi=0Pr(xi=0R=1,q)Pr(xi=0R=0,q)let pi=Pr(xi=1R=1,q),ri=Pr(xi=0R=0,q)=xi=1pirixi=01pi1ri=xi=1piri(xi=11ri1pi1pi1ri)xi=01pi1ri=xi=1pi(1ri)ri(1pi)(i=0T1pi1ri>constant) \begin{aligned} score(q,d) &=\prod_{i=1}^T \frac{\Pr(x_i|R=1,q)}{\Pr(x_i|R=0,q)}\\ &=\prod_{x_i=1}\frac{\Pr(x_i=1|R=1,q)}{\Pr(x_i=1|R=0,q)}\prod_{x_i=0}\frac{\Pr(x_i=0|R=1,q)}{\Pr(x_i=0|R=0,q)}\\ \mathbf{let}\ p_i&=\Pr(x_i=1|R=1,q),r_i=\Pr(x_i=0|R=0,q)\\ &=\prod_{x_i=1}\frac{p_i}{r_i}\prod_{x_i=0}\frac{1 - p_i}{1-r_i}\\ &=\prod_{x_i=1}\frac{p_i}{r_i}(\prod_{x_i=1}\frac{1-r_i}{1-p_i} \frac{1-p_i}{1-r_i})\prod_{x_i=0}\frac{1 - p_i}{1-r_i}\\ &=\prod_{x_i=1} \frac{p_i(1-r_i)}{r_i(1-p_i)}(\prod_{i=0}^T \frac{1-p_i}{1-r_i} ->constant) \end{aligned}

因此,最終我們需要計算的就是

score(q,x)=xi=1pi(1ri)ri(1pi)(2) score(q,x)=\prod_{x_i=1} \frac{p_i(1-r_i)}{r_i(1-p_i)}\tag{2}

Retrieval Status Value

(2)(2) 式取對數,我們得到,

RSV=logpi(1ri)ri(1pi)(3) RSV = \sum \log \frac{p_i(1-r_i)}{r_i(1-p_i)}\tag{3}

define

ci=logpi(1ri)ri(1pi)(4) c_i= \log \frac{p_i(1-r_i)}{r_i(1-p_i)}\tag{4}

接下來的任務便是估計 cic_i

estimate ci

假設對於整個集合中的文檔,我們能夠得到如下的統計表格

doc Relevant Non-Relevant Total
xi=1x_i=1 ss nsn-s nn
xi=0x_i=0 SsS-s NnS+sN-n-S+s NnN-n
sum SS NSN-S NN

(notess 通常很難估計)

pi=sS,ri=nsNS,1ri=NS+snNS,1pi=SsS p_i=\frac{s}{S},r_i=\frac{n-s}{N-S},1-r_i=\frac{N-S+s-n}{N-S},1-p_i=\frac{S-s}{S}

假設 NSNN-S \approx N

log1riri=logNnS+snslogNnnlogNn=IDF! \begin{aligned} \log \frac{1-r_i}{r_i}&=\log \frac{N-n-S+s}{n-s}\\ &\approx\log \frac{N-n}{n}\\ &\approx \log \frac{N}{n}=IDF! \end{aligned}

最難估計的是 pip_i 一種可以的方法是不停的在系統中迭代,來估計ss,不過這對系統和數據的需求都很大,而且急需真實的系統場景和環境

這個模型還有一個問題,他沒有將term frequency 納入其中,也就是說,通常來說,一篇document 如果其中的term frequency 出現的次數很多,通常它的相關性會高一些,BIM並未對此建模

BM25(Best Match 25)

我們來看看下面一個基於(possion distribution )泊松分佈的 模型

BM25對term frequency建模,同時它提出了一個 eliteness 的概念

所謂 eliteness 也就是說在query中的某些 term,他是是特別的(整篇文檔都是關於這些term的,這完全有道理,比如paper 的key words)

( 未特別說明本文所有圖片均引用自 ref1)

其實可以將 eliteness 看做一個 “隱”變量(hiden variable)

同時它表示 Pr(TFi=i)\Pr(TF_i=i) 爲possion 泊松分佈

基於以上假設,我們可以建立如下模型

RSVelite=tfi>0cielite(tfi) RSV^{elite}=\sum_{tf_i>0}c_{i}^{elite}(tf_i)

whre,

cielite(tfi)=logPr(TFi=tfiR=1)Pr(TFi=0R=0)Pr(TFi=tfiR=0)Pr(TFi=0R=1) c_{i}^{elite}(tf_i) = \log \frac{\Pr(TF_i=tf_i|R=1)\Pr(TF_i=0|R=0)}{\Pr(TF_i=tf_i|R=0)\Pr(TF_i=0|R=1)}

and,

Pr(TFi=tfiR)=Pr(Ei=EliteR)Pr(TFi=tfiEi=Elite)+Pr(Ei=EliteˉR)Pr(TFi=tfiEi=Eliteˉ) \Pr(TF_i=tf_i|R)=\Pr(E_i=Elite|R)\Pr(TF_i= tf_i | E_i=Elite) + \Pr(E_i=\bar{Elite}|R)\Pr(TF_i= tf_i | E_i=\bar{Elite})

這就對term項建立了雙泊松模型:

Pr(TFi=kR)=πλkk!eλ+(1λ)μkk!eμ \Pr(TF_i=k|R)=\pi \frac{\lambda^k}{k!}e^{-\lambda} + (1 - \lambda)\frac{\mu^k}{k!}e^{-\mu}

parameter π,μ,λ\pi,\mu,\lambda 都非常難以估計,因此,這裏又採用了近似!(PS:我發現近似真實個非常神奇的東西)

approximation

觀察這個函數有幾個性質:

  1. ci(0)=0c_i(0)=0
  2. ci(tfi)c_i(tf_i) 隨着 tfitf_i 單調遞增
  3. ci(tfi)c_i(tf_i) 有一個漸進線

saturation function

sf : tfk+tf\frac{tf}{k+tf}

BM25

ciBM25v2=logNdfi(k1+1)tfik1+tfi(5)c_i^{BM25v2}=\log \frac{N}{df_i}\frac{(k_1+1)tf_i}{k_1+tf_i}\tag{5}

以上公式與 tf-idf非常像,不過 tf項是有界的(saturation function)),分子係數意義不大,僅僅是讓 tf=1時這個值爲1,估計是想讓這項的值變化不那麼陡峭吧

document length normalization

基於兩個intuition

  1. 長文本通常更加可能觀察到term
  2. 長文本觀察到的term frequency 通常更高

dl=tfdtfidl=\sum_{tf\in d} tf_i

avdlavdl: 整個文本集合中的平均文本長度

B=((1b)+bdlavdl),b[0,1]B=((1-b) + b\frac{dl}{avdl}), b\in[0,1]

bb 正則因子

let tfi=tfiBtf_i'=\frac{tf_i}{B}, 帶入 equation (5)(5) 我們得到真正的

ciBM25(tfi)=ciBM25v2(tfi)=logNdfi(k1+1)tfik1((1b)+bdlavdl)+tfi(6) c_i^{BM25}(tf_i)=c_i^{BM25v2}(tf_i') =\log \frac{N}{df_i}\frac{(k_1+1)tf_i}{k_1((1-b)+b\frac{dl}{avdl}) + tf_i}\tag{6}

and,

RSVBM25=ciBM25(tfi)(7) RSV^{BM25}=\sum c_i^{BM25}(tf_i)\tag{7}

other feature

  • 文本特徵
    • Zones(區域) : Title,author,abstract,body,anchors。。
    • Proximity(近鄰): 分類文本,鄰近文本查找
  • 非文本特徵
    • File type
    • File age
    • Page Rank

(PS: 這些特徵都需要從真實的系統,業務場景中去查找,所以寫在這裏再多,僅僅紙上談兵肯定是不行的,所以這裏僅僅是對知識做個總結,表明有這個東西)

code 簡單代碼實現

code

resource

  1. S. E. Robertson and K. Spärck Jones. 1976. Relevance Weighting of Search Terms. Journal of the American Society for Information Sciences 27(3): 129–146.
  2. C. J. van Rijsbergen. 1979. Information Retrieval. 2nd ed. London: Butterworths, chapter 6. http://www.dcs.gla.ac.uk/Keith/Preface.html
  3. K. Spärck Jones, S. Walker, and S. E. Robertson. 2000. A probabilistic model of information retrieval: Development and comparative experiments. Part 1. Information Processing and Management 779–808.
  4. S. E. Robertson and H. Zaragoza. 2009. The Probabilistic Relevance Framework: BM25 and Beyond. Foundations and Trends in Information Retrieval 3(4): 333-389.

ref

  1. slides in https://web.stanford.edu/class/cs276/ (Probabilistic IR: the binary independence model, BM25, BM25F | Evaluation methods & NDCG|Learning to rank)

版權聲明

本作品爲作者原創文章,採用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議

作者: taotao

僅允許非商業轉載,轉載請保留此版權聲明,並註明出處

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章