一种情感对话生成系统和方法与流程

专利2022-06-30  122


本发明是关于一种情感对话生成系统和方法,属于人工智能技术领域。



背景技术:

随着siri、googlehome、天猫精灵、小爱同学等个人助手、智能音箱等人机交互产品的出现,人机交互不仅越来越受到业界和学界的重视,而且对人们的日常生活也产生越来越多的影响。目前实现对话系统的方法有很多,但对话系统的对话方式多为任务型对话,即以下达命令的方式进行人机交互。但随着科技发展,单纯任务型对话已经不能人们的需要,人们希望机器人的答复内容可以更加流利、符合人的说话方式、能够区分语言中的感情色彩并且可以做出适当的回复。因此人机闲聊型对话方式应运而生。

闲聊型对话通常没有固定的话题领域,这就给机器选择合适的回答内容造成了难度。有研究者将这个问题转换为一个匹配问题,通过检索系统得到候选回复,再使用文本匹配的算法得到恰当的回复。另外一些研究者则着力于使机器回复的内容符合日常对话的场景以及人类的表达习惯。基于检索的或者基于模板的对话模型,虽然可以避免答非所问和语法错误,但其在实际应用中往往受限于匹配模型的质量和系统无法包含所有的回复句子或者模板。从而导致机器的回复通常都比较生硬、刻板、语义不丰富以及没有感情色彩。尤其是对于一些比较新的词汇、表达以及一些具有明显感情色彩无法给出合乎语义的答复。



技术实现要素:

针对上述现有技术的不足,本发明的目的是提供了一种情感对话生成系统和方法,其使得在人机对话过程中,机器能够生成满足特定情感的对话回复,使得回复既满足语法通顺性和语义连贯性,又满足情感的一致性,这样不仅可以提高机器生成回复的质量,还能提高人机交互中的用户体验感。

为实现上述目的,本发明提供了一种情感对话生成系统,包括:情感对话生成模块和重排序模块,情感对话生成模块包括基本回复生成模块,其通过检测输入语句的实体词,生成语义正确的基本回复;多模型情感回复生成模块,其通过层次训练建立与各种情感对应的情感模型,并基于情感模型对基本回复进行微调,得到情感回复;单模型情感回复生成模块,其将情感类别作为输入训练情感模型,并根据情感模型输出情感回复;重排序模块接收对话生成模块中三个子模块输出的回复,对输出的回复进行打分,并根据分数对各模块输出的回复进行重排,得分最高的回复即为最终的情感回复。

进一步,基本回复生成模块基于规则生成模型识别输入语句中的具有实际意义的实体词,并在规则生成模型中植入人工撰写的回复模板,根据实体词确定回复模板,并根据回复模块确定语义正确的基本回复。

进一步,多模型情感回复生成模块和单模型情感回复生成模块均通过seq2seq模型生成具有情感类别的模型,seq2seq模型包括编码器encoder和解码器decoder,编码器用于将输入语句转化为一个中间状态的稠密向量h=(h1,h2,...,hn),解码器用于将这个中间状态向量h解码为情感模型的输出语句y。

进一步,seq2seq模型中引入注意力机制,用于丰富解码器的输入信息,引入注意力机制的解码器采用如下公式解码:

si=grudecoder(yi-1,si-1,ci)

其中,i是解码器的不同时刻;j是编码器的不同时刻;si是解码器在解码过程中每个时刻i的隐含状态;hj是编码器编码过程中的中间状态稠密向量h在j时刻的向量表示;eij是上一个时刻的解码器隐含状态si-1和在不同时刻j与编码器中间状态hj计算得到的注意力重要度,其中wa为学习的参数矩阵;αij是注意力机制将重要度归一化后得到的分配给编码器不同时刻中间向量的加权权重;n是输入的长度;ci是通过注意力机制权重对编码器所有中间状态加权求和计算得到的上下文信息的向量表示;yi是在时刻i生成词的词向量。

