搜索引擎中的查询模型

搜索引擎查询模型包括布尔模型和向量空间模型。布尔模型简单但效果不佳,向量空间模型通过tf-idf计算文档与查询的相似度。概率模型如BIM、BM25和BM25F被商业搜索引擎广泛采用,考虑了文档相关性的概率。

搜索引擎中的查询模型

posted by Andrew (justAStriver@gmail.com)
2013-03-03

搜索排序也是搜索引擎的核心部分,技术已经比较成熟,其中的查询检索模型主要有以下几个:

1.布尔模型

布尔模型是最简单的查询模型,文档包含查询词标记为1,否则为0,最后通过使用与或关系进行匹配。如用户查询词A && B && (C || D),假设只有4个文档,包含查询词A,B,C,D的文档分别为A(1,0,0,1);B(1,0,0,0),C(1,1,1,0),D(0,0,1,1),则包含A&&B的文档为(1,0,0,0),包含C||D的文档为(1,1,1,1),则A&&B&&(C||D)为(1,0,0,0),即最后返回文档1。

布尔模型最为简单,计算复杂度较低,但查询效果并不理想,没有体现相关度这个概念,同时只考虑查询词的包含/不包含关系,逻辑较为简单。

2.向量空间模型

向量模型考虑到单词在文档中出现的频率,考虑到了相关度的问题。向量空间模型最关键的是特征提取,对于查询词组特征提取成向量q,文档D特征提取向量为d,则可以通过计算cos(q,d)来表示查询词与文档的相似度。如下图所示。

Vector space model.jpg

    通过文档相似度理论的假设,比较每个文档向量和原始查询向量(两个向量的类型是相同的)之间的角度偏差,使得在文档中搜索关键词的关联规则是能够计算的。 实际上,计算向量之间夹角的余弦比直接计算夹角本身要简单。

\cos{\theta} = \frac{\mathbf{d_2} \cdot \mathbf{q}}{\left\| \mathbf{d_2} \right\| \left \| \mathbf{q} \right\|}

   其中 \mathbf{d_2} \cdot \mathbf{q} 是文档向量(即右图中的d2)和查询向量(图中的q)的点乘。 \left\| \mathbf{d_2} \right\| 是向量d2 的模, 而 \left\| \mathbf{q} \right\| 是向量q的模. 向量的模通过下面的公式来计算:

\left\| \mathbf{v} \right\| = \sqrt{\sum_{i=1}^n v_i^2}

   由于这个模型所考虑的所有向量都是严格非负的,如果其余弦值为零,则表示查询向量和文档向量是正交的,即不符合(换句话说,就是该检索词在文档中没有找到)。

   特征提取是关键部分,常用的模型是tf*idf,其中tf表示词频,即在文档中出现次数,通常会将tf转换成其变形模式:1+log(tf);idf为逆文档频率,idf=logN/ni,N表示文档个数,ni表示在第i个特征单词出现的文档个数,idf表示了文档的特征词在文档中的分布情况。

   最后根据相似度的大小排序,作为查询结果返回给用户。


3.概率模型

        概率模型效果比较好,被商业搜索引擎广泛使用。概率模型将文档分为相关文档和不相关文档两个集合,查询过程就是文档分类的过程,对于文档D,如果属于相关文档的概率大于属于不相关文档的概率,这可认为该文档与用户查询相关。这里使用到条件概率模型。

P(R|D) > P(NR|D) <=> P(D|R)*P(R)/P(D) > P(D|NR)*P(NR)/P(D)
       其中,P(R|D)表示在D先验条件下文档相关的概率,P(NR|D)则为不相关的概率。

      (1)  BIM模型     

       在此基础上,二元独立模型(BIM)在二元假设及词汇独立性假设条件下,将概率基本公式改写成对P(D|R)/P(D/NR)的排序,通过对公式进行推导变形得到相关性估计的基本公式:

       其中,R为相关文档个数,N表示文档总数,ri表示包含单词i的相关文档个数,ni表示包含单词i的文档个数。

       (2) BM25模型

       在上述基础上,BM25模型诞生,BIM模型中,只考虑单词是否出现,没有考虑单词的具体权重,BM25将单词权重及查询词的权重加以考虑,基本公式为:
      主要增加了因子:
   其中, k1,k2,K 均为经验设置的参数, fi 是词项在文档中的频率, qfi 是词项在查询中的频率。 K1 通常为 1.2 ,通常为 0-1000, K 的形式较为复杂:

K=  

上式中,dl表示文档的长度,avdl表示文档的平均长度,b通常取0.75。

查询计算的时候,由于并不知道相关文档的个数,因此会将R和ri设置为0.

     (3) BM25F模型

     BM25F是在BM25模型下的改进,其中F表示field,即BM25F支持对某个域的权重进行区分对待,比如在搜索网页时有时会喜欢出现在标题的关键词权重更大一点。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值