[发明专利]一种基于自注意力机制的情感对话生成方法与装置有效
| 申请号: | 201910596166.7 | 申请日: | 2019-07-03 |
| 公开(公告)号: | CN110427490B | 公开(公告)日: | 2021-11-09 |
| 发明(设计)人: | 魏巍;刘家邑;陈志毅;王子扬;王赞博;李恒 | 申请(专利权)人: | 华中科技大学 |
| 主分类号: | G06F16/36 | 分类号: | G06F16/36;G06F40/30;G06N3/04 |
| 代理公司: | 湖北武汉永嘉专利代理有限公司 42102 | 代理人: | 李丹 |
| 地址: | 430074 湖北省武*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 注意力 机制 情感 对话 生成 方法 装置 | ||
1.一种基于自注意力机制的情感对话生成方法,其特征在于,包括以下步骤:
1)接收用户Post的输入语句以及对应的情感标签Ep,所述用户输入语句包括词的特征向量表示序列X={x1,x2,......,xn};
2)根据步骤1)接收语句的情感信息和语义信息,获得回复情感Er;
2.1)根据接收语句信息,将用户输入的序列转换为情感向量表示;
具体步骤如下:
2.1.1)将用户输入的序列的文字符号表示向量化,通过查询预训练的情感词嵌入列表,得到每个文字符号的情感向量表示;
2.1.2)对情感词嵌入层输出的字符级别的情感向量表示按照序列顺序进行GRU编码,得到情感隐含层向量;
2.1.3)判断输入语句当中每个词的情感重要性,根据情感重要性对情感隐含层向量赋予相应的权重,同时输出所有隐含层向量加权求和后的整个句子的加权情感向量表示;
2.1.4)将加权情感向量表示映射成和情感标签类别同维度的情感分布向量,作为接收语句情感向量表示;
2.2)根据接收语句信息,将用户输入的序列转换为语义向量表示;
具体步骤如下:
2.2.1)将用户输入的序列的文字符号表示向量化,得到每个文字符号的语义向量表示;
2.2.2)对语义向量表示按照序列顺序进行GRU编码,得到情感隐含层向量;
2.2.3)判断输入语句当中每个词的语义重要性,根据语义重要性对语义隐含层向量赋予相应的权重,同时输出所有隐含层向量加权求和后的整个句子的加权语义向量表示;
2.3)将上述语义向量和情感向量拼接后,输出情感-语义信息融合后的句子向量hes;
2.4)根据上述融合后的句子向量预测得到回复情感;
3)根据回复情感Er和接收语句的语义信息,生成对应的回复。
2.根据权利要求1所述的基于自注意力机制的情感对话生成方法,其特征在于,所述步骤2.4)根据上述融合后的句子向量预测得到回复情感,具体如下:
在融合后的句子向量的基础上通过一个激活函数为sigmoid函数的全连接层,将其映射成和情感标签类别同维度的情感分布向量,即为所需要获得的回复情感向量。
3.根据权利要求1所述的基于自注意力机制的情感对话生成方法,其特征在于,所述步骤3)中根据回复情感Er和接收语句的语义信息,生成对应的回复,具体如下:
对步骤2)产生的回复情感向量乘以一个情感嵌入矩阵,得到一个向量Ve之后,将此向量注入序列到序列模型中生成回复。
4.根据权利要求1所述的基于自注意力机制的情感对话生成方法,其特征在于,所述步骤2.1.3)判断输入语句当中每个词的情感重要性,根据情感重要性对情感隐含层向量赋予相应的权重,同时输出所有隐含层向量加权求和后的整个句子的加权情感向量表示,具体如下:
最终得到的隐含层向量是所有GRU单元的加权求和:
其中,ai是第i个隐含层的权重值,为GRU层中采用GRU单元,将序列X={x1,x2,......,xm}编码得到的隐含向量
权值ai的计算方法是将输入一个多层感知机,然后通过一个softmax层使得所有的权值之和为1获得,
5.一种基于自注意力机制的情感对话生成装置,其特征在于,包括:
基于自注意力机制的情绪选择器和回复生成器;
所述基于自注意力机制的情绪选择器包括:用于情感信息编码和语义信息编码的编码网络、用于情感信息和语义信息融合的融合网络,以及根据融合网络信息进行情感选择的预测网络;
所述编码网络包括:情感信息编码器和语义信息编码器;
所述情感信息编码器包括情感词嵌入层、GRU层和自注意力机制层和全连接层;
所述情感词嵌入层用于将用户输入的序列的文字符号表示向量化,通过查询预训练的情感词嵌入列表,输出每个文字符号的情感向量表示;
所述GRU层用于对情感词嵌入层输出的字符级别的情感向量表示按照序列顺序进行GRU编码,输出情感隐含层向量
所述自注意力机制 层用于判断输入语句当中每个词的情感重要性,对于包含关键情感信息的隐含层向量赋予对应的权重,同时输出所有隐含层向量加权求和后的整个句子的情感向量表示;
所述全连接层在自注意力层得到的情感向量表示的基础上,通过一个激活函数为Sigmoid函数的全连接网络,将其映射成和情感标签类别同维度的向量,用于预测Post的情感标签,同时采用交叉熵的约束损失函数来强迫情感信息编码器学习情感信息;
所述语义信息编码器包括语义词嵌入层、GRU层和自注意力层;
所述语义词嵌入层将用户输入的序列的文字符号表示向量化,与情感词嵌入不同的是,语义词嵌入层重点关注语义信息,输出每个文字符号的语义向量表示;
GRU层对于字符级别的语义向量表示按照序列顺序进行GRU编码,输出语义隐含层向量
自注意力层用于判断输入语句当中每个词的语义重要性,对于包含关键语义信息的隐含层向量赋予其更高的权重,同时输出所有隐含层向量加权求和后的整个句子的语义向量表示;
所述融合网络用于计算接收语句中情感信息和语义信息的重要性分布,将上述语义向量和情感向量拼接后通过一个多层感知机,自动学习产生一个权值,并根据这个权值将he和hs融合起来;最后输出情感-语义信息融合后的句子向量hes;
所述预测网络,用于根据上述融合后的句子向量去预测最合适的回复情感;具体如下:
通过一个激活函数为sigmoid函数的全连接层,将融合后的句子向量映射成回复情感标签维度上的情感分布向量,同时采用交叉熵损失函数让此向量逼近真实数据集当中回复Response的情感标签;通过预测网络,产生的回复情感向量,将会被注入到回复生成器里用于指导带情感的回复生成;
所述回复生成器包括情感偏差的注意力机制层和传统的序列到序列模型;
所述的情感偏差的注意力机制层,是指对上述情绪选择器产生的回复情感向量乘以一个情感嵌入矩阵,得到一个向量Ve之后,将此向量注入到传统序列到序列模型当中;
所述的传统序列到序列模型,用于在注意力机制的基础上,生成回复。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910596166.7/1.html,转载请声明来源钻瓜专利网。





