转 搜索引擎的文档相关性计算和检索模型(BM25/TF-IDF)

               



搜索引擎的检索模型-查询与文档的相关度计算


1. 检索模型概述

      搜索结果排序时搜索引擎最核心的部分,很大程度度上决定了搜索引擎的质量好坏及用户满意度。实际搜索结果排序的因子有很多,但最主要的两个因素是用户查询和网页内容的相关度,以及网页链接情况。这里我们主要总结网页内容和用户查询相关的内容。

       判断网页内容是否与用户査询相关,这依赖于搜索引擎所来用的检索模型。检索模型是搜索引擎的理论基础,为量化相关性提供了一种数学模型,是对查询词和文档之间进行相似度计算的框架和方法。其本质就是相关度建模。如图所示,检索模型所在搜索引擎系统架构位置:

    

    

    当然检索模型理论研究存在理想化的隐含假设,及即假设用户需求已经通过查询非常清晰明确地表达出来了,所以检索模型的任务不涉及到对用户需求建模。但实际上这个和实际相差较远,即使相同的查询词,不同用户的需求目的可能差异很大,而检索模型对此无能为力。

   

2. 检索模型分类

   大学学习的《数学模型》(姜启源第三版),现在还有点印象。数学模型将现实问题归结为相应的数学问题,并在此基础上利用数学的概念、方法和理论进行深入的分析和研究,从而从定性或定量的角度来刻画实际问题,并为解决现实问题提供精确的数据或可靠的指导。
    所以我们从所使用的数学方法上分:
1)基于集合论的 IR模型 (Set Theoretic models)
      布尔模型
     基于模糊集的模型
     扩展布尔模型
2)基于代数论的 IR模型 (Algebraic models)
      向量空间模型
     潜性语义索引模型
     神经网络模型
3)基于概率统计的 IR模型 (Probabilistic models)
     回归模型
      概率模型
      语言模型建模 IR模型
     推理网络模型
     信任度网络模型

此外还有基于统计的 机器学习排序算法。
这里主要介绍 布尔模型,向量空间模型,概率模型,语言模型,机器学习排序算法

3. 布尔模型

布尔模型:

        是最简单的信息检索模型,是基于集合理论和布尔代数的一种简单的检索模型。

基本思想:

    文档和用户查询由其包含的单词集合来表示,两者的相似性则通过布尔代数运算来进行判定;

相似度计算:

         查询布尔表达式和所有文档的布尔表达式进行匹配,匹配成功的文档的得分为1,否则为0。 

         如查询词:

                 苹果 and (iphone OR Ipad2)

         文档集合:

         D1:IPhone 5于9月13号问世。

         D2: 苹果公司于9月13号发布新一代IPhone。

         D3:Ipad2将于3月11日在美上市。

         D4:Iphone和ipad2的外观设计精美时尚

         D5:80后90后都喜欢iphone,但不喜欢吃苹果。

         那么单词与文档关系如下图:

     

         检索结果就是D2和D5符合搜索条件。
       这类似于传统数据库检索,是精确匹。一些搜索引擎的高级检索往往是使用布尔模型的思想。如 Google的高级检索。

优点:
      在于形式简洁、结构简单。

缺点:

     1)准确的匹配可能导致检出的文档过多或过少。因为布尔模型只是判断文档要么相关、要么不相关,它的检索策略基于二值判定标准,无法描述与查询条件部分匹配的情况。因此,布尔模型实际上是一个数值检索模型而不是信息检索模型。

     2)尽管布尔表达式有确切的语义,但通常很难将用户的信息需求转换成布尔表达式。如今,人们普遍认为,给索引词加权能极大地改善检索效果。从对索引词加权的方法中引出了向量模型。


4. 向量空间模型(Vector Space Model,VSM)

向量空间模型:
    康奈尔大学 Salton等人上世纪 70年代提出并倡导,原型系统 SMART   

基本思想:

    把文档看成是由t维特征组成的一个向量,特征一般采用单词,每个特征会根据一定依据计算其权重,这t维带有权重的特征共同构成了一个文档,以此来表示文档的主题内容。

