掌桥专利:专业的专利平台
掌桥专利
首页

回复消息生成方法、系统、计算机设备及存储介质

文献发布时间:2023-06-19 09:32:16


回复消息生成方法、系统、计算机设备及存储介质

技术领域

本申请涉及自然语言处理领域,特别是涉及一种回复消息生成方法、系统、计算机设备及计算机可读存储介质。

背景技术

对话系统是指机器人与人类进行交谈的系统,旨在让机器人拥有感知人类语言的能力,并产生智能化回复。构建一个能够表达指定情感并产生信息丰富的回复的情感对话系统是人工智能的长远目标。有研究表明,在对话系统中引入情感因素可以提升用户满意度,并有助于提升系统感知交互的能力。通过赋予机器识别用户情绪状态并产生特异性回复的能力,可以避免对话中的许多故障。

传统的情感对话系统依赖手工设计的对话模板和规则。在一项研究成果中,提出了根据用户话语中的频谱,韵律和言语暗示,来设计了一个对于用户所表达的情感敏感的对话系统。该模型可以根据用户输入的话语中所表达的情感信息,结合预先设计好的对话模板产生最终的回复。

近年来,随着深度学习技术的井喷式发展以及社交网络媒体的迅速普及,人类拥有了海量的对话数据,基于深度学习的对话技术也开始崭露头角,逐步超越和取代了传统的基于规则和模板的方法。数据驱动是基于深度学习的对话系统的一大特点,深度学习方法能够利用神经网络自主提取蕴含在海量对话数据中的对话特征,学习人类语言表达的能力并理解用户对话的语义。一种典型的基于神经网络的对话生成方法是序列到序列模型(seq2seq),该模型采用了一个基于长短期记忆网络(LSTM)的编码器将历史对话记录编码为向量,然后将此历史对话的向量表示输入到另一个基于长短期记忆网络的解码器以逐个单词地生成最终的回复句子。基于编码器-解码器框架的序列到序列模型主导了情感对话的生成,因为它能够以端到端的形式训练,并扩展到非常大的训练数据集上,从而具备良好的泛化性能,达到了超越传统模型的效果。

随后,部分研究工作尝试在序列到序列模型的基础上融入情感信息,以此构建情感对话生成模型。一项具有代表性的研究工作利用内部和外部情感记忆在大规模对话生成中建模情感因素。目前的对话模型尽管考虑了情感因素对于回复消息的重要性,但是仍旧依赖人工词典,生成的回复消息带有的情感信息难以匹配对话内容的情感。

发明内容

本申请提供一种回复消息生成方法、系统、计算机设备及存储介质,能够解决回复消息的情感与对话消息的情感适配程度低的问题。

为解决上述技术问题,本申请第一方面提供了一种回复消息生成方法,该方法包括:获取对话消息,所述对话消息带有情感标签;对所述对话消息进行分词和嵌入,得到输入语义特征向量;将所述输入语义特征向量和情感标签输入语义-情感记忆模块,得到情感记忆值;利用所述输入语义特征向量和所述情感记忆值进行预测,生成回复消息

进一步地,所述语义-情感记忆模块包括语义记忆层和情感记忆层;所述语义记忆层包括K个对话消息语义向量,每个所述对话消息语义向量在所述情感记忆层对应N个情感类,每个所述情感类存储一情感记忆值。

进一步地,所述将所述输入语义特征向量和情感标签输入语义-情感记忆模块,得到情感记忆值,包括:在所述语义记忆层搜索与所述输入语义特征向量相似度最高的对话消息语义向量;在所述情感记忆层搜索所述对话消息语义向量对应的、与所述情感标签为相同情感类型的情感类,获取所述情感类对应的情感记忆值。

进一步地,所述K个对话消息语义向量为多个对话消息语义特征向量被聚类为K个聚类簇的簇中心,每个所述对话消息语义向量对应多个回复消息语义特征向量,且每个所述对话消息语义向量对应的多个所述回复消息语义特征向量根据情感类型被分类为N个情感类,每个所述情感类以类中回复消息语义特征向量的平均向量为情感记忆值。

