对话系统中的生成问题

意图识别:分类问题

槽值检测:序列标注任务

目的:将用户的输入转换成结构化数据

对话管理,对话状态追踪:记住之前的信息,并追踪新的槽值,直到足够充分

可依据规则实现,如if、else

使用统计的方法,追踪各个槽值可能的取值分布

POMDP

根据结构化的对话意图,生成回复

传统方法:依赖模板规则,先提前将回复都写好,然后挑一句


30%都是闲聊的请求

需要对话生成

1、检索式对话模型

预先写好输入输出对,收到问题后,进行语义匹配,排序后找出回复

基本只考虑了单轮对话

多轮对话需要考虑好几轮

实现壁垒:对话语料库的构建,所以需要好多爬虫、清晰工作

好处:1)回复的句子一定是流畅的2)不会乱说话,可控性好(根据语料库中来的)

缺点:没办法得到除了语料库外新的信息

中文房间:

基于检索式的,机器真的理解了吗?

基于深度学习的生成式模型框架:

试图模拟对话的概率分布

最大似然估计:

函数拟合:将其不可计算的,变成条件概率分布(可计算)

不需要找到全局最优解,一般全局最优都是空的,用贪心算法找到局部最优即可

RNN+attention 变成transformer

怎么才能让深度神经网络训练的更好呢?

初始值好的话,就比较好,则有了预训练模型,如bert,GPT

在对话生成领域GPT效果更好

在输入和输出处加一些限定条件

单向变双向

解码顺序:正序、乱序、同时生成

好处:复杂度从n变成log(n)甚至变成1

变分模型、隐空间

GAN,生成对抗,取消最大似然估计,目前效果不是很好

结合检索和生成

生成的缺点:可能不流畅

评价方法:尤其是闲聊,不好评价好不好

只有侧面评价:如问题解决率,解决了的经过了多少轮,闲聊时长等

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容