信息检索(IR)笔记2: Rank: 基于概率的rank model

这是cs276 information retrieval & web search的笔记2,这里总结关于IR 系统中,rank的一些概率模型,BIM,BM25

文章目录

  • introduction
  • BIM( binary independent model)
    • Retrieval Status Value
    • estimate ci
  • BM25(Best Match 25)
    • approximation
    • saturation function
    • BM25
      • document length normalization
  • other feature
  • code 简单代码实现
  • resource
  • ref

introduction

IR系统的核心就是ranking,也就是非常直观的任务,对于user的一个query q q q, IR系统希望给每个检索出来的文档一个分数 score,按照score由高到低反馈给用户,而概率模型的核心就是对这个分数,用概率建模。

P ( R ∣ q , d ) P(R|q,d) P(Rq,d) 其中 R R R 是一个binary事件变量, R = 1 R=1 R=1 表示相关, R = 0 R=0 R=0 表示不相关。 q q q 表示user的查询,而 d d d 表示文档

由于我们只care的是rank(相对大小)而不是 P r o b Prob Prob 绝对大小。因此在概率模型中我们使用的metric通常是

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

下面介绍两种概率模型,BIM,BM25,分别基于 二项分布和泊松分布

BIM( binary independent model)

首先将document 向量化成 x = ( x 1 , … , x i , … , x T ) , T x = (x_1,\dots ,x_i,\dots ,x_T ),T x=(x1,,xi,,xT),T 表示 query 中 t e r m term term 的数量, x i = 1    ⟺    t e r m i x_i =1 \iff term_i xi=1termi 在document d d d

那么 score

O ( R ∣ q , d ) = O ( Q ∣ q , x ) = Pr ⁡ ( R = 1 ∣ q , x ) Pr ⁡ ( R = 0 ∣ q , x ) = Pr ⁡ ( R = 1 ∣ q ) Pr ⁡ ( x ∣ R = 1 , q ) Pr ⁡ ( x ∣ q ) Pr ⁡ ( R = 0 ∣ q ) Pr ⁡ ( x ∣ R = 0 , q ) Pr ⁡ ( x ∣ q ) ( b a y e s   r u l e ) = O ( R ∣ q ) Pr ⁡ ( x ∣ R = 1 , q ) Pr ⁡ ( x ∣ R = 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} O(Rq,d)=O(Qq,x)=Pr(R=0q,x)Pr(R=1q,x)=Pr(xq)Pr(R=0q)Pr(xR=0,q)Pr(xq)Pr(R=1q)Pr(xR=1,q)(bayes rule)=O(Rq)Pr(xR=0,q)Pr(xR=1,q)

因为 q q q 对于每个document d d d 来说,都是一样的,可以看做一个常量,因此我们重点关心的是
Pr ⁡ ( x ∣ R = 1 , q ) Pr ⁡ ( x ∣ R = 0 , q ) (1) \frac{\Pr(x|R=1,q)}{\Pr(x|R=0,q)} \tag{1} Pr(xR=0,q)Pr(xR=1,q)(1)

binary independent model 的核心就是两个假设:

  1. 每个 t e r m i term_i termi 是一个二项分布
  2. t e r m i term_i termi 独立

基于独立性假设对于等式 ( 1 ) (1) (1), 我们有

