[搜索引擎]性能评价

搜索引擎性能评价的目的

  • 对用户而言: 信息获取渠道
  • 对搜索引擎广告商而言
  • 对搜索技术研究人员而言
  • 对搜索引擎服务提供者
  • 从较差查询样例中学习
    • 链接锚本重定向问题
    • 清华美院
    • 团、派

搜索引擎性能评价流程

1.1 搜索引擎性能评价的对象

网络服务提供商的属性

市场占用率、

网络信息检索工具属性

网络数据环境、用户群体

搜索引擎运行效果
响应时间
耗费的硬件资源
是否满足用户的信息需求
用户获取信息耗费的时间成本?

根据用户的需求调整响应时间和查询质量?

1.2 搜索引擎性能评价的Cranfield体系

黑箱评价方式:给定标准输入情况下,看系统输出与标准输出的差异

输入:语料库,查询样例、相关性标注

优势:复用性(一次标注,多次使用)

语料库采集

信息检索系统:提供固定的语料库集合,集合规模适当,数据质量可靠

商业搜索引擎:不提供固定的语料库集合,评价数据抓取子系统性能

查询样例集合构建

  • 用户查询规模庞大
  • 核心问题:如何采样:真实性,精确性,全面性

查询采样的真实性:反映用户实际需求

来源:用户查询日志行为(日志隐私保护)、公开数据资源

查询采样的精确性:减少数据标注困难

查询采样的全面性:综合评价各方面性能

少量查询样例代表大多数需求
采样依据:内容类别、热门程度、需求类型

查询信息需求决定了用户使用搜索引擎的满意度,数据环境复杂用户意图难以琢磨

搜索引擎用户信息需求分布:

导航类:查询某个已知存在的资源,页面 主页,考试资源等等
信息类:查询与某个主题相关的关键信息资源 获取相关信息,没有确定查询目标, 香港股市,,,
事务类:查找与完成某个特定任务相关的资源 垂直搜索引擎服务对象 如:xxx下载,

保证采样全面性:查询热门程度(冷热保证) 查询信息需求(2:5:3)

结果相关性标注

内容相关≠关键资源

相关性结果的共性要求:

  • 结果提供的学习时新、真实可靠
  • 结果的标题和摘要应当方便阅读并有效引导用户阅读

以信息需求类别为指导

Pooling 方法

文本语料=》查询样例集 》 手工相关性标注

准确率/召回率

准确率:找到的是否准确
召回率:找到的是否全面

信息检索强调序列的关系

搜索引擎性能指标设计

AP:平均准确率

搜索引擎用户行为的特殊性

前10个结果(85%)

搜索引擎用户信息需求的差异性

• 导航类信息需求的用户仅关注特定检索目标
• 信息类信息需求的用户关注全面而权威的信息
• 事务类信息需求的用户关注自己的任务是否可以顺利完成。

指标适用描述
RR导航类用户在找到搜索目标前需要浏览多少结果
P@N信息类结果列表中多大比例信息能够满足用户需求?
MAP反映系统在全部相关文档上性能的单值指标。系统检索出来的相关文档越靠前(rank 越高),MAP就应该越高
前n位成功率事务类用户是否能够利用给出的结果完成自己所关注的事务

首位相关结果倒数(Reciprocal Rank)

$$RR = \frac{1}{Rank(1)}$$

适用于导航类型的查询信息需求( 用户在找到搜索目标前需要浏览多少结果? )

前N位准确率(Precision@N)

适用于信息类型的查询信息需求( 结果列表中多大比例信息能够满足用户需求? )

前N位成功率(Success@N)

适用于事务类型的查询信息需求( 用户是否能够利用给出的结果完成自己所关注的事务? )

其他

  • NDCG@N:
    • Normalized Discounted Cumulative Gain
    • 对结果进行多级相关性标注时适用
    • ERR: Expected Reciprocal Rank
    • Supported by Yahoo! and Google
    • 可以获取用户行为数据时适用
    • B-pref: Binary preference
    • 相关性标注不完整时适用

P@N的计算方法

P@N本身是Precision@N的简称,指的是对特定的查询,考虑位置因素,检测前N条结果的准确率。例如对单次搜索的结果中前5篇,如果有4篇为相关文档,则P@5 = 4/5 = 0.8 。

