【前沿重器】

本栏目主要和大家一起讨论近期自己学习的心得和体会,与大家一起成长。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。

往期回顾

  • 心法利器[13] | 任务方案思考:句子相似度和匹配

  • 心法利器[14] | 任务方案思考:人工特征机器学习

  • 心法利器[15] | 准招分治效果调优方案

  • 心法利器[16] | 向量表征和向量召回

  • 心法利器[17] | 算法服务及其相关配件

应一些朋友之邀,想我谈谈这两个东西,那我就展开谈谈吧,和大家分享分享。

背景

搜索也好,检索式对话也好,文本是一个很难绕开的话题,虽然语义是一个重要因素,用语义相似度直接梭,但是用户的感知可不是如此,很多用户的感知更多是文本层面的相似要高于语义相似,或者说,遇到语义相似和文本相似的时候会更优先接受文本相似,毕竟文本使用户能直接看到的,当然语义相似度虽好,但是对于没有什么标注数据的情况,也是束手无策吧。

所以,即使语义相似度如火如荼地发展着,文本层面的匹配依旧是项目实践中不可避免的关注点。

cqr&ctr概念

cqr和ctr的概念还是比较清晰明确的。

给定query和title,现在计算cqr和ctr。

讲完了,就是这么简单,其实就是看两者交集占query的占比和占title的占比,就是对应的cqr和ctr。

当然,由于这种计算会把所有词的重要性考虑进去,例如“怎么做作业”分别和“怎样做作业”、“怎么做手机”,两个的相似度就一样了,此时就要考虑到给每个词加点权重,这样能更好地描述,这就是一个优化的实用版本,加权

给定query,有对应的权重和title,以及对应权重,现在计算cqr和ctr:

想到可能会有人问到权重怎么来,这里我就要把我的历史文章放出来了,之前是专门讲过词权重的问题的:NLP.TM[20] | 词权重问题

这个应该就是我自己平时用的版本了,而且屡试不爽。

而如果是要分析两个句子综合、无偏的相似度,只要相乘就好了:

细品

可以看到,这个东西很简单,就是一个基于统计计算的工具,但是我依然想仔细讨论一下这个东西。

首先,有关相似度,其实我们很容易想到这个计算方法:

就是比较著名的jaccard相似度,当然还有一个更加出名的方法,那就是BM25(更为常见,此处就不赘述了)。但是我并没有选择,为什么呢,其实核心就是1个点:

query和title的长度信息。

jaccard距离虽然能比较综合、无偏向性地计算两者的相似度,但问题是,当query和title长度计算差距很大的时候,计算准确性就会受到影响,而分成两个指标,则能够充分表现两者的相似性,当然具体用哪种其实还是要看具体场景的,有的时候这种无偏向性对效果优化还是有用的,但是有的时候其实会影响最终效果。

来看个例子,query是“我昨天新买的手机,今天怎么就不能开机了”,title是“手机不能开机”,这里可以,ctr无疑就是1,当然cqr就比较低了,但是我们可以用ctr作为后续的排序特征或者过滤条件。

优缺点

感觉有些东西想说但是没说出来,直接总结一下这个方案的优缺点吧,以便大家进行方案选择吧,这个优点,是相对于常见的语义相似度模型而言的。

首先说优点:

  • 能够体现文本层面的相似度,在一些领域下体验比较好。

  • 性能比语义相似度模型好很,所以是一个简单轻快的模型。

  • 无监督,词权重的话用语料就可以训练了。

  • 效果稳定可追踪。

当然,还是有缺点的。

  • 文本层面的匹配无法体现语义,同义词、说法之类的无法体现。

  • 对切词敏感,类似“充不进去电”和“充电”就完全匹配不上。

应用

有这些有缺点,其实我们就可以考虑这个相似度该怎么用了:

  • 用于过滤一些肯定不对的答案。

  • 无标注数据下,这个指标可以作为排序的指标,对启动项目挺重要的。

  • 作为排序特征,保证结果在文本层面还是比较接近的。

当然,在一个比较完整的搜索或者是检索式对话的系统里,其实这种文本相似度类的特征还是非常有收益的,结合语义相似度还是会有一些比较稳定的收益。

小结

东西其实不难,却是非常实用的技能,但是在应用的过程中能够想到的人其实很少,但有用的东西我们学起来也挺好。

