内容纲要

欢迎转载,作者:Ling,注明出处:Rank教程: 04-概率检索模型

 

概率检索模型(Probabilistic Retrieval Model)

定义

根据文档与用户需求相关性由高到低进行排序。具体来说就是要推导出一个公式,该公式可以表示用户需求,然后根据公式计算的值进行排序。

空间向量模型是根据用户查询和文档内容相似性进行排序。

分类

  • 二元独立模型
  • BM25
  • BM25F

用户需求公式推导:

RK_04_001

问题: 如何计算P(D/R)和P(D/NR)?

二元独立模型

二元独立模型(Binary Independent Model):

两个假设

二元假设:只考虑“出现”和“不出现”情况,以此表示文档

词汇独立性假设:单词之间彼此独立,互不关联

基于上面两个假设,我们举例说明如何计算P(D/R)和P(D/NR):

举例:

查询Q:{乔布斯,Ipod,Iphone,苹果,Ipad}

D文档:{乔布斯,买了,Iphone,和,Ipad}

则D文档可以表示成{1,0,1,0,1}, 它表示查询中的单词是否出现在D文档中,比如1,3,5单词都出现了,2,4都没出现

P(D|R)=P1*(1-P2)*P3*(1-P4)*P5

其中Pi表示第i个单词出现在相关文档中的概率

P(D|NR)=S1*(1-S2)*S3*(1-S4)*S5

其中Si表示第i个单词出现在不相关文档中的概率

则:

RK_04_002

接下来我们推导一般的P(D|R) / P(D|NR)的公式

RK_04_003

所以:

RK_04_004

变形:为了更好计算

RK_04_005

问题转化为求Pi 和 Si

给定用户Query,我们先得到所有相关和不相关的文档,然后我们就可以估算出P和S:

RK_04_006

di=1表示 单词i出现在文档中

ri表示单词i出现在相关文档中的文档数量

ni-ri表示单词i出现在不相关中的文档数量

ni表示单词出现在文档中的文档总数量

di=0表示单词i不出现在文档中

R-ri表示单词i不出现在相关文档中的文档数量

(N-R)-(ni-ri)表示单词i不出现在不相关中的文档数量

N-ni表示单词不出现在文档中的文档总数量

R表示相关文档总数

N-R表示不相关文档总数

N表示总文档数

则:0.5和1.0是平滑因子

RK_04_007

单词i在所有相关文档出现数目比上所有相关文档总数

RK_04_008

单词i在所有不相关文档出现数目比上所有不相关文档总数

带入之前公式:

RK_04_009

其含义是

Query中的词在文档中出现的情况,累加其上面的估值,就是Q和D相关性的度量值。按照这个排序即可。

问题

  • 如何得到相关和不相关文档:

通过其他方法,比如之前的布尔模型

  • 能否有其他表示:

IDF(qi)=log((N-ni+0.5)/(ni+0.5))

N表示文档总数,ni表示出现了qi的文档数目

下面的BIM部分都可以用IDF(qi)替换

二元独立模型BIM效果并不好,但是它是BM25的基础

BM25:

在BIM基础上得到,对于特征单词,BIM只考虑它是否在文档中出现过,而BM25会考虑单词在查询中的权值,以及在文档中的权值。BM25是目前最成功的内容排序模型。

公式:三部分组成,二元独立模型,查询文档权值和查询权值

RK_04_010

如果r和R都设定为0,则:

RK_04_011

这个就是IDF形式,所以二元独立模型作用就是类似IDF,后面两个权值有点类似TF,整体类似TF-IDF

另外一种BM25形式即

RK_04_012

BM25F:

在BM25上进一步改进,BM25是将文档当作一个整体看待,而BM25F是考虑了一个文档不同“域”的重要程度。

RK_04_013