进一步地,所述利用所述输入语义特征向量和所述情感记忆值进行预测,生成回复消息包括:将所述输入语义特征向量和所述情感记忆值进行合并;将合并结果作为解码器的初始状态,利用所述解码器逐步预测每个时间步的回复单词的概率;基于所述概率确定每个时间步的最终回复单词,所有所述最终回复单词按时间顺序组合得到所述回复消息。

进一步地,所述利用所述解码器逐步预测每个时间步的回复单词的概率包括:每个时间步以所述情感标签的初始化向量作为所述解码器的额外输入,更新当前时间步的隐藏层状态,并利用全局上下文向量预测当前时间步的回复单词的概率。

进一步地,在所述获取的对话消息之前,所述方法包括:利用语料库训练回复消息生成网络,所述语料库包括多组带有情感标签的对话消息及对应的真实回复,所述回复消息生成网络包括第一子网络和第二子网络,所述第一子网络用于为所述带有情感标签的对话消息生成回复消息,所述第二子网络用于对所述真实回复进行重构。

进一步地,所述方法还包括:在对所述回复消息生成网络进行训练时,所述第一子网络将所述语料库中的对话消息转换为训练语料对话向量,所述第二子网络将所述语料库中的真实回复转换为训练语料回复向量,依次将每对所述训练语料对话向量和训练语料回复向量写入所述语义-情感记忆模块;将所述训练语料对话向量作为对话消息语义特征向量调整所述K个聚类簇,以更新所述对话消息语义向量;将所述训练语料回复向量作为所述回复消息语义特征向量,重新计算每个所述情感类中的回复消息语义特征向量的平均向量,以更新所述情感记忆值。

为解决上述技术问题,本申请第二方面提供了一种回复消息生成系统,该系统包括获取模块、分词嵌入模块、语义-情感记忆模块、情感记忆值获取模块以及预测模块,其中,获取模块用于获取对话消息,所述对话消息带有情感标签;分词嵌入模块用于对所述对话消息进行分词和嵌入,得到输入语义特征向量;语义-情感记忆模块用于存储情感记忆值;情感记忆值获取模块用于将所述输入语义特征向量和情感标签输入语义-情感记忆模块,得到情感记忆值;预测模块用于利用所述输入语义特征向量和所述情感记忆值进行预测,生成回复消息。

为解决上述技术问题,本申请第三方面提供了一种计算机设备,该计算机设备包括相互耦接的处理器和存储器,所述存储器中存储有计算机程序,所述处理器用于执行所述计算机程序,以实现上述第一方面提供的回复消息生成方法。

为解决上述技术问题,本申请第四方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面提供的回复消息生成方法。

本申请的有益效果是:区别于现有技术的情况,本申请首先获取带有情感标签的对话消息,将对话消息进行分词嵌入处理,得到输入语义特征向量,再将输入语义特征向量和情感标签输入语义-情感记忆模块,得到情感记忆值,最后利用输入语义特征向量和情感记忆值预测生成回复消息。利用输入语义特征向量和情感标签搜索情感记忆值,情感记忆值的获取兼顾了对话消息的语义信息和情感信息,最后依靠输入语义特征向量和情感记忆值预测回复消息,由于回复消息是严格遵从对话消息的语义以及情感记忆值生成的,其语义和情感都对话消息的语义和情感高度适配。

附图说明

图1是本申请回复消息生成网络一实施例的结构示意图;

图2是本申请回复消息生成方法一实施例的流程示意框图;

图3是本申请搜索情感记忆值一实施例的流程示意框图;

图4是本申请利用解码器生成回复消息一实施例的流程示意框图;

图5是本申请回复消息生成网络另一实施例的结构示意图;

图6是本申请更新并存储对话消息语义向量和情感记忆值一实施例的结构示意框图;

图7是本申请回复消息生成系统一实施例的示意框图;

图8是本申请计算机设备一实施例的电路结构示意框图;

图9是本申请计算机可读存储介质一实施例的电路结构示意框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。此外,术语“包括”和“具有”以及他们任何形变,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解是,本文所描述的实施例可以与其他实施例结合。