进一步,多模型情感回复生成模块包括与情绪类别对应的多个seq2seq生成模型,seq2seq模型的生成过程为:首先生成由所有语料训练得到的通用模型;其次所有语料根据情感类别分为正向情感语料和负向情感语料分别微调通用模型,将通用模型分为正向情感模型和负向情感模型;最后,正向情感语料分为高兴情感语料和喜欢情感语料分别微调正向情感模型,将正向情感模型分为与高兴对应的模型和与喜欢对应的模型;负向情感语料分为厌恶、悲伤、愤怒情感语料分别微调负向情感模型,将负向情感模型分为与厌恶对应的模型、与悲伤对应的模型和与愤怒对应的模型。

进一步,在单模型情感回复生成模块中仅包含一个seq2seq模型,seq2seq模型中将情感类别i转换为情感向量ei,并将情感向量ei加入到解码器的解码过程中,使得seq2seq模型中包含情感类别的信息。

进一步,在seq2seq模型中,采用拷贝机制提升回复生成过程中情感词的生成概率,具体过程为:将所有输入语义中获得的词分为情感词和非情感词,将情感词转换为情感词向量,将所有情感词向量与解码器当前隐含状态st进行交互,得到情感词的生成概率,再与由拷贝机制生成的额外增加的概率进行相加,从而提高回复生成过程中情感词的生成概率,解码器的生成概率的公式为:

p(yi|si)=softmax(pori(yi|si) pcopy(yi|si,e))

pcopy(yi|si,e)=softmax(ewesi)

其中,e是所有情感词词向量;we是学习的参数矩阵;yi是时刻i生成词的词索引编号;si是解码器在时刻i的中间状态向量;pori为原始解码器decoder在si条件下词yi生成概率;pcopy为额外增加的si条件下情感词yi的拷贝概率,当yi不是情感词是pcopy为0。

进一步,重排序模块的打分机制包括情感一致性得分和语义连贯性得分,重排序模块的打分机制包括情感一致性得分和语义连贯性得分,

情感一致性得分通过为不同的情感类型构建了不同的情感词典,每个情感词典给出了情感类别下对应情感词,以及情感词对应的情感分数;情感一致性得分计算如下:

其中m是情感词m个数,e(y)和∈m分别表示候选回复y和情感词m的情感得分,index(m-1,m)表示上一个情感词到当前情感词的距离,表示在距离内副词yj的权重分数,wm表示情感词m在情感词典中的权重分数;γm表示情感词m是否在对应的情感词典中,如果在对应的情感类别的情感词典中就设置为1,说明对相应的情感类别表达有正向贡献;否则为-1,说明对相应的情感类别表达有负面贡献;

语义连贯性得分的公式如下:

t(y)=count(x,y)

其中count(·)是计算两个句子相同词项的个数。

进一步,重排序模块根据情感一致性得分e(y)和语义连贯性得分t(y)汇总得到总得分,总得分为:

φ(y)=λ·e(y) (1-λ)·t(y)

其中φ(y)即用来排序的总得分,λ是调节两个得分的权重值。

本发明还公开了一种情感对话生成方法,包括以下步骤:s1.通过检测输入语句的实体词,生成语义正确的基本回复;s2.通过层次训练建立与各种情感对应的情感模型,并基于情感模型对基本回复进行微调,得到包含情感的回复;s3.将情感类别作为输入训练情感模型,并根据情感模型输出的情感回复;s4.接收步骤s1-s3中输出的回复,对输出的回复进行打分,并根据分数进行重排,得分最高的回复即为最终的情感回复。

本发明由于采取以上技术方案,其具有以下优点:

(1)在人机对话过程中,机器能够生成满足特定情感的对话回复,使得回复既满足语法通顺性和语义连贯性,又满足情感的一致性,这样不仅可以提高机器生成回复的质量,还能提高人机交互中的用户体验感。

