1. 相关性

  相关性是一个查询响应满足用户搜索信息的一个度(程度).

  查询响应的相关性主要依赖于上下文的查询.单个搜索应用程序可以通过用户的不同需求和期望被用来在不同的上下文。例如,气候数据的搜索引擎可能由长期研究气候的大学研究人员使用,也可能被关心春天的最后一个霜冻的日期的农民使用,也可能被关心降雨模式和洪水的频率的土木工程师使用,也可以是一个大学生计划到一个地区,想知道这个地区的气候.因为这些用户的动机而变化,查询响应的相关性也随之发生改变.

  如何应综合查询响应呢?像一般的相关性,对这个问题的答案取决于搜索的范围内.在某些情况下,在查询响应中找到一个指定文档的成本比较高.比如,一个合法的e-discovery搜索响应subpoena,搜索其他时很慢,如搜索蛋糕食谱网站上的几十个或几百个蛋糕食谱.配置Solr时,你应该综合权衡对其他因素,如及时性和易于使用的.

  相关性的两个重要概念:

  • Precision(精确度):返回结果中,文档的相关性的百分比.
  • Recall:就是返回的相关结果从所有的相关结果所占的百分比,获得完美的召回很简单:只是对每一个查询返回集合中的每一个文档.

  回到上面的例子,我们需要100%的召回(recall)关联subpoena的所有的文档.这对于e-discovery搜索应用是很重要的,但是对于蛋糕搜索应用提供准确度就不是那么重要了.尽管如此,在一些例子中,在随意的上下文环境中返回太多的结果会压垮用户的感知.在某些情况下,返回有相关性较高的可能性较少的结果可能是最好的办法。

  使用precision和recall的概念,对于集合中的文档它可能会在用户和查询之间量化相关度.一个完美的系统,对于每一个用户和查询将会拥有100%的准确度和100%的召回(recall).换句话说,它将会检索所有的相关文档,没有其他的东西.在实际的terms中,讨论真正系统中的准确度和召回时,在一定数量的结果中专注准确度和召回是很常见的.最常见和有用的结果数时10条.

  通过分面,查询过滤,其他搜索组件,可以灵活配置solr应用来调整搜索顺序来返回对用户来说最相关的结果.也就是说,solr可以配置准确度和召回(recall)的一个平衡以满足特定用户群体的需要.

  Solr应用程序的配置应该考虑到:

  • 应用程序的各种用户的需求(除了严格信息需求外,还可以包括易用性和反应速度,)
  • 在各种环境中对于用户有意义的类别.例如,日期,产品类别,或地区
  • 文档任何内在关联性.例如,它可能是有意义的,以确保在正式产品说明或回答问题总是返回接近的搜索结果的顶部.
  • 文档的年龄是否时重要标志.

  考虑所有的因素,它在一个Solr的部署规划阶段往往有助于勾画出响应的类型,您认为搜索应用程序应返回的示例查询.一旦这个应用起来,并运行.你可以使用一系列的检测方法.

如关注分组,内部测试.

  关于更多的相关度信息,参考Grant Ingersoll的技术文档Debugging Search Application Relevance Issues.

