Babbling情感对话生成系统及方法技术方案

技术编号:18138684 阅读:662 留言:0更新日期:2018-06-06 11:59
Babbling情感对话生成系统及方法,涉及一种对话生成系统。本发明专利技术为了解决目前的人工智能对话系统带有情感的回复并不十分准确的问题。本发明专利技术提出了一套基于Seq2Seq模型生成情感回复的系统,在传统Seq2Seq模型基础上,Babbling使用微博原句的情感embedding丰富原句的表示。Babbling还融合了Learning to Start机制,从而生成更自然的句首词。为了以提高生成词语主题的相关性,Babbling还采用attention机制,我们将传统的single hop attention过程扩展到multi‑hop attention,通过多次attention获得更为抽象并且与微博原文相关的表示,从而进一步提高生成质量。本发明专利技术适用于带有情感回复的对话系统。

【技术实现步骤摘要】
Babbling情感对话生成系统及方法
本专利技术涉及人工智能领域,具体涉及一种对话生成系统。
技术介绍
作为人工智能的重要组成部分,情感智能包括感知、理解、表达和控制情感的能力。虽然目前存在很多用来解决大规模社交网络数据的对话生成模型,但生成具有可控情感的文本仍然是一项巨大的挑战。目前的大多数人工智能系统可以生成对话,但是还没有做到利用一定的情感进行回答。尤其是在社交网络中,基于情感的对话生成是很重要的。例如,给定一句微博原文“我昨天丢掉了工作”,如果回复“我很遗憾”则是合适的,但是如果回复其他情感色彩的内容则是不太合适的。目前各国都致力于在大规模社交网络数据的对话生成模型中加入情感因素,但是在大规模社交网络数据的对话生成模型中加入情感因素的技术并不十分成熟,带有情感的回复并不十分准确。
技术实现思路
本专利技术为了解决目前的人工智能对话系统带有情感的回复并不十分准确的问题。Babbling情感对话生成系统,是一个Seq2Seq模型,包括一个编码器Encoder和一个译码器Decoder,编码器Encoder和译码器Decoder之间采用多级Attention机制;所述的编码器Encoder和译码器Decoder都使用一个单向两层的GRU网络;Decoder中,计算t时刻Decoder隐含层输出的权重时对应的衡量Decoder中上一时刻隐含层状态st-1和Encoder中每一个隐含层表示hj的相似性otj的过程中,利用使用[st-1,et]替换Decoder中上一时刻隐含层状态st-1,et表示情感向量。Babbling情感对话生成方法,是基于Babbling情感对话生成系统实现的;具体过程如下:首先从原文中读取一个句子,将每一个词转换为对应的词向量序列;然后将词向量序列送入一个单向双层的GRU网络中,即送入所述的Encoder,对应的隐含输出序列作为上下文向量;Encoder的某一时刻t的隐含层输出如下:ht=GRUencoder(xt,ht-1)(1)其中,ht-1是Encoder中上一时刻隐含层的输出,xt是当前时刻的输入;GRUencoder(xt,ht-1)表示Encoder对应的单向双层的GRU计算函数;在得到原文词序列的隐含层表示{h1,h2,h3,…,hn}之后,使用另一个单向双层的GRU作为Decoder,在给定前一时刻生成的词yt-1和Decoder上一时刻隐含层状态st-1后,Decoder计算出t时刻隐含层表示为:st=GRUdecoder(st-1,yt-1)(2)其中,GRUdecoder(st-1,yt-1)表示Decoder对应的单向双层的GRU计算函数;同时,Decoder根据上一时刻的隐含层状态st-1,计算原文的新特征向量作为上下文表示ct;在Decoder预测每一个词时,计算原文隐含层表示序列的加权求和表示,t时刻的上下文特征表示ct由下式计算而来:其中,N是Encoder隐含层的总数;t时刻Encoder第j个隐含层输出的权重atj的计算为其中,表示向量内积;表示st-1的转置;fa为非线性激活函数,用来衡量Decoder中上一时刻隐含层状态st-1和Encoder中每一个隐含层输出hj的相似性otj,然后将相似性otj计算结果用softmax函数归一化为权重表示atj;上述过程是Decoder对Encoder结果的一个Attention过程;在一个Attention过程中,每种情绪类别采用低维、实数向量进行表示,即情感向量et;随机初始化情感向量;在式(5)中,使用[st-1,et]替换st-1,使用[st-1,et]替换st-1并参与模型训练;使用上一次Attention的输出作为下一次Attention的输入,最后一层的Attention结果作为上下文的最终表示ct。进一步地,所述的每种情绪类别用100维实数向量表示。进一步地,所述的Encoder和Decoder均使用隐含层大小为200的两层GRU。进一步地,所述的Encoder和Decode的最大长度为64。本专利技术具有以下有益效果:本专利技术提出了一套基于Seq2Seq模型生成情感回复的系统——“HIT-SCIR-Babbling”。在传统Seq2Seq模型基础上,Babbling使用微博原句的情感embedding丰富原句的表示。Babbling还融合了LearningtoStart(LTS)机制,从而生成更自然的句首词。为了以提高生成词语主题的相关性,Babbling还采用attention机制,我们将传统的singlehopattention过程扩展到multi-hopattention,通过多次attention获得更为抽象并且与微博原文相关的表示,从而进一步提高生成质量。通过实验能够看出本专利技术对话系统带有情感的回复准确率较高,针对于较好的实验结果下,能够在596个回复样本中,回答和用户特定的情感类别一致的回复情况为131个,占比22.02%;内容是合适的回复为41个,占比6.89%;这两者占比总共达到28.87%。总共得到303分的结果。附图说明图1为系统模型结构示意图;图2为实施例中微博训练数据上从微博到回复的情感转换可视化示意图,其中颜色深度代表着每种类型转换的比例。具体实施方式具体实施方式一:Babbling情感对话生成系统,是一个Seq2Seq模型,包括一个编码器Encoder和一个译码器Decoder,编码器Encoder和译码器Decoder之间采用多级Attention机制;所述的编码器Encoder和译码器Decoder都使用一个单向两层的GRU网络;Decoder中,计算t时刻Decoder第j个隐含层输出的权重时对应的衡量Decoder中上一时刻隐含层状态st-1和Encoder中每一个隐含层表示hj的相似性otj的过程中,利用使用[st-1,et]替换Decoder中上一时刻隐含层状态st-1,et表示情感向量。Babbling情感对话生成系统如图1所示,其中Encoder表示编码器;Attention表示Attention机制,其中的ATT对应公式(4)-(5)计算过程;emotionalize表示将情感加入,Decoder为译码器。具体实施方式二:Babbling情感对话生成方法,是基于Babbling情感对话生成系统实现的;具体过程如下:首先从微博原文中读取一个句子,将每一个词转换为对应的词向量序列;然后将词向量序列送入一个单向双层的GRU网络中,即送入所述的Encoder,对应的隐含输出序列作为上下文向量;Encoder的某一时刻t的隐含层输出如下:ht=GRUencoder(xt,ht-1)(1)其中,ht-1是Encoder中上一时刻隐含层的输出,xt是当前时刻的输入;GRUencoder(xt,ht-1)表示Encoder对应的单向双层的GRU计算函数;在得到微博原文词序列的隐含层表示{h1,h2,h3,…,hn}之后,使用另一个单向双层的GRU作为Decoder,在给定前一时刻生成的词yt-1和Decoder上一时刻隐含层状态st-1后,Decoder计算出t时刻隐含层表示为:st=GRUdecoder(st-1,yt-1)(2)其中,GRUdecode本文档来自技高网...
Babbling情感对话生成系统及方法