(2)考虑了不同情感下的生成对话,具体有喜欢、悲伤、愤怒、厌恶和高兴这5种情感,基本回复生成模块、多模型情感回复生成模块以及单模型情感回复生成模块的生成方式,得到很多备选的回复,并通过重排序模块选择最佳的回复,使得该回复。

(3)提出了一种直接生成多种指定情感的端到端的模型,在引入情感因子使模型朝着指定情感方向生成句子的同时,利用拷贝机制显式的提高了情感词的生成,使得句子表达的情感更为丰富。

(4)针对情感对话问题,设计了一种衡量句子情感得分的方式。可以和其他句子维度特征结合起来,对不同情感对话模型结果进行重排序。

附图说明

图1为本发明一实施例中情感对话生成系统的结构关系图;

图2为本发明一实施例中多模型情感回复生成模块生成方法的逻辑关系图。

具体实施方式

为了使本领域技术人员更好的理解本发明的技术方向,通过具体实施例对本发明进行详细的描绘。然而应当理解,具体实施方式的提供仅为了更好地理解本发明,它们不应该理解成对本发明的限制。在本发明的描述中,需要理解的是,所用到的术语仅仅是用于描述的目的,而不能理解为指示或暗示相对重要性。

实施例一

本实施例公开了一种情感对话生成系统,如图1所示,包括:情感对话生成模块和重排序模块;

情感对话生成模块包括基本回复生成模块,其通过检测输入语句的实体词,生成语义正确的基本回复;多模型情感回复生成模块,其通过层次训练建立与各种情感对应的情感模型,并基于情感模型对基本回复进行微调,得到情感回复;单模型情感回复生成模块,其将情感类别作为输入训练情感模型,并根据情感模型输出情感回复;

重排序模块接收对话生成模块中三个子模块输出的回复,对输出的回复进行打分,并根据分数对各模块输出的回复进行重排,得分最高的回复即为最终的情感回复。

本实施例中系统在人机对话过程中,机器能够生成满足特定情感的对话回复,使得回复既满足语法通顺性和语义连贯性,又满足情感的一致性,这样不仅可以提高机器生成回复的质量,还能提高人机交互中的用户体验感。

本实施例中情感对话生成过程包括:将用户的语音、视频或输入文字转换成机器可以识别的文本x=(x1,x2,...,xn)。其中x1到xn均为文本中的组成元素,可以表示段落、句子、词等等。通过情感对话生成模块为上述文本选定感情类别,并基于选定的感情类别,生成与情感类别相符的情感回复y=(y1,y2,...,ym)。情感类别包含{喜欢、悲伤、愤怒、厌恶、高兴、其他}六个类别。生成的情感回复y除了必须与选定的情感类别情感一致,还必须语法通顺、语义连贯。

情感对话生成模块包括基本回复生成模块,多模型情感回复生成模块和单模型情感回复生成模块。

其中,基本回复生成模块基于规则生成模型识别输入语句中的具有实际意义的实体词,并在规则生成模型中植入人工撰写的回复模板,根据实体词确定回复模板,并根据回复模块确定语义正确的基本回复。由于回复模板是人工撰写的模板,因此对于最终形成的基本回复能够较好的符合语法通畅性、语义连贯性、情感一致性。本实施例中,采用rucnlp工具抽取句子中的实体词。本实施例中采用是否检测到实体词作为规则生成模型的触发点,触发后直接使用规则生成模型的输出结果作为回复,在实际使用中能减轻模型计算量。

多模型情感回复生成模块和单模型情感回复生成模型均通过seq2seq模型生成具有情感类别的模型,seq2seq模型包括编码器encoder和解码器decoder,编码器用于将输入语句x转化为一个中间状态的稠密向量h=(h1,h2,...,hn),解码器用于将这个中间状态向量h解码为情感模型的输出语句y。以上过程通常通过长短时依赖记忆单元(lstm)或者门控循环单元(gru)实现。本实施例以门控循环单元为例进行说明。门控循环单元通过更新门和重置门进行控制,其计算过程如下:

z=σ(wzxt uzht-1)