请参阅图1,图1为本申请回复消息生成网络一实施例的结构示意图。回复消息生成网络由编码器-解码器网络组成第一子网络20,第一子网络20用于根据输入的对话消息预测回复消息,回复消息生成网络还包括一外部连接的语义-情感记忆模块10,其中存储有情感记忆值。各个组成部分的工作机制将在以下个实施例中详细阐述。

参阅图2,图2为本申请回复消息生成方法一实施例的流程示意框图。本实施例具体包括以下步骤:

步骤S11,获取对话消息,对话消息带有情感标签。

此步骤获取的对话消息可以是用户通过聊天框输入的文字对话消息,也可以是通过智能语音对话输入的对话消息,比如与智能机器人对话时的语音消息等。

对话消息可表示为:POSTX={x

步骤S12,对对话消息进行分词和嵌入,得到输入语义特征向量。

输入语义特征向量为对话消息POSTX={x

具体地,回复消息生成网络利用编码器对对话消息POSTX={x

可选地,以双向门控循环单元网络Bi-GRU为编码器,对对话消息进行编码,以得到输入语义特征向量Rep(X)。双向门控循环单元网络Bi-GRU从正向和逆向进行编码,以正向编码的最终隐藏层状态hn和逆向编码的最终隐藏层状态h1的合并值[hn;h1]作为输入语义特征向量Rep(X),可以降低由于单向编码的“遗忘”造成的语义偏差等不良影响,能够获得更加可靠的输入语义特征向量Rep(X)。

步骤S13,将输入语义特征向量和情感标签输入语义-情感记忆模块,得到情感记忆值。

语义-情感记忆模块10中预先存储有情感记忆值

具体地,语义-情感记忆模块10可以是两层的记忆网络,其包括语义记忆层和情感记忆层。其中,语义记忆层包括K个对话消息语义向量PX

基于此语义-情感记忆模块10,则此步骤利用输入语义特征向量Rep(X)和情感标签e在语义-情感记忆模块10搜索情感记忆值

S131:在语义记忆层搜索与输入语义特征向量相似度最高的对话消息语义向量。

分别计算输入语义特征向量Rep(X)与每个话消息语义向量PX

S132:在情感记忆层搜索对话消息语义向量对应的、与情感标签为相同情感类型的情感类,获取情感类对应的情感记忆值。

此步骤在情感记忆层搜索与输入语义特征向量Rep(X)相似度最高的对话消息语义向量PX

步骤S131至步骤S132可被描述为:

其中,M

可选地,K个对话消息语义向量Rep(X)可以是多个对话消息语义特征向量以相似度被聚类为K个聚类簇的簇中心,其中,每个对话消息语义向量对应多个回复消息语义特征向量,且每个对话消息语义向量对应的多个回复消息语义特征向量根据情感类型被分类为N个情感类

步骤S14,利用输入语义特征向量和情感记忆值进行预测,生成回复消息。

此步骤可以利用GRU或LSTM作为解码器进行回复消息的预测,并逐步预测输出的回复消息中的每个单词,预测得到的所有回复单词按序拼接成为回复消息Y={y

具体地,请参阅图4,利用解码器生成回复消息具体包括以下步骤:

步骤S141,将输入语义特征向量和情感记忆值进行合并。

可以利用多层感知机MLP合并输入语义特征向量Rep(X)和情感记忆值Me,得到合并结果MLP([Rep(X)],Me)。

步骤S142,将合并结果作为解码器的初始状态,利用解码器逐步预测每个时间步的回复单词的概率。

以合并结果MLP([Rep(X)],Me)作为解码器隐藏层的初始状态s

1)解码器以上一时间步输出的回复单词的词嵌入向量为输入,结合上一隐藏层状态,更新当前时间步的隐藏层状态:

其中,s

2)结合全局上下文向量c

其中,W

可选地,每个时间步以情感标签e的初始化向量v

3)解码器以上一时间步输出的回复单词的词嵌入向量以及情感标签e的初始化向量v

s

4)结合全局上下文向量c

本实施例以情感标签e的初始化向量v

步骤S143,基于概率确定每个时间步的最终回复单词,所有最终回复单词按时间顺序组合得到回复消息。