心法利器[18] | cqrctr:文本匹配的破城长矛相关推荐

  1. 心法利器[62] | 向量召回和字面召回的选择与权衡

    心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会,与大家一起成长.具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有. 2022年新一版的文章合集已经发布,累计已经60w字了,获取方式看这里 ...

  2. 心法利器[51] | 长短句语义相似问题探索

    心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会,与大家一起成长.具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有. 近期,我再次总结了我的历史文章,累积起来有50w字,百余篇文章了,有兴 ...

  3. 心法利器[78] | 端到端任务的拆解设计

    心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会,与大家一起成长.具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有. 2022年新一版的文章合集已经发布,累计已经60w字了,获取方式看这里 ...

  4. 心法利器[32] | 一些印象深刻的bad case

    心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会,与大家一起成长.具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有. 往期回顾 心法利器[27] | 人工智能技术创新大赛决赛随想 心法利器 ...

  5. 心法利器[55] | 算法工程师读论文思路

    心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会,与大家一起成长.具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有. 近期,我再次总结了我的历史文章,累积起来有50w字,百余篇文章了,有兴 ...

  6. 文本匹配_如何又好又快的做文本匹配

    BERT推理速度慢,导致落地困难:找到效果不错,推理速度快的模型是一个方向,ESIM是一个很好的选择: ESIM[1] 推理速度快,效果不错,堪称文本匹配的利器: 对于ESIM,重点掌握就一点:是两个 ...

  7. 语义匹配(二)搜狐文本匹配大赛BaseLine比较:P-tuning和Conditional_LN实现多任务语义匹配

    语义匹配(二)搜狐文本匹配大赛BaseLine比较:P-tuning和Conditional_LN实现多任务文本匹配 比赛简介 数据样例 任务解读 即插即用的多任务模块 P-tuning P-tuni ...

  8. 谈谈文本匹配和多轮检索

    非常详细全面的文本匹配和多轮检索发展整理,建议收藏 1. 关于文本匹配  文本匹配是NLP的基础任务之一,按照论文中的实验对传统的文本匹配任务进行分类,大致可以分为「文本检索(ad-hoc),释义识别 ...

  9. 基于PaddleNLP的中文对话文本匹配

    ★★★ 本文源自AI Studio社区精品项目,[点击此处]查看更多精品内容 >>> 基于PaddleNLP的中文对话文本匹配 一.赛题解析 1.1 赛题背景 文本匹配任务在自然语言 ...

最新文章

  1. kobject_create_and_add
  2. 喜大普奔!GitHub官方文档推出中文版
  3. linux class device
  4. python3语法错误-关于在python3.7当中的语法错误!
  5. 为什么Segment会从微服务退回单体架构?
  6. logstash grok mysql_【Logstash系列】使用Redis并自定义Grok匹配
  7. security NO.1
  8. Cuiwei Li / Detection of ECG characteristic points using wavelet transforms
  9. 大厂年薪几十万,但是5-8年外包程序员,年薪是多少你知道吗?
  10. 机架式服务器主要内部组件,戴尔R815机架式服务器
  11. Edge浏览器保存主页视频的方法
  12. 常见的颜色搭配、衣裤搭配指南
  13. Latex爬过的坑(2)——I was expecting a ‘,‘ or a ‘}‘
  14. 一文带你吃透汉诺塔和其变形题
  15. 对于青少年编程等级考试的认识
  16. Python人脸识别项目-人脸识别-获取人脸图片
  17. 如何使用Jekyll搭建个人博客
  18. 支付系统实时交易流水监控设计
  19. 基础知识 | 近似误差 估计误差
  20. Run Android apps in Windows, OS X, Linux with Chrome (and a modified runtime)

热门文章

  1. 递归:Pell数列C++实现
  2. 接YSDK上架应用宝遇到的问题及解决办法
  3. 多用户商城开源-多店铺商城系统平台开发
  4. 既可以输入新的信息,又可以从下拉框中选择的代码
  5. php最新面试,PHP最新面试题2019
  6. 《Java虚拟机内幕揭秘:垃圾回收的奇妙世界》
  7. 《低功耗蓝牙开发权威指南》——2.2节时间即能量
  8. 2021-7-12 Git安装与使用
  9. C++中cout和cerr的区别?
  10. 如何进行网站软件质量控制