r=σ(wrxt urht-1)

其中,z是更新门输出结果;r是重置门输出结果;s是输入细胞状态向量;tanh(·)和σ(·)是激活函数。表示向量的点积;wz,wr,ws,uz,ur,us分别为不同门下的参数矩阵,用于将t时刻输入向量xt和上一时刻中间状态ht-1映射到同一语义空间。词向量是通过随机初始化,随模型进行训练。

编码器和解码器的计算过程可以表示为:

ht=gruencoder(xt,ht-1)

st=grudecoder(yt-1,st-1)

p(yt|st)=softmax(wost)

其中p(yt|st)为在解码器时刻t下词向量生成概率,将词向量概率最大的词作为当前生成的词yt。ht,st分别是编码器和解码器在t时刻的中间隐含状态。wo是在输出过程中将解码器状态st映射到词表空间的参数矩阵。

由于,编码过程中仅使用编码器的最后一个输出hn作为输入语句的表示;同时,在解码过程中,每个时刻t解码器的输出值只依赖于上一个时刻的状态st-1和上一个生成词的词向量yt,输入语句的其他信息没有得到充分的利用,也没有被充分表达。所以需要引入注意力机制,来丰富解码过程的输入信息。引入注意力机制后,解码器采用如下公式进行解码:

si=grudecoder(yi-1,si-1,ci)

其中,i是解码器的不同时刻;j是编码器的不同时刻;si是解码器在解码过程中每个时刻i的隐含状态;hj是编码器编码过程中的中间状态稠密向量h在j时刻的向量表示;eij是上一个时刻的解码器隐含状态si-1和在不同时刻j与编码器中间状态hj计算得到的注意力重要度,其中wa为学习的参数矩阵;αij是注意力机制将重要度归一化后得到的分配给编码器不同时刻中间向量的加权权重;n是输入的长度;ci是通过注意力机制权重对编码器所有中间状态加权求和计算得到的上下文信息的向量表示;yi是在时刻i生成词的词向量。

如图2所示,多模型情感回复生成模块包括与情绪类别对应的多个seq2seq模型,seq2seq模型的生成过程为:首先生成由语义集训练得到的通用模型,通过在不同的细分数据集上进行微调(fine-tune)来得到不同的生成模型;其次在通用模型的基础上,分别使用不同情感极性的数据集进行训练,得到对应不同情感极性的模型。即将通用模型分为正向情感模型和负向情感模型;最后,在正向情感模型和负向情感模型的基础上,分别使用不同情感类别的数据集进行训练,得到不同情感类型所对应的模型。即将正向情感模型分为与高兴对应的模型和与喜欢对应的模型;将负向情感模型分为与厌恶对应的模型、与悲伤对应的模型和与愤怒对应的模型。

相比于之前的模型,本实施例中模型有效的改善了数据集质量不高的情感类别(比如愤怒、厌恶等情感)的回复的准确性。与高兴、喜欢等正向情感的回复相比,带有负向情感的诸如愤怒或厌恶的回复,不仅数据量比较小,而且情感表达得比较微妙。对于计算机来说,学习生成带有负面情感的回复,比学习生成愤怒或厌恶等情感的回复,要容易一些。因为负面情感的数据更多,而且情感表达也更充分。由于这个原因,本实施例中模型在负面情感的回复生成上,尤其是在愤怒和厌恶情感类型上取得了不错的表现。

传统的seq2seq模型往往倾向于生成泛化且普通的回复,虽然句子具有一定的流畅性,但在情感对话的问题下无法使回复具备特有的情感。因此在本实施例中引入单模型情感回复生成模块。在单模型情感回复生成模块中仅包含一个seq2seq模型,seq2seq模型中将情感类别i转换为情感向量ei,并将情感向量ei加入到解码器的解码过程中,使得解码器的每一个生成的回复都能够拥有情感类别的信息,并使得回复在生成过程中朝着更加具有某一类情感的方向发展。情感向量是随机初始化,在学习过程中不断进行更新,使得seq2seq模型中包含情感类别的信息。这一步对应的解码器的计算过程为:st=grudecoder(yt-1,st-1,ct,ei)。

