- PaperWeekly 2016.08.05 第一期
- PaperWeekly 第二期
- PaperWeekly 第三期
- PaperWeekly 第四期 - 基于强化学习的文本生成技术
- PaperWeekly 第五期 - 从 Word2Vec 到 FastText
- PaperWeekly 第六期 - 机器阅读理解
- PaperWeekly 第七期 -- 基于 Char-level 的 NMT OOV 解决方案
- PaperWeekly 第八期 - Sigdial2016 文章精选(对话系统最新研究成果)
- PaperWeekly 第九期 -- 浅谈 GAN
- PaperWeekly 第十期
- PaperWeekly 第十一期
- PaperWeekly 第十二期 - 文本摘要
- PaperWeekly 第十三期--最新文章解读
- PaperWeekly 第十四期 - TTIC 在 QA 任务上的研究进展
- PaperWeekly 第十六期 - ICLR 2017 精选
- PaperWeekly 第十七期 - 无监督/半监督 NER
- PaperWeekly 第十八期 - 提高 seq2seq 方法所生成对话的流畅度和多样性
- PaperWeekly 第十九期 - 新文解读(情感分析、机器阅读理解、知识图谱、文本分类)
- PaperWeekly 第二十期 - GAN(Generative Adversarial Nets)研究进展
- PaperWeekly 第二十一期 - 多模态机器翻译
- PaperWeekly 第二十二期 - Image Caption 任务综述
- PaperWeekly 第二十三期 - 机器写诗
- PaperWeekly 第二十四期 - GAN for NLP
- PaperWeekly 第二十五期 - 增强学习在 image caption 任务上的应用
- PaperWeekly 第二十六期 - 2016 年最值得读的 NLP paper 解读(3 篇)+在线 Chat 实录
- PaperWeekly 第二十七期 | VAE for NLP
- PaperWeekly 第 28 期 | 图像语义分割之特征整合和结构预测
- PaperWeekly 第 29 期 | 你的 Emoji 不一定是我的 Emoji
- PaperWeekly 第 30 期 | 解读 2016 年最值得读的三篇 NLP 论文 + 在线 Chat 实录
- PaperWeekly 第 31 期 | 远程监督在关系抽取中的应用
- PaperWeekly 第 32 期 | 基于知识图谱的问答系统关键技术研究 #01
- PaperWeekly 第 33 期 | 基于知识图谱的问答系统关键技术研究 #03
- PaperWeekly 第 34 期 | VAE 在 chatbot 中的应用
- PaperWeekly 第 35 期 | 如何让聊天机器人懂情感 PaperWeekly 第 35 期 | 如何让聊天机器人懂情感
- PaperWeekly 第 36 期 | Seq2Seq 有哪些不为人知的有趣应用?
- PaperWeekly 第 37 期 | 论文盘点:检索式问答系统的语义匹配模型(神经网络篇)
- PaperWeekly 第 38 期 | SQuAD 综述
- PaperWeekly 第 39 期 | 从 PM 到 GAN - LSTM 之父 Schmidhuber 横跨 22 年的怨念
- PaperWeekly 第 40 期 | 对话系统任务综述与基于 POMDP 的对话系统
- PaperWeekly 第 41 期 | 互怼的艺术:从零直达 WGAN-GP
- PaperWeekly 第 42 期 | 基于知识图谱的问答系统关键技术研究 #04
- PaperWeekly 第 43 期 | 教机器学习编程
- PaperWeekly 第 44 期 | Kaggle 求生
- PaperWeekly 第 45 期 | 词义的动态变迁
- PaperWeekly 第 46 期 | 关于远程监督,我们来推荐几篇值得读的论文
- PaperWeekly 第 47 期 | 开学啦!咱们来做完形填空:“讯飞杯”参赛历程
- 深度强化学习实战:Tensorflow 实现 DDPG - PaperWeekly 第 48 期
- 评测任务实战:中文文本分类技术实践与分享 - PaperWeekly 第 49 期
- 从 2017 年顶会论文看 Attention Model - PaperWeekly 第 50 期
- 深入浅出看懂 AlphaGo Zero - PaperWeekly 第 51 期
- PaperWeekly 第 52 期 | 更别致的词向量模型:Simpler GloVe - Part 1
- PaperWeekly 第 53 期 | 更别致的词向量模型:Simpler GloVe - Part 2
- 基于神经网络的实体识别和关系抽取联合学习 | PaperWeekly #54
PaperWeekly 第二期
引
图片来自 paper The Dialog State Tracking Challenge Series- A Review
人机对话系统通常包括上面的几个部分,task-oriented chatbot 重点关注的是 DST 和 NLG 问题,其中 DST 是核心问题,没有太多关注这个比赛,但个人理解 DST 的作用类似于一张 user conversation logs 状态表,记录着用户当前的状态,以订机票为例,这张表的 key 是预先设定好的 slots,比如目的地、出发地、出发时间等等,与系统背后的业务数据表中的 attributes 相关联,不断地从 user conversation 中抽取相应的 values 来填充这个表格,或者将其定义为一个多分类任务,不断地从对话中判断这句话中包括哪些 slots 和 values(这里的 values 是多个分类结果),当状态表中的信息存在空白时,bot 会根据空白的 slots 来提问并获取 values,直到获取到足够的 slots,给出用户 suggestion,或者进行相应的服务。
DST 的问题解决之后,就是 NLG 的问题。传统的 NLG 采用 rule-based 或者 template-based 的方法,需要很多的手动设置,横向扩展性较差,维护成本高。最近流行的 end-to-end 方案很适合解决这个问题,给定用户的 query,结合着当前 DST,自动生成 response,完全的 data driven,不需要什么人工干预。
生成 response 除了 rule-based 和 end-to-end 的方法之外,工业界中更加常见的是 retrieve-based 的方法,即从庞大的 example base 中进行 retrieve,一方面避免了 NLG 生成 response 时常遇到的 grammatical 问题,另一方面当前的 IR 技术很容易集成到此类 bot 系统中,降低了门槛。
本期的三篇 paper 中前两篇都是关于 task-oriented bot 的 NLG 问题,第三篇是在 retrieve-based bot 的每个细小环节中应用了 deep learning 技术,并且将外部的非结构化文本作为数据源,从中 select responses。
Semantically Conditioned LSTM-based Natural Language Generation for Spoken Dialogue Systems
关键词:NLG、bot、自定义 LSTM
来源:EMNLP 2015
问题:task-oriented bot NLG 问题,给定了 user query 和 DST,如何生成一个更好的 response?
方法:
首先定义了两个概念 delexicalisation 和 lexicalisation,前一个的意思是将句子中的 slot-value 用特定的 token 来替换,像是一种抽象,比如用 food 来代替对话中的各种食物名称;后一个的意思是将句子中的特定 token 还原回具体的 value。
本文最大的亮点在于将传统的 LSTM 重新定义,针对这个具体问题在 LSTM cell 部分中添加了一层,Dialogue Act Cell,通过 gate 机制来保留合适的信息,比如 slot keywords,如下图:
这一层 cell 更像是一个 keyword detectors,整个 NLG 仍是采用 encoder-decoder 框架。
评论:
这层 Dialogue Act Cell 的目的是确保在 decoding 部分,不会遗漏任何一个 slot,所以专门增加了一层 cell 来 encoding act、slot-value 信息,在生成时作为 context vector。我觉得 model 的这个设计与 attention 机制有一点类似,只是 attention 更加地平滑,对每个 word 都有一个 weight,而不是本文中的 gate,非 0 即 1。整体来说,自定义的 cell 是一个很有启发性的思路,针对具体问题的特点,修改现有的 cell 结构,也许会起到非常关键的作用。
Natural Language Generation in Dialogue using Lexicalized and Delexicalized Data
关键词:NLG、bot、自定义 LSTM
来源:arXiv 2016.06.11 cs.CL
问题:task-oriented bot NLG 问题,是第一篇的升级版。
方法:
本文是针对第一篇文章进行的改进版,改进的地方在于不仅仅利用了 delexicalisation 进行训练,而且利用了 lexicalisation 数据,从而提高了准确率,基本的模型框架与第一篇文章类似,不同的在于输入的处理,就是 dialogue act 的表示,如下图:
每一个 act representation 由两部分组成,一部分是 act、slots 的 one-hot 表示,与文章一类似的结构,另一部分是由 value 的每个 word embedding 组合而成。
task-oriented bot NLG 存在的一个更加现实的问题是 data 规模太小,cover 的 features 太少,生成质量不高,本文针对这一问题,用相似 domain 的、大量的 reviews 或者其他相关数据作为 corpus 预训练出一个效果不错的 LM,在 decoding 部分采用预训练好的 LM 模型权重进行 NLG。
评论:
本文中最值得借鉴的地方在于 transfer learning,虽然 DL 效果很好,但实际应用中常常遇到 data 规模太小的问题,DL 难以发挥作用,但如果从大量相似的 domain data 中学习一些表示模型,然后迁移到待解决的问题上,这是一件幸事,也就是人们常说的举一反三。混合大量的相似 domain 数据,会 cover 到更丰富的 features,为 DL 提供了广阔的舞台。
DocChat: An Information Retrieval Approach for Chatbot Engines Using Unstructured Documents
关键词:Retrieve-Based Bot,Unstructured Documents
来源:ACL 2016
问题:如何从大量非结构化文本中 select 出合适的 response 返回给用户?
方法:
本文研究的问题是给定大量的非结构化的 documents 和用户的 query,从中选择并返回一个满意的 response,典型的 IR 问题,作者将解决方案分为三步:
1、response 检索,根据 query,从 documents 中找到合适的 N 句话作为候选。
2、response 排序,将候选中的 utterances 进行排序。
本文大多数的工作在 ranking model 上,提出了 7 种 level 的 features 来对 candidate 进行打分,通过实验发现 sentence-level feature 最有区分度。
3、response 触发,并不是一定可以从 documents 找到合适的 response,所以最后添加一个分类器,来判断最优的 response 是否合适,合适则输出,不合适则输出空。
评论:
本文解决的问题思路比较简单,但中间用到了很多复杂的 DL model,个人感觉有点杀鸡用牛刀。本文的思路更加适合 informative 式的 query,并不适合娱乐和闲聊。但用外部知识,尤其是大量的非结构化的、可能还带有噪声的资源来提供 response,是一个很不错的思路,弥补了只用 training data 或者很有限的 examples 存在的局限性问题,如果可以将两者进行结合,是一个非常好的实用方案。
Tips
引起大家的讨论是一件挺难的事情,所以这一期不再提出问题。之前有同学问如何读 paper,这里简单分享一个简单的 tip,后续的每一期可能都会分享一个 tip。
1、如果刚刚进入一个领域,建议读一些这个领域的 survey 或 review 类型的 paper,这类型的 paper 基本上会将最近的方法归类进行总结,从一个较高的层次来解读每一篇 paper 的贡献和优缺点,对快速了解一个领域很有帮助。如果你关注的这个领域没有 survey,那么恭喜你,说明你可能走到了前沿,用关键词去 google 一篇或者几篇相关的 new paper,读 Related Work 那一节,相信你会有所收获。(注:这个方法是从清华大学刘知远博士那里学来的)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论