1.7.3 Relevance-相关性的更多相关文章

  1. Elasticsearch学习笔记(十四)relevance score相关性评分的计算(1)

    一.多shard场景下relevance score不准确问题     1.问题描述:            多个shard下,如果每个shard包含指定搜索条件的document数量不均匀的情况下, ...

  2. 排序与相关性(Sorting and Relevance)

    本文翻译自Elasticsearch官方指南的Sorting and Relevance一章的第一节. 原文地址:http://www.elastic.co/guide/en/elasticsearc ...

  3. elasticsearch relevance score相关性评分的计算

    一.多shard场景下relevance score不准确问题 1.问题描述: 多个shard下,如果每个shard包含指定搜索条件的document数量不均匀的情况下,会导致在某个shard上doc ...

  4. 使用点击二分图计算query-document的相关性

    之前的博客中已经介绍了Ranking Relevance的一些基本情况(Click Behavior,和Text Match):http://www.cnblogs.com/bentuwuying/p ...

  5. 使用点击二分图传导计算query-document的相关性

    之前的博客中已经介绍了Ranking Relevance的一些基本情况(Click Behavior,和Text Match):http://www.cnblogs.com/bentuwuying/p ...

  6. Ranking relevance in yahoo search (2016)论文阅读

    文章链接 https://www.kdd.org/kdd2016/papers/files/adf0361-yinA.pdf abstract 点击特征在长尾query上的稀疏性问题 基础相关性三大技 ...

  7. ElasticSearch 相关性

    1.相关性 ElasticSearch检索结果是按照相关性倒序排列的,相关性是什么,相关性又是如何计算的?每个文档都有相关性评分,用一个正浮点数字段 _score 来表示 . _score 的评分越高 ...

  8. 【阅读笔记】Ranking Relevance in Yahoo Search (四 / 完结篇)—— recency-sensitive ranking

    7. RECENCY-SENSITIVE RANKING 作用: 为recency-sensitive的query提高排序质量: 对于这类query,用户不仅要相关的还需要最新的信息: 方法:rece ...

  9. 【阅读笔记】Ranking Relevance in Yahoo Search (一)—— introduction & background

    ABSTRACT: 此文在相关性方面介绍三项关键技术:ranking functions, semantic matching features, query rewriting: 此文内容基于拥有百 ...

  10. 搜索相关性算法在 DiDi Food 中的搜索

    导读:今天给大家分享的主题是搜索匹配问题在 DiDi Food 中的一些探索与应用.本文首先介绍了搜索相关性的一些背景,之后介绍了业界常见的三种匹配模型,以及在DiDi Food业务中的模型效果对比. ...

随机推荐

  1. JXSE and Equinox Tutorial, Part 1

    http://java.dzone.com/articles/jxse-and-equinox-tutorial-part —————————————————————————————————————— ...

  2. 【128】Word中的VBA

    通过查找关键字,然后删除整段文字的实现! Sub 删除查找含关键词的行() Dim KeyWord As String KeyWord = InputBox("请输入关键词(词长不限,中英均 ...

  3. 详解keil采用C语言模块化编程时全局变量、结构体的定义、声明以及头文件包含的处理方法

    一.关于全局变量的定义.声明.引用: (只要是在.h文件中定义的变量,然后在main.c中包含该.h文件,那么定义的变量就可以在main函数中作为全局变量使用) 方法1: 在某个c文件里定义全局变量后 ...

  4. TcxGrid导出EXCEL

    function ExportExcel(grid: TcxGrid; const fileName: string = '1.xls'): Boolean;var  sd: TSaveDialog; ...

  5. ado通用操作数据单元

    DELPHI开发2层C/S数据库应用程序,许多人通过ADOQUERY或ADOTABLE直接操作数据库,其实这种方法虽然最为直接,但有其缺点:如果以后要将程序升级为3层C/S会非常困难.而通过像下面的通 ...

  6. oracle学习 三(持续更新中)

    关于ora 01219问题的解决 之前学习oracle的时候练习去建立表空间,建了很多之后手动删除了,之后再使用自己创建的用户名登陆数据库就会造成数据库 ORA-01031: ORACLE initi ...

  7. “IPSec 共享密钥”丢失。

    “IPSec 共享密钥”丢失.请验证您的设置并尝试重新连接. 但是这个vpn原来使用时不需要配置 共享的密钥,而且我也没有这个共享的密钥, 搜了下Mac OSX可以修改配置来绕过它. 在/etc/pp ...

  8. JAVA大数运算

    java大数是个好东西,用起来方便,代码短. 代码如下: import java.util.*; import java.math.*; public class Main { public stat ...

  9. js date string parse

    function dateParse(dStr){ //var dStr = '2016-1-26 0:7:14'; var d = dStr.split(' ')[0].split('-'); va ...

  10. 【ToolGood.Words】之【StringSearch】字符串搜索——基于BFS算法

    字符串搜索中,BFS算法很巧妙,个人认为BFS算法效率是最高的. [StringSearch]就是根据BFS算法并优化. 使用方法: string s = "中国|国人|zg人|fuck|a ...