加入情感向量后,只能使模型在生成回复时感知到情感类别的信息,但情感的表达往往体现在具体的情感词上,因此,本实施例采用拷贝机制来提升生成过程中情感词的生成概率。具体过程为:将所有输入语义中获得的词分为情感词和非情感词,将情感词转换为情感词向量,将所有情感词向量与解码器当前隐含状态st进行交互,得到情感词的生成概率,再与由拷贝机制生成的额外增加的概率进行相加,从而提高回复生成过程中情感词的生成概率,解码器的生成概率的公式为:

p(yt|st)=softmax(pori(yt|st) pcopy(yt|st,e))

pcopy(yt|st,e)=softmax(ewest)

其中,e是所有情感词词向量;we是学习的参数矩阵;yi是时刻i生成词的词索引编号;si是解码器在时刻i的中间状态向量;pori为原始解码器decoder在si条件下词yi生成概率;pcopy为额外增加的si条件下情感词yi的拷贝概率,当yi不是情感词是pcopy为0。

单模型情感回复生成模块生成的模型在给定文本和情感的输入下,能够倾向生成具备情感的回复。

将情感对话生成模块生成的所有的回复,包括基本回复和带情感的回复建立一个回复候选数据库。为了从回复候选数据库中选择最优的回复进行输出,本实施例引入重排序模块。

重排序模块的打分机制包括情感一致性得分和语义连贯性得分。

对于情感一致性得分其具体确定过程如下:

基于大连理工大学所发布的情感词汇本体库,以及根据不同情感文本数据进行卡方聚类的结果,为不同的情感类型构建了不同的情感词典。每个情感词典给出了该情感类别下的情感词,以及情感词所对应的情感分数。情感词的分数结合了情感词汇本体库所给出的权重,以及在数据集中的词频,反映了该情感词表达该情感的重要程度。一般而言,显式的情感词比隐式的情感词有更高的分数。比如,在高兴情感类别的情感词典里,“快乐”比“获奖”有更高的分数。根据情感词典,可以得到每个情感词所对应的情感分数。一个句子的情感得分,就是这句话中出现的情感词的情感得分的总和。

此外,程度副词,比如“非常”、“有点”、“不”这些词,可以增强、减弱或者反转情感的表达。为了反映这些副词对情感表达的影响,本实施例中将这些程度副词按程度水平进行分类,并给出不同的权重。比如“非常”这类加强情感表达的程度词,权重大于1,相乘后使情感得分增大;“有点”这类减弱情感表达的程度词,权重小于1,相乘后使情感得分减小;“不”这类反转情感表达的程度词,权重为-1,相乘后情感得分反转;如果是双重否定,则是-1乘-1,相当于情感得分没有改变,即双重否定表肯定。

综上,情感一致性得分按照以下公式进行计算:

其中m是情感词m个数,e(y)和∈m分别表示候选回复y和情感词m的情感得分,index(m-1,m)表示上一个情感词到当前情感词的距离,表示在距离内副词yj的权重分数,wm表示情感词m在情感词典中的权重分数;γm表示情感词m是否在对应的情感词典中,如果在对应的情感类别的情感词典中就设置为1,说明对相应的情感类别表达有正向贡献,如“快乐”出现在高兴类别中;否则为-1,说明对相应的情感类别表达有负面贡献,如“悲伤”出现在高兴类别中。

语义连贯性得分

本实施例采取词项相似度来作为语义连贯性的得分,鼓励模型生成更多带有一致信息的回复。本实施例选择两个句子的相同词项个数来作为语义连贯性得分,语义连贯性得分的公式如下:

t(y)=count(x,y)

其中count(·)是计算两个句子相同词项的个数。

进一重排序模块根据情感一致性得分e(y)和语义连贯性得分t(y)汇总得到总得分,总得分为:

