目录

背景

为什么只用ES相似度匹配不行

解决同一意图不同表达的问题

“粗筛”+“精选”的意图匹配方案

另外一种思路:


背景

在对话系统领域,检索式对话系统一直是工业界的偏爱。而如何“检索”,或者说如何对用户query(输入的问题)进行意图匹配,则是能否做好检索式对话系统的关键所在。

笔者曾经简单的基于ElasticSearch的相似度匹配进行过实现 。后面又引入深度学习模型(详见:深度学习技术选型——文本相似度计算_chenxy02的博客-CSDN博客——“文本相似度识别”提升了系统的意图匹配机制,于是便有了这篇博客。

为什么只用ES相似度匹配不行

ES(ElasticSearch)所提供的相似度机制本质上是一种基于词频、基于规则的相似度计算(详见:ElasticSearch相似度匹配及分词器选择_chenxy02的博客-CSDN博客)。其优点是:快,非常快。但用ES相似度计算来做对话系统的意图匹配,存在什么缺点呢?

“深圳的市花是什么”&“鹏城的市花是啥” ,这两句话我们明显能看得出来 表达的是一个意图。但如果是仅用ES相似度识别实现的问答机器人 则是无法看出来的的。

解决同一意图不同表达的问题

虽然现在NLP技术的发展,还很难让机器的文字理解达人类的水平。不过随着Word2Vec、bert等NLP预训练框架的出世,NLP技术也是取得了一些不错的成就。比如:能把“北京”、“首都”这两个词,当做有接近意思的字;甚至在一定程度上 能识别出表达同一意图的不同句子。(关于"语言模型"、"词/句向量"的知识,可参见:自然语言处理中的预训练技术发展史_chenxy02的博客-CSDN博客)

简单点说就是,word2vec将每个词赋予了空间上的一个向量,我们通过word2vec就可以很好的计算出两个词之间的相似度。

“粗筛”+“精选”的意图匹配方案

基于上述的情况,笔者得到这样一个意图匹配方案—— “粗筛”+“精选”(详见下面流程图)。

先经过一个“粗筛”的模块,这个模块一般将用户当前轮的query与语料库里query进行快速匹配,得到几十上百个候选意图,完成第一轮的匹配。ES信息检索模型BM25 便是一个不错做“粗筛”模块的选择。

接下来便是使用深度学习模型,在得到的候选意图中进行精选。将选择结果对应的答案,返回给用户。

另外一种思路:

笔者采用上述 “粗筛”+“精选”的意图匹配方案,除了上述的分析,有一部分原因是不太想对 已运行的项目代码一次性做太大的改动。

其实还存在这样一种思路:去掉“粗筛”,直接“精选”——直接将word2vec存入elasticsearch,然后在召回的时候便可以根据word embedding来计算相似度召回(有机会再详细验证下基于这个思路做的方案,先写到这了)。

工程化方案:

上面讲述的都是一些核心处理逻辑,实际上我们在做工程化方案落地的时候。还得结合“推理引擎线程池”、“向量缓存”、“分布式计算”等技术,才能实现高性能 高并发 高可用。以上技术都是笔者团队在实现在线人脸识别能力(基于百万级人脸库)时的必要技术,有机会再写个文章细讲。

基于ElasticSearch+文本相似度模型的检索式智能对话方案相关推荐

  1. 基于自然语言生成技术的语义理解:实现智能对话和自动摘要的核心技术

    文章目录 基于自然语言生成技术的语义理解:实现智能对话和自动摘要的核心技术 1. 引言 2. 技术原理及概念 2.1. 基本概念解释 2.2. 技术原理介绍:算法原理,操作步骤,数学公式等 2.2.1 ...

  2. 基于IMX214+ZYNQ 双目MIPI模块   FL0214模块 双目视觉智能平台方案

    基于IMX214+ZYNQ 双目MIPI模块   FL0214模块 双目视觉智能平台方案 一.双目视觉智能平台概述 双目视觉智能平台以双路CMOS传感器IMX214+ XC7Z100 FPGA为基础, ...

  3. B.3【智能标注】:基于Labelstudio的UIE半监督深度学习的智能标注方案(云端版),提效。

    NLP专栏简介:数据增强.智能标注.意图识别算法|多分类算法.文本信息抽取.多模态信息抽取.可解释性分析.性能调优.模型压缩算法等 专栏详细介绍:NLP专栏简介:数据增强.智能标注.意图识别算法|多分 ...

  4. 文本匹配、文本相似度模型之BIMPM

    自然语言句子的多视角匹配 github: https://github.com/daiyizheng/shortTextMatch/blob/master/src/DL_model/classic_m ...

  5. AI 帮你说,基于 AI 文本生成的能力,生成祝福、对话、情话

    摘要 新年.过节.日常中,我们经常需要一些话术,例如春节的拜年祝福信息,情人节表达爱情的话语等,复制粘贴别人的话术,可能撞车还显得没有诚意,这时候就需要 AI 来帮你,利用 AI 生成独一无二属于你的 ...

  6. 深度模型压缩技术在智能座舱方案的探索与实践

    桔妹导读:近年来,智能汽车的概念已经成为了主流的发展趋势.汽车座舱在智能汽车的场景中成为关键一环.将汽车座舱智能化可以提高整体乘客乘坐品质和驾驶员行驶体验,智能座舱的功能丰富,其中多数核心算法是基于深 ...

  7. 基于隐马尔科夫模型文本相似度问题研究

    文本相似度是表示两个或者多个文本之间匹配程度的一个度量参数,相似度数值大,说明文本相似度高:反之文件相似程度就低.文本相似度的精确计算问题是进行信息处理的关键. 在如今信息技术飞速发展的互联网时代,文 ...

  8. 深度学习技术选型——文本相似度计算

    目录 背景: 目标: 方案一:直接使用Bert预训练模型生成句向量,再进行相似度计算 方案二:使用DSSM模型 方案三:使用sentenceBert 结论: 背景: 笔者由于在做一个检索式智能对话系统 ...

  9. 基于评论文本的深度推荐系统总结

    本文主要总结下近几年结合评论文本的推荐系统 (Review-based Recommendation),侧重深度学习的模型,并且开源了一个代码库: Neu-Review-Rec(https://git ...

最新文章

  1. 影像组学视频学习笔记(15)-ROC曲线及其绘制、Li‘s have a solution and plan.
  2. android 打开wifi并链接到制定ip,当设备连接到Android中的WiFi时,如何获取蜂窝网络的IP地址...
  3. Linux的Nginx报错emerg unknown directive stub_status in
  4. 常用计算机网络性能指标的是什么,什么是Bit?【计算机网络的性能指标】
  5. 搭建 ELK 问题排查
  6. 3.0-rsync格式
  7. python基础教程百度云-python从入门到精通视频教程百度云资源
  8. 纯js读取excel文件内容,支持所有刘浏览器
  9. qdu yzm10与大富翁的故事 (01背包+输出路径)
  10. 西部世界Filecoin双节点设置 大胆玩出圈
  11. android压力测试命令monkey详解,android压力测试命令monkey详解(示例代码)
  12. php ajax 考试倒计时,ajax实现在线考试倒计时
  13. 高通(Qualcomm)LK源码深度分析(三)
  14. 摄像头录像时出现连接错误
  15. 嵌入式计算机示例及应用
  16. 论文参考文献格式详细国家标准
  17. 台式计算机不休眠,台式机不休眠的解决方法
  18. Hinton独立发布44页论文火爆社区,没有实验:给你们个idea,自己去试吧
  19. 英文12个月份的来历
  20. linux直接安装run文件,[Linux]如何安装.run文件

热门文章

  1. 开启redis服务后,无法远程连接服务器上的redis的问题解决办法(Connection refused: no further information)
  2. 一物一码溯源防伪系统
  3. 莆田第十一中学2021年高考成绩查询,2021莆田市地区高考成绩排名查询,莆田市高考各高中成绩喜报榜单...
  4. 【实用】罗斯蒙特3051压力变送器如何进行调试校准?
  5. 程代展先生,您错了!
  6. Linux —— tftp 使用
  7. 如何在电脑中下载cctv中的视频
  8. linux 超级用户密码忘了,Linux系统下超级管理员root用户的密码忘记了怎么办?
  9. 网络主机防泄密安全保护方案
  10. word中图片自动编号和与文字编号对应及自动更新