0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

对话系统最原始的实现方式 检索式对话

深度学习自然语言处理 来源:深度学习自然语言处理 作者:深度学习自然语言 2020-09-25 17:08 次阅读

对话系统可以说是NLP领域目前已知最扎实的落地场景了,整个流程都脱离不了NLP的核心作用,而且整个流程涉及NLP的大量任务,因此大量的研究都围绕着对话系统来开展,也因此产生了很多很有意义的新方法。而检索式对话作为对话系统最原始的实现方式,又蕴涵着什么有意思的东西,我们来看看。

什么是对话系统

对话从来就不是一个简单的任务,这是一个涉及理解、生成、交互等多个方向技术的综合实体。

理解:需要理解对方输出的内容,只有这样才能给与正确的回应。

生成:基于理解的内容,给出合适的结果。

交互:在多轮对话上,需要记录跟踪整个对话过程中涉及的内容。

要同时完成这么多任务,相必是非常复杂的,同时场景上的复杂性,客服、语音助手、闲聊等,也造就了对话系统的复杂性,最终成为了NLP里面一个重要的研究抓手和目标。

检索式对话

检索式对话按照个人理解应该是最为经典的解决方案,把一个对话问题抽象为一个搜索问题,大量早期的对话系统都是用这种解决方案来实现的,甚至在现在,一些简单的对话任务,都可以用它来简单实现,可以说是工业界最喜欢的一种实现方式了。简单地说,整个检索式对话的流程可以用这个流程来表示:

query理解->检索召回->相似度排序

没错,看着就是搜索的流程,对句子进行理解,理解后到数据库里面进行召回,召回以后再进行相似度排序找到最佳答案。既然流程被拆解,那我们来看看每一步里面都会做什么东西。

query理解

简单的说,其实就是去理解用户输入的内容说的是啥,一般的自然语言理解主要关心的是这么几个技术细节:

意图和话题。即用户谈论的是哪个领域的事情,从而剖析用户期待对话系统返回的是什么。这个问题常被当成分类问题来处理,用分类规则或者是方法来进行意图识别。一旦抽象成分类问题大家就应该大概理解了,就是fastext、textcnn之类的玩意了。

槽位和实体。我们需要知道用户需要什么,需要抽取用户的具体实体,这个经常被抽象为序列标注问题,此时CRF、BILSTM-CRF之类的方法就是基操了。

当然,也有一些工程上会把它抽象化,只是转化为向量或者矩阵,下游用矩阵进行搜索。

总之,query理解这块,主要是为了解析用户说的内容,去理解他的语义,这样我们才能为用户找到合适的答案。

检索召回

召回这块,按照搜索的操作,就是拿着我们提取的槽位和实体,甚至是我们解析的向量和矩阵,根据意图和话题放到搜索引擎里面去检索,搜索引擎中有倒排索引,直接拿着关键词就能找到对应的内容。

然而,问题其实不在怎么检索召回,而是在于召回的内容怎么来。相比搜索引擎,对话系统的内容可能更加不结构化,同时可得性由于特定需求其实并不好得,例如淘宝的客服,每家店的商品性质各不相同,很难需要召回的结果,有正确答案的就更难了,所以,常用的方式有这几种:

对高频问题进行编辑,然后统一维护管理。数白了就是人编。

基于一些模板进行组装生成。

利用文本生成的方式进行处理。

相似度排序

一般地,根据用户最简单的query,往往能召回很多可能比较好的答案,此时我们要选择最优的给用户。衡量最优的标准之一就是相似度,语义相似度就是最为经典或者说基本的相似度衡量方式,当然搜索领域的ctr(不是点击率)、cqr、BM25等,这些非常基本的元素。

对经典的语义相似度,就要说2013年的DSSM了,这个模型可谓是开了语义相似度双塔结构的先河。

优缺点和应用场景

说完了具体的流程,然后再说说检索式对话的优点和应用场景。

先谈谈优点吧。

应该是这么多种对话实现方式中对样本依赖最低的。

实现成本低,初版本实现速度快,后续拓展

三段处理,可控性强。

因为这些优点,检索式对话在工程上被广泛应用。

客服机器人。尤其是淘宝的场景,这里有非常专业的内容,例如用户会问浴缸的长宽高,会问电脑的配置等等,这些用检索式非常方便。

问答类对话。例如小猿搜题之类的,还有一些百科类的问答,虽然不知道具体公司的操作,但是用检索式的确会非常方便。

对话系统初版本。即使是很多开放域,第一版本的构造都会尝试检索式对话的架构。

当然了,检索式对话这套实现方案还是有很大的局限性,因此才会有很多项目尝试做一些别的做法,先聊聊缺点:

答案相对固定,灵活性不足,在一些闲聊场景,会非常困难。如,用户问一句,你好,后面有很多答案都是合理的。

任务型的对话,在各种语音助手,小度、siri之类的很常见,一些引导用户完成任务的工作,对话机器人是需要做一个主动带节奏的角色,检索式基本办不到。

多轮对话。在检索式对话基础上,单轮对话升级为多轮对话其实是存在明显的天花板,成本也比较高,虽然已经有一些相关的操作,如Multi-view、SMN之类的,但是实现的难度还是会有些高。

小结

小结一下,检索式对话作为对话系统一个经典的技术,非常有必要学习和探究,今天大概讲了一些流程和概述,也希望大家有所收获。

责任编辑:xj

原文标题:【对话】对话系统经典:检索式对话

文章出处:【微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • nlp
    nlp
    +关注

    关注

    1

    文章

    463

    浏览量

    21824
  • 对话系统
    +关注

    关注

    0

    文章

    7

    浏览量

    2171