φ(y)=λ·e(y) (1-λ)·t(y)

其中φ(y)即用来排序的总得分,λ是调节两个得分的权重值。

实施例二

基于同一发明构思,本实施例公开了一种情感对话生成方法,包括以下步骤:

s1.通过检测输入语句的实体词,生成语义正确的基本回复;

s2.通过层次训练建立与各种情感对应的情感模型,并基于情感模型对基本回复进行微调,得到包含情感的回复;

s3.将情感类别作为输入训练情感模型,并根据情感模型输出的情感回复;

s4.接收步骤s1-s3中输出的回复,对输出的回复进行打分,并根据分数进行重排,得分最高的回复即为最终的情感回复。

上述内容仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。


技术特征:

1.一种情感对话生成系统,其特征在于,包括:情感对话生成模块和重排序模块,

所述情感对话生成模块包括基本回复生成模块,其通过检测输入语句的实体词,生成语义正确的基本回复;多模型情感回复生成模块,其通过层次训练建立与各种情感对应的情感模型,并基于所述情感模型对所述基本回复进行微调,得到情感回复;单模型情感回复生成模块,其将情感类别作为输入训练情感模型,并根据所述情感模型输出情感回复;

所述重排序模块接收所述对话生成模块中三个子模块输出的回复,对所述输出的回复进行打分,并根据分数对各模块输出的回复进行重排,得分最高的回复即为最终的情感回复。

2.如权利要求1所述的情感对话生成系统,其特征在于,所述基本回复生成模块基于规则生成模型识别输入语句中的具有实际意义的实体词,并在所述规则生成模型中植入人工撰写的回复模板,根据所述实体词确定所述回复模板,并根据所述回复模块确定语义正确的基本回复。

3.如权利要求1或2所述的情感对话生成系统,其特征在于,所述多模型情感回复生成模块和单模型情感回复生成模型均通过seq2seq模型生成具有情感类别的模型,所述seq2seq模型包括编码器encoder和解码器decoder,所述编码器用于将输入语句转化为一个中间状态的稠密向量h=(h1,h2,...,hn),所述解码器用于将这个中间状态向量h解码为情感模型的输出语句y。

4.如权利要求3所述的情感对话生成系统,其特征在于,所述seq2seq模型中引入注意力机制,用于丰富解码器的输入信息,引入注意力机制的解码器采用如下公式解码:

si=grudecoder(yi-1,si-1,ci)

其中,i是解码器的不同时刻;j是编码器的不同时刻;si是解码器在解码过程中每个时刻i的隐含状态;hj是编码器编码过程中的中间状态稠密向量h在j时刻的向量表示;eij是上一个时刻的解码器隐含状态si-1和在不同时刻j与编码器中间状态hj计算得到的注意力重要度,其中wa为学习的参数矩阵;αij是注意力机制将重要度归一化后得到的分配给编码器不同时刻中间向量的加权权重;n是输入的长度;ci是通过注意力机制权重对编码器所有中间状态加权求和计算得到的上下文信息的向量表示;yi是在时刻i生成词的词向量。

5.如权利要求3所述的情感对话生成系统,其特征在于,所述多模型情感回复生成模块包括与情绪类别对应的多个seq2seq模型,所述seq2seq模型的生成过程为:首先生成由所有语料训练得到的通用模型;其次所有语料根据情感类别分为正向情感语料和负向情感语料分别微调通用模型,将通用模型分为正向情感模型和负向情感模型;最后,正向情感语料分为高兴情感语料和喜欢情感语料分别微调正向情感模型,将正向情感模型分为与高兴对应的模型和与喜欢对应的模型;负向情感语料分为厌恶、悲伤、愤怒情感语料分别微调负向情感模型,将负向情感模型分为与厌恶对应的模型、与悲伤对应的模型和与愤怒对应的模型。

