前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【任务型对话】任务型对话中的自然语言生成

【任务型对话】任务型对话中的自然语言生成

原创
作者头像
百川AI
修改2022-10-08 15:51:37
1.3K0
修改2022-10-08 15:51:37
举报
文章被收录于专栏:我还不懂对话我还不懂对话
任务型对话系统框架
任务型对话系统框架

任务型对话中,一般包含ASR、语义理解、多轮状态追踪、会话策略、自然语言生成(NLG)模块,那么任务型对话中都有哪些生成的方法呢?

基于模板

因为任务型对话中,生成任务有两个作用,1. 向用户传递信息,例如搜索到的机票信息(inform_槽位)等,提供给用户选择。2. 进行用户问询,主要是ontology中定义好的字段,比如常见的订票场景中的出发地、目的地(request_槽位)等。

因此,可以事先针对传递信息、用户问询的槽位,设计好模板,然后实际应用时,将其中的槽位使用对应的值替换即可。例如:

  • Confirm ( name = Hinton , area = center),
  • 模板=确认下您定的酒店是#hotel#,地点是#area#吗?
  • 填充值=确认下您定的酒店是希尔顿,地点是城中心吗?

这个方法,就是需要将所有问询Action和槽位做组合,并且槽位之间可能也有组合,会有可能:

  • 某些情况未覆盖,会导致生成回复出错。
  • 模板拼接各种值,会带来不通顺,导致用户不理解,或者出现语义错误。
  • 如果做了一个领域,迁移到其他领域,还要从头开始写模板。

因此,最近也有一些结合语言模型的能力,来将原始的策略输出生成自然语言,例如这种格式:Confirm ( name = Hinton , area = center)

利用语言模型生成

2020Few-shot Natural Language Generation for Task-Oriented Dialog 代码:https://github.com/pengbaolin/ SC-GPT

出发点是用当前流行的预训练方法去提高生成回复的质量。但是任务导向型的对话往往特别依赖具体的领域,领域之间的差别会导致生成回复之间也会存在巨大的差异。所以需要引入特定的领域信息,文章提出一种few shot方案,只需要少量领域数据微调,具体步骤为

  • 预训练1:首先在大规模的无标注文本上预训练。这一步和GPT-2一致,
  • 预训练2:为了让生成的文本更贴近任务导向型对话的要求,模型还进一步在标注的数据集上预训练。这里的数据来自Schema-Guided Dialogcorpus, MultiWOZ corpus, Frame corpus和Facebook Multilingual Dialog Corpus,这些都是人工标注好的人物对话型数据集,来自各个领域,共计约400K个样本。
  • 微调:最后,只需要在特定领域的少样本数据集下微调即可。

其中关键就是如何将dialog Act编码,其实可以看到她的方式很简单粗暴,直接dialog act作为一个句子输入到模型,作为prompt,然后指导后续的句子生成。

另外,预训练阶段2其实也挺重要的,保证了模型能够学习到对话语料,在做具备一定通用对话的能力,在做领域迁移的时候不会太差。

从上图可以看到,整体训练的数据量还是很小的。

最后看指标,以及生成的case,还是挺靠谱的,整体方法在任务型对话的NLG任务上,应该是够用了(闲聊估计是不太够),本人也在业务中实践也是比较靠谱。

中文GPT模型:预训练一阶段目前已经有中文的gpt2模型,预训练2阶段可能需要中文的对话数据集,目前百度千言开放了一些对话数据集,可以在预训练阶段2用到。微调领域生成一些应该就可以。

https://github.com/Morizeyao/GPT2-Chinese:12层的decoder。

https://github.com/imcaspar/gpt2-ml

Reference

image.png
image.png

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基于模板
  • 利用语言模型生成
  • Reference
相关产品与服务
对话机器人
对话机器人(Conversation Robot,ICR),是基于人工智能技术,面向企业场景的 AI 服务,可应用于智能客服、服务咨询、业务办理等场景。本产品旨在帮助企业快速构建,满足自身业务诉求的对话机器人,从而减少企业人力成本或解决服务不及时问题。用户可通过对话机器人用户端引擎,实现高准确率的对话服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档