Workspace of LionHeart

Focus on Spark/TensorFlow and other BigData and ML platforms

检索模型与搜索排序

导航[-]

检索模型是搜索引擎排序的理论基础,用来计算网页和用户查询的相关性。

几种常用的检索模型包括:

  • 布尔模型
  • 向量空间模型
  • 概率模型
  • 语言模型
  • 机器学习排序算法

向量空间模型

该模型需要将文档表示转换为特征向量,根据特征向量计算相似性。

其中,特征向量的获取主要考虑如下计算因子:

  • 词频Tf
  • 逆文档IDF

特征权值一般是二者乘积 Weight = Tf * IDF

概率检索模型

目前大部分商业搜索引擎采用概率模型作为相关性排序模型。

基本思想:给定用户查询,按照文档和用户需求的相关性由高到低排序。

实现模型:

  • BIM:二元独立模型
  • BM25模型:目前最成功的内容排序模型。
  • BM25F:基于BM25,对文档中不同的域赋予不同的权值。

BM25模型计算公式融合了4个考虑因素:

  • IDF因子
  • 文档长度因子
  • 文档词频
  • 查询词频

BM25模型利用3个自由调节因子(k1,k2,b)对各种因子的权值进行调整组合。

机器学习排序

机器学习排序系统由4个步骤组成:

  • 人工标注训练数据
  • 文档特征抽取
  • 学习分类函数
  • 在实际搜索系统中采用机器学习模型

文档进入机器学习系统前需要转化为特征向量,常用特征包括:

  • 查询词在文档中的词频信息
  • 查询词的IDF信息
  • 文档长度
  • 网页的入链数量
  • 网页的出链数量
  • 网页的PageRank值
  • 网页的URL长度

确定特征向量X后,每个文档会人工标注出相关性得分Y,这样每个文档转化为一个<X,Y>的形式。 就形成了一个具体的训练实例。

通过多个训练实例,就可采用机器学习技术对系统进行训练,结果往往是一个分类函数或回归函数。

后续用户搜索中就可以用这个分类函数对文档进行打分,形成搜索结果。

检索质量评价标准

精确率和召回率是评价检索系统的常用指标,而对于搜索引擎来说,精确率尤为重要。

  • 精确率:本次搜索结果中相关文档所占比例。
  • 召回率:本次搜索结果中包含的相关文档占整个文档集合中所有相关文档中的比例。