1.本技术涉及人工智能技术领域,具体涉及一种对话应答
语句的生成方法、装置、电子设备及计算机可读存储介质。
背景技术:
2.随着人工智能的快速发展,人工智能技术被应用于越来越多的领域中,其中,人机对话交流是人工智能的一个重要表现形式。
3.近年来各种深度学习模型都试图模拟人机对话交互的能力,传统人机对话模型将一问一答的对话语料作为数据集,训练端到端的人机对话模型。
4.但是人类的对话交流不是简单地时间顺序的线性应答,现有的人机对话模型未能整合人类交互的情绪、话题、知识等各方面信息生成人机对话的回复,因此现有的人机对话模型存在生成的回复不够准确的问题。
技术实现要素:
5.本技术提供一种对话应答语句的生成方法、装置、电子设备及计算机可读存储介质,旨在解决现有人机对话模型生成的回复不够准确的问题。
6.第一方面,本技术提供一种对话应答语句的生成方法,
所述方法包括:
7.获取待回复语句;
8.基于所述待回复语句中的场景信息,按照预设的
向量格式获取所述待回复语句的目标表示向量;
9.基于所述目标表示向量进行特征提取,得到所述待回复语句的语句特征;
10.基于所述语句特征确定所述待回复语句的目标应答语句。
11.第二方面,本技术提供一种对话应答语句的生成装置,所述对话应答语句的生成装置包括:
12.获取单元,用于获取待回复语句;
13.表示单元,还用于基于所述待回复语句中的场景信息,按照预设的向量格式获取所述待回复语句的目标表示向量;
14.特征提取单元,用于基于所述目标表示向量进行特征提取,得到所述待回复语句的语句特征;
15.生成单元,用于基于所述语句特征确定所述待回复语句的目标应答语句。
16.第三方面,本技术还提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行本技术提供的任一种对话应答语句的生成方法中的步骤。
17.第四方面,本技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行所述的对话应答语句的生成方法中的步骤。
18.本技术通过将待回复语句中的场景信息融入待回复语句的向量表达中,得到待回
复语句的目标表示向量,使得待回复语句的向量表达质量增强,具有更丰富的内容表达;再通过待回复语句的目标表示向量确定待回复语句的目标应答语句,由于基于待回复语句中的场景信息,可以潜在地整合人类交互的情绪、话题、知识等各方面信息生成人机对话的回复,在一定程度上提高了人机对话回复的准确性。
附图说明
19.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本技术实施例所提供的对话应答语句的生成检测系统的场景示意图;
21.图2是本技术实施例提供的对话应答语句的生成方法的一种流程示意图;
22.图3是本技术实施例中提供的原理框架说明示意图;
23.图4是本技术实施例中提供的向量拼接模块的向量拼接算法说明示意图;
24.图5是本技术实施例中提供对话生成模型训练过程的一种说明示意图;
25.图6是本技术实施例中提供的样本对话的交互关系示意图;
26.图7是本技术实施例中提供的对话特征图的一种说明示意图;
27.图8是本技术实施例中提供的子图的一种说明示意图;
28.图9是本技术实施例中提供的图
卷积操作的一个示意图;
29.图10是本技术实施例中提供的对话应答语句的生成装置的一个实施例结构示意图;
30.图11是本技术实施例中提供的电子设备的一个实施例结构示意图。
具体实施方式
31.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
32.在本技术实施例的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本技术实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
33.为了使本领域任何技术人员能够实现和使用本技术,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本技术。在其它实例中,不会对公知的过程进行详细阐述,以避免不必要的细节使本技术实施例的描述变得晦涩。因此,本技术并非旨在限于所示的实施例,而是与符合本技术实施例所公开的原理和特征的最广范围相一致。
34.本技术实施例对话应答语句的生成方法的执行主体可以为本技术实施例提供的对话应答语句的生成装置,或者集成了该对话应答语句的生成装置的服务器设备、物理主
机或者用户设备(user equipment,ue)等不同类型的电子设备,其中,对话应答语句的生成装置可以采用硬件或者软件的方式实现,ue具体可以为智能手机、平板电脑、笔记本电脑、掌上电脑、台式电脑或者个人数字助理(personal digital assistant,pda)等终端设备。
35.该电子设备可以采用单独运行的工作方式,或者也可以采用设备集的工作方式,通过应用本技术实施例提供的对话应答语句的生成方法,由于基于待回复语句中的场景信息,可以潜在地整合人类交互的情绪、话题、知识等各方面信息生成人机对话的回复,在一定程度上提高了人机对话回复的准确性。
36.参见图1,图1是本技术实施例所提供的对话应答语句的生成系统的场景示意图。其中,该对话应答语句的生成系统可以包括电子设备100,电子设备100中集成有对话应答语句的生成装置。例如,该电子设备可以获取待回复语句;基于所述待回复语句中的场景信息,按照预设的向量格式获取所述待回复语句的目标表示向量;基于所述目标表示向量进行特征提取,得到所述待回复语句的语句特征;基于所述语句特征确定所述待回复语句的目标应答语句。
37.另外,如图1所示,该对话应答语句的生成系统还可以包括存储器200,用于存储数据,如存储语句数据。
38.需要说明的是,图1所示的对话应答语句的生成系统的场景示意图仅仅是一个示例,本技术实施例描述的对话应答语句的生成系统以及场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着对话应答语句的生成系统的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
39.下面,开始介绍本技术实施例提供的对话应答语句的生成方法,本技术实施例中以电子设备作为执行主体,为了简化与便于描述,后续方法实施例中将省略该执行主体,该对话应答语句的生成方法包括:获取待回复语句;基于所述待回复语句中的场景信息,按照预设的向量格式获取所述待回复语句的目标表示向量;基于所述目标表示向量进行特征提取,得到所述待回复语句的语句特征;基于所述语句特征确定所述待回复语句的目标应答语句。
40.参照图2,图2是本技术实施例提供的对话应答语句的生成方法的一种流程示意图。需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。该对话应答语句的生成方法包括步骤201~步骤204,其中:
41.201、获取待回复语句。
42.其中,待回复语句是人机对话中需要回复的语句,例如,话费充值服务应用中,用户向智能发送“我充值了100元,充值失败怎么办?”,则该用户与智能的人机对话中,待回复语句为“我充值了100元,充值失败怎么办?”。
43.步骤201中,获取待回复语句的方式有多种,示例性地,包括:
44.(1)电子设备作为人机对话的交互设备,实时获取人机对话中的语句,并识别出用户输入的语句,以作为待回复语句。
45.(2)电子设备可以与人机对话的交互设备进行连接,从交互设备获取用户输入的待回复语句。
46.202、基于所述待回复语句中的场景信息,按照预设的向量格式获取所述待回复语句的目标表示向量。
47.其中,场景信息是用于指示对话主题、对话主题对应的背景知识、说话者情绪等的信息,例如,待回复语句的情绪信息、话题信息、扩展信息等。
48.目标表示向量是指待回复语句进行向量化后所得的表示向量。
49.其中,预设的向量格式可以有多种,对应地目标表示向量的表现形式也有多种,示例性地,包括:
50.1)预设的向量格式是待回复语句的原始句向量和待回复语句的情绪增强向量依次拼接,目标表示向量是指待回复语句的原始句向量、情绪增强向量进行拼接得到的向量。例如,待回复语句的目标表示向量表达格式如下表1所示。
51.表1
52.原始句向量pm-un情绪增强向量ue
53.其中,情绪增强向量是指待回复语句中所包含的情绪信息转化为计算机程序能够处理的向量形式后,所得到的向量。
54.例如,可以预设生气、厌恶、害怕、快乐、悲伤、兴奋和中性七个主要情绪类别。情绪增强向量ue可以设置为一个7位的数组结构,用于存储待回复语句的情绪信息。例如,7位的数组结构[0,0,0,0,0,0,0]中每一位依次表示生气、厌恶、害怕、快乐、悲伤、兴奋和中性,情绪增强向量ue数组结构中每一个情绪所在位为“1”表示待回复语句中存在该情绪,“0”表示待回复语句中不存在该情绪。比如,情绪增强向量ue=[0,1,0,0,0,0,0],表示待回复语句带有“厌恶”的情绪信息。
[0055]
此时,步骤202具体可以包括以下步骤2021a~步骤2023a:
[0056]
2021a、获取所述待回复语句的原始句向量。
[0057]
其中,原始句局向量是通过将待回复语句转换成计算机程序能够处理的向量形式得到。例如,可以通过常用的文本向量化工具word2vec、glove、或bert,将待回复语句进行转化得到的。
[0058]
2022a、识别所述待回复语句的目标情绪信息。
[0059]
其中,目标情绪信息是指待回复语句的说话人的情绪。
[0060]
具体地,可以通过已训练好的情绪识别模型根据原始句向量识别待回复语句的目标情绪信息。例如,预设有生气、厌恶、害怕、快乐、悲伤、兴奋和中性七个主要情绪类别,分别对应的类别标签为0、1、2、3、4、5、6。通过情绪识别模型根据原始句向量识别待回复语句的类别标签为0,则待回复语句的说话人的情绪为“生气”。
[0061]
2023a、根据所述原始句向量、所述目标情绪信息和所述预设的向量格式,生成所述待回复语句的目标表示向量。
[0062]
具体地,将目标情绪信息通过情绪增强向量ue表示;然后按照预设的向量格式,将原始句向量pm-un和情绪增强向量ue进行拼接,得到待回复语句的目标表示向量。
[0063]
如表1所示,本技术实施例中将待回复语句统一处理表达为预设的向量格式,由于待回复语句的在向量表达上拼接了情绪的标签,可以将使得待回复语句的向量表达质量增强,具有更丰富的内容表达,从而使得后续预测的应答语句可以融合情绪信息,进而提高人机交互回复语句的准确性和真实性。
[0064]
2)预设的向量格式是待回复语句的原始句向量和待回复语句的话题增强向量依次拼接,目标表示向量是指待回复语句的原始句向量、话题增强向量进行拼接得到的向量。例如,待回复语句的目标表示向量表达格式如下表2所示。
[0065]
表2
[0066]
原始句向量pm-un话题增强向量ut
[0067]
其中,话题增强向量是指待回复语句中所包含的话题信息转化为计算机程序能够处理的向量形式后,所得到的向量。
[0068]
例如,可以预设电影、人物、吃法和未知四个主要话题类别。话题增强向量ut可以设置为一个4位的数组结构,用于存储待回复语句的话题信息。例如,4位的数组结构[0,0,0,0]中每一位依次表示电影、人物、吃法、和未知,话题增强向量ut数组结构中每一个话题所在位为“1”表示待回复语句中存在该话题,“0”表示待回复语句中不存在该话题。比如,话题增强向量ut=[0,1,0,0],表示待回复语句带有“人物”的话题。
[0069]
此时,步骤202具体可以包括以下步骤2021b~步骤2023b:
[0070]
2021b、获取所述待回复语句的原始句向量。
[0071]
步骤2021b与上述步骤2021a类似,此处不再赘述。
[0072]
2022b、识别所述待回复语句的目标话题信息。
[0073]
其中,目标话题信息是指待回复语句所包含的话题。
[0074]
具体地,可以通过已训练好的话题识别模型根据原始句向量识别待回复语句的目标话题信息。
[0075]
2023b、根据所述原始句向量、所述目标话题信息和所述预设的向量格式,生成所述待回复语句的目标表示向量。
[0076]
具体地,将所述目标话题信息通过话题增强向量ut表示;然后按照预设的向量格式,将原始句向量pm-un和话题增强向量ut进行拼接,得到待回复语句的目标表示向量。
[0077]
如表2所示,本技术实施例中将待回复语句统一处理表达为预设的向量格式,由于待回复语句的在向量表达上拼接了话题的标签,可以将使得待回复语句的向量表达质量增强,具有更丰富的内容表达,从而使得后续预测的应答语句可以融合话题信息,进而提高人机交互回复语句的准确性和真实性。
[0078]
3)预设的向量格式是待回复语句的原始句向量、待回复语句的情绪增强向量、待回复语句的话题增强向量、待回复语句的知识增强向量依次拼接,目标表示向量是指待回复语句的原始句向量、情绪增强向量、话题增强向量和扩展句向量进行拼接得到的向量。例如,待回复语句的目标表示向量表达格式如下表3所示。
[0079]
表3
[0080]
原始句向量pm-un情绪增强向量ue话题增强向量ut知识增强向量uk
[0081]
其中,知识增强向量是指待回复语句的扩展语句转化为计算机程序能够处理的向量形式后,所得到的向量。
[0082]
此时,步骤202具体可以包括以下步骤2021c~步骤2024c:
[0083]
2021c、获取所述待回复语句的原始句向量。
[0084]
步骤2021c与上述步骤2021a类似,此处不再赘述。
[0085]
2022c、识别所述待回复语句的目标情绪信息和目标话题信息。
[0086]
步骤2022c中识别待回复语句的目标情绪信息、目标话题信息,可以分别可以参考上述步骤2022a、步骤2022b说明,此处不再赘述。
[0087]
2023c、根据所述待回复语句的目标话题信息,获取所述待回复语句的目标扩展信息;
[0088]
其中,目标扩展信息是根据待回复语句中蕴含的话题,进行知识扩展后得到待回复语句的背景知识。
[0089]
例如,“《拆弹专家2》”是在谈论“电影”话题,导演是“张三”,该导演还拍过“《扫毒2》”。通过类似这样的知识扩展,可以扩充待回复语句的背景知识,得到待回复语句的目标扩展信息,有助于人工智能算法模型做出更贴近主题和准确的应答。
[0090]
其中,待回复语句的知识扩展的方式有多种,例如,可以是人工根据话题基于已有知识导入。也可以是本技术实施例的执行主体根据待回复语句的话题查询百度等外部知识库的方式获取。还可以是本技术实施例的执行主体根据待回复语句的话题在知识图谱(knowledge graph)上做深度搜索或广度搜索,如概念网络conceptnet采用的技术方案,返回扩展的相关背景知识。
[0091]
2024c、根据所述原始句向量、所述目标情绪信息、所述目标话题信息、所述目标扩展信息和所述预设的向量格式,生成所述目标表示向量。
[0092]
具体地,首先,将目标扩展信息融入待回复语句得到待回复语句的目标扩展语句。然后,将目标情绪信息通过情绪增强向量ue表示、将目标话题信息通过话题增强向量ut表示、将目标扩展语句通过知识增强向量uk表示;最后,按照预设的向量格式,将原始句向量pm-un、情绪增强向量ue、话题增强向量ut、知识增强向量uk进行拼接,得到待回复语句的目标表示向量。
[0093]
如表3所示,本技术实施例中将待回复语句统一处理表达为预设的向量格式,由于待回复语句的在向量表达上拼接了情绪、话题标签,包含了背景知识的扩展信息,可以将使得待回复语句的向量表达质量增强,具有更丰富的内容表达,从而使得后续预测的应答语句可以融合情绪、话题、扩展知识等信息,进而提高人机交互回复语句的准确性和真实性。
[0094]
为了更好地理解如何拼接得到上述目标表示向量,以一具体举例进行说明,请参考图3和图4,向量拼接算法的伪码原理如下:
[0095]
一、输入参数:原始句向量、目标情绪信息、目标话题信息。
[0096]
二、执行过程:1、检查原始句向量是否带有目标情绪信息,若有,在原始句向量pm-un后面增加情绪增强向量ue对应的维度(此处是增加一维向量);
[0097]
2、检查原始句向量pm-un是否带有目标话题信息,若有,在原始句向量后面增加话题增强向量ut对应的维度(此处增加的维度对应话题的个数,本技术实施例取一个最重要的话题,所以在原始句向量基础上增加一个维度);
[0098]
3、根据话题增强向量对应的话题,查询外部数据库或者通过知识图谱做关联匹配,将匹配到的知识融入待回复语句,生成一个新的扩展语句,扩展语句进行向量化后记为知识增强向量uk,uk的维度与原语句保持一致。若匹配到多个知识,则并列生成多条扩展语句。若无匹配知识,则给uk向量全部填写0值;
[0099]
4、检查生成的新向量数据结构是否对齐,确保句向量维度保持一致,ue、ut、uk对应维度若无实际数据,则统一置为0值。例如,原始句向量中没有识别到话题,则话题对应的
维度取0值;以200维原始句向量为例,做知识扩展时,若没有匹配到可扩展知识,则知识增强向量对应的维度填写200个0值。
[0100]
三、输出:拼接后得到增强的目标表示向量。
[0101]
由以上步骤2021a~步骤2023a、步骤2021b~步骤2023b、步骤2021c~步骤2024c的内容可以看出,可以基于待回复语句的目标情绪信息、目标话题信息、目标扩展信息中的至少一者,按照预设的向量格式获取待回复语句的目标表示向量。
[0102]
203、基于所述目标表示向量进行特征提取,得到所述待回复语句的语句特征。
[0103]
为了可以提高对待回复语句的情绪、话题、扩展等信息提取能力,以提高目标应答语句的准确性,在一些实施例中,可以通过本技术实施例中已训练的对话生成模型中的图卷积模块基于目标表示向量进行特征提取,得到待回复语句的语句特征。
[0104]
在一些实施例中,为了提高对待回复语句的情绪、话题、扩展等信息提取能力,也可以预先提取本技术实施例中对话生成模型学习得到的目标图卷积参数,再基于目标图卷积参数和目标表示向量进行卷积计算。此时,步骤203具体可以包括以下步骤2031~步骤2033:
[0105]
2031、获取预设的目标图卷积参数。
[0106]
其中,目标图卷积参数是已训练的对话生成模型中的图卷积模块的权重矩阵。具体地,可以从已训练的对话生成模型中,获取图卷积模块的权重矩阵作为目标图卷积参数。后文中已对目标图卷积参数的确定进行了详细阐述,为了简化表述,此处不再赘述。
[0107]
2032、获取预设的目标拉普拉斯矩阵。
[0108]
其中,预设的目标拉普拉斯矩阵是根据样本对话构建的对话特征图而确定拉普拉斯矩阵。
[0109]
本技术实施例中,可以通过下述步骤501~步骤506中所构建的对话特征图,确定预设的目标拉普拉斯矩阵,步骤2032中直接获取预设的目标拉普拉斯矩阵。由于后文中已对目标拉普拉斯矩阵的确定进行了详细阐述,为了简化表述,此处不再赘述。
[0110]
2033、根据所述目标表示向量、所述目标图卷积参数和所述目标拉普拉斯矩阵进行卷积计算,得到所述待回复语句的语句特征。
[0111]
具体地,执行目标表示向量x-c、目标图卷积参数w、目标拉普拉斯矩阵lα
β
之间的矩阵乘法运算,得到待回复语句的隐式特征向量;将待回复语句的隐式特征向量作为待回复语句的语句特征。
[0112]
进一步地,为了提高待回复语句的特征提取质量,在待回复语句的隐式特征向量之后,还可以进一步进行非线性激活和正则化处理,此时步骤2033具体可以包括:根据所述目标表示向量、所述目标图卷积参数和所述目标拉普拉斯矩阵进行卷积计算,得到所述待回复语句的隐式特征向量;对所述隐式特征向量进行非线性激活和正则化处理,得到所述待回复语句的中间特征向量;根据所述中间特征向量和所述的目标表示向量进行加权平均,得到所述待回复语句的语句特征。
[0113]
以下通过算法伪码原理,说明对隐式特征向量进行非线性激活和正则化处理的过程:
[0114]
一、输入参数:待回复语句的隐式特征向量。
[0115]
二、执行过程:1、对待回复语句的隐式特征向量做非线性激活σ;
[0116]
2、做正则化处理:log(σ(attentionalaggregate()));其中,σ表示非线性激活函数,可以是relu、sigmoid等;attentionalaggregate()表示待回复语句的隐式特征向量
[0117]
3、与目标表示向量x-c做更新:avg(x-c+log(σ(attentionalaggregate()))),得到语句特征x-hat。
[0118]
三、输出:图卷积更新操作之后,待回复语句的语句特征x-hat。
[0119]
204、基于所述语句特征确定所述待回复语句的目标应答语句。
[0120]
其中,目标应答语句是指通过待回复语句的语句特征进行预测,所得到的待回复语句的应答语句。
[0121]
在一些实施例中,可以通过本技术实施例中语句生成模块,根据待回复语句的卷积特征输出待回复语句的目标应答语句。
[0122]
在一些实施例中,可以从本技术实施例已训练的对话生成模型中,提取语句生成模块的权重参数;基于所提取的语句生成模块的权重参数根据待回复语句的卷积特征输出待回复语句的目标应答语句。
[0123]
由以上内容可以看出,本技术实施例中通过将待回复语句中的场景信息融入待回复语句的向量表达中,得到待回复语句的目标表示向量,使得待回复语句的向量表达质量增强,具有更丰富的内容表达;再通过待回复语句的目标表示向量确定待回复语句的目标应答语句,由于基于待回复语句中的场景信息,可以潜在地整合人类交互的情绪、话题、知识等各方面信息生成人机对话的回复,在一定程度上提高了人机对话回复的准确性。
[0124]
下面介绍本技术实施例中对话生成模型的训练过程。其中,待训练对话生成模型可以包括特征提取模块和语句生成模块。特征提取模块和语句生成模块可以根据实际需求进行搭建。
[0125]
特征提取模块,用于对目标句向量进行如卷积、采样等特征提取操作,得到原始语句的目标卷积特征。
[0126]
在一些实施例中,特征提取模块可以是如循环神经网络(recurrent neural networks,rnn)、长短期记忆网络(long-short term memory,lstm)、门控循环单元(gate recurrent unit,gru)等循环结构。
[0127]
在一些实施例中,可以通过本技术实施例中提供的图卷积模块作为特征提取模块,本技术实施例中的图卷积模块为图卷积神经网络(graph convolutional network,gcn)结构。本技术实施例中,以特征提取模块是图卷积模块为例。
[0128]
语句生成模块,用于基于原始语句的目标卷积特征进行特征编码并解码后输出原始语句的应答语句。在一些实施例中,语句生成模块可以是传统encoder-decoder架构。
[0129]
为了便于理解本技术实施例的对话生成模型的工作原理,下面先介绍本技术实施例的原理框架,本技术实施例中以图3中示出的原理框架为例,说明对话生成模型的整个训练过程,图3中包括:
[0130]
1)对话语句向量化处理模块
[0131]
该模块的任务是把每一条中文对话语句转换成计算机程序能够处理的向量形式。
[0132]
2)情绪识别模块
[0133]
该模块的任务是从每一个对话中,判断并识别出该句对话中包含的说话人情绪。例如,该模块从对话中识别出其中蕴含的情绪,并记录情绪标记为ue,ue字段取值为[0,1,
2,3,4,5,6],分别对应0-anger-生气、1-disgust-厌恶、2-fear-害怕、3-happy-快乐、4-sad-悲伤、5-surprise-兴奋和6-neutral-中性七个主要情绪类别。
[0134]
3)话题识别模块
[0135]
该模块的任务是从对话语句中抽取出主要话题,例如可采用成熟的lda模型,lda模型会识别出话题的概率分布,为了进一步简化处理本技术实施例中只保留概率最大的话题类型,并记录话题标记为ut,ut是一个数组结构,其间存储识别出的主话题,为后面知识扩展做准备。
[0136]
4)知识扩展模块
[0137]
该模块的任务是根据对话语句中蕴含的主话题,去做知识扩展。例如“《拆弹专家2》”是在谈论“电影”话题,导演是“张三”,该导演还拍过“《扫毒2》”。通过类似这样的知识扩展,可以扩充对话的背景知识,有助于人工智能算法模型做出更贴近主题和准确的应答。示例性地,知识扩展有两条路线:其一、是根据话题查询、百度等外部知识库;其二、是根据话题在知识图谱(knowledge graph)上做深度搜索或广度搜索,如概念网络conceptnet采用的技术方案,返回相关扩展知识。并记录在uk数组结构中,其间存储扩展的相关知识。在后面向量拼接阶段,ue、ut、uk数据结构均扩展为向量的形式,便于以句向量形式参与模型计算。
[0138]
5)向量拼接模块
[0139]
该模块的任务是将普通对话语句、带有情绪、话题和知识扩展的对话句向量做拼接处理,便于后面构图以及图卷积运算。
[0140]
6)图卷积模块
[0141]
该模块的作用是构建对话图,并在图上进行图卷积操作,通过卷积操作,可以得到表达能力更强的对话句向量,参与后续的对话应答语句生成。记向量拼接模块得到拼接的句向量为x-c(代表拼接后的向量),执行卷积运算后将得到的新向量为x-hat(代表卷积后的向量)。
[0142]
7)语句生成模块
[0143]
该模块的作用是采用编码器-解码器(encoder-decoder)结构,以上述图卷积模块得到的新的、表达能力更丰富的对话语句向量作为encoder的输入,通过模型学习后由decoder输出得到较佳的应答语句。
[0144]
如图5所示,本技术实施例中,对话生成模型的训练过程包括如下步骤501~步骤506:
[0145]
501、获取样本对话中的原始语句的目标句向量、以及所述原始语句的样本应答语句。
[0146]
其中,样本对话包括多个语句,样本对话中的每个语句都可以作为一个原始语句。
[0147]
本技术实施例中,以两个或以上的说话人在一轮对话中出现过的所有语句作为样本对话。该样本对话中的原始语句是指两个或以上的说话人在一轮对话中本身出现过的语句。
[0148]
例如,样本对话可以包括如下语句集1:
[0149]
p1-u1:不夸张地说,看完《拆弹专家2》后,我平复了一段时间,才能从座位上离开。
[0150]
p2-u1:它的确算得上是今年我在国内院线看的电影中,最喜欢的一部。
[0151]
p3-u1:因为第一部就拍得很一般,第二部能好到哪儿去?
[0152]
p1-u2:什么,你觉得不好看吗?第一部也不错啊。
[0153]
p3-u2:张三属于那种什么类型都拍的导演,恐怖片,爱情片,动作片,他什么都拍,但什么都拍得很一般。
[0154]
p1-u3:我对你实在是无语了,你对导演有偏见,《扫毒2》就拍的很好看。
[0155]
p3-u3:我只是真实表达我的观点而已,没有对你冒犯的意思。
[0156]
p1-u4:话不投机,真的是半句都多。
[0157]
p2-u2:好啦,好啦,不就是一起看一部电影而已么。
[0158]
p3-u4:我不知道她为什么这么在意我的评价,她好像很容易生气的样子。
[0159]
p2-u3:都别吵了,我们一起去绿茶吃饭,好的啦。
[0160]
上述样本对话中,pm-un表示第m个说话人说的第n句话,比如p1-u1表示第1个说话人说的第1句话,以此类推。
[0161]
样本应答语句是指在原始语句的较佳应答语句。样本应答语句表现形式有多种,示例性地,包括:
[0162]
1)获取样本对话中原始语句对应的应答语句,作为原始语句的样本应答语句。
[0163]
例如,上述样本对话的举例中,原始语句为第1个人说的第1句话p1-u1,则可以将样本对话中原始语句p1-u1对应的应答语句p2-u1,作为原始语句p1-u1的样本应答语句。或者将样本对话中原始语句p1-u1对应的应答语句p3-u1,作为原始语句p1-u1的样本应答语句。
[0164]
2)获取样本对话中原始语句对应的应答语句,并进行扩展后得到的语句,作为原始语句的样本应答语句。
[0165]
例如,上述样本对话的举例中,原始语句为第1个人说的第2句话p1-u2,则可以对样本对话中原始语句p1-u2对应的应答语句p3-u2“张三属于那种什么类型都拍的导演,恐怖片,爱情片,动作片,他什么都拍,但什么都拍得很一般”进行扩展后,得到的语句“我对你实在是无语了,你对导演有偏见,《扫毒2》,张三拍的,就拍的很好看”作为原始语句p1-u2的样本应答语句。
[0166]
其中,目标句向量是原始语句进行向量化后所得的表示向量。步骤501中“获取原始语句的目标句向量”的方式,与步骤202“获取待回复语句的目标表示向量”类似,具体可以参照上述步骤202的说明,此处不再赘述。
[0167]
502、获取所述样本对话的对话特征图。
[0168]
在一些实施例中,为了提高特征表达能力,会基于各语句间的发生时间顺序、应答关系等语句交互关系构建对话特征图,再基于对话特征图进行特征提取。此时,步骤502具体可以包括步骤5021~步骤5022:
[0169]
5021、获取所述样本对话的语句交互关系。
[0170]
其中,语句交互关系包括所述样本对话各语句间的发生时间顺序、应答关系中的至少一者。
[0171]
实际对话中不仅包含简单的以时间为序的一对一线性应答(简称顺序应答),有时候也包含多对一应答(简称并列应答)、或一对多应答(简称并发应答)。应答关系包括顺序应答、并列应答、并发应答。
[0172]
例如,上述步骤501所示样本对话存在如图6所示的交互关系。
[0173]
5022、根据所述语句交互关系生成所述样本对话的对话特征图。
[0174]
在一些实施例中,为了提高对话特征图的信息关联能力,以提高待训练对话生成模型对信息的学习能力,进而提高后续对语句的特征提取能力,步骤5022具体可以包括以下步骤a1~步骤a2:
[0175]
a1、将目标语句集合中的每个语句作为一个图节点,得到所述样本对话的图节点集合。
[0176]
其中,目标语句集合是指样本对话的语句的集合。例如,目标语句集合包括样本对话中的各原始语句。又如,目标语句集合包括样本对话中的各原始语句、以及原始语句的扩展语句。
[0177]
其中,“原始语句的扩展语句”可以参照上述步骤2021c~步骤2024c中“待回复语句的目标扩展语句”的确定方式来确定,为简化表述,此处不再赘述。
[0178]
为了更好地理解扩展语句,以一具体例子进行说明。例如,上述步骤501的样本对话举例中,进行背景知识扩充后,可以得到如下样本对话的下述语句集2:
[0179]
p1-u1:不夸张地说,看完《拆弹专家2》后,我平复了一段时间,才能从座位上离开。(主题:电影;情绪:surprise)
[0180]
p2-u1:它的确算得上是今年我在国内院线看的电影中,最喜欢的一部。(主题:电影;情绪:joy)
[0181]
p3-u1:因为第一部就拍得很一般,第二部能好到哪儿去?(主题:电影;情绪:disgust)
[0182]
p1-u2:什么,你觉得不好看吗?第一部也不错啊。(主题:电影;情绪:sad)
[0183]
p3-u2-1:张三属于那种什么类型都拍的导演,恐怖片,爱情片,动作片,他什么都拍,但什么都拍得很一般。(主题:电影;情绪:neural)
[0184]
p3-u2-2:张三,《拆弹专家2》的导演,属于那种什么类型都拍的导演,恐怖片,爱情片,动作片,他什么都拍,但什么都拍得很一般。(主题:电影;情绪:neural;知识扩展:人名)
[0185]
p1-u3-1:我对你实在是无语了,你对导演有偏见,《扫毒2》就拍的很好看。(主题:人物;情绪:sad;知识扩展:电影名)
[0186]
p1-u3-2:我对你实在是无语了,你对导演有偏见,《扫毒2》,张三拍的,就拍的很好看。(主题:人物;情绪:sad;知识扩展:电影名)
[0187]
p3-u3:我只是真实表达我的观点而已,没有对你冒犯的意思。(主题:未知;情绪:neural)
[0188]
p1-u4:话不投机,真的是半句都多。(主题:未知;情绪:sad)
[0189]
p2-u2:好啦,好啦,不就是一起看一部电影而已么。(主题:电影;情绪:neural)
[0190]
p3-u4:我不知道她为什么这么在意我的评价,她好像很容易生气的样子。(主题:未知;情绪:frustrate)
[0191]
p2-u3-1:都别吵了,我们一起去绿茶吃饭,好的啦。(主题:吃饭;情绪:happy)
[0192]
p2-u3-2:都别吵了,我们一起去绿茶杭州菜餐厅吃饭,好的啦。(主题:吃饭;情绪:happy;知识扩展:餐厅名)。
[0193]
其中,p3-u2-2是原始语句p3-u2的扩展语句,p1-u3-2是原始语句p1-u3的扩展语
句。
[0194]
在一些实施例中,对话特征图以样本对话中的各原始语句作为图节点,得到样本对话的图节点集合。
[0195]
在一些实施例中,对话特征图以样本对话中的各原始语句、以及原始语句的扩展语句作为图节点,得到样本对话的图节点集合。
[0196]
a2、根据所述样本对话各语句间的发生时间顺序、应答关系中的至少一者,对所述图节点集合内的各节点进行连边,得到所述样本对话的对话特征图。
[0197]
例如,在步骤502中,通过所述图卷积模块,以目标语句集合中的每一句话作为一个节点,并以样本对话的语句交互关系(包括各语句间的发生时间顺序、应答关系)、原始语句与扩展语句关系、同一说话人前后语句的自环为依据进行连边,形成如图7所示的对话特征图。
[0198]
503、通过待训练对话生成模型中的图卷积模块,根据所述对话特征图和所述目标句向量进行卷积操作,得到所述原始语句的目标卷积特征。
[0199]
在一些实施例中,可以基于原始语句的子图进行卷积操作得到原始语句的目标卷积特征,此时步骤503具体可以包括以下步骤5031~步骤5032:
[0200]
5031、根据所述对话特征图,获取所述原始语句所在图节点的子图。
[0201]
其中,所述子图包括所述原始语句所在图节点和所述原始语句所在图节点的第一邻接节点。
[0202]
其中,第一邻接节点是指原始语句所在图节点相邻的第一个节点。
[0203]
具体地,通过所述图卷积模块,以原始语句所在图节点为子图的中心,对话特征图中与原始语句所在图节点的第一邻接节点作为子图的邻接节点,生成原始语句所在图节点的子图。同理,可以得到样本对话中每个原始原句的子图。
[0204]
为了方便理解,以一具体例子进行说明。例如,以原始语句所在节点是图7中p1-u1节点为例,节点p1-u2、p3-u1、p2-u1、p1-u4为原始语句所在图节点p1-u1相邻的第一个节点,则节点p1-u2、p3-u1、p2-u1、p1-u4是原始语句所在图节点p1-u1的第一邻接节点。可以构建得到如图8所示,包括原始语句所在图节点p1-u1、节点p1-u2、p3-u1、p2-u1、p1-u4的子图,作为原始语句所在节点的子图。
[0205]
同理,可以构建样本对话中各原始语句所在图节点的子图。
[0206]
5032、通过所述图卷积模块,根据所述子图、所述目标句向量和所述图卷积模块的默认权重参数进行卷积操作,得到所述目标卷积特征。
[0207]
在一些实施例中,可以直接基于原始语句所在图节点的子图的拉普拉斯矩阵、目标句向量和图卷积模块的默认权重参数进行卷积操作,得到目标卷积特征;此时步骤5032具体可以包括以下步骤50321a~步骤50324a:
[0208]
50321a、计算子图的邻接矩阵a。
[0209]
50322a、计算子图的度矩阵d。
[0210]
50323a、根据子图的邻接矩阵a、度矩阵d,计算子图的拉普拉斯矩阵l。
[0211]
50324a、执行目标句向量x-c、图卷积模块预设的权重参数w、子图的拉普拉斯矩阵l之间的矩阵乘法运算,得到原始语句的目标卷积特征。
[0212]
同理,针对样本对话中的每个原始语句以及扩展语句经过图卷积模块,执行步骤
50321a~步骤50324a,都可以得到其对应的目标卷积特征。
[0213]
请参阅图9,在另一些实施例中,还可以在原始语句所在图节点的子图的拉普拉斯矩阵加入情绪信息、话题信息的注意力系数,此时步骤5032具体可以包括以下步骤50321b~步骤50324b:
[0214]
50321b、获取所述子图的第一拉普拉斯矩阵。
[0215]
具体地,通过所述图卷积模块,首先,计算子图的邻接矩阵a、度矩阵d;然后,根据子图的邻接矩阵a、度矩阵d,计算子图的拉普拉斯矩阵l,作为第一拉普拉斯矩阵;例如,第一拉普拉斯矩阵如下表4所示,表4中v1、v2、v3、v4表示子图中的节点。
[0216]
表4
[0217]
(拉普拉斯矩阵)lv1v2v3v4v12-1-1-1v2-1000v3-1000v4-1000
[0218]
50322b、获取所述原始语句的样本情绪信息和样本话题信息。
[0219]
步骤50322b中“获取所述原始语句的样本情绪信息和样本话题信息”与上述步骤2022c中“识别所述待回复语句的目标情绪信息和目标话题信息”类似,具体可以参照上述步骤2022c的说明,此处不再赘述。
[0220]
50323b、根据预设的情绪权重系数、预设的话题权重系数、以及所述样本情绪信息、所述样本话题信息,在所述初始拉普拉斯矩阵中增加所述原始语句所在图节点的第一邻接节点与所述原始语句所在图节点间的注意力系数,得到所述第二拉普拉斯矩阵。
[0221]
例如,预设的情绪权重系数α=0.2、预设的话题权重系数β=0.1,以表4得到的第一拉普拉斯矩阵为例,由于节点v1与节点v2有话题相关的β系数,所以对边v
1-2
做权重做0.1倍增量,得边v
1-2
新的权重为-1.1;类似,v节点1与v节点3有情绪相关α系数,所以对边v
1-3
做0.2倍增量,得边v
1-3
新的权重为-1.2。由此规则得到融入情绪注意力系数、话题注意力系数的第二拉普拉斯矩阵如下表5所示,表5中v1、v2、v3、v4表示子图中的节点。
[0222]
表5
[0223]
(拉普拉斯矩阵)lv1v2v3v4v12-1.1-1.2-1v2-1.1000v3-1.2000v4-1000
[0224]
以上α=0.2、β=0.1仅为举例,具体可以根据实际情况而调整情绪权重系数α、话题权重系数β的取值,不以此为限制。
[0225]
50324b、通过所述图卷积模块,根据所述目标句向量、所述图卷积模块预设的权重参数和所述第二拉普拉斯矩阵进行卷积计算,得到所述目标卷积特征。
[0226]
具体地,通过所述图卷积模块,执行目标句向量x-c、图卷积模块预设的权重参数w、子图的拉普拉斯矩阵之间的矩阵乘法运算,得到原始语句的目标卷积特征,如图9中所
示的节点“new-1”。
[0227]
同理,针对样本对话中的每个原始语句以及扩展语句经过图卷积模块,执行步骤50321b~步骤50324b,都可以得到其对应的目标卷积特征。
[0228]
通过上述步骤50321b~步骤50324b,在对目标句向量进行卷积计算时,在原始语句所在图节点的子图的拉普拉斯矩阵中加入情绪权重系数、预设的话题权重系数,可以提取到包含原始语句的情绪、话题等信息的目标卷积特征进行训练,使得图卷积模块可以学习到语句的情绪、话题等信息。进而使得训练后的对话生成模型能整合人类交互的情绪、话题、知识等各方面信息生成人机对话的回复,从而提高了人机对话模型生成的回复的准确性,提高人机交互体验。
[0229]
进一步地,为了提高图卷积模块的特征提取质量,图卷积模块还可以进一步进行非线性激活和正则化处理,此时,上述步骤50324b还可以进一步包括:通过所述图卷积模块,根据所述目标句向量、所述图卷积模块预设的权重参数和所述第二拉普拉斯矩阵进行卷积计算,得到所述原始语句所在图节点的隐式特征向量;通过所述图卷积模块,对所述隐式特征向量进行非线性激活和正则化处理,得到所述原始语句所在图节点的中间特征向量;通过所述图卷积模块,根据所述中间特征向量和所述的目标句向量进行加权平均,得到所述目标卷积特征。
[0230]
504、通过待训练对话生成模型中的语句生成模块,根据所述目标卷积特征输出所述原始语句的预测应答语句。
[0231]
其中,预测应答语句是指通过预测得到的原始语句的应答语句。
[0232]
具体地,将目标卷积特征输入至待训练对话生成模型中的语句生成模块,以使得语句生成模块根据目标卷积特征解码输出原始语句的预测应答语句。
[0233]
505、根据所述预测应答语句和所述样本应答语句,确定所述待训练对话生成模型的训练损失。
[0234]
其中,对话生成模型的训练损失的设置方式有多种,例如,训练损失可以设置为语句生成模块的生成损失;再如,训练损失可以设置为图卷积模块的特征提取损失;又如,训练损失可以设置为图卷积模块的特征提取损失、与语句生成模块的生成损失之间的加权和。
[0235]
具体地,以样本应答语句为学习目标,语句生成模块可以对应设置第一损失函数,然后根据第一损失函数、预测应答语句和样本应答语句,确定语句生成模块的生成损失。图卷积模块可以对应设置第二损失函数,然后根据第二损失函数、预测应答语句和样本应答语句,确定图卷积模块的特征提取损失。
[0236]
506、根据所述训练损失更新所述对话生成模型的模型参数,直至达到预设的停止训练条件时,得到已训练的对话生成模型。
[0237]
其中,预设的停止训练条件可以根据实际需求而设置。例如,可以是当训练损失小于预设值时,或者是训练损失基本不再变化时,即相邻多次训练对应的训练损失的差值小于预设值;或者是对话应答语句的生成的迭代次数达到最大迭代次数时。
[0238]
例如,当训练损失设置为语句生成模块的生成损失时,以原始语句的目标句向量输入至待训练对话生成模型,进行正向传播,并根据待训练对话生成模型输出的预测应答语句计算语句生成模块的生成损失。再根据语句生成模块的生成损失进行反向传播,对语
句生成模块的参数进行优化调整,以此进行多次来回的正、反向传播,直至达到预设的停止训练条件时,即可完成模型的训练,得到已训练的对话生成模型。此时,可将已训练的对话生成模型应用于预测某个语句的应答语句。
[0239]
又如,当训练损失设置为图卷积模块的特征提取损失时,以原始语句的目标句向量输入至对话生成模型,进行正向传播,并根据对话生成模型输出的预测应答语句计算图卷积模块的特征提取损失。再根据图卷积模块的特征提取损失进行反向传播,对图卷积模块的参数进行优化调整,以此进行多次来回的正、反向传播,直至达到预设的停止训练条件时,即可完成模型的训练,得到已训练的对话生成模型。此时,可将已训练的对话生成模型应用于预测某个语句的应答语句。
[0240]
本技术实施例中,通过将原始语句中的情绪信息、话题信息、扩展信息融入原始语句的向量表达中,得到原始语句的目标句向量,使得原始语句的向量表达质量增强,具有更丰富的内容表达;通过原始语句的目标句向量训练得到已训练的对话生成模型,使得已训练的对话生成模型可以学习到人类交互的情绪、话题、知识等各方面信息,从而使得已训练的对话生成模型可以整合人类交互的情绪、话题、知识等各方面信息生成人机对话的回复,在一定程度上提高了人机对话模型生成的回复的准确性。
[0241]
下面分别介绍目标图卷积参数、目标拉普拉斯矩阵的确定。
[0242]
一、目标图卷积参数。
[0243]
在得到已训练的对话生成模型后,基于所述已训练的对话生成模型的图卷积模块,获取所述目标图卷积参数。具体地,从所述已训练的对话生成模型中,获取所述图卷积模块的权重矩阵,将所述权重矩阵,作为所述目标图卷积参数。
[0244]
例如,当对话生成模型包括图卷积模块的损失和语句生成模块,对话生成模型的训练损失可以设置为图卷积模块的损失和语句生成模块的损失,上述步骤506具体可以包括:根据所述图卷积模块的损失,调整所述图卷积模块的模型参数;根据所述语句生成模块的损失,调整所述语句生成模块的模型参数,直至达到预设的停止训练条件时,得到已训练的对话生成模型。
[0245]
其中,图卷积模块的模型参数具体是指上述步骤50324a、步骤50324b中所提及的图卷积模块预设的权重参数w。
[0246]
上述步骤50324a、步骤50324b中所提及的图卷积模块预设的网络权重参数w,会在模型训练的过程中不断地调整,即步骤506调整所述对话生成模型的模型参数时,会基于对话生成模型的训练损失会不断地调整图卷积模块预设的权重参数w,直至模型收敛时,图卷积模块的网络权重参数w将固定。为了便于区分,本文中,模型训练好后,更新后的卷积模块预设的权重参数w称为更新后权重参数,记为w’。此时,可以从已训练的对话生成模型中,获取图卷积模块的权重矩阵w’作为目标图卷积参数。
[0247]
二、目标拉普拉斯矩阵。
[0248]
在一些实施例中,上述步骤502在得到样本对话的对话特征图后,可以参照上述步骤50321a~步骤50323a的方式,可以计算对话特征图的邻接矩阵a;计算对话特征图的度矩阵d;根据对话特征图的邻接矩阵a、度矩阵d,计算对话特征图的拉普拉斯矩阵l,得到对话特征图的初始拉普拉斯矩阵;将对话特征图的初始拉普拉斯矩阵作为预设的目标拉普拉斯矩阵。
[0249]
在一些实施例中,为了提高图卷积模块对情绪信息、话题信息的关注度,以提高对情绪信息、话题信息的提取能力,还可以在初始拉普拉斯矩阵加入情绪信息、话题信息的注意力系数。此时,“目标拉普拉斯矩阵”可以通过如下方式确定:获取所述对话特征图的初始拉普拉斯矩阵;获取所述原始语句的样本情绪信息、样本话题信息;根据预设的情绪权重系数、预设的话题权重系数、以及所述样本情绪信息、样本话题信息,在所述初始拉普拉斯矩阵中增加所述原始语句所在图节点的第一邻接节点与所述原始语句所在图节点间的注意力系数,得到所述目标拉普拉斯矩阵。
[0250]
其中,“获取所述对话特征图的初始拉普拉斯矩阵;获取所述原始语句的样本情绪信息、样本话题信息;根据预设的情绪权重系数、预设的话题权重系数、以及所述样本情绪信息、样本话题信息,在所述初始拉普拉斯矩阵中增加所述原始语句所在图节点的第一邻接节点与所述原始语句所在图节点间的注意力系数,得到所述目标拉普拉斯矩阵”,与上述步骤50321b~步骤50323b的实现类似,具体可以参照上述步骤50321b~步骤50323b说明,此处不再赘述。
[0251]
为了更好实施本技术实施例中对话应答语句的生成方法,在对话应答语句的生成方法基础之上,本技术实施例中还提供一种对话应答语句的生成装置,如图10所示,为本技术实施例中对话应答语句的生成装置的一个实施例结构示意图,该对话应答语句的生成装置1000包括:
[0252]
获取单元1001,用于获取待回复语句;
[0253]
表示单元1002,还用于基于所述待回复语句中的场景信息,按照预设的向量格式获取所述待回复语句的目标表示向量;
[0254]
特征提取单元1003,用于基于所述目标表示向量进行特征提取,得到所述待回复语句的语句特征;
[0255]
生成单元1004,用于基于所述语句特征确定所述待回复语句的目标应答语句。
[0256]
在本技术的一些实施例中,所述场景信息选自所述待回复语句的目标情绪信息、目标话题信息、目标扩展信息中的至少一者,所述表示单元1002具体用于:
[0257]
基于所述待回复语句的目标情绪信息、目标话题信息、目标扩展信息中的至少一者,按照预设的向量格式获取所述待回复语句的目标表示向量。
[0258]
在本技术的一些实施例中,所述场景信息包括目标情绪信息、目标话题信息和目标扩展信息,所述表示单元1002具体用于:
[0259]
获取所述待回复语句的原始句向量;
[0260]
识别所述待回复语句的目标情绪信息和目标话题信息;
[0261]
根据所述目标话题信息,获取所述待回复语句的目标扩展信息;
[0262]
根据所述原始句向量、所述目标情绪信息、所述目标话题信息、所述目标扩展信息和所述预设的向量格式,生成所述目标表示向量。
[0263]
在本技术的一些实施例中,所述特征提取单元1003具体用于:
[0264]
获取预设的目标图卷积参数;
[0265]
获取预设的目标拉普拉斯矩阵;
[0266]
根据所述目标表示向量、所述目标图卷积参数和所述目标拉普拉斯矩阵进行卷积计算,得到所述待回复语句的语句特征。
[0267]
在本技术的一些实施例中,所述特征提取单元1003具体用于:
[0268]
根据所述目标表示向量、所述目标图卷积参数和所述目标拉普拉斯矩阵进行卷积计算,得到所述待回复语句的隐式特征向量;
[0269]
对所述隐式特征向量进行非线性激活和正则化处理,得到所述待回复语句的中间特征向量;
[0270]
根据所述中间特征向量和所述的目标表示向量进行加权平均,得到所述待回复语句的语句特征。
[0271]
在本技术的一些实施例中,所述获取单元1001具体用于:
[0272]
在本技术的一些实施例中,所述对话应答语句的生成装置还包括训练单元(图中未示出),所述训练单元具体用于:
[0273]
获取样本对话中的原始语句的目标句向量、以及所述原始语句的样本应答语句;
[0274]
获取所述样本对话的对话特征图;
[0275]
通过待训练对话生成模型中的图卷积模块,根据所述对话特征图和所述目标句向量进行卷积操作,得到所述原始语句的目标卷积特征;
[0276]
通过待训练对话生成模型中的语句生成模块,根据所述目标卷积特征输出所述原始语句的预测应答语句;
[0277]
根据所述预测应答语句和所述样本应答语句,确定所述待训练对话生成模型的训练损失;
[0278]
根据所述训练损失更新所述对话生成模型的模型参数,直至达到预设的停止训练条件时,得到已训练的对话生成模型;
[0279]
基于所述训练好的对话生成模型的图卷积模块,获取所述目标图卷积参数。
[0280]
在本技术的一些实施例中,所述训练单元具体用于:
[0281]
根据所述对话特征图,获取所述原始语句所在图节点的子图,其中,所述子图包括所述原始语句所在图节点和所述原始语句所在图节点的第一邻接节点;
[0282]
通过所述图卷积模块,根据所述子图、所述目标句向量和所述图卷积模块的默认权重参数进行卷积操作,得到所述目标卷积特征。
[0283]
在本技术的一些实施例中,所述训练单元具体用于:
[0284]
获取所述样本对话的语句交互关系;
[0285]
根据所述语句交互关系生成所述样本对话的对话特征图,其中,所述对话特征图以所述原始语句作为图节点。
[0286]
在本技术的一些实施例中,所述获取单元1001具体用于:
[0287]
在本技术的一些实施例中,所述语句交互关系包括所述样本对话各语句间的发生时间顺序、应答关系中的至少一者,所述训练单元具体用于:
[0288]
将目标语句集合中的每个语句作为一个图节点,得到所述样本对话的图节点集合,其中,所述目标语句集合包括所述样本对话中的原始语句、所述原始语句的扩展语句;
[0289]
根据所述样本对话各语句间的发生时间顺序、应答关系中的至少一者,对所述图节点集合内的各节点进行连边,得到所述样本对话的对话特征图。
[0290]
在本技术的一些实施例中,所述训练单元具体用于:
[0291]
获取所述对话特征图的初始拉普拉斯矩阵;
[0292]
基于所述初始拉普拉斯矩阵,得到所述目标拉普拉斯矩阵。
[0293]
在本技术的一些实施例中,所述获取单元1001具体用于:
[0294]
在本技术的一些实施例中,所述训练单元具体用于:
[0295]
获取所述原始语句的样本情绪信息和样本话题信息;
[0296]
根据预设的情绪权重系数、预设的话题权重系数、以及所述样本情绪信息、所述样本话题信息,在所述初始拉普拉斯矩阵中增加所述原始语句所在图节点的第一邻接节点与所述原始语句所在图节点间的注意力系数,得到所述目标拉普拉斯矩阵。
[0297]
在本技术的一些实施例中,所述训练单元具体用于:
[0298]
从所述已训练的对话生成模型中,获取所述图卷积模块的权重矩阵,将所述权重矩阵,作为所述目标图卷积参数。
[0299]
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
[0300]
在本技术的一些实施例中,所述获取单元1001具体用于:
[0301]
由于该对话应答语句的生成装置可以执行本技术如图1至图9对应任意实施例中对话应答语句的生成方法中的步骤,因此,可以实现本技术如图1至图9对应任意实施例中对话应答语句的生成方法所能实现的有益效果,详见前面的说明,在此不再赘述。
[0302]
此外,为了更好实施本技术实施例中对话应答语句的生成方法,在对话应答语句的生成方法基础之上,本技术实施例还提供一种电子设备,参阅图11,图11示出了本技术实施例电子设备的一种结构示意图,具体的,本技术实施例提供的电子设备包括处理器1101,处理器1101用于执行存储器1102中存储的计算机程序时实现如图1至图9对应任意实施例中对话应答语句的生成方法的各步骤;或者,处理器1101用于执行存储器1102中存储的计算机程序时实现如图10对应实施例中各单元的功能。
[0303]
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器1102中,并由处理器1101执行,以完成本技术实施例。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
[0304]
电子设备可包括,但不仅限于处理器1101、存储器1102。本领域技术人员可以理解,示意仅仅是电子设备的示例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子备还可以包括输入输出设备、网络接入设备、总线等,处理器1101、存储器1102、输入输出设备以及网络接入设备等通过总线相连。
[0305]
处理器1101可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分。
[0306]
存储器1102可用于存储计算机程序和/或模块,处理器1101通过运行或执行存储
在存储器1102内的计算机程序和/或模块,以及调用存储在存储器1102内的数据,实现计算机装置的各种功能。存储器1102可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0307]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的对话应答语句的生成装置、电子设备及其相应单元的具体工作过程,可以参考如图1至图9对应任意实施例中对话应答语句的生成方法的说明,具体在此不再赘述。
[0308]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0309]
为此,本技术实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本技术如图1至图9对应任意实施例中对话应答语句的生成方法中的步骤,具体操作可参考如图1至图9对应任意实施例中对话应答语句的生成方法的说明,在此不再赘述。
[0310]
其中,该计算机可读存储介质可以包括:只读存储器(rom,read only memory)、随机存取存储器(ram,random access memory)、磁盘或光盘等。
[0311]
由于该计算机可读存储介质中所存储的指令,可以执行本技术如图1至图9对应任意实施例中对话应答语句的生成方法中的步骤,因此,可以实现本技术如图1至图9对应任意实施例中对话应答语句的生成方法所能实现的有益效果,详见前面的说明,在此不再赘述。
[0312]
以上对本技术实施例所提供的一种对话应答语句的生成方法、装置、电子设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
技术特征:
1.一种对话应答语句的生成方法,其特征在于,所述方法包括:获取待回复语句;基于所述待回复语句中的场景信息,按照预设的向量格式获取所述待回复语句的目标表示向量;基于所述目标表示向量进行特征提取,得到所述待回复语句的语句特征;基于所述语句特征确定所述待回复语句的目标应答语句。2.根据权利要求1所述的对话应答语句的生成方法,其特征在于,所述场景信息选自目标情绪信息、目标话题信息、目标扩展信息中的至少一者。3.根据权利要求1所述的对话应答语句的生成方法,其特征在于,所述场景信息包括目标情绪信息、目标话题信息和目标扩展信息;所述基于所述待回复语句中的场景信息,按照预设的向量格式获取所述待回复语句的目标表示向量的步骤具体包括:获取所述待回复语句的原始句向量;识别所述待回复语句的目标情绪信息和目标话题信息;根据所述目标话题信息,获取所述待回复语句的目标扩展信息;根据所述原始句向量、所述目标情绪信息、所述目标话题信息、所述目标扩展信息和所述预设的向量格式,生成所述目标表示向量。4.根据权利要求1-3中任一项所述的对话应答语句的生成方法,其特征在于,所述基于所述目标表示向量进行特征提取,得到所述待回复语句的语句特征,包括:获取预设的目标图卷积参数;获取预设的目标拉普拉斯矩阵;根据所述目标表示向量、所述目标图卷积参数和所述目标拉普拉斯矩阵进行卷积计算,得到所述待回复语句的语句特征。5.根据权利要求4所述的对话应答语句的生成方法,其特征在于,所述根据所述目标表示向量、所述目标图卷积参数和所述目标拉普拉斯矩阵进行卷积计算,得到所述待回复语句的语句特征,包括:根据所述目标表示向量、所述目标图卷积参数和所述目标拉普拉斯矩阵进行卷积计算,得到所述待回复语句的隐式特征向量;对所述隐式特征向量进行非线性激活和正则化处理,得到所述待回复语句的中间特征向量;根据所述中间特征向量和所述的目标表示向量进行加权平均,得到所述待回复语句的语句特征。6.根据权利要求4所述的对话应答语句的生成方法,其特征在于,所述获取预设的目标图卷积参数,之前还包括:获取样本对话中的原始语句的目标句向量、以及所述原始语句的样本应答语句;获取所述样本对话的对话特征图;通过待训练对话生成模型中的图卷积模块,根据所述对话特征图和所述目标句向量进行卷积操作,得到所述原始语句的目标卷积特征;通过待训练对话生成模型中的语句生成模块,根据所述目标卷积特征输出所述原始语
句的预测应答语句;根据所述预测应答语句和所述样本应答语句,确定所述待训练对话生成模型的训练损失;根据所述训练损失更新所述对话生成模型的模型参数,直至达到预设的停止训练条件时,得到已训练的对话生成模型;基于所述训练好的对话生成模型的图卷积模块,获取所述目标图卷积参数。7.根据权利要求6所述的对话应答语句的生成方法,其特征在于,所述通过待训练对话生成模型中的图卷积模块,根据所述对话特征图和所述目标句向量进行卷积操作,得到所述原始语句的目标卷积特征,包括:根据所述对话特征图,获取所述原始语句所在图节点的子图,其中,所述子图包括所述原始语句所在图节点和所述原始语句所在图节点的第一邻接节点;通过所述图卷积模块,根据所述子图、所述目标句向量和所述图卷积模块的默认权重参数进行卷积操作,得到所述目标卷积特征。8.根据权利要求6所述的对话应答语句的生成方法,其特征在于,所述获取所述样本对话的对话特征图,包括:获取所述样本对话的语句交互关系;根据所述语句交互关系生成所述样本对话的对话特征图,其中,所述对话特征图以所述原始语句作为图节点。9.根据权利要求8所述的对话应答语句的生成方法,其特征在于,所述语句交互关系包括所述样本对话各语句间的发生时间顺序、应答关系中的至少一者,所述根据所述语句交互关系生成所述样本对话的对话特征图,包括:将目标语句集合中的每个语句作为一个图节点,得到所述样本对话的图节点集合,其中,所述目标语句集合包括所述样本对话中的原始语句、所述原始语句的扩展语句;根据所述样本对话各语句间的发生时间顺序、应答关系中的至少一者,对所述图节点集合内的各节点进行连边,得到所述样本对话的对话特征图。10.根据权利要求6所述的对话应答语句的生成方法,其特征在于,所述获取预设的目标拉普拉斯矩阵,之前还包括:获取所述对话特征图的初始拉普拉斯矩阵;基于所述初始拉普拉斯矩阵,得到所述目标拉普拉斯矩阵。11.根据权利要求10所述的对话应答语句的生成方法,其特征在于,所述基于所述初始拉普拉斯矩阵,得到所述目标拉普拉斯矩阵,包括:获取所述原始语句的样本情绪信息和样本话题信息;根据预设的情绪权重系数、预设的话题权重系数、以及所述样本情绪信息、所述样本话题信息,在所述初始拉普拉斯矩阵中增加所述原始语句所在图节点的第一邻接节点与所述原始语句所在图节点间的注意力系数,得到所述目标拉普拉斯矩阵。12.根据权利要求6所述的对话应答语句的生成方法,其特征在于,基于所述已训练的对话生成模型的图卷积模块,获取所述目标图卷积参数,包括:从所述已训练的对话生成模型中,获取所述图卷积模块的权重矩阵,将所述权重矩阵,作为所述目标图卷积参数。
13.一种对话应答语句的生成装置,其特征在于,所述对话应答语句的生成装置包括:获取单元,用于获取待回复语句;表示单元,还用于基于所述待回复语句中的场景信息,按照预设的向量格式获取所述待回复语句的目标表示向量;特征提取单元,用于基于所述目标表示向量进行特征提取,得到所述待回复语句的语句特征;生成单元,用于基于所述语句特征确定所述待回复语句的目标应答语句。14.一种电子设备,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行如权利要求1至12任一项所述的对话应答语句的生成方法中的步骤。15.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至12任一项所述的对话应答语句的生成方法中的步骤。
技术总结
本申请提供一种对话应答语句的生成方法、装置、电子设备及计算机可读存储介质。该对话应答语句的生成方法包括:获取待回复语句;基于所述待回复语句中的场景信息,按照预设的向量格式获取所述待回复语句的目标表示向量;基于所述目标表示向量进行特征提取,得到所述待回复语句的语句特征;基于所述语句特征确定所述待回复语句的目标应答语句。本申请中由于基于待回复语句中的场景信息,可以潜在地整合人类交互的情绪、话题、知识等各方面信息生成人机对话的回复,在一定程度上提高了人机对话回复的准确性。复的准确性。复的准确性。
技术研发人员:
曹源
受保护的技术使用者:
TCL科技集团股份有限公司
技术研发日:
2021.06.24
技术公布日:
2022/12/26