相似性计算:

    计算文档的相似性可以采用Cosine计算定义,实际上是求文档在t维空间中查询词向量和文档向量的夹角,越小越相似;对于特征权重,可以采用Tf*IDF框架,Tf是词频,IDF是逆文档频率因子指的是同一个单词在文档集合范围的出现次数,这个是一种全局因子,其考虑的不是文档本身的特征,而是特征单词之间的相对重要性,特征词出现在其中的文档数目越多,IDF值越低,这个词区分不同文档的能力就越差,这个框架一般把Weight=Tf*IDF作为权重计算公式。

思路:

1)向量表示:
    文档Dj的向量可以表示为Dj(w1j, w2j ,⋯,wnj ) ,其中n是系统中的单词数目,wij 代表了标引词i在文档Dj中的权重。
    查询Q的向量可以表示为Q(w1q, w2q ,⋯,wnq ) ,wiq代表了单词i在查询Q中的权重
 2)文档 - 单词矩阵 (Doc-Term Matrix)
   n
篇文档, m个标引词构成的矩阵 Am*n,每列可以看成每篇文档的向量表示,同时,每行也可以可以看成 单词的向量表示:
    

    

3)权重计算:
        布尔权重:标引词i在文档j中的权重wij =0或1(出现则取1,否则取0)
       TF权重:TF(Term Frequency)是单词在文档中出现的次数。权重wij = TFij或者归一化后的TF值
        TF的归一化(Normalization):将一篇文档中所有的标引词的TF值归一化到[0,1]之间。通常可以采用以下方式之一:
            1: Wtf = 1 + log(TF)
            2: Wtf = a + (1- a)*  TF /Max (TF) 其中a为调节因子,经验取值a=0.5 最新研究表明是0.4效果更好。
   
        单词 的文档频率DF(Document Frequency): 单词在整个文档集合中出现的文档篇数,DF反映了 单词的区分度, DF越高表示 单词越普遍,因此其区分度越低,其权重也越低。
         逆文档频率(Inverse DF ,IDF):DF的倒数,通常采用如下公式计算:(N是文档集合中所有文档的数目)
          
    
3) 计算权重:向量空间模型中通常采用TF* IDF的方式计算权重,即标引词i在文档dj的权重Wij = TFij * IDFij .
4)  相似度计算:文档和查询词的相关程度(即相似度)可由它们各自向量在向量空问中的相对位置来决定。相似度计算函数有很多种,较常用的是两个向量夹角的余弦函数。
   
      由向量的数量积定义:两个向量的数量积(又称“内积”、“点积”,物理学上称为“标量积”。)是一个数量,记作 a·b。若 ab不共线,则 a·b=| a|·| b|·cos〈 ab〉。
     其意义:两向量的数量积等于其中一个向量的模与另一个向量在这个向量的方向上的投影的乘积。我们把|b|cosθ叫做向量b在向量a的方向上的投影。
     两向量 ab的数量积: a· b=| a|*| b|cosθ;其中| a|、|β|是两向量的模,θ是两向量之间的夹角(0≤θ≤π)。
     若有坐标 a(x1,y1,z1) ; b(x2,y2,z2),那么 a· b=x1x2+y1y2+z1z2; | a|=sqrt(x1^2+y1^2+z1^2);| b|=sqrt(x2^2+y2^2+z2^2)。

      依定义有:cos〈a,b〉=a·b / |a|·|b|);若a、b共线,则a·b=+-∣a∣∣b∣。
     其性质:
     1)a
· a=| a|的 平方。   
     2) a〈=〉 a· b=0。   

     于是文档和提问的相似度值由以下公式获得:
        
        理解Cosine相似性,可以讲每个文档以及查询看做t维特征空间的一个数值点。每个特征形成t维空间中的一个维度,链接特征空间原点和这个数值点形成一个向量,而Cosine相似性就是计算特征空间中两个向量之间的夹角。这个夹角越小,说明两个特征向量内容越相似。极端的情况就是两个完全相同的文档,其在向量空间中的两个向量是重叠的,Cosine相似性值为1.
 
举例:  
          查询 q(<2006:1>,<世界杯 :2>)
       文档 d1(<2006:1>,<世界杯 :3>,<德国 :1>,<举行 :1>)
       文档 d2(<2002:1>,<世界杯 :2>,<韩国 :1>,<日本
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值