6.如权利要求4所述的情感对话生成系统,其特征在于,在所述单模型情感回复生成模块中仅包含一个seq2seq模型,所述seq2seq模型中将情感类别i转换为情感向量ei,并将所述情感向量ei加入到解码器的解码过程中,使得所述seq2seq模型中包含情感类别的信息。

7.如权利要求6所述的情感对话生成系统,其特征在于,在所述seq2seq模型中,采用拷贝机制提升回复生成过程中情感词的生成概率,具体过程为:将所有输入语义中获得的词分为情感词和非情感词,将所述情感词转换为情感词向量,将所有所述情感词向量与解码器当前隐含状态st进行交互,得到情感词的生成概率,再与由拷贝机制生成的额外增加的概率进行相加,从而提高回复生成过程中情感词的生成概率,所述解码器的生成概率的公式为:

p(yt|st)=softmax(pori(yt|st) pcopy(yt|st,e))

pcopy(yt|st,e)=softmax(ewest)

其中,e是所有情感词词向量;we是学习的参数矩阵;yi是时刻i生成词的词索引编号;si是解码器在时刻i的中间状态向量;pori为原始解码器decoder在si条件下词yi生成概率;pcopy为额外增加的si条件下情感词yi的拷贝概率,当yi不是情感词是pcopy为0。

8.如权利要求1或2所述的情感对话生成系统,其特征在于,所述重排序模块的打分机制包括情感一致性得分和语义连贯性得分,

情感一致性得分通过为不同的情感类型构建了不同的情感词典,每个所述情感词典给出了所述情感类别下对应情感词,以及所述情感词对应的情感分数;所述情感一致性得分计算如下:

其中m是情感词m个数,e(y)和∈m分别表示候选回复y和情感词m的情感得分,index(m-1,m)表示上一个情感词到当前情感词的距离,表示在所述距离内副词yj的权重分数,wm表示情感词m在情感词典中的权重分数;γm表示情感词m是否在对应的情感词典中,如果在对应的情感类别的情感词典中就设置为1,说明对相应的情感类别表达有正向贡献;否则为-1,说明对相应的情感类别表达有负面贡献;

所述语义连贯性得分的公式如下:

t(y)=count(x,y)

其中count(·)是计算两个句子相同词项的个数。

9.如权利要求8所述的情感对话生成系统,其特征在于,所述重排序模块根据所述情感一致性得分e(y)和语义连贯性得分t(y)汇总得到总得分,所述总得分为:

φ(y)=λ·e(y) (1-λ)·t(y)

其中φ(y)即用来排序的总得分,λ是调节两个得分的权重值。

10.一种情感对话生成方法,其特征在于,包括以下步骤:

s1.通过检测输入语句的实体词,生成语义正确的基本回复;

s2.通过层次训练建立与各种情感对应的情感模型,并基于所述情感模型对所述基本回复进行微调,得到包含情感的回复;

s3.将情感类别作为输入训练情感模型,并根据所述情感模型输出的情感回复;

s4.接收步骤s1-s3中输出的回复,对所述输出的回复进行打分,并根据分数进行重排,得分最高的回复即为最终的情感回复。

技术总结
本发明涉及一种情感对话生成系统和方法,包括:情感对话生成模块和重排序模块;情感对话生成模块包括基本回复生成模块,用于生成语义正确的基本回复;多模型情感回复生成模块,其通过层次训练建立与各种情感对应的情感模型,并基于情感模型得到情感回复;单模型情感回复生成模块,其将情感类别作为输入训练情感模型,并根据情感模型输出情感回复;重排序模块接收对话生成模块中三个子模块输出的回复,对输出的回复进行打分,并根据分数对各模块输出的回复进行重排,得分最高的回复即为最终的情感回复。在人机对话过程中,机器能够生成满足特定情感的对话回复,其既语法通顺、语义连贯,又满足情感一致性,从而提高了人机交互中的用户体验感。

技术研发人员:窦志成
受保护的技术使用者:中国人民大学
技术研发日:2020.01.22
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-57582.html

最新回复(0)