评估对检索系统的性能:

由于我们这里的检索结果,是主要根据PageRank的排名,以及Lucene对文本的分词和相关性计算的最后得分,进行权值调整后得到的排名结果。

这里对我们检索系统的进行性能评估,这里主要评估的是检索结果排名的质量。

由于对搜索结果排名的评估有很多方法和技巧,这里我们可以采用几个比较经典的评估方法:

1,对rank result 计算P/R值,利用差值法,衡量平均的P/R值。

2,对rank计算DCG值,以及NDCG值,得到。

3,利用google的站内搜索功能,对我们自己的排名结果进行对比排名。

接下来详细说明下,是怎么使用各个评估方法的。

1,对rank result 计算P/R值,利用差值法,衡量平均P/R值。(具体求值方法,见附录。)

1.1首先,为了得到标准测试集。我们选择了5个有代表性的query,然后在我们抓的数据集中随机选择100个

静态网页。人工对100个网页,对5个关键词进行“相关/不相关”的二元标注。这样我们就得到了

标准测试集。然后我们使用自己设计的rank算法,对这100个网页进行索引。

对选择的5个query,进行查询,得到rank的结果。

1.2接下来,我们就可以进行进行rank的P/R值计算了。

分别计算得到10个Precision 和 Recall value。这样我们得到了一连串的PR值,

如何比较query之间的检索效果,就需要计算出avgPrec。将Recall里面递增的值

的prec的平均值。这样可以评估不同query间的检索效果。

1.3对上面计算的P/R值,计算其F1值。利用avgF值也可以得到评估排名的效果。

2,对rank计算DCG值,以及NDCG值,得到。(具体求值方法,见附录。)

2.1 首先我们选择出5个query,然后可以对全局爬下来的数据进行检索。

输入5个query后,得到的top10 结果。对10个页面结果,进行3个等级的区分:Good(好)、Fair(一般)、 Bad(差),

标注后,得到每个页面得分。根据DCG的定义,分别计算出DCG值。但是和上面遇到的问题一样,不同query之间的比较,不能很好

的比较,所以需要就计算NDCG,归一化DCG值后,query之间的效果就可以计算。一定程度上,可以比较方法1,2中的评估结果,

看下不同评估方法之间的效果和侧重点。

3,利用google的站内搜索功能,对我们自己的排名结果进行对比排名。

google站内搜索,是想利用google的搜索结果,计算出DCG值,然后和2中的值进行比较,查看结果,分析出现不同估算值的原因和结果,是否算法客观评估了效果,或者算法是否有需要改进的地方。

google站内搜索,还可以帮助,1中的测评中,代替大量人工评估的相关性方法,可以假设google搜出结果的前n条为相关性结果,

然后其余的为不相关,这样可以得到数量级更大的测试集。

关于测试集的获得,还可以使用人工标注的结果,然后对其余子集使用分类算法,进行相关性分类。这样也可以得到数量级大的测试集。

附录:

1, P/R 值,rank P/R值计算 , F1值计算。

来源于:wbia 课件

n 精度Precision P = tp/(tp + fp)

n 召回率Recall R = tp/(tp + fn)

Rank P/R 计算

2,DCG,NDCG计算。

来源于 http://hi.baidu.com/jasonlyy/blog/item/60614c487685983f09f7efe7.html

CG并不考虑在搜索结果页面中结果的位置信息,它是在这个搜索结果list里面所有的结果的等级对应的得分的总和。如一个搜索结果list页面有P个结果,CG被定义为:

reli是 第i位结果的得分。CG的统计并不能影响到搜索结果的排序,CG得分高只能说明这个结果页面总体的质量比较高并不能说明这个算法做的排序好或差。什么是好 的排序?也就是说要把Good的结果排到Fair结果上面、Fair结果排到Bad结果上面,如果有Bad的结果排在了Good上面,那当然排序就不好 了。到底排序好不好,需要一个指标来衡量,DCG就是这样的一个指标。

  上面的例子CG=3+2+1+3+2=11,如果调换第二个结果和第三个结果的位置CG=3+1+2+3+2=11,并没有改变总体的得分。

Discounted Cumulative Gain

  在一个搜索结果list里面,比如有两个结果的打分都是Good,但是有一个是排在第1位,还 有一个是排在第40位,虽然这两个结果一样都是Good,但是排在第40位的那个结果因为被用户看到的概率是比较小的,他对这整个搜索结果页面的贡献值是 相对排在第一位那个结果来得小的。

DCG的思想是等级比较高的结果却排到了比较后面,那么在统计分数时,就应该对这个结果的得分有所打折。一个有p(P≥2)个结果的搜索结果页面的DCG定义为:  

为什么要用以2为底的对数函数?这个并没有明确的科学依据,大概是根据大量的用户点击与其所点宝贝的位置信息,模拟出一条衰减的曲线。

  那么上例中的数字如右图所示:

DCG=3+(1+1.26+1.5+0.86)=7.62

DCG的公式另外一种表达式是:

这个表达式在一些搜索文档中经常会被提到,他的作用和之前的那个公式一样,但是这个公式只适合打分分两档的评测。

nDCG(normalize DCG)  因为不同query的搜索结果有多有少,所以不同query的DCG值就没有办法来做对比。

  定义: 