原文标题:【对话】对话系统经典:检索式对话

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    百度地图AI向导用户破亿,日均提供超千万次对话

    百度地图AI向导用户破亿,日均提供超千万次对话
    的头像 发表于 03-21 09:44 169次阅读
    百度地图AI向导用户破亿,日均提供超千万次<b class='flag-5'>对话</b>

    GUI高级组件对话框代码

    简单输入对话框 simpledialog(简单对话框)包含如下常用函数: 实操代码 """简单对话框""" from tkinter.simpledialog import *root = Tk
    的头像 发表于 11-26 17:05 661次阅读
    GUI高级组件<b class='flag-5'>对话</b>框代码

    GUI图形界面编程文件对话

    文件对话框 文件对话框帮助我们实现可视化的操作目录、操作文件. 将文件、目录的信息传入到程序中 文件对话框包含如下一些常用函数 命名参数 options 的常见值如下: 实操代码——文
    的头像 发表于 11-26 16:58 642次阅读
    GUI图形界面编程文件<b class='flag-5'>对话</b>框

    全网寻找“何同学,对话“极客”CEO

    点击蓝字 关注我们 还记得那个对话苹果CEO的何同学么? 自信自如的谈吐,收获全网点赞!  其实,给您一个机会, 您一样也可以是下一个“何同学”! 机会来啦,您来么? 2023年11月, 安森美
    的头像 发表于 10-27 09:35 238次阅读
    全网寻找“何同学,<b class='flag-5'>对话</b>“极客”CEO

    【比特熊充电栈】实战演练构建LLM对话引擎

    大模型时代,安全问题不容小觑。但如果把大模型比作孙悟空,那 NVIDIA NeMo Guardrails 就是“安全护栏”,可以轻松的为基于 LLM 的对话系统添加可编程护栏,来避免大语言模型输出
    的头像 发表于 09-19 13:40 754次阅读
    【比特熊充电栈】实战演练构建LLM<b class='flag-5'>对话</b>引擎

    如何在DS-5 Dtsl选项对话框1.0版中创建ETR配置选项卡

    ( ETR) 路由调试器( ETMC) 将追踪数据储存在目标平台的系统记忆中。 因为记忆地图可以改变, TMC 可用的记忆的位置和数量可能不会在调试会话中持续, 我们在 DTTTSTR 选项对话框的对话框中增加了这些功能控制。
    发表于 08-28 06:47

    BaiChuan13B多轮对话微调范例

    答案是不会。原因是LLM作为语言模型,它的注意力机制是一个单向注意力机制(通过引入 Masked Attention实现),模型在第一轮对话的输出跟输入中存不存在第二轮和第三轮对话完全没有关系。
    的头像 发表于 08-24 14:59 645次阅读
    BaiChuan13B多轮<b class='flag-5'>对话</b>微调范例

    人工智能人机对话

    人工智能人机对话 近年来,人工智能(AI)技术越来越成为社会各个领域的热门话题。其中,人机对话是人工智能技术广泛应用的一个方向。人机对话作为自然语言处理的一种应用,旨在使计算机具有人类般的说话交流
    的头像 发表于 08-17 12:37 914次阅读

    清听畅谈,轻松社交 森海塞尔推出全新对话清听耳机

    森海塞尔对话清听耳机 森海塞尔推出全新对话清听耳机 充满现代化设计风格的对话清听耳机让您听得更清晰,沟通更顺畅 想要在嘈杂的环境中更清晰地与人交流,森海塞尔推出的全新对话清听耳机是您的
    的头像 发表于 08-09 10:08 372次阅读
    清听畅谈,轻松社交 森海塞尔推出全新<b class='flag-5'>对话</b>清听耳机

    问答对话文本数据:解锁智能问答的未来

    在日常生活中,我们经常面临各种问题和需求,而智能问答系统作为一种人机交互工具,为我们提供了便捷的问题解答和信息获取方式。而问答对话文本数据作为推动智能问答系统发展的关键资源,扮演着重要
    的头像 发表于 07-13 14:19 321次阅读

    块调用环境对话框操作

    块调用环境对话框 如果已在项目环境内部打开块,将显示此对话框。 利用此对话框中的选项,能够为需要调试的块准确地指定调用环境,也就是说仅当满足设置的条件时才显示程序状态。 "块调用环境"对话
    的头像 发表于 06-27 11:43 389次阅读
    块调用环境<b class='flag-5'>对话</b>框操作

    问答对话文本数据,构建智能问答对话系统的基础

    在人工智能领域的发展中,问答对话系统显得尤为重要。一方面,它为我们提供了常用的人机交互方式;另一方面,它也对互联网公司和其他机构提供了一种新的商业模式。不过,对话
    的头像 发表于 06-18 23:02 351次阅读

    推动产业场景化、规模化智能升级,思必驰推出全链路对话系统定制开发中台

    上述行业挑战,思必驰自主研发了全链路智能对话系统定制开发中台(DUI中台),可以实现场景化对话系统的柔性组合制造。 资料显示,DUI中台可进
    的头像 发表于 06-08 16:39 204次阅读

    ProDiag如何使用“添加新块”对话

    ProDiag FB是用ProDiag编程语言创建的,例如使用“添加新块”对话框。
    的头像 发表于 05-17 17:29 737次阅读
    ProDiag如何使用“添加新块”<b class='flag-5'>对话</b>框

    如何实现Arduino通过ESP-01板与Blynk对话

    我想让我的 Arduino 通过 ESP-01 板与 Blynk 对话 我已经将程序放入独立的 ESP-01 并让它与 Blynk 对话,工作正常。 我怎么想添加 Arduino 我是否将
    发表于 05-04 07:09