基于反馈的Query改写:你说过的,我才最懂

​一、前言

本文对之前做过一段时间的Query改写(纠错,本文不严格区分这两种叫法)做一些总结,算法原理可以参考亚马逊的这篇论文:Feedback-Based Self-Learning in Large-Scale Conversational AI Agents。

二、方法

以前做Query纠错的一些通用思路是:基于大规模的线上日志训练一个相对置信的语言模型,基于相似度、编辑距离等方式挖掘一批高频词汇改写对,譬如说对于“伴奏兄弟”-->“半吨兄弟”这么一个改写对,原始ASR识别后的query有可能是:“播放伴奏兄弟的歌”,在经过中控的改写模块时,进行n-gram替换,按照语言模型的打分,发现:

Score(播放 伴奏 兄弟 的 歌)> Score(播放 半吨 兄弟 的 歌)

并且分数值满足一定的阈值设定,那么可以把改写的query和原始query一起送入下游意图识别模块,看召回情况,再打分。

这种改写方式,有理有据,但相应的短板也非常明显:

  • 高精度,但召回相对欠佳

  • 改写词汇对维护成本高

  • 意图打分模块,策略较重

另外还有一些seq2seq系列的方法,也做过相应的实验,这类改写方法过于不可控,当做玩具试试是可以的,包括也有Paper结合Bert来做的。

那么,有没有方法可以弥补上述经典纠错方法的短板呢?

亚马逊的这篇Paper,提供了一种新的思路,笔者之前也已复现并小幅改进了该篇论文,效果属实惊艳。Paper干的事情,其实就是提出了一种挖掘Query改写对的方法,基于用户和chatbot的历史交互数据,挖掘改写对,并把改写对提供给线上改写模块,进行整句替换,像Alexa、小爱、天猫精灵等,都有着对应的应用场景。

那么,Paper是怎么干的?流程如下:

  1. 用户query->dis映射

  2. Session数据构造

  3. Markov离线计算

  4. 最优NLU修正计算

  5. 融合音乐领域用户播放行为&人工Review

主要讲讲前三个步骤,我们分别来看,以用户和chatbot交互的历史数据为例,第一步干的事情,是把这些历史数据构造成query->dis的映射结构,关于dis是啥,来看paper中一张图:

utterance、dis转移示例

 

上图中的hidden state组成了interpretation space,在实操中,笔者并没有直接把query对齐paper中的hidden state构建(,,),而是将query映射到一个新的dis空间,dis由domain+intent+slot组成,我们要把相似的query给映射到统一的dis空间中。

第二步session数据,是由dis和reply组成的。那么session数据是怎么构造的呢,paper中做了一个约定,用户和chatbot连续两次的交互时间差在45s以内的,才能属于同一个连续的session。以上图c为例,下面是user和chatbot的一次完整交互记录:

user:play stickable me

chatbot:???

 user:play the album stickable me

 chatbot:??? 

user:play despicable me

 chatbot:ok.

前两轮的交互中,由于ASR识别错误、用户表述不明等可能的原因,chatbot并没能正确识别用户意图, 前两轮user的utterance(query)分别被映射入不同的dis空间中,分别为:

  1. music,#,music.dialog.general.general,#song:stickable me

  2. music,#,music.dialog.general.general,#album:stickable me

最终都未能成功播放,最后一次成功了,映射入成功的dis空间:

music,#,music.dialog.general.general,#album:despicable me

当我们构建好了足够多这样的session数据后,就能成功地计算出不同的utterance和dis之间的转移概率:

utterance-->dis, dis-->utterance计算标题

 

第三步,当session数据构造完毕后,我们便可以得到一个完整的dis空间,该dis空间各个dis之间的转移状态  也就能得到了。

得到了,,后,回过头来想想问题是不是可以转换为:当由于ASR识别错误或者用户表述错误等原因,chatbot未能正确识别用户的意图时,我们需要计算出一条最有可能的路径,以到达错误utterance最有可能的改写utterance?而第一步,即要求出原始错误的dis到达最有可能的dis的路径。此时,我们引入吸收马尔科夫链,关于吸收马尔科夫链的具体介绍,可以自行搜索学习。

为计算出每个可能的非吸收态到吸收态的概率,构造转移矩阵如下:

这里的是dis之间的转移矩阵,是各个是各个dis状态到成功/失败状态的转移概率矩阵,是一个单位矩阵。

中间还会有几步矩阵的计算比较关键,这里不细讲,最终我们会得到一个从起始dis状态到达success状态的最有可能路径,结合前述得到的和,我们即能算得最有可能的源utterance到目标utterance。

目标utterance的计算标题

 

当然,仅仅是得到了改写的utterance对还不行,一般还会有一些后处理操作,对应流程中的第四第五步,包括结合用户播放时长、切歌率等特征的后处理,以及会有上线后的改写utterance跟踪打点模块。

三、结果