步骤S142经softmax处理后,得到输出回复单词的概率分布,可以取概率最大的单词为最终回复单词,得出每个时间步的最终回复单词,如此一来,每个时间步输出的最终回复单词y

可选地,在对回复消息生成网络进行训练时,将语料库中的对话消息和真实回复写入语义-情感记忆模块10,以更新并存储对话消息语义向量PX

具体而言,在进行对话消息回复生成网络的训练时,更新并存储对话消息语义向量PX

S21:分别以语料库中的对话消息和真实回复作为第一子网络和第二子网络的输入数据。

此步骤以语料库中的对话消息作为第一子网络20的输入数据,以语料库中的真实回复作为第二子网络30的输入数据。

S22:第一子网络将语料库中的对话消息转换为训练语料对话向量,第二子网络将语料库中的真实回复转换为训练语料回复向量。

第一子网络20以Bi-GRU编码器对语料库中的对话消息进行编码,输出对话消息对应的训练语料对话向量

本步骤依次将多组对话消息-真实回复转换为训练语料对话向量-训练语料回复向量,即,每次将一组对话消息-真实回复转换为对应的一组训练语料对话向量-训练语料回复向量。

S23:依次将每对训练语料对话向量和训练语料回复向量写入语义-情感记忆模块。

S24:将训练语料对话向量作为对话消息语义特征向量调整K个聚类簇,以更新对话消息语义向量;将训练语料回复向量作为回复消息语义特征向量,重新计算每个情感类中的回复消息语义特征向量的平均向量,以更新情感记忆值。

语义-情感记忆模块10的语义记忆层利用K-Means聚类规则将训练语料对话向量

本步骤可以在每写入一对训练语料对话向量和训练语料回复向量

对回复消息生成网络进行训练时,以真实回复为标签,以交叉熵损失函数为目标损失函数,对回复消息生成网络进行训练,以更新回复消息生成网络的参数,完成对回复消息生成网络的训练。其中交叉熵损失函数如下:

其中,m为输出回复消息的长度,y

本申请由于情感记忆值是在对话语义相近的基础上按照回复消息的情感类别存入的,因此,情感记忆值

请参阅图7,图7为本申请回复消息生成系统一实施例的示意框图,该回复消息生成系统包括获取模块100、分词嵌入模块200、语义-情感记忆模块300、情感记忆值获取模块400以及预测模块500,其中,获取模块100用于获取对话消息,所述对话消息带有情感标签;分词嵌入模块200用于对对话消息进行分词和嵌入,得到输入语义特征向量;语义-情感记忆模块300用于存储情感记忆值;情感记忆值获取模块400用于将输入语义特征向量和情感标签输入语义-情感记忆模块,得到情感记忆值;预测模块500用于利用输入语义特征向量和情感记忆值进行预测,生成回复消息。

获取模块100、分词嵌入模块200、语义-情感记忆模块300、情感记忆值获取模块400以及预测模块500所实现的功能和过程等相关的描述请参照上述本申请回复消息生成方法实施例对应的各步骤的描述,在此不再赘述。

请参阅图8,图8为本申请计算机设备一实施例的电路结构示意框图。计算机设备10包括相互耦接的处理器11和存储器12。存储器12中存储有计算机程序,处理器11用于执行计算机程序以实现如上述本申请回复消息生成方法各实施例的步骤。

关于处理执行的各步骤的描述请参照上述本申请回复消息生成方法实施例的各步骤的描述,在此不再赘述。

在本申请的各实施例中,所揭露的回复消息生成方法和计算机设备,可以通过其它的方式实现。例如,以上所描述的计算机设备的各实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中。

参阅图9,图9为本申请计算机可读存储介质一实施例的电路结构示意框图,计算机存储介质1000存储有计算机程序1001,计算机程序1001被执行时实现如上述本申请回复消息生成方法各实施例的步骤。

计算机存储介质1000可以是U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

相关技术
  • 回复消息生成方法、系统、计算机设备及存储介质
  • 回复消息的方法、设备及计算机可存储介质
技术分类

06120112200718