检索模型及评价指标小结
2013-05-26 12:24
369 查看
经典检索模型
信息检索模型从它诞生到现在经历了几个不同阶段,分别是基于集合论、基于线性代数、基于统计和概率阶段。虽然专家检索不同于传统的信息检索,但两者还是有很大关联,并且本文也将基于对专家描述文档的检索作为Baseline,作为后续优化的基础。因此了解传统检索模型是很有必要的,本文下面将对不同阶段的经典模型进行摘要性介绍。2.1.1.1 布尔模型
布尔模型是一个简单但却优雅的模型,它基于集合论和布尔代数理论。它在过去备受关注并被广泛应用到了很多早期商业搜索引擎中,近些年它逐渐被矢量空间模型和概率模型所取代,但仍然在信息检索领域占有一席之地,作为很好的Baseline来使用。布尔模型基于如下的假设:1.一篇文档可以由词的集合表示。2.查询可以表示为关键词用AND,OR,NOT逻辑运算符连接的布尔表达式。3.如果文档中的索引词满足查询的布尔表达式,那么该文档就是相关的。
例如用户查询为“苹果 AND (乔布斯 OR ipad4)”,如果一篇文章包含“苹果”,并且同时包含“乔布斯”或者“ipad4”其中一个,那么这篇文章就是相关的,就是满足用户需求的。
布尔模型很容易理解,也很容易实现,并且有布尔代数为其提供理论支持。
但布尔模型有一个致命不足,它是严格二元相关的(0或1),即相关或者完全不相关,不能反映相关的不同程度,并且它返回的结果是无序的,过于粗糙。例如
Q=World^Cup^South^Africa^2010,Index(d)={World,Cup,South,Africa},
d将被认为不相关。再如,
Q=World||Cup||South||Africa||2010,Index(d1)={World,Cup,South,Africa,2010};
Index(d2)={2010},此时d1和d2将被认为同等相关,尽管d1明显更相关一些。此外要求普通用户有能力自己构造恰当布尔表达式查询可能也不切实际。
2.1.1.2 矢量空间模型(VSM)
信息检索领域奠基人Salton于70年代提出了VSM模型,相对于布尔模型的严格二元相关,它提出了部分匹配的检索策略。VSM模型作为一种文档表示和相似度计算模型,不仅在检索领域,在文本挖掘、自然语言处理等领域也被广泛采用。VSM将查询和文档都表示为词的集合,并映射到一个高维空间,其中每一维代表文档集合中的一个词,通过计算查询词集所代表的空间向量和文档词集所代表的空间向量的相似度作为文档和查询的相关度。
VSM将词映射到高维空间时转化为权重,比较常用的映射函数是TF*IDF,它同时考虑了词在该文档和文档集合中的出现情况。一个基础的TF*IDF公式如下:
ω=tfi(d)*log(N/dfi) (2-1)
(2-2) |
VSM模型中,特征权值的计算框架为TF*IDF,但具体TF,IDF计算公式却有多种变形:
一种TF变体公式为:Wtf = 1+ log(TF),该公式是为了抑制词频过大带来的副作用。即一个单词在一篇文档中出现了10次,在另一篇文档中出现了1词,按照公式(2-1)TF会相差10倍,但实际上我们不需要这么大的差异,选取log进行缓冲,其中公式中的1是为了词频为1时的平滑。
另一种TF变体公式为: ,该公式是为了对长文档的抑制。TF表示单词在文档中的实际词频,Max(TF)代表该文档中次数最多的那个单词的词频。α是调节因子,新的研究表明α取0.4效果比较好。
一种IDF变体公式为: ,各项含义同公式(2-1),其中1是为了平滑当df等于N的情况。
根据TF*IDF计算框架,如果将一个词的TF和IDF按照高低可以分为四个象限,词的综合权重如表2.1所示。
TF高 | TF低 | |
IDF高 | 高 | 一般 |
IDF低 | 一般 | 低 |
(2-2) |
除了用余弦计算相似度,还有如下常用相似度计算方法可以使用,如表2.2示。
表2.2 常用相似度计算方法表
方法名称 | 计算公式 |
Simple matching | |
Dice’s Coefficient | |
Jaccard’s Coefficient | |
Overlap Coefficient |
2.1.1.3 概率模型
概率模型由Robertson和Sparck Jones在1976年提出,他们利用了相关反馈信息逐步求精以期望获得理想的查询结果。概率模型的基本思想是:根据查询Q将文档集合中的文档分为两类,与Q相关的集合R,与Q不相关的集合R’。对于相同类的文档集,各个索引项的分布相同或相近;对于不同类的文档集,各个索引项分布不同。由此可见,对文档中各个索引项的分布进行计算,依据计算出来的分布情况,我们就可以对文档和查询的相关度进行判定,即:(2-3) |
到目前为止比较常用的概率模型公式是Robertson提出的BM25公式,
(2-4) | ||
(2-5) |
概率模型有严格的数学理论基础,理论性强,是目前效果最好的模型之一,在TREC等评测项目中已经证实了这一点,但是该模型对文本集的依赖性过高,公式需要参数估计,并且依赖二元独立性假设。
2.1.1.4 语言模型
语言模型在应用于信息检索(Information Retreval)之前,已经在语音识别、机器翻译及中文分词中得到了成功应用,具有准确性高、容易训练、容易维护等优点。语言模型建模方法大致分为两类:一种是完全依赖大规模文本数据,进行统计建模;另一种是基于乔姆斯基的形式语言为基础的确定性语言模型,该建模方法更加注重语法的分析。
从基本思路来说,其他检索模型都是从查询到文档进行考虑,即给定用户查询如何找出相关文档。然而,语言模型正相反,是一种逆向思维方式,即由文档到查询进行考虑,为每个文档建立不同的语言模型,判断由文档生成查询的概率是多少,根据这个概率大小进行排序作为最终搜索结果。
应用于IR后,语言模型和文档紧密联系,当输入查询q后,文档依据查询似然概率或者文档在该语言模型下能产生该查询的概率进行排序。如果假设词项之间相互独立,采用一元语言模型则有:
(2-6) |
但语言模型面临数据稀疏问题,即查询词不在文档中出现,整个生成概率将为0,所以语言模型引入了数据平滑,即单词分布概率的“劫富济贫”,这样所有单词都有非零的概率值。语言检索模型经常引入文档集的一个背景概率来作为数据平滑。背景概率是文档集的一个整体语言模型,由于文档集规模比较大,所以绝大多数查询词都有出现,避免零概率。如果文档集合也采用一元语言模型,则一个单词的背景概率就是该单词出现的次数除以文档集所有单词的出现次数和。加入数据平滑的生成查询词概率公式为
(2-7) |
后来IR中出现了很多语言模型的变种,其中一些已经超出查询似然概率模型范畴,比如基于KL距离的模型。目前各种检索评测项目中,语言模型检索方法略好于参数优化后的向量空间模型,与BM25等概率模型效果持平。
DFR(DivergenceFrom Randomness Models)模型由Gianni Amati, Keith van Rijsbergen在2002提出,它以统计和信息论为理论基础,是当今比较有效的检索模型之一,而且它是parameter-free的统计检索模型。
Inf(tf|d)表示文档d中每个词所包含的信息量, ,对文档排序意味着把包含信息越多的文档排到前面。
其中TF词在文档集中的词频,l(d)是文档d长度,tf是词在长度为l(d)的文档中的词频,TFC文档集中词的总数。
DFR分为两种类型:针对每篇文档的模型(Type I)和针对真个文档集的模型(TypeII)。
Type I DLH采用平均信息量作为词t的词权重:
Type II DPH使用另一种方式作为t的词权重:
检索模型评价指标
信息检索中最常用的两个基本指标是准确率和召回率,如图2.3所示:图2.3 准确率与召回率示意图
准确率与召回率的定义如下公式:
准确率=返回结果中相关文档的数目/返回结果的数目 (2-8)
召回率=返回结果中相关文档的数目/所有相关文档的数目 (2-9)
一种融合了正确率和召回率的指标是F值:
(2-10) |
<1表示强调准确率, >1表示强调召回率。通常F取1即准确率召回率同等看待,此时:
(2-11) |
1.平均准确率AP
(2-12) |
2.MAP(Mean Average Precision)
MAP在AP基础上表示查询集合平均准确率均值:
(2-13) |
表示排名最高的n篇文档中相关文档所占的比例。
4.NDCG(Normalized Discounted cumulativegain)
每个文档不仅仅只有相关和不相关两种情况,而是可以分为不同的相关度级别,比如之前提到的五级相关,0,1,2,3,4。NDCG计算比较复杂,分为如下几个步骤,即CG(CalculatedGain),DCG(Discounted Calculated Gain),NDCG。
DCG是对多值相关的评价指标,并且包含一个位置折扣因子。
(2-14) |
NDCG是对DCG的归一化:
(2-15) |
表2.2 准确率与召回率
Doc Id | 相关度等级 | Gain | CG | DCG | Max DCG | NDCG |
1 | 5 | 31 | 31 | 31=31*1 | 31 | 1=31/31 |
2 | 2 | 3 | 34 | 32.9=31+3*0.63 | 40.5 | 0.81 |
3 | 4 | 15 | 49 | 40.4=32.9+15*0.5 | 48.0 | 0.84 |
4 | 4 | 15 | 64 | 46.9 | 54.5 | 0.86 |
5 | 4 | 15 | 79 | 52.7 | 60.4 | 0.87 |
6 | … | … | … | … | … | … |
相关文章推荐
- 检索模型评价指标
- 图像检索 - 评价指标
- 语言模型评价指标Perplexity
- 显著性目标检测模型评价指标(三)——F-measure
- ROC曲线与AUC--模型评价指标
- 图像检索评价指标
- 机器学习模型评价指标准确率召回率精确率
- 分类器模型评价指标之ROC曲线
- 机器学习模型的评价指标和方法
- 模型评价指标——精确率,准确率,召回率,F1值
- 常用的一些算法模型评价指标
- 二分类模型评价指标-AUC
- 机器学习算法模型评价指标
- 机器学习模型评价指标
- 机器学习模型的评价指标和方法
- MXNet 分类模型训练之采用多指标评价模型能力(accuracy,cross-entropy,top_k_accuracy)
- 二值分类模型的评价指标
- 机器学习模型的评价指标和方法
- 机器学习模型评价指标 -- 混淆矩阵
- 机器学习实战---详解模型评价指标