s c o r e ( q , d ) = ∏ i = 1 T Pr ⁡ ( x i ∣ R = 1 , q ) Pr ⁡ ( x i ∣ R = 0 , q ) = ∏ x i = 1 Pr ⁡ ( x i = 1 ∣ R = 1 , q ) Pr ⁡ ( x i = 1 ∣ R = 0 , q ) ∏ x i = 0 Pr ⁡ ( x i = 0 ∣ R = 1 , q ) Pr ⁡ ( x i = 0 ∣ R = 0 , q ) l e t   p i = Pr ⁡ ( x i = 1 ∣ R = 1 , q ) , r i = Pr ⁡ ( x i = 0 ∣ R = 0 , q ) = ∏ x i = 1 p i r i ∏ x i = 0 1 − p i 1 − r i = ∏ x i = 1 p i r i ( ∏ x i = 1 1 − r i 1 − p i 1 − p i 1 − r i ) ∏ x i = 0 1 − p i 1 − r i = ∏ x i = 1 p i ( 1 − r i ) r i ( 1 − p i ) ( ∏ i = 0 T 1 − p i 1 − r i − > c o n s t a n t ) \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,d)let pi=i=1TPr(xiR=0,q)Pr(xiR=1,q)=xi=1Pr(xi=1R=0,q)Pr(xi=1R=1,q)xi=0Pr(xi=0R=0,q)Pr(xi=0R=1,q)=Pr(xi=1R=1,q),ri=Pr(xi=0R=0,q)=xi=1ripixi=01ri1pi=xi=1ripi(xi=11pi1ri1ri1pi)xi=01ri1pi=xi=1ri(1pi)pi(1ri)(i=0T1ri1pi>constant)

因此,最终我们需要计算的就是

s c o r e ( q , x ) = ∏ x i = 1 p i ( 1 − r i ) r i ( 1 − p i ) (2) score(q,x)=\prod_{x_i=1} \frac{p_i(1-r_i)}{r_i(1-p_i)}\tag{2} score(q,x)=xi=1ri(1pi)pi(1ri)(2)

Retrieval Status Value

( 2 ) (2) (2) 式取对数,我们得到,

R S V = ∑ log ⁡ p i ( 1 − r i ) r i ( 1 − p i ) (3) RSV = \sum \log \frac{p_i(1-r_i)}{r_i(1-p_i)}\tag{3} RSV=logri(1pi)pi(1ri)(3)

define

c i = log ⁡ p i ( 1 − r i ) r i ( 1 − p i ) (4) c_i= \log \frac{p_i(1-r_i)}{r_i(1-p_i)}\tag{4} ci=logri(1pi)pi(1ri)(4)

接下来的任务便是估计 c i c_i ci

estimate ci

假设对于整个集合中的文档,我们能够得到如下的统计表格

doc Relevant Non-Relevant Total
x i = 1 x_i=1 xi=1 s s s n − s n-s ns n n n
x i = 0 x_i=0 xi=0 S − s S-s Ss N − n − S + s N-n-S+s NnS+s N − n N-n Nn
sum S S S N − S N-S NS N N N

(note s s s 通常很难估计)

p i = s S , r i = n − s N − S , 1 − r i = N − S + s − n N − S , 1 − p i = S − s S 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} pi=Ss,ri=NSns,1ri=NSNS+sn,1pi=SSs

假设 N − S ≈ N N-S \approx N NSN

log ⁡ 1 − r i r i = log ⁡ N − n − S + s n − s ≈ log ⁡ N − n n ≈ log ⁡ N n = I D F ! \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} logri1ri=lognsNnS+slognNnlognN=IDF!

最难估计的是 p i p_i pi 一种可以的方法是不停的在系统中迭代,来估计 s s s,不过这对系统和数据的需求都很大,而且急需真实的系统场景和环境

这个模型还有一个问题,他没有将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 ⁡ ( T F i = i ) \Pr(TF_i=i) Pr(TFi=i) 为possion 泊松分布

基于以上假设,我们可以建立如下模型

R S V e l i t e = ∑ t f i > 0 c i e l i t e ( t f i ) RSV^{elite}=\sum_{tf_i>0}c_{i}^{elite}(tf_i) RSVelite=tfi>0cielite(tfi)

whre,

c i e l i t e ( t f i ) = log ⁡ Pr ⁡ ( T F i = t f i ∣ R = 1 ) Pr ⁡ ( T F i = 0 ∣ R = 0 ) Pr ⁡ ( T F i = t f i ∣ R = 0 ) Pr ⁡ ( T F i = 0 ∣ R = 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)} cielite(tfi)=logPr(TFi=tfiR=0)Pr(TFi=0R=1)Pr(TFi=tfiR=1)Pr(TFi=0R=0)