【技术保护点】
Babbling情感对话生成系统,其特征在于,所述的Babbling情感对话生成系统是一个Seq2Seq模型,包括一个编码器Encoder和一个译码器Decoder,编码器Encoder和译码器Decoder之间采用多级Attention机制;所述的编码器Encoder和译码器Decoder都使用一个单向两层的GRU网络;Decoder中,计算t时刻Decoder隐含层输出的权重时对应的衡量Decoder中上一时刻隐含层状态st‑1和Encoder中每一个隐含层输出hj的相似性otj的过程中,利用使用[st‑1,et]替换Decoder中上一时刻隐含层状态st‑1,et表示情感向量。

【技术特征摘要】
1.Babbling情感对话生成系统,其特征在于,所述的Babbling情感对话生成系统是一个Seq2Seq模型,包括一个编码器Encoder和一个译码器Decoder,编码器Encoder和译码器Decoder之间采用多级Attention机制;所述的编码器Encoder和译码器Decoder都使用一个单向两层的GRU网络;Decoder中,计算t时刻Decoder隐含层输出的权重时对应的衡量Decoder中上一时刻隐含层状态st-1和Encoder中每一个隐含层输出hj的相似性otj的过程中,利用使用[st-1,et]替换Decoder中上一时刻隐含层状态st-1,et表示情感向量。2.Babbling情感对话生成方法,其特征在于,所述的Babbling情感对话生成方法是基于Babbling情感对话生成系统实现的;具体过程如下:首先从原文中读取一个句子,将每一个词转换为对应的词向量序列;然后将词向量序列送入一个单向双层的GRU网络中,即送入所述的Encoder,对应的隐含输出序列作为上下文向量;Encoder的某一时刻t的隐含层输出如下:ht=GRUencoder(xt,ht-1)(1)其中,ht-1是Encoder中上一时刻隐含层的输出,xt是当前时刻的输入;GRUencoder(xt,ht-1)表示Encoder对应的单向双层的GRU计算函数;在得到原文词序列的隐含层表示{h1,h2,h3,…,hn}之后,使用另一个单向双层的GRU作为Decoder,在给定前一时刻生成的词yt-1和Decoder上一时刻隐含层状态st-1后,Decoder计算出t时刻隐含层表示为:st=GRUdecoder(st-1,yt-1)(2)其中,GRUdecoder(st-1,yt-1)表示Decoder对应的单向双层的GRU计算函数;同时,De...

【专利技术属性】
技术研发人员:赵妍妍袁建华秦兵刘挺
申请(专利权)人:哈尔滨工业大学
类型:发明
国别省市:黑龙江,23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1