下面来看几个改写例子,有一个直观的感受:

  • 金来-->播放惊雷

  • 鸟儿对话说-->鸟儿对花说

  • 给我打了羊-->播放你的酒馆对我打了烊

  • 泰国新加坡-->咖喱咖喱

  • 闭上你的狗嘴-->暂停

第一个改写对,金来改写为惊雷,《惊雷》是2020年的一首神曲(?),在挖掘的过程中,ASR误识别为”金来“,我们将其正确改写为了惊雷,这个case用编辑距离、相似度结合打分的方法也能解,第二个case同理;

同样,在和chatbot交互的过程中,可能存在用户表述不完整或者由于噪声影响A导致ASR识别不全等情景,以第三个case为例,便可给出算法认为改写正确的utterance,算是一种信息的补全;

第四个case说明的则是另一种比较特别的改写场景,“泰国新加坡”是歌曲《咖喱咖喱》中的一句歌词,用户在和chatbot说“泰国新加坡”的时候,chatbot搜索相关资源,在我们的场景下,一般会落到百科的domain,返回“泰国新加坡”的百科解释,但其实我们是想听《咖喱咖喱》这首歌,那么当chatbot返回用户不想要的资源时,用户会频繁地打断chatbot,甚至到最后就索性让chatbot“闭嘴”了,对应落到failure的dis状态,而那些最后正确说出《咖喱咖喱》的歌名的用户,则会允许chatbot播放完这首歌,对应落入success的dis状态;

第五个case,是用户想要让chatbot中止当前的工作,用比较口语化的语言让chatbot终止状态,然而chatbot无法理解,只有在用户说了比较清晰直观的祈使命令,chatbot才会执行对应操作。

实操中,在仔细分析了大量的改写case后,我们认为类似于第四、五种case,已经不是传统意义上的改写任务,而更加是一种推荐任务。

四、总结

以上是基于Amazon的Paper以及自己的一些实操经历,针对多轮对话类改写任务的一点小小总结,在工程上,对于上述的方法也做了一些尝试,非常有趣。此外,在面向头部和长尾的query改写任务时,试过不少的方法,也踩了不少的坑,欢迎相关研究方向的小伙伴一起入坑讨论。

五、参考文献

[1] Ponnusamy, Pragaash, et al. "Feedback-based self-learning in large-scale conversational ai agents."Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 34. No. 08. 2020.

文章公众号首发,更多文章、数据集资源,可以关注公众号,后台回复领取哦~

欢迎关注这个帅笔,不只是科研~

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/13196.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

朋友的身份证被骗子注册了支付宝开通了花呗,消费了三千被催债才知道花呗被盗如何处理?

自己花了就自己花了呗,啥叫被盗了,我有充分的理由怀疑你撒谎。 先来看下花呗是怎么开通的 步骤1:首先要在支付宝进行实名认证,在支付宝手机版个人信息中进行实名认证后,才具备基本的开通花呗的基本资格。 步骤2&…

起底51信用卡:年赚21亿涉暴力催收,子公司给714高炮导流

独角兽51信用卡和他的创始人孙海涛正陷入一场巨大的风波中。这家此前知名度局限在业内和杭州本地的互联网金融公司,正被推向大众视野。 今年9月以来,杭州警方接上级部门线索传递,结合日常工作发现,51信用卡涉及大量各地异常投诉信…

西门子PLC 延时催款程序程序

西门子PLC 延时催款程序程序。 Plc程序代写服务。 西门子1200 PlC编程实例 西门子PlC延时催款程序。 非标行业是一个特殊的行业,面对设备发货到现场后迟迟不肯付款的和找各种理由拒绝搪塞验收的客户,必须的采取非常的手段,其中给设备加密定…

一部手机背后的小镇青年:吃着蜜糖、喝着毒药

吴宵愁这次终于在大年三十前赶回了家。父母见到回家过年的儿子既欢喜又愁闷——1990年出生的吴宵愁目前还没有女朋友。 在吴宵愁的山东农村老家,这个年纪没结婚就是老大不小的困难户,父母出门都觉得脸上无光。更何况,吴宵愁2018年还惹了大麻烦…

这6点解释了罗永浩为什么要卖艺

01 是的,我们的‘老赖又上热搜了。 (ps:还是传统的语法,换了个人而已,味道有点改变) 11 月 3 日下午,罗永浩因锤子科技的 375 万欠款被江苏丹阳法院限制高消费,他不得乘坐飞机头等舱、软卧、高铁…

防骗指南-披着交友恋爱的外衣,诱骗受害者赌博转钱

转自https://zhuanlan.zhihu.com/p/58012607 说来巧,昨天刚看了一篇关于“东南亚杀猪盘”的报道,晚上就有朋友在群里发了几张截图,如下 打开此人的朋友圈,各种家庭和睦,生活小康,还时不时秀秀自己的锥子…

硅谷银行破产!真相更可怕:美国疯狂薅全世界的羊毛