IDCG(ideal DCG),就是理想的DCG。IDCG如何计算?首先要拿到搜索的结果,人工对这些结果进行排序,排到最好的状态后,算出这个排列下本query的DCG,就是IDCG。

  因为nDCG是一个相对比值,那么不同的query之间就可以通过比较nDCCG来决定哪个query的排序比较好。

  例子中,理想的排序应该是3 、3 、2 、2 、1,那么IDCG=3+3+1.26+1+0.43=8.69

nDCG=DCG/IDCG=7.62/8.69=0.88,从nDCG这个值可以看出目前算法存在的优化空间。

转载于:https://www.cnblogs.com/goodness/archive/2012/04/16/2452800.html

[wbia 2.2] 对检索结果进行评估相关推荐

  1. 视频教学动作修饰语:CVPR2020论文解析

    视频教学动作修饰语:CVPR2020论文解析 Action Modifiers: Learning from Adverbs in Instructional Videos 论文链接:https://a ...

  2. 关于seo优化的核心思想

    简单说下,针对网页检索结果进行评估,主要是围绕精确率和召回率进行,具体如下: 1.相关性:query与结果说的是不是一回事 2.需求强度:抓住主要需求 3.丰富程度:详细全面 4.有效性:能否真正满足 ...

  3. 百度VS谷歌?搜索质量评判也要讲基本法

    PMCAFF(pmcaff.com)是在中国非常流行的产品经理社区.汇集160000+会员,8000+业界大咖,致力于为产品人提供专业的产品沙龙.课程培训.求职招聘等服务. 本文由PMCAFF会员凯撒 ...

  4. AAAI 2021 | 关键词指导的神经对话模型

    ©PaperWeekly 原创 · 作者|金金 单位|阿里巴巴研究实习生 研究方向|推荐系统 论文标题: Keyword-Guided Neural Conversational Model 论文来源 ...

  5. 双编码器的自然语言图像搜索

    正文字数:5798  阅读时长:10 分钟 如何构建一个双编码器(也称为双塔)神经网络模型,以使用自然语言搜索图像.   作者 / Khalid Salama 原文链接 / https://keras ...

  6. 四个数据欧几里得距离_从单词嵌入到文档距离 :WMD一种有效的文档分类方法...

    文档分类和文档检索已显示出广泛的应用. 文档分类的重要部分是正确生成文档表示. 马特·库斯纳(Matt J. Kusner)等人在2015年提出了Word Mover's Distance(WMD)[ ...

  7. 云原生背景下的运维价值思考与实践

    作者:刘天斯,腾讯游戏高级工程师 前言 随着公司自研上云战略如火如荼地进行,IEG-增值服务部作为较早一批响应的团队,截止目前自研上云已完成1/3的流量切换,日PV超百亿.切云的服务大量采用了云原生的 ...

  8. 【今日CV 计算机视觉论文速览 第147期】Tue, 23 Jul 2019

    今日CS.CV 计算机视觉论文速览 Tue, 23 Jul 2019 Totally 52 papers ?上期速览✈更多精彩请移步主页 Interesting: ?基于图像迁移的夜间车辆检测, 提出 ...

  9. (回环检测)Scan Context++: Structural Place Recognition Robust to Rotation and Lateral Variations in Urba

    论文创新基本和之前一致,只是比之前表达更加规范化,此外添加了很多有趣实验验证,没有余力可以不看这篇论文,之前那篇看完就够了 摘要 位置识别是机器人导航中的一个关键模块.现有的研究路线主要集中在视觉位置 ...

最新文章

  1. python pip
  2. flappy bird游戏源代码揭秘和下载后续---移植到android真机上
  3. autosar can协议栈 源码解读_我用一晚上时间给女朋友讲懂CAN总线的AUTOSAR网络管理...
  4. 深入理解Java虚拟机(2)
  5. VuePress 添加百度统计代码
  6. Delphi编程修改ProgressBar的颜色
  7. python书写风格_python书写风格
  8. python以垂直方式输出hello world_python3提问:垂直输出Hello World,全部代码不超过2行....
  9. SAP License:为什么一些现有成熟客户不愿意上S/4
  10. 在Mac电脑上如何将TXT文本转成PDF?
  11. 删除了电脑硬盘的数据能恢复吗,硬盘数据删除了还能恢复吗
  12. android 银行卡号 4位,Android中的EditText输入银行卡号四位空一格
  13. (31)Java基础语法 --接口
  14. 获取商品数据 API(商品详情、商品主图)
  15. Unity 给物体加贴图
  16. html5图片邀请函,html5,邀请函.doc
  17. java中输出一天每半个小时的时间段
  18. 大数据分析软件包含哪些技术?
  19. App引流推广:能够提高用户的转化的技术
  20. 病毒、蠕虫、木马区别

热门文章

  1. 计算器java程序设计报告总体设计,java程序设计实验报告-计算器
  2. 上百台linux的服务器互信,批量自动建立linux服务器之间的ssh互信
  3. 特殊教育学校计算机教学计划,2021年特殊教育学校教学计划
  4. java set泛型_Java 集合二 泛型、Set相关
  5. 家用计算机机箱怎么选,DIY装机怎么选择电脑机箱 新手必读的电脑主机箱选购指南...
  6. 1100: 求组合数(函数专题)
  7. Apache Hadoop 答疑:解决 Apache Hadoop 启动时 DataNode 启动异常的问题
  8. Spring BPP中优雅的创建动态代理Bean 1
  9. usb大容量存储设备驱动程序_20年历史了!为什么USB接口还存在?网友:原来如此...
  10. Python 装饰器详解(中)