主要知识点:

  • 召回率的慨念
  • 精准度的慨念
  • match和近似匹配混合使用方法

 
 

 
 

召回率(recall:比如你搜索一个java spark,总共有100个doc,能返回多少个doc作为结果,就是召回率。

精准度(precision):比如你搜索一个java spark,能不能尽可能让包含java spark,或者是java和spark离的很近的doc的分数越高排在最前面。

直接用match_phrase短语搜索,会导致必须所有term都在doc field中出现,而且距离在slop限定范围内,才能匹配上。如果某一个doc可能就只一有某一个term没有包含到,也是无法作为结果返回。比如:

java spark --> hello world java --> 就不能返回了

java spark --> hello world, java spark --> 才可以返回

 
 

近似匹配的时候,召回率比较低,精准度太高了

直接用match进行查询时召回率较高,但是精准度太低了。

 
 

很多时候我们可能希望有部分term被匹配也能做为结果返回,并且返回的结果集中,以近似匹配的方式进行排序。这时就要混合使用match和近似匹配实现召回率与精准度的平衡。此时可以用bool组合match query和match_phrase query一起,来实现上述效果。

 
 

一、先执行macth查询:

 
 

GET /forum/article/_search

{

"query": {

"match": {

"content": "java spark"

}

}

}

查出4条数据,最大数据的分数是

 
 

二、再进行match_phrase查询:

GET /forum/article/_search

{

"query": {

"match_phrase": {

"content": {

"query": "java spark",

"slop":50

}

}

}

}

查询出一条结果,可以和上边作分数比较,本次查询分数较低。

三、混合查询

 
 

GET /forum/article/_search

{

"query": {

"bool": {

"must": [

{"match": {

"content": "java spark"

}}

],

"should": [

{"match_phrase": {

"content": {

"query": "java spark",

"slop":50

}

}}

]

}

}

}

也查出两条结果,但是两条结果的分数和上两次查询都不同,满足了我们的需求,

20.混合使用match和近似匹配实现召回率与精准度的平衡的更多相关文章

  1. Elasticsearch学习之深入搜索六 --- 平衡搜索结果的精准率和召回率

    1. 召回率和精准度 比如你搜索一个java spark,总共有100个doc,能返回多少个doc作为结果,就是召回率,recall 精准度,比如你搜索一个java spark,能不能尽可能让包含ja ...

  2. 一文让你彻底理解准确率,精准率,召回率,真正率,假正率,ROC/AUC

    参考资料:https://zhuanlan.zhihu.com/p/46714763 ROC/AUC作为机器学习的评估指标非常重要,也是面试中经常出现的问题(80%都会问到).其实,理解它并不是非常难 ...

  3. 准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure

    yu Code 15 Comments  机器学习(ML),自然语言处理(NLP),信息检索(IR)等领域,评估(Evaluation)是一个必要的 工作,而其评价指标往往有如下几点:准确率(Accu ...

  4. Andrew Ng机器学习课程笔记--week6(精度&召回率)

    Advice for applying machine learning 本周主要学习如何提升算法效率,以及如何判断学习算法在什么时候表现的很糟糕和如何debug我们的学习算法.为了让学习算法表现更好 ...

  5. 准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure(对于二分类问题)

    首先我们可以计算准确率(accuracy),其定义是: 对于给定的测试数据集,分类器正确分类的样本数与总样本数之比.也就是损失函数是0-1损失时测试数据集上的准确率. 下面在介绍时使用一下例子: 一个 ...

  6. 召回率(Recall),精确率(Precision),平均正确率

    https://blog.csdn.net/yanhx1204/article/details/81017134 摘要 在训练YOLO v2的过程中,系统会显示出一些评价训练效果的值,如Recall, ...

  7. 召回率,精确率,mAP如何计算

    首先用训练好的模型得到所有测试样本的confidence  score,每一类(如car)的confidence   score保存到一个文件中(如comp1_cls_test_car.txt).假设 ...

  8. 【AI】基本概念-准确率、精准率、召回率的理解

    样本全集:TP+FP+FN+TN TP:样本为正,预测结果为正 FP:样本为负,预测结果为正 TN:样本为负,预测结果为负 FN:样本为正,预测结果为负 准确率(accuracy):(TP+TN)/ ...

  9. (转载)准确率(accuracy),精确率(Precision),召回率(Recall)和综合评价指标(F1-Measure )-绝对让你完全搞懂这些概念

    自然语言处理(ML),机器学习(NLP),信息检索(IR)等领域,评估(evaluation)是一个必要的工作,而其评价指标往往有如下几点:准确率(accuracy),精确率(Precision),召 ...

随机推荐

  1. Solution:Cannot pull with rebase: You have unstaged changes in Github

    You can do this to work around using following steps 1. stash your changes with: git stash 2. pull f ...

  2. YTU 2769: 结构体--成绩统计

    2769: 结构体--成绩统计 时间限制: 1 Sec  内存限制: 128 MB 提交: 1021  解决: 530 题目描述 建立一个简单的学生信息表,包括:姓名.性别.年龄及一门课程的成绩,统计 ...

  3. 可写可选dropdownlist(只测试过ie)

    页面: 报废申请人:<asp:TextBox ID="txtPUSER" runat="server" Width="70px" Cs ...

  4. DStream 转换操作----无状态转换

    DStream转换操作包括无状态转换和有状态转换. 无状态转换:每个批次的处理不依赖于之前批次的数据. 有状态转换:当前批次的处理需要使用之前批次的数据或者中间结果.有状态转换包括基于滑动窗口的转换和 ...

  5. IDEA Spark Streaming Kafka数据源-Consumer

    import org.apache.spark.SparkConf import org.apache.spark.streaming.kafka.KafkaUtils import org.apac ...

  6. [Swift通天遁地]二、表格表单-(4)使用系统自带的下拉刷新控件,制作表格的下拉刷新效果

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  7. Akka源码分析-Actor&ActorContext&ActorRef&ActorCell

    分析源码的过程中我们发现,Akka出现了Actor.ActorRef.ActorCell.ActorContext等几个相似的概念,它们之间究竟有什么区别和联系呢? /** * Actor base ...

  8. openpyxl python操作Excel表格,

    这里openpyxl只支持xlsx格式的Excel,openpyxl使用起来会更方便一些,所以如果只操作小流水线文件的话,那么可以优先选择openpyxl,如果要兼容xls的话,就使用xlrd/xlw ...

  9. Elasticsearch之CURL命令的HEAD

    如果只想检查一些文档是否存在,我们可以使用HEAD来替代GET方法,这样就只会返回HTTP头文件. [hadoop@master elasticsearch-]$ curl -i XHEAD http ...

  10. XML解析-Dom4j的DOM解析方式更新XML

    Dom4j工具,是非官方的,不在jdk中. 使用步骤: 1)导入dom4j的核心包. dom4j-1.6.1.jar 2)编写Dom4j读取xml文件的代码 1.更新XML 1.1.写出内容到xml文 ...