观点| Mr.K 主笔| Wendy.L 编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 今天的故事先从一名高富帅开始说起。 这位高富帅出生于1983年,在美国电子工业和计算机业的王国硅谷。 家大业大的他,喜欢为创新科技企业提供金融服务&#xff…

辟谣、催债、倒闭.....2018年后,将再无创业黄金期!

导读 上下游没钱了,信贷机构没钱了,风险投资人也没钱了。中小企业成本和资金压力大,企业违约、到期没法还债,非银行金融机构爆雷、大量出问题,股市非理性下滑,所有人进入新一轮升级性迷茫。由于各项成本的抬…

扬州大学回应「清华博士入职5年,月薪才372元」

本文来源:封面新闻、澎湃新闻、知乎麦格纳,编辑:募格学术 7月22日,一位自称从清华大学博士毕业,现就职于扬州大学的教师在知乎上以“麦格纳”账号发文,称自己入职扬州大学5年,月薪仅为372元。 7…

Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day22】—— 并发编程2

大家好,我是陈哈哈,北漂五年。相信大家和我一样,都有一个大厂梦,作为一名资深Java选手,深知面试重要性,接下来我准备用100天时间,基于Java岗面试中的高频面试题,以每日3题的形式&…

南京“211”大学毕业生跳楼悲剧 家人在催债声中送别

斯人已逝,余波未了!南京一所211大学的23岁毕业生许阳(化名),8月31日跳下28楼,去世前3个月有34笔网贷申请。 一名从小到大都很优秀的学生,家中相对富足的他,为何会如此频繁申请贷款,又为何走向绝路?《每日经济新闻》记者前往其江苏苏中地区的家乡深入调查。 这是一次…

chatgpt赋能python:Python分离函数介绍

Python分离函数介绍 在Python编程中,函数是一个非常重要的概念。函数的分离是保持代码组织结构清晰的一种方式。一个好的函数设计可以让代码变得易于维护、扩展和重用。本文将介绍Python中如何分离函数。 什么是函数 在Python中,函数是一段可重用的代…

自己动手写chatGPT:神经网络的神经元和损失函数

chatGPT基于所谓的大模型,这里有两个关键词一个是“大”,一个是“模型”,我们先看什么叫“模型”。所谓模型其实就是深度学习中的神经网络,后者由很多个称之为“神经元”基本单元组成。神经元是一种基础计算单元,它执行…

YYC松鼠聚合直播系统源码 融和电商商城、网红热点、娱乐竞技直播等

正文: 松鼠聚合直播系统是一套团队自主研发、源码开源,可自由二次开发的直播系统。系统融和电商商城、网红热点、娱乐竞技直播等,能够快速实现吸粉引流,集合在线直播、互动分享、社交传播等一体化功能,实现“直播”的…

ChatGPT人工智能商业高效实操指南

帮助看见未来的人更快成功 现在,ChatGPT 的时代来了,越来越多的案例佐证,它正在取代人力,并且投入产出 比高到让人无法想象!轻松为企业主省出几十万! 那么人工智能在在商业里面到底扮演了多少个角色呢? 接下来我会告诉你们 1、承担客服工作,客户满意度大大提高 客服无疑是…

ChatGPT已能模仿任何写作风格,让你的自媒体快速起号

我认识的一两个技术大佬目前失业在家,压力不小。对于现在的就业市场来说,再找工作,高不成低不就。他们的薪资,一般企业无法承受,大厂岗位又在缩减。今年真正感受到了寒冬。 对于我们还有饭吃的程序员,现在不…

或许能用 ChatGPT 插件实现财富自由

文章目录 或许能用 ChatGPT 插件实现财富自由1. 认识一下1.1 是什么1.2 怎么用 2. 举个例2.1 Wolfram2.2 Browsing 3. 怎么做到的4. 财富自由4.1 生活类插件4.2 品牌推广类 5. 限制 或许能用 ChatGPT 插件实现财富自由 我们知道,当前 ChatGPT 最大的局限性就是模型…

chatGPT能做职业规划?看完之后发现3年软测白做了

“每天都是重复、单调的工作,收入不理想,想跳槽无力,学习又没有动力和方向,不知道未来的发展在哪里,甚至想转行” 做测试久了,很多人都有诸如此类的疑惑,不想一直停留在测试需求分析&#xff0…

剑指chatGPT,马斯克:你们暂停一下,我追赶追赶

前言 近期,马斯克被曝出购买了大约1万个GPU,并从DeepMind处招募到AI人才,打算开发自己的大语言模型(LLM)项目。 啥是GPU,就是图形处理器。一般用于构建大型语言模型所需。 GPU价格不菲,以英伟…

ChatGPT早报新闻5.6

2023.5.6早报 1.苹果的ChatGPT哪去了?库克的回应很谨慎 凤凰网科技讯北京时间5月5日消息,面对ChatGPT和其他聊天机器人的爆红,苹果公司CEO蒂姆库克表达了谨慎的看法。 库克在第二财季财报电话会议上称,人工智能(AI)的潜力“…