Soft_Job 板


LINE

年初决定写个对话式AI专栏,把个人在业界的开发经验写下来,到目前为止已经有七篇文 章了,详述了聊天机器人框架的方方面面;第八篇文章还在拖稿时,碰到Soft Job版徵文 活动,觉得本系列非常契合活动的技术与实务经验分享宗旨,相关知识也不是随便就能取 得的,就趁今晚打着夜灯,熬夜把它给写完了,在此分享给各位业界先进。 【阅读本文前建议先看】 http://www.lionethan.com/Chatbot的类型与对比/ http://www.lionethan.com/Chatbot的阅读能力-自然语言理解篇/ 【什麽是对话管理】 聊天机器人的对话管理(Dialogue Management)是为了根据目前的对话状态,决定系统应 该做些什麽。通常分为两个子模组,负责更新对话状态的「对话状态追踪」( Dialogue State Tracking),其输入自然语言理解模组所得到的使用者动作,以及过往的 对话历史,输出对话状态;以及决定系统动作的「对话策略学习」(Dialogue Policy Learning),其输入对话状态,输出系统动作。上述的「使用者动作、对话状态、系统动 作」皆可用一个意图与一组槽位值表示。 【对话状态追踪】 目的是透过「使用者动作」及「对话历史」更新对话状态,其对话历史可能隐含着因资讯 不足,经过系统反问使用者後,产生的「多轮对话内容」;有些需求还会参考使用者画像 (User Profile),以补足必要的「个性化资讯」。透过推理和总结上述内容,转换成简 单的对话状态(一个意图与一组槽位值),系统可以将当前的对话状态映射成更完整的表 示(Representation)。为了考虑自然语言的模棱两可,语音辨识或自然语言理解模组所 产生的失误,根据可能正确的使用者动作数量,可进一步分成只考虑置信度最高的1-Best ,以及考虑多个使用者动作与置信度的N-Best方法。 【对话策略学习】 目的是透过「对话状态」决定系统该做些什麽,如果对话状态的意图在系统能够提供的服 务项目之内,系统会检查槽位值是否齐全,然後使用其内容查询服务API,以得到关键答 案或内容;若对话状态的意图不明,或其符合特定服务但槽位值有缺失,系统应该主动向 使用者提问,透过多轮对话及对话状态追踪来蒐集足够的资讯。最後将关键答案或内容封 装到系统动作中,以一个意图及一组槽位值代表,提供给自然语言生成模组(Natural Language Generation)。 【对话管理的实作方法】 基於规则( Rule-based )的方法,透过编写明确的规则,来建立各种槽位状态下,使用 者动作所对应的系统动作,此种方法无法处理不确定的状态,且需要手工编写规则,仅适 合特定领域的简单场景。 基於有限状态机(Finite-State Machine, FSM),此种方法又可分为「以点代表槽位状态 ,以边代表系统动作」,以及「以点代表系统动作,以边代表槽位状态」两种方案;槽位 状态可分为有或无,系统动作则是询问槽位或最後回答两种,为避免置信度过低,也可以 增加动作请使用者二次确认。由於前者在槽位增加时,会使状态数量急遽增多,只适合资 料驱动的方式;若要以手工建置会建议采用後者。采用有限状态机的优点在於实作简单, 且容易理解,缺点是每个状态和动作都要手工设计,不利於复杂场景。 基於统计(Statistical-based)的方法,通常采用马可夫链(Markov Chain)将对话过 程表示成决策过程,而系统在每个对话状态中决定下一步动作。采用马可夫链的优点在於 只需要在决策过程中定义槽位状态与系统动作,就可以自动学习到状态的移转关系,也可 在过程中导入强化学习(Reinforcement Learning)与线上学习(Online Learning),缺 点是同样需要手工设计,不利於复杂场景。 基於深度学习(Deep Learning)的方法,输入使用者动作及相关特徵,输出对应的系统 动作,以训练深度类神经网路模型。基於深度学习的方法需要大量训练资料才能够取得效 果,目前实际应用上还难以满足此须求。 【对话管理的具体流程】 1.自然语言理解模组取得使用者对话「推荐我一家台北的餐厅」,此时会侦测使用者意图及 识别命名实体,并将结果封装成使用者动作(意图=推荐餐厅, 地点=台北),得以将自然 语言映射成简单的语意表示。 2.对话状态追踪模组透过使用者动作(意图=推荐餐厅, 地点=台北)更新当前的对话状态, 然後在地点填充常用的预设值,并透过使用者画像补充用餐的个性化资讯,最後输出对话 状态(意图=推荐餐厅, 地点=台北公馆, 口味=喜欢吃辣)。 3.对话策略学习模组得到对话状态後,发现其意图在系统能够提供的服务项目之内,但还缺 少了用餐时间,系统应该反问使用者;所以输出系统动作(意图=对空白槽位提问, 地点= 台北公馆, 口味=喜欢吃辣, 时间=Null)。 4.自然语言生成模组执行系统动作,产生问句向使用者提问欲用餐的时间「你想在什麽时 间用餐呢?」。 5.自然语言理解模组取得次轮的使用者对话「明天中午」,再次侦测意图及识别命名实体, 得到使用者动作(意图=不明, 时间=2020年3月30日12点)。 6.对话状态追踪模组参考使用者动作及对话历史,更新当前的对话状态(意图=推荐餐厅, 地点=台北公馆, 口味=喜欢吃辣, 时间=2020年3月30日12点)。 7.对话策略学习模组利用使用者动作及对话历史,蒐集餐厅推荐服务的必要资讯,透过查询 服务API得到答案後,封装成系统动作(意图=推荐餐厅, 地点=台北公馆, 口味=喜欢吃辣 , 时间=2020年3月30日12点, 餐厅=右手餐厅, 类型=泰式料理)。 8.自然语言生成模组执行系统动作,产生具体答案「建议你明天中午可以到台北公馆的右手 餐厅享用酸辣的泰式料理」。 【未来的发展方向】 为了解决基於深度学习的对话管理方法,在训练资料上普遍不足的问题,业界已尝试使用 N-Shot Learning在小样本下进行训练,以及使用Zero-Shot Learning在没有任何训练 资料的情况下,进行现有模型的迁移与补全,以及在马可夫链决策过程中,导入强化学习 与线上学习,建立奖惩与持续学习的机制;也有学者将GAN应用在自然语言处理上,透过 SeqGAN让两个模型相互博弈, 以学习最强的对话策略。 【参考文献】 POMDP-based Statistical Spoken Dialogue Systems: a Review http://mi.eng.cam.ac.uk/~sjy/papers/ygtw13.pdf Maximum Entropy Markov Models for Information Extraction and Segmentation http://www.ai.mit.edu/courses/6.891-nlp/READINGS/maxent.pdf Reinforcement Learning https://en.wikipedia.org/wiki/Reinforcement_learning One-Shot Learning https://en.wikipedia.org/wiki/One-shot_learning Zero-Shot Leaning https://en.wikipedia.org/wiki/Zero-shot_learning SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient https://arxiv.org/abs/1609.05473 【其他对话式AI专栏文章】 http://www.lionethan.com/Chatbot的类型与对比/ http://www.lionethan.com/基於知识库的问答系统实作方法/ http://www.lionethan.com/模组化的任务导向对话系统实作方法/ http://www.lionethan.com/Chatbot的阅读能力-自然语言理解篇/ http://www.lionethan.com/Chatbot的记忆与决策-对话管理篇/ http://www.lionethan.com/Chatbot的写作能力-自然语言生成篇/ http://www.lionethan.com/预训练语言模型比较(elmo、bert、gpt-2)/ http://www.lionethan.com/Chatbot的挑战与发展趋势/ http://www.lionethan.com/AI研发部门与开发流程介绍/ --
QR Code



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.10.25.155 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1585506572.A.430.html
1F:推 hentai: 感谢分享 03/30 10:13
2F:推 ian90911: 感谢分享 03/30 10:45
3F:推 SuperSunny: 感谢大神分享 03/30 13:16
4F:推 vvind: 推 03/30 14:18
5F:推 qrtt1: 有看有推 03/30 16:49
6F:推 single4565: 推 03/30 19:25
7F:→ DrTech: 学术文章翻译,实际上跟工业界结合落差蛮大的 04/02 12:37
8F:→ DrTech: 建议附上一些学术文章的参考文献来源。尊重一下原作者。 04/02 12:41
我日前在业界带领团队研发新一代Chatbot产品,而敝司在此领域已经有近十年的经验了; 这些文章是以个人业界研发经验为主,广读的Paper为辅,每一字一句都是直接凭着记忆, 思考和内化後亲手撰写的总结与心得。 不是任何学术文章的翻译,而且完全出於业界的实务需求;文章也已经尽量力求完美, 如果相关内容有错误或不符合现况,欢迎提出具体问题,一起讨论交流加以完善。 另外,我也很乐意整理本文中,提到的所有文献下载连结,以供大家参考, 请给我一些时间。
9F:推 tommykang: 推狮子大神 谢谢分享业界经验 04/02 15:47
10F:→ tommykang: DrTech不懂装懂 04/02 15:47
不会啦!同样是对话式AI,每间公司的研发方向和脚步不同, 有不同的业界经验是正常的,也因为这样才会有分享的价值。
11F:推 a2551127: lion大的文笔真的很好 我不懂nlp所以看不懂有关文献无法 04/02 17:41
12F:→ a2551127: 入门 但是这系列写的很全面又好懂 推推 希望之後能继续 04/02 17:41
13F:→ a2551127: 以实务的角度对每项技术深入说明 04/02 17:41
谢谢,完成自然语言生成篇後,会想先讲讲"知识图谱"在业界的实际应用情况。
14F:推 tommykang: 我的意思是DrTech前几篇连Chatbot不代表闲聊都不懂 04/02 18:56
15F:→ tommykang: 还在学术界工业界落差大 别来乱好吗?软工版不适合打高空 04/02 19:00
你的意思应该是Chatbot一词,不只代表"闲聊",其实还包含"问答"和"任务导向对话系统" ,我之前的确纠正过DrTech;由於常有人误解这点,这也是我亲手写专栏的用意,希望能 带给大家正确的观念。
16F:→ DrTech: 不贴原始论文打脸啦。只是提醒而,继续抄当作自己发表我也 04/03 09:00
17F:→ DrTech: 没意见。另外,本人nlp几年了,论文也有几篇,专利超过40 04/03 09:00
18F:→ DrTech: 篇。那些说我不专业的,或者学术定义的chatbot不专业的, 04/03 09:00
19F:→ DrTech: 真没必要,互相尊重吧。 04/03 09:00
20F:→ DrTech: 此行业已经很少人做了,没必要拉仇恨。真的只是提醒引用原 04/03 09:03
21F:→ DrTech: 文让大家有更多参考而已。 04/03 09:03
22F:→ DrTech: 我们都是知识工作者,用别人的成果注明出处很平常吧。 04/03 09:07
胡说八道,就是业界心得分享,哪来的原始论文, 有的话请你直接贴上来,咱们比对一下验真章。 虽然他们骂你不专业,可能会让你不舒服,我也不知道你拿的是什麽专利, 但你的确对「Chatbot、NLP」等对话式AI不是很熟悉, 才会觉得「只有开放领域的闲聊才会用Chatbot这个词, Chatbot不包含任务导向的对话系统」,但那是完全错误的观念, 跟是不是学术定义无关,业界与学界皆是以Chatbot一词代表「闲聊、问答和任务导向 对话系统」,请参考以下连结: 1.英文维基百科的定义 https://en.wikipedia.org/wiki/Chatbot, 2.中文IThome的介绍 https://www.ithome.com.tw/news/113445 3.我整理的Chatbot类型与对比 http://www.lionethan.com/2020/01/chatbot%E7%9A%84%E9 但为了避免任何争议,如同我稍早说的,我也已经开始着手寻找,我在文中提到的所有 方法,以及敝司和业界常用架构的学术出处,已逐步整理到参考文献中。
23F:推 jimmy55311: 推热心助人的狮子大大 猛猛der 别管Dr.了啦 这种人很 04/03 11:26
24F:→ jimmy55311: 爱贬低别人提高自己 只要有写错他就骂死你 写得好他就 04/03 11:26
25F:→ jimmy55311: 说你是翻译的 不是翻译的他就说你抄没附来源 让他去吠 04/03 11:26
26F:→ jimmy55311: 根本没人想理他 04/03 11:26
27F:推 tommykang: 不能同意jimmy更多 04/03 11:38
没关系的,每个人的想法不同,讲清楚就好了,也不是做不到; 已新增参考文献,注明所有方法的首篇学术文献了,若有缺失欢迎补充。
28F:→ SuperSunny: 又不是在写论文,还要人家附参考文献,笑死 04/03 22:43
29F:推 SuperSunny: 推L大的逻辑和文笔,还有态度 04/03 22:54
还在努力学习,谢谢Sunny。
30F:推 wili06543: 感谢分享 04/04 15:35
不客气。
31F:推 May75504: 感谢狮子大神分享实务心得,软体工作版应该少点酸民 04/06 15:33
32F:→ May75504: 多鼓励这些愿意花时间分享经验的高手专家 04/06 15:34
33F:推 jing8281: 推这篇 04/10 10:40
34F:推 SuperSunny: 恭喜lion大夺冠 04/24 21:14
没想到会拿到第一名,感谢大家支持。 ※ 编辑: lion741205 (111.249.149.20 台湾), 03/20/2021 09:28:19







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP