BM25小议

热度1910票  浏览432次 【共1条评论】【我要评论 时间:2011年8月08日 15:11

qp*_4qE0_Q@y)Z0BM25算法浅析自然语言处理与信息检索共享平台4wdX@6D|N-x ~

 
 
自然语言处理与信息检索共享平台v@2?9B.g

BM25算法,通常用来作搜索相关性平分。一句话概况其主要思想:对Query进行语素解析,生成语素qi;然后,对于每个搜索结果D,计算每个语素qi与D的相关性得分,最后,将qi相对于D的相关性得分进行加权求和,从而得到Query与D的相关性得分。

7W V3w O&b3z0 自然语言处理与信息检索共享平台'Td@ b7n KW

BM25算法的一般性公式如下:自然语言处理与信息检索共享平台!A'Kt CJ j V2{

U1X%^J2S-vC7r[8@0

B u1j(v\0其中,Q表示Query,qi表示Q解析之后的一个语素(对中文而言,我们可以把对Query的分词作为语素分析,每个词看成语素qi。);d表示一个搜索结果文档;Wi表示语素qi的权重;R(qi,d)表示语素qi与文档d的相关性得分。

b Vfi't9_6wn0{'Q~0

e#NF!I:y] M-ZgR0下面我们来看如何定义Wi。判断一个词与一个文档的相关性的权重,方法有多种,较常用的是IDF。这里以IDF为例,公式如下:自然语言处理与信息检索共享平台i ngm!q xZ&N

自然语言处理与信息检索共享平台*Ye(g0U;x!nUS

x/y7HU:qh)lp0 自然语言处理与信息检索共享平台eb kwu;I8b S.B[

其中,N为索引中的全部文档数,n(qi)为包含了qi的文档数。自然语言处理与信息检索共享平台b/Rz1a\{F&L+j

Dgs F)gOgT(a0根据IDF的定义可以看出,对于给定的文档集合,包含了qi的文档数越多,qi的权重则越低。也就是说,当很多文档都包含了qi时,qi的区分度就不高,因此使用qi来判断相关性时的重要度就较低。自然语言处理与信息检索共享平台 @Z5Q%Z4c#s

:V6G hxd;l6z0我们再来看语素qi与文档d的相关性得分R(qi,d)。首先来看BM25中相关性得分的一般形式:

H lPra r3\#A\0

xU qNg'j4q tl4l0

0i2C7TL7z0

O\)l"Jr:SA2qg0

8K-ov6c6v]3}{0

j;H;R4|x,C I0其中,k1,k2,b为调节因子,通常根据经验设置,一般k1=2,b=0.75;fi为qi在d中的出现频率,qfi为qi在Query中的出现频率。 dl为文档d的长度,avgdl为所有文档的平均长度。由于绝大部分情况下,qi在Query中只会出现一次,即qfi=1,因此公式可以简化为:

5oF `Jg#q~ L F ~0 自然语言处理与信息检索共享平台3z+B*F;B7}H

自然语言处理与信息检索共享平台"K-i*[$}c5EO a

i-b]LQ'h^!O0从 K的定义中可以看到,参数b的作用是调整文档长度对相关性影响的大小。b越大,文档长度的对相关性得分的影响越大,反之越小。而文档的相对长度越长,K值将越大,则相关性得分会越小。这可以理解为,当文档较长时,包含qi的机会越大,因此,同等fi的情况下,长文档与qi的相关性应该比短文档与qi的相关性弱。自然语言处理与信息检索共享平台&z3FB7Dd _;^6`

C!?"M z'}0综上,BM25算法的相关性得分公式可总结为:自然语言处理与信息检索共享平台 g??&MVE

\4?$j#A Rs t+|0

(b R&uRKB(b@0 自然语言处理与信息检索共享平台1t\)d3g2?.OJak_

从BM25的公式可以看到,通过使用不同的语素分析方法、语素权重判定方法,以及语素与文档的相关性判定方法,我们可以衍生出不同的搜索相关性得分计算方法,这就为我们设计算法提供了较大的灵活性。自然语言处理与信息检索共享平台$qD*V*fBA7|

顶:132 踩:112
对本文中的事件或人物打分:
当前平均分:-0.08 (598次打分)
对本篇资讯内容的质量打分:
当前平均分:-0.41 (522次打分)
【已经有546人表态】
90票
感动
71票
路过
55票
高兴
61票
难过
67票
搞笑
71票
愤怒
62票
无聊
69票
同情
上一篇 下一篇
自然语言处理与信息检索共享平台云南省昆明市电信网友 [张华平] ip: 116.52.*.*
2011-08-11 11:54:46
欢迎,你已经被列为高级会员,下次发表无需验证审核。
发表评论
换一张

网友评论仅供网友表达个人看法,并不表明本网同意其观点或证实其描述。

查看全部回复【已有1位网友发表了看法】