转载

从挑水果看精度与查全率如何影响搜索性能

从挑水果看精度与查全率如何影响搜索性能

精度与查全率是与搜精度与查全率索技术相关的两项根本性机制。二者有时看起来甚至有点是一回事——别急,下面我们就立足于实例对其加以讲解。通过这样的过程,大家也能够理解二者为什么在设计搜索应用时会扮演如此重要的角色。

作者:核子可乐译 来源:51CTO.com | 2016-04-08 12:35

51CTO首届中国APP创新评选大赛正在招募>>

【51CTO.com快译】是与搜精度与查全率索技术相关的两项根本性机制。立足于一次特定查询——利用搜索引擎查找特定文档集(即结果集),我们可以这样对二者做出定义:

  • 精度 为全部返回相关结果当中文档所占的百分比。
  • 查全率 为结果集中相关文档的百分比。

诚然,这些定义刚开始可能不太容易理解。二者看起来甚至有点是一回事——别急,下面我们就立足于实例对其加以讲解。通过这样的过程,大家也能够理解二者为什么在设计搜索应用时会扮演如此重要的角色。

另外,我们还将探讨精度与查全率之间经常出现的冲突状况。一般来讲,查全率越高、精度越差,而精度越高、查全率也就越差。这意味着搜索结果相关性中存在着一种最佳平衡点。幸运的是,我们有办法尽可能趋近该平衡点。

精度与查全率示例

这次让我们以水果来举例。首先请看下图。

从挑水果看精度与查全率如何影响搜索性能

搜索苹果后获得的文档插图及结果

当我们亲自走向水果摊时并打算买点苹果时,我们会首先想到“红色的、个头中等的水果”。通过这样的标准,我们可能会找到上图中的结果。在搜索结果中可以看到三个苹果以及三种红色、个头中等但不是苹果的水果(分别为西红柿、彩椒以及石榴)。重申之前的定义,精度为获得正确结果的百分比。在本示例中,六个结果中有三个正确,则精度则为50%。另外,对全部水果进行观察,大家会发现总计十三种水果中共有五只苹果。查全率指的是返回正确条目占全部正确条目的百分比。在本示例中,上图共包含五只苹果,而其中有三只被纳入返回结果,因此查全率为60%。

在理想状态下,精度与查全率应该都为100%。然而这几乎是不可能的,而且更重要的是这两项指标往往相互矛盾。如果提高查全率,那么精度将受到影响——因为搜索响应中将包含更多错误结果。另一方面,如果提高精度,那么查全率亦将受到影响,因为搜索响应会忽略某些正确结果。

从挑水果看精度与查全率如何影响搜索性能

色彩匹配要求更为宽松时的搜索结果

为了更好地理解精度与查全率间的矛盾关系,让我们继续来看水果示例。如果大家想提升查全率,则必须将搜索要求设定得再宽松一点。也许我们可以将水果的颜色放宽到包括黄色——毕竟有些苹果确实是黄的。如上图所示,这种情况下返回的苹果数量达到四个,查全率增加到80%。但是由于大多数苹果并非黄色,因此错误结果也增加了两项,精度降低至44%。

从挑水果看精度与查全率如何影响搜索性能

收紧搜索要求后的搜索结果集

下面再从另一个角度进行实验。如果我们收紧搜索要求——例如将大小的定义严格限定为中等,那么结果将如上图所示。在这里精度提升到了67%,因为排除掉了两种个头不符的其它水果,但同时个头比较大的一个苹果也被排除在外,因此查全率下降到40%。

尽管精度与查全率往往有所冲突,但我们还是有办法解决这一难题:引入更多特性。举例来说,如果大家在搜索中添加“味道”一项,那么西红柿可能会由于没那么甜而被排除掉。但遗憾的是,在搜索中纳入新特性往往没那么简单。而且在特定情况下,如果我们决定以味道作为指标从水果中搜索苹果,那么没准又会带来新的、意想不到的错误选项。

原文标题: Precision and Recall by Example: The Two Pillars of Search Relevance

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

【编辑推荐】

  1. 京东11.11:商品搜索系统架构设计解密
  2. JavaScript 浮点数及运算精度调整总结
  3. 程序员应该掌握的10个搜索技巧
  4. 美团是如何通过优化搜索排序提升转化效果的
  5. 机器学习与语义搜索,谷歌的终极目标何在?

【责任编辑:Ophira TEL:(010)68476606】

原文  http://developer.51cto.com/art/201604/508662.htm
正文到此结束
Loading...