测试通常会使用一个查询集合(按照前文所述方法构造),包含若干条不同的查询词,在实际使用P@N进行评估时,通常使用所有查询的P@N数据,计算算术平均值,用来评判该系统的整体搜索结果质量。

N的选取

对用户来说,通常只关注搜索结果最前若干条结果,因此通常搜索引擎的效果评估只关注前5、或者前3结果,所以我们常用的N取值为P@3或P@5等。

对一些特定类型的查询应用,如寻址类的查询(Navigational Search),由于目标结果极为明确,因此在评估时,会选择N=1(即使用P@1)。举个例子来说,搜索“新浪网”、或“新浪首页”,如果首条结果不是 新浪网(url:www.sina.com.cn),则直接判该次查询精度不满足需求,即P@1=0

MRR 平均倒数排序

MRR是平均排序倒数(Mean Reciprocal Rank)的简称,MRR方法主要用于寻址类检索(Navigational Search)或问答类检索(Question Answering),这些检索方法只需要一个相关文档,对召回率不敏感,而是更关注搜索引擎检索到的相关文档是否排在结果列表的前面。

MRR方法首先计算每一个查询的第一个相关文档位置的倒数,然后将所有倒数值求平均。

MRR

上述的P@N方法,易于计算和理解。但细心的读者一定会发现问题,就是在前N结果中,排序第1位和第N位的结果,对准确率的影响是一样的。但实际情况是,搜索引擎的评价是和排序位置极为相关的。即排第一的结果错误,和第10位的结果错误,其严重程度有天壤之别。因此在评价系统中,需要引入位置这个因素。

MRR是平均排序倒数(Mean Reciprocal Rank)的简称,MRR方法主要用于寻址类检索(Navigational Search)或问答类检索(Question Answering),这些检索方法只需要一个相关文档,对召回率不敏感,而是更关注搜索引擎检索到的相关文档是否排在结果列表的前面。MRR方法首先计算每一个查询的第一个相关文档位置的倒数,然后将所有倒数值求平均。例如一个包含三个查询词的测试集,前5结果分别为:

查询一结果:1.AN 2.AR 3.AN 4.AN 5.AR
查询二结果:1.AN 2.AR 3.AR 4.AR 5.AN
查询三结果:1.AR 2.AN 3.AN 4.AN 5.AR
其中AN表示不相关结果,AR表示相关结果。那么第一个查询的排序倒数(Reciprocal Rank)RR1 = 1/2=0.5 ;第二个结果RR2 = 1/2 = 0.5 ; 注意倒数的值不变,即使查询二获得的相关结果更多。同理,RR3= 1/1 = 1。 对于这个测试集合,最终MRR=(RR1+RR2+RR3)/ 3 = 0.67

然而对大部分检索应用来说,只有一条结果无法满足需求,对这种情况,需要更合适的方法来计算效果,其中最常用的是下述MAP方法。

MAP

MAP方法是Mean Average Precison,即平均准确率法的简称。其定义是求每个相关文档检索出后的准确率的平均值(即Average Precision)的算术平均值(Mean)。这里对准确率求了两次平均,因此称为Mean Average Precision。(注:没叫Average Average Precision一是因为难听,二是因为无法区分两次平均的意义)

MAP 是反映系统在全部相关文档上性能的单值指标。系统检索出来的相关文档越靠前(rank 越高),MAP就应该越高。如果系统没有返回相关文档,则准确率默认为0。

MAP:全称mean average precision(平均准确率)。mAP是为解决P,R,F-measure的单点值局限性的,同时考虑了检索效果的排名情况。
计算如下:
假设有两个主题,主题1有4个相关网页,主题2有5个相关网页。某系统对于主题1检索出4个相关网页,其rank分别为1, 2, 4, 7;对于主题2检索出3个相关网页,其rank分别为1,3,5。对于主题1,平均准确率为(1/1+2/2+3/4+4/7)/4=0.83。对于主题 2,平均准确率为(1/1+2/3+3/5+0+0)/5=0.45。则MAP=(0.83+0.45)/2=0.64。”

打赏