对话系统中的自然语言生成(NLG)

对话系统中的自然语言生成(NLG)

源文连接:https://zhuanlan.zhihu.com/p/49197552

(此处只是为了我本人方便查看,我只关注深度学习的方法,想全面了解的建议看原文)

自然语言生成(NLG)在很多NLP领域或任务都有涉及,比如摘要生成、VQA(视觉问答) 、翻译、写诗词、写作文、写新闻、NBA等赛事报道、对话系统等。不同任务下的NLG也不一样,今天我们简单来聊聊对话系统中的NLG。

1 简介

对话系统按功能来划分的话,分为闲聊型、任务型、知识问答型和推荐型。在不同类型的聊天系统中,NLG也不尽相同。

1.1 闲聊

闲聊型对话中的NLG就是根据上下文进行意图识别、情感分析等,然后生成开放性回复;

1.2 任务型

.任务型对话中的NLG就是在NLU(领域分类和意图识别、槽填充)、DST、DPL的基础上,根据学习到的策略来生成对话回复,一般回复包括澄清需求、引导用户、询问、确认、对话结束语等。

1.3 知识问答型

知识问答型对话中的NLG就是根据问句类型识别与分类、信息检索或文本匹配而生成用户需要的知识(知识、实体、片段等),这类回复相比单纯的信息检索一般用户体验会更好,因为一般信息检索还需要用户根据搜索结果自己找所需信息。(更为具体的答案

1.4 推荐型

推荐型对话系统中的NLG就是根据用户的爱好来进行兴趣匹配以及候选推荐内容排序,然后生成给用户推荐的内容。

2. 聊天系统中的NLG技术汇总

下面分别介绍一下对话系统中的不同NLG技术。

2.1. 传统方法

基于模版的NLG、基于树的NLG。

需要定义一堆模板和规则,然后映射到自然语言。

img

2.6. RNN-Based LM

Wen et al., SIGDIAL 2015

可能很多人不了解sigdial这个会议,其实这个会议在dialogue领域真的是很不错的一个会议,也有很多高质量paper。这种方法结合了神经网络和语言模型,减少了很多人工,也可以对任意长的句子句子建模。

img
img

2.7. Semantic Conditioned LSTM

Wen et al., EMNLP 2015

这篇paper在使用lstm时加入了semantic,整个网络包括原始的标准lstm和dialogue act cell。

img
img
img

2.8. Structural NLG

Dušek and Jurčíček, ACL 2016

这种方法也用了句法树+神经网络,encode trees as sequences,然后用seq2seq来做句子生成。

img
img
img

2.9. Contextual NLG

Dušek and Jurčíček, 2016

这也是一篇sigdial的paper。这个方法其实也是seq2seq模型,好处是生成的回复会考虑上下文,比较适合多轮对话

img
img

2.10.Controlled Text Generation

Hu et al., 2017

这个方法是基于GAN的NLG。

img
img

2.11.Transfer learning for NLG

Wen et al., 2013.,Shi et al., 2015, Wen et al., NAACL 2016

用迁移学习做NLG,可以解决目标领域数据不足的问题,也可以跨语言、个性化等。主要有三种打法:基于模型的迁移学习,底层网络在不同领域都一样,在上层根据不同领域做fine-tuning;

3.这几种NLG技术的对比

以上简单介绍了11种对话系统中的NLG技术,下面简单总结下它们的优势和劣势。

img

4.NLG技术的评估

img

你可能感兴趣的:(对话系统中的自然语言生成(NLG))