开发者学堂课程【阿里小蜜中的开放语聊技术:生成式问答】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/44/detail/972
生成式问答
内容介绍:
一、基于情绪的回复生成
二、基于风格化生成
一、基于情绪的回复生成
介绍完匹配问答,接下来介绍生成式问答,生成式问答包含两部分,首先是基于情绪的回复生成,先看看框图,这里用了最简单的 RNN 的模型。
应用过程中会用双向 STM 或者是其他更复杂的模型,因为是用于介绍所以画的比较简单,传统的 RNN 模型编码解码,就是上边这一块,没有下面 topic 和 Emotion 这些内容输入,会出现一个问题,那就是生成的答案会特别通用,类似于好的,可以,OK。这种答案会经常出现。会保证模型的损失比较小,我们希望在回复中增加更多实质内容的信息,因此在模型中增加了主题信息,还有情绪信息,让回复更有内容一些,不再那么通用。
所谓的主题,就是判断在聊什么,是在聊音乐,聊体育,还是聊电影。 emotion意思是理解用户在表达什么情绪,反之,给他对应回复的情绪添加到回复中,比如用户说今天心情很好,判断他聊的主题是什么,是生活就是在表达很好的心情,对应我们也要表达高兴的心情,所以要把主题信息和情绪信息加入到生成解码的过程中,得到的结果是开心,在这个场景下比较适合。
二、基于风格化生成
基于风格化的生成,在广泛的定义上,刚才的情绪生成也可以理解为基于风格化的生成,不过风格化实际上指特定应用场景上,比如现在有一款产品叫小蜜空间,或者叫小米星球的陪伴型的产品。产品定义希望它有陪伴,跪舔,这样结合体的语言风格,通过模型学习,把这种风格学习。但是如果让人工标注大量的体现这种风格的句子,特别消耗人力,因此基于风格的生成,用到一种处理方式。就是本身已经有几十万条不同风格,从各个数据来源收集到 QA 对,用于生成模型训练,只用人工标注1万多条这种风格的 QA 对,在整个训练过程中,把这两个数据融为一体,在训练时第一种针对几十万条,把它定义成通用风格,针对1万多条的陪伴型语聊,把它加入信息叫陪伴风格,在学习的过程中,陪伴风格的模型不仅能把陪伴风格学习到,同时还能把几十万条数据的语言本质信息学习到。
通过这种模型生成的结果,在语言通顺性和风格表达上效果非常好。按照之前处理方式,这种模型相对于之前通用处理方式的好处有两点,之前有两种处理方式,第一种是用人工标注,可能大量的几十万,上百万条的特定风格语聊,是非常耗人力的。
另外有一种方式,在大数据集上训练好模型,用小量的一种特定风格语言去做迁移学习,就是针对 a 风格,迁移 a 模型, B 风格迁移 B 模型, C 风格迁移 C 模型,会出现很多模型,这种方式能从一个模型里学习到很多种风格, A 风格、 B 风格、 C 风格,全放到一个模型里,只需要一个参数就好,在不同的场景调用模型,只要加入一个需要的风格,那么模型就能返回想要的结果,是一个既省人力又能不让模型杂乱的处理方式。