and,

Pr ⁡ ( T F i = t f i ∣ R ) = Pr ⁡ ( E i = E l i t e ∣ R ) Pr ⁡ ( T F i = t f i ∣ E i = E l i t e ) + Pr ⁡ ( E i = E l i t e ˉ ∣ R ) Pr ⁡ ( T F i = t f i ∣ E i = E l i t e ˉ ) \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}) Pr(TFi=tfiR)=Pr(Ei=EliteR)Pr(TFi=tfiEi=Elite)+Pr(Ei=EliteˉR)Pr(TFi=tfiEi=Eliteˉ)

这就对term项建立了双泊松模型:

Pr ⁡ ( T F i = k ∣ R ) = π λ k k ! e − λ + ( 1 − λ ) μ k k ! e − μ \Pr(TF_i=k|R)=\pi \frac{\lambda^k}{k!}e^{-\lambda} + (1 - \lambda)\frac{\mu^k}{k!}e^{-\mu} Pr(TFi=kR)=πk!λkeλ+(1λ)k!μkeμ

parameter π , μ , λ \pi,\mu,\lambda π,μ,λ 都非常难以估计,因此,这里又采用了近似!(PS:我发现近似真实个非常神奇的东西)

approximation

信息检索(IR)笔记2: Rank: 基于概率的rank model_第1张图片

观察这个函数有几个性质:

  1. c i ( 0 ) = 0 c_i(0)=0 ci(0)=0
  2. c i ( t f i ) c_i(tf_i) ci(tfi) 随着 t f i tf_i tfi 单调递增
  3. c i ( t f i ) c_i(tf_i) ci(tfi) 有一个渐进线

saturation function

sf : t f k + t f \frac{tf}{k+tf} k+tftf

信息检索(IR)笔记2: Rank: 基于概率的rank model_第2张图片

BM25

c i B M 25 v 2 = log ⁡ N d f i ( k 1 + 1 ) t f i k 1 + t f i (5) c_i^{BM25v2}=\log \frac{N}{df_i}\frac{(k_1+1)tf_i}{k_1+tf_i}\tag{5} ciBM25v2=logdfiNk1+tfi(k1+1)tfi(5)

以上公式与 tf-idf非常像,不过 tf项是有界的(saturation function)),分子系数意义不大,仅仅是让 tf=1时这个值为1,估计是想让这项的值变化不那么陡峭吧

document length normalization

基于两个intuition

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

d l = ∑ t f ∈ d t f i dl=\sum_{tf\in d} tf_i dl=tfdtfi

a v d l avdl avdl: 整个文本集合中的平均文本长度

B = ( ( 1 − b ) + b d l a v d l ) , b ∈ [ 0 , 1 ] B=((1-b) + b\frac{dl}{avdl}), b\in[0,1] B=((1b)+bavdldl),b[0,1]

b b b 正则因子

let t f i ′ = t f i B tf_i'=\frac{tf_i}{B} tfi=Btfi, 带入 equation ( 5 ) (5) (5) 我们得到真正的

c i B M 25 ( t f i ) = c i B M 25 v 2 ( t f i ′ ) = log ⁡ N d f i ( k 1 + 1 ) t f i k 1 ( ( 1 − b ) + b d l a v d l ) + t f i (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} ciBM25(tfi)=ciBM25v2(tfi)=logdfiNk1((1b)+bavdldl)+tfi(k1+1)tfi(6)

and,

R S V B M 25 = ∑ c i B M 25 ( t f i ) (7) RSV^{BM25}=\sum c_i^{BM25}(tf_i)\tag{7} RSVBM25=ciBM25(tfi)(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

仅允许非商业转载,转载请保留此版权声明,并注明出处

你可能感兴趣的:(IR)