1. 检索模型概述
搜索结果排序时搜索引擎最核心的部分,很大程度度上决定了搜索引擎的质量好坏及用户满意度。实际搜索结果排序的因子有很多,但最主要的两个因素是用户查询和网页内容的相关度,以及网页链接情况。这里我们主要总结网页内容和用户查询相关的内容。
判断网页内容是否与用户査询相关,这依赖于搜索引擎所来用的检索模型。检索模型是搜索引擎的理论基础,为量化相关性提供了一种数学模型,是对查询词和文档之间进行相似度计算的框架和方法。其本质就是相关度建模。如图所示,检索模型所在搜索引擎系统架构位置:
当然检索模型理论研究存在理想化的隐含假设,及即假设用户需求已经通过查询非常清晰明确地表达出来了,所以检索模型的任务不涉及到对用户需求建模。但实际上这个和实际相差较远,即使相同的查询词,不同用户的需求目的可能差异很大,而检索模型对此无能为力。
2. 检索模型分类
所以我们从所使用的数学方法上分:
此外还有基于统计的 机器学习排序算法。
这里主要介绍 布尔模型,向量空间模型,概率模型,语言模型,机器学习排序算法
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,但不喜欢吃苹果。
那么单词与文档关系如下图:
这类似于传统数据库检索,是精确匹。一些搜索引擎的高级检索往往是使用布尔模型的思想。如 Google的高级检索。
优点:
在于形式简洁、结构简单。
缺点:
1)准确的匹配可能导致检出的文档过多或过少。因为布尔模型只是判断文档要么相关、要么不相关,它的检索策略基于二值判定标准,无法描述与查询条件部分匹配的情况。因此,布尔模型实际上是一个数值检索模型而不是信息检索模型。
2)尽管布尔表达式有确切的语义,但通常很难将用户的信息需求转换成布尔表达式。如今,人们普遍认为,给索引词加权能极大地改善检索效果。从对索引词加权的方法中引出了向量模型。
4. 向量空间模型(Vector Space Model,VSM)
向量空间模型:康奈尔大学 Salton等人上世纪 70年代提出并倡导,原型系统 SMART
基本思想:
把文档看成是由t维特征组成的一个向量,特征一般采用单词,每个特征会根据一定依据计算其权重,这t维带有权重的特征共同构成了一个文档,以此来表示文档的主题内容。
相似性计算:
计算文档的相似性可以采用Cosine计算定义,实际上是求文档在t维空间中查询词向量和文档向量的夹角,越小越相似;对于特征权重,可以采用Tf*IDF框架,Tf是词频,IDF是逆文档频率因子指的是同一个单词在文档集合范围的出现次数,这个是一种全局因子,其考虑的不是文档本身的特征,而是特征单词之间的相对重要性,特征词出现在其中的文档数目越多,IDF值越低,这个词区分不同文档的能力就越差,这个框架一般把Weight=Tf*IDF作为权重计算公式。
思路:
n篇文档, m个标引词构成的矩阵 Am*n,每列可以看成每篇文档的向量表示,同时,每行也可以可以看成 单词的向量表示:
1: Wtf = 1 + log(TF)
4) 相似度计算:文档和查询词的相关程度(即相似度)可由它们各自向量在向量空问中的相对位置来决定。相似度计算函数有很多种,较常用的是两个向量夹角的余弦函数。
其意义:两向量的数量积等于其中一个向量的模与另一个向量在这个向量的方向上的投影的乘积。我们把|b|cosθ叫做向量b在向量a的方向上的投影。
两向量 a与 b的数量积: 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⊥ b 〈=〉 a· b=0。
理解Cosine相似性,可以讲每个文档以及查询看做t维特征空间的一个数值点。每个特征形成t维空间中的一个维度,链接特征空间原点和这个数值点形成一个向量,而Cosine相似性就是计算特征空间中两个向量之间的夹角。这个夹角越小,说明两个特征向量内容越相似。极端的情况就是两个完全相同的文档,其在向量空间中的两个向量是重叠的,Cosine相似性值为1.