对话生成方法及装置、对话预测模型的训练方法及装置

文档序号:31338660发布日期:2022-08-31 09:30阅读:55来源:国知局
对话生成方法及装置、对话预测模型的训练方法及装置
对话生成方法及装置、对话预测模型的训练方法及装置
1.本技术要求于2022年04月01日提交中国专利局、申请号为202210337166.7、申请名称为“对话生成方法及装置、对话预测模型的训练方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
2.本技术涉及人工智能领域,特别是涉及一种对话生成方法及装置、对话预测模型的训练方法及装置。


背景技术:

3.随着人工智能的发展,人机对话系统正成为越来越热门的研究领域。根据目的不同,对话系统可以分为闲聊型、问答型、任务型等各个分支。其中任务型对话系统的主要作用是根据用户意图帮助用户完成某个特定的任务,如预定餐馆、查询车票等等。
4.任务型对话通常需要经由人机互相对话多个轮次完成,系统在每一轮中会基于当前轮次的用户输入进行对话预测,进而生成自然语言对用户进行回复。
5.相关任务中,大多数任务型对话系统在当前轮次预测时,均是基于之前全部轮次的对话历史进行的。由于全部轮次的对话历史序列长度较长,这种系统在进行对话预测时,存在耗时长,响应慢的问题。


技术实现要素:

6.基于此,有必要针对上述技术问题,提供一种能够缩短耗时,提高预测效率的对话生成方法及装置、对话预测模型的训练方法及装置。
7.第一方面,本技术提供了一种对话生成方法,所述方法包括:
8.在第t轮对话中,接收客户端发送的第t轮用户输入信息,其中,t为正整数;
9.采用对话预测模型根据所述第t轮用户输入信息及第t-1轮预测信息进行对话预测,得到第t轮系统回复信息,所述第t-1轮预测信息包括第t-1轮对话状态和第t-1轮系统回复信息;
10.向所述客户端反馈所述第t轮系统回复信息。
11.在其中一个实施例中,所述对话预测模型包括状态预测模型、动作预测模型及系统回复预测模型,
12.所述采用对话预测模型根据所述第t轮用户输入信息及第t-1轮预测信息进行对话预测,得到第t轮系统回复信息,还包括:
13.将所述第t轮用户输入信息、所述第t-1轮对话状态和所述第t-1轮系统回复信息输入所述状态预测模型进行预测处理,得到第t轮对话状态;
14.根据所述第t轮对话状态,从对话库中查询对应的第t轮数据库结果;
15.将所述第t轮对话状态、所述第t轮数据库结果、所述第t轮用户输入信息和所述第t-1轮系统回复信息输入所述动作预测模型进行预测处理,得到第t轮系统动作;
16.将所述第t轮系统动作、所述第t轮对话状态、所述第t轮数据库结果、所述第t轮用户输入信息和所述第t-1轮系统回复信息输入所述系统回复预测模型进行预测处理,得到第t轮系统回复信息。
17.在其中一个实施例中,所述方法还包括:
18.在存在第t+1轮对话的情况下,将所述第t轮对话状态和所述第t轮系统回复信息,存储至缓存空间;
19.在所述第t+1轮对话完成后,从所述缓存空间中删除所述第t轮对话状态和所述第t轮系统回复信息。
20.第二方面,本技术还提供了一种对话预测模型的训练方法,所述对话预测模型应用于对话系统,所述方法包括:
21.获取训练集,所述训练集包括多个样本组,所述样本组包括样本数据及所述样本数据的目标预测结果,所述样本数据包括第i轮用户输入信息及第i-1轮预测信息,所述第i-1轮预测信息包括第i-1轮对话状态和第i-1轮系统回复信息,其中,i为正整数;
22.通过初始对话预测模型对所述样本数据进行处理,得到所述样本数据对应的第i轮预测结果;
23.根据所述样本数据对应的第i轮预测结果及所述样本数据的目标预测结果,确定所述初始对话预测模型的预测损失;
24.根据所述初始对话预测模型的预测损失,训练所述初始对话预测模型,得到所述对话预测模型。
25.在其中一个实施例中,所述对话预测模型包括状态预测模型、动作预测模型及系统回复预测模型,
26.所述通过初始对话预测模型对所述样本数据进行处理,得到所述样本数据对应的第i轮预测结果,包括:
27.将所述第i轮用户输入信息、所述第i-1轮对话状态和所述第i-1轮系统回复信息输入所述状态预测模型进行预测处理,得到第i轮预测对话状态;
28.根据所述第i轮预测对话状态,从对话库中查询对应的第i轮预测数据库结果;
29.将所述第i轮预测对话状态、所述第i轮预测数据库结果、所述第i轮用户输入信息和所述第i-1轮系统回复信息输入所述动作预测模型进行预测处理,得到第i轮预测系统动作;
30.将所述第i轮预测系统动作、所述第i轮预测对话状态、所述第i轮预测数据库结果、所述第i轮用户输入信息和所述第i-1轮系统回复信息输入系统回复预测模型进行预测处理,得到第i轮预测系统回复信息。
31.在其中一个实施例中,所述样本数据的目标预测结果包括第i轮对话状态、第i轮数据库结果、第i轮系统动作,第i轮系统回复信息,
32.所述根据所述样本数据对应的第i轮预测结果及所述样本数据的目标预测结果,确定所述初始对话预测模型的预测损失,包括:
33.根据所述第i轮预测对话状态与所述第i轮对话状态、所述第i轮预测数据库结果与所述第i轮数据库结果、所述第i轮预测系统动作与所述第i轮系统动作、所述第i轮预测系统回复信息与所述第i轮系统回复信息的差异确定所述初始对话预测模型的预测损失。
34.第三方面,本技术还提供了一种对话生成装置,所述装置包括:
35.接收模块,用于在第t轮对话中,接收客户端发送的第t轮用户输入信息,其中,t为正整数;
36.预测模块,用于采用对话预测模型根据所述第t轮用户输入信息及第t-1轮预测信息进行对话预测,得到第t轮系统回复信息,所述第t-1轮预测信息包括第t-1轮对话状态和第t-1轮系统回复信息;
37.反馈模块,用于向所述客户端反馈所述第t轮系统回复信息。
38.在其中一个实施例中,所述预测模块,还用于:
39.将所述第t轮用户输入信息、所述第t-1轮对话状态和所述第t-1轮系统回复信息输入所述状态预测模型进行预测处理,得到第t轮对话状态;
40.根据所述第t轮对话状态,从对话库中查询对应的第t轮数据库结果;
41.将所述第t轮对话状态、所述第t轮数据库结果、所述第t轮用户输入信息和所述第t-1轮系统回复信息输入所述动作预测模型进行预测处理,得到第t轮系统动作;
42.将所述第t轮系统动作、所述第t轮对话状态、所述第t轮数据库结果、所述第t轮用户输入信息和所述第t-1轮系统回复信息输入所述系统回复预测模型进行预测处理,得到第t轮系统回复信息。
43.在其中一个实施例中,所述装置还包括:
44.存储模块,用于在存在第t+1轮对话的情况下,将所述第t轮对话状态和所述第t轮系统回复信息,存储至缓存空间;
45.删除模块,用于在所述第t+1轮对话完成后,从所述缓存空间中删除所述第t轮对话状态和所述第t轮系统回复信息。
46.第四方面,本技术还提供了一种对话预测模型的训练装置,所述装置包括:
47.获取模块,用于获取训练集,所述训练集包括多个样本组,所述样本组包括样本数据及所述样本数据的目标预测结果,所述样本数据包括第i轮用户输入信息及第i-1轮预测信息,所述第i-1轮预测信息包括第i-1轮对话状态和第i-1轮系统回复信息,其中,i为正整数;
48.处理模块,用于通过初始对话预测模型对所述样本数据进行处理,得到所述样本数据对应的第i轮预测结果;
49.确定模块,用于根据所述样本数据对应的第i轮预测结果及所述样本数据的目标预测结果,确定所述初始对话预测模型的预测损失;
50.训练模块,用于根据所述初始对话预测模型的预测损失,训练所述初始对话预测模型,得到所述对话预测模型。
51.在其中一个实施例中,所述处理模块,还用于:
52.将所述第i轮用户输入信息、所述第i-1轮对话状态和所述第i-1轮系统回复信息输入所述状态预测模型进行预测处理,得到第i轮预测对话状态;
53.根据所述第i轮预测对话状态,从对话库中查询对应的第i轮预测数据库结果;
54.将所述第i轮预测对话状态、所述第i轮预测数据库结果、所述第i轮用户输入信息和所述第i-1轮系统回复信息输入所述动作预测模型进行预测处理,得到第i轮预测系统动作;
55.将所述第i轮预测系统动作、所述第i轮预测对话状态、所述第i轮预测数据库结果、所述第i轮用户输入信息和所述第i-1轮系统回复信息输入系统回复预测模型进行预测处理,得到第i轮预测系统回复信息。
56.在其中一个实施例中,所述处理模块,还用于:
57.根据所述第i轮预测对话状态与所述第i轮对话状态之间的差异、所述第i轮预测数据库结果与所述第i轮数据库结果之间的差异、所述第i轮预测系统动作与所述第i轮系统动作之间的差异、所述第i轮预测系统回复信息与所述第i轮系统回复信息之间的差异,确定所述初始对话预测模型的预测损失。
58.第五方面,本技术还提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以上任一项对话生成方法或任一项对话预测模型的训练方法。
59.第六方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上任一项对话生成方法或任一项对话预测模型的训练方法。
60.第七方面,本技术还提供了一种计算机程序产品,所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以上任一项对话生成方法或任一项对话预测模型的训练方法。
61.上述对话生成方法及装置、对话预测模型的训练方法及装置,由于对话状态即是对全部对话历史的高度总结,因此本技术实施例仅使用本轮的用户输入信息、上一轮的对话状态和上一轮的系统回复信息,即可实现本轮系统回复信息的预测,无需将全部轮次的对话历史输入对话生成系统,可以大大减少在进行对话生成过程中,所处理的数据序列长度,进而可以提高系统的数据处理效率,降低系统的响应时间,提高系统的响应效率,且可以提高预测效果。
附图说明
62.图1为一个实施例中对话生成方法的应用环境图;
63.图2为一个实施例中对话生成方法的流程示意图;
64.图3为一个实施例中对话生成方法的流程示意图;
65.图4为一个实施例中步骤204的流程示意图;
66.图5为一个实施例中对话生成方法的流程示意图;
67.图6为一个实施例中对话系统训练方法的流程示意图;
68.图7为一个实施例中步骤604的流程示意图;
69.图8为一个实施例中对话生成方法的流程示意图;
70.图9为一个实施例中对话生成方法的示意图;
71.图10为一个实施例中对话生成方法的示意图;
72.图11为一个实施例中对话生成装置的结构框图;
73.图12为一个实施例中对话系统训练装置的结构框图;
74.图13为一个实施例中计算机设备的内部结构图。
具体实施方式
75.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
76.本技术实施例提供的对话生成方法,可以应用但不限于如图1所示的应用环境中。其中,客户端102通过网络与服务端104进行通信。服务端104通过接收客户端102发送的用户输入信息,采用对话预测模型根据用户输入信息及前一轮预测信息进行对话预测,得到当前轮次针对用户输入信息的系统回复信息,并将该系统回复信息反馈给客户端102。其中,服务端104可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等,也可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
77.在一个实施例中,如图2所示,提供了一种对话生成方法,以该方法应用于图1中的服务端104为例进行说明,包括以下步骤:
78.步骤202,在第t轮对话中,接收客户端发送的第t轮用户输入信息。
79.其中,客户端与服务端的一篇对话是由多轮对话组成的,其中第t轮对话指的是其中任一轮对话,在第t轮对话中,对话系统将基于第t轮用户输入信息预测对应的第t轮系统回复信息。
80.其中,第t轮用户输入信息,为用户通过客户端输入的自然语言,也即用户在客户端侧输入第t轮用户输入信息,客户端可以响应于用户的输入操作,获取该第t轮用户输入信息后,将该第t轮用户输入信息发送至服务端。
81.具体地,t可以取一篇对话中从1到对话总轮次范围内的所有正整数值。例如一篇人机对话共有5轮,对话目的是找到一家合适的餐馆,那么t可以是1至5中的任一整数值。示例性的,在t为1,也即第一轮对话过程中,第1轮用户输入信息可以是“我想要去一家北边的印度餐厅”。
82.步骤204,采用对话预测模型根据第t轮用户输入信息及第t-1轮预测信息进行对话预测,得到第t轮系统回复信息,第t-1轮预测信息包括第t-1轮对话状态和第t-1轮系统回复信息。
83.其中,第t-1轮预测信息指的是当前第t轮对话的前一轮对话过程中,生成的预测信息,其可以包括第t-1轮对话状态和第t-1轮系统回复信息,第t-1轮对话状态指的是在第t-1轮对话中系统生成的槽值对集合,该槽值对集合包含系统从第1轮至第t-1轮对话中所提炼出来的所有槽值对,其中,槽值对是槽的名称和槽值形成的数对,槽值是用户输入信息中包含的关键信息。示例性的,第t-1轮对话状态包括{餐馆地区:北方,餐馆类型:印度餐厅},其中,“餐馆地区:北方”是一个槽值对,“餐馆地区”是槽的名称,“北方”是槽值。
84.对话系统在每一轮对话过程中,均会生成该轮对应的预测信息,并可以将该轮预测信息缓存至数据存储区域。服务端可以在接收到第t轮用户输入信息后,从数据存储区域中获取第t-1轮对话状态和第t-1轮系统回复信息,并基于第t轮用户输入信息,第t-1轮对话状态和第t-1轮系统回复信息进行对话预测,得到第t轮系统回复信息。第t轮系统回复信息是第t轮对话中系统生成的自然语言。
85.需要说明的是,当t为1,也即第1轮对话过程中,第t-1轮预测信息为空。
86.其中,对话预测模型可以为预先训练的用于进行对话预测的神经网络,本技术实施例不对该对话预测模型的训练方式进行限定,凡是网络模型的训练方式均适用于本技术实施例中。
87.步骤206,向客户端反馈第t轮系统回复信息。
88.本技术实施例中,在预测得到第t轮系统回复信息之后,可以将第t轮系统回复信息反馈至客户端,以使得客户端可以在显示界面中展示该第t轮系统回复信息,进而实现与用户的对话。
89.本技术实施例提供的对话生成方法,由于对话状态即是对全部对话历史的高度总结,因此本技术实施例仅使用本轮的用户输入信息、上一轮的对话状态和上一轮的系统回复信息,即可实现本轮系统回复信息的预测,无需将全部轮次的对话历史输入对话生成系统,可以大大减少在进行对话生成过程中,所处理的数据序列长度,进而可以提高系统的数据处理效率,降低系统的响应时间,提高系统的响应效率,且可以提高预测效果。
90.在一个实施例中,如图3所示,对话预测模型包括状态预测模型、动作预测模型及系统回复预测模型,如图4所示,上述步骤204中,采用对话预测模型根据第t轮用户输入信息及第t-1轮预测信息进行对话预测,得到第t轮系统回复信息包括:
91.步骤402,将第t轮用户输入信息、第t-1轮对话状态和第t-1轮系统回复信息输入状态预测模型进行预测处理,得到第t轮对话状态。
92.示例性的,假设t为2,第2轮用户输入信息为“我想要适中的”,第1轮对话状态为{餐馆地区:北方,餐馆类型:印度餐厅},第1轮系统回复信息为“我找到两个满足你要求的餐馆,你是想要价格适中的还是便宜的?”,状态预测模型将根据第2轮用户输入信息、第1轮对话状态和第1轮系统回复信息进行对话预测,得到的第2轮对话状态可以是“{餐馆地区:北方,餐馆类型:印度餐厅,餐馆价格:适中}”。
93.步骤404,根据第t轮对话状态,从对话库中查询对应的第t轮数据库结果。
94.其中,数据库结果是与对话状态匹配的实体结果。对话库中存储有多个带标记的实体信息。对话系统在第t轮对话过程中,会根据第t轮对话状态查询对话库,匹配对话状态中的槽值与实体信息的标记,找到并返回标记与对话状态中的槽值完全匹配的实体信息,得到第t轮数据库结果。
95.具体地,第t轮数据库结果可能是0个,可能是1个,也可能大于1个。
96.步骤406,将第t轮对话状态、第t轮数据库结果、第t轮用户输入信息和第t-1轮系统回复信息输入动作预测模型进行预测处理,得到第t轮系统动作。
97.其中,第t轮系统动作为一个指示信息,用于指示系统输出的系统回复信息所对应的动作。
98.示例性的,假设t为2,第2轮用户输入信息为“我想要适中的”,第2轮对话状态为“{餐馆地区:北方,餐馆类型:印度餐厅,餐馆价格:适中}”,第1轮系统回复信息是“我找到两个满足你要求的餐馆,你是想要价格适中的还是便宜的?”,系统首先会根据第2轮对话状态“{餐馆地区:北方,餐馆类型:印度餐厅,餐馆价格:适中}”查询对话库。若系统没有找到对应的数据库结果,系统动作就可以是告知用户没有找到结果。若系统仅找到了1个对应的数据库结果,此时用户的选择是唯一的,系统动作就可以是告知用户该餐馆的具体信息。若
系统找到了多个对应的数据库结果,系统动作可以是告知用户存在多个数量的选择,要求用户提供其他信息以进行进一步限定,例如:询问用户价格范围,询问用户餐馆星级。
99.实际上,动作预测模型的输入信息还可以包括第t-1轮对话状态,本技术实施例对此不做具体限定。
100.步骤408,将第t轮系统动作、第t轮对话状态、第t轮数据库结果、第t轮用户输入信息和第t-1轮系统回复信息输入系统回复预测模型进行预测处理,得到第t轮系统回复信息。
101.实际上,系统回复预测模型的输入信息还可以包括第t-1轮对话状态,本技术实施例对此不做具体限定。
102.本技术实施例中,在得到第t轮系统动作之后,可以将第t轮对话状态、第t轮数据库结果、第t轮用户输入信息和第t-1轮系统回复信息作为系统回复预测模型的输入信息,输入至系统回复预测模型中进行预测处理,得到对应的第t轮系统回复信息,第t轮系统回复信息可以是与第t轮系统动作对应的自然语言信息。
103.需要说明的是,本技术实施例不对状态预测模型、动作预测模型及系统回复预测模型的神经网络结构做具体限定,凡是可以实现本技术实施例中上述状态预测模型、动作预测模型及系统回复预测模型的功能的神经网络结构,均适用于本技术实施例中,例如:前馈神经网络、递归神经网络等网络结构。
104.本实施例中,对话预测模型包括状态预测模型、动作预测模型及系统回复预测模型,状态预测模型、动作预测模型及系统回复预测模型均仅采用本轮对话信息和上一轮预测信息进行对话预测,缩短了模型所处理的数据序列长度,进而可以提高系统的数据处理效率,降低系统的响应时间,提高系统的响应效率,且可以提高预测效果。
105.在一个实施例中,如图5所示,上述方法还包括:
106.步骤502,在存在第t+1轮对话的情况下,将第t轮对话状态和第t轮系统回复信息,存储至缓存空间。
107.步骤504,在第t+1轮对话完成后,从缓存空间中删除第t轮对话状态和第t轮系统回复信息。
108.本技术实施例中,对话预测模型在第t轮对话结束后若存在下一轮对话,则可以将第t轮预测信息(包括第t轮对话状态和第t轮系统回复信息)存储至缓存空间,以使得第t+1轮对话过程中,对话预测模型可以从该缓存空间获取到第t轮预测信息,并基于第t轮预测信息进行对话预测。
109.在下一轮对话结束后,第t+2轮对话过程中不需要继续使用第t轮预测信息,则可以将第t轮预测信息从缓存空间中删除,可以减少对资源的占用,提高资源利用率。
110.在一个实施例中,如图6所示,提供了一种对话预测模型的训练方法,对话预测模型应用于对话系统。该方法包括以下步骤:
111.步骤602,获取训练集,训练集包括多个样本组,样本组包括样本数据及样本数据的目标预测结果,样本数据包括第i轮用户输入信息及第i-1轮预测信息,第i-1轮预测信息包括第i-1轮对话状态和第i-1轮系统回复信息,其中,i为正整数。
112.本技术实施例中,可以构建训练集,该训练集中包括多个样本组,各样本组中包括的样本数据包括第i轮用户输入信息及第i-1轮预测信息,其中第i-1轮预测信息包括第i-1
轮对话状态和第i-1轮系统回复信息。样本组按照第i轮用户输入信息、第i-1轮预测信息在前,第i轮的目标预测结果在后的方式进行拼接。其中,第i轮目标预测结果包括第i轮对话状态、第i轮数据库结果、第i轮系统动作、第i轮系统回复信息。示例性的,样本组结构可以是{第i轮用户输入信息、第i-1轮对话状态、第i-1轮回复信息、第i轮对话状态、第i轮数据库结果、第i轮系统动作、第i轮系统回复信息}。
113.步骤604,通过初始对话预测模型对样本数据进行处理,得到样本数据对应的第i轮预测结果。
114.本技术实施例中,初始对话预测模型对样本数据的处理过程,与前述实施例中对话预测模型的对话预测过程类似,本技术实施例中在此不再赘述,参照前述实施例的相关描述即可。
115.步骤606,根据样本数据对应的第i轮预测结果及样本数据的目标预测结果,确定初始对话预测模型的预测损失。
116.本技术实施例中,在得到第i轮预测结果后,可以基于第i轮预测结果与样本数据的目标预测结果之间的差异,确定初始对话预测模型的预测损失,本技术实施例中不对预测损失的具体算法做具体限定,任一损失算法均适用于本技术实施例中。
117.步骤608,根据初始对话预测模型的预测损失,训练初始对话预测模型,得到对话预测模型。
118.具体地,系统可以根据预测损失对初始对话预测模型参数进行调整,直到初始对话预测模型满足预设条件为止。需要说明的是,参数调整可以在一个样本数据训练完成,得到一个预测损失后根据一个预测损失进行,也可以在多个样本数据训练完成后,将多个样本数据得到的多个预测损失融合处理后,根据融合处理得到的预测损失进行。本技术实施例对此不作具体限定。
119.本技术实施例中,由于对话状态即是对全部对话历史的高度总结,因此本技术实施例仅使用本轮的用户输入信息、上一轮的对话状态和上一轮的系统回复信息,即可实现本轮系统回复信息的预测,无需将全部轮次的对话历史输入对话生成系统。本技术实施例因此可以减少对话预测模型在对话生成过程中所处理的数据序列长度,减少样本所占据的存储空间,进而可以提高训练的效率,减少显存开销。
120.在一个实施例中,对话预测模型包括状态预测模型、动作预测模型及系统回复预测模型,如图7所示,上述步骤604中,采用对话预测模型根据第t轮用户输入信息及第t-1轮预测信息进行对话预测,得到第t轮系统回复信息包括:
121.步骤702,将第i轮用户输入信息、第i-1轮对话状态和第i-1轮系统回复信息输入状态预测模型进行预测处理,得到第i轮预测对话状态;
122.步骤704,根据第i轮预测对话状态,从对话库中查询对应的第i轮预测数据库结果;
123.步骤706,将第i轮预测对话状态、第i轮预测数据库结果、第i轮用户输入信息和第i-1轮系统回复信息输入动作预测模型进行预测处理,得到第i轮预测系统动作;
124.步骤708,将第i轮预测系统动作、第i轮预测对话状态、第i轮预测数据库结果、第i轮用户输入信息和第i-1轮系统回复信息输入系统回复预测模型进行预测处理,得到第i轮预测系统回复信息。
125.本技术实施例中,状态预测模型、动作预测模型和系统回复预测模型对样本数据的处理过程,与前述实施例中对话预测模型的状态预测模型、动作预测模型和系统回复预测模型的对话预测过程类似,本技术实施例中在此不再赘述,参照前述实施例的相关描述即可。
126.在一个实施例中,样本数据的目标预测结果包括第i轮对话状态、第i轮数据库结果、第i轮系统动作,第i轮系统回复信息,
127.根据样本数据对应的第i轮预测结果及样本数据的目标预测结果,确定初始对话预测模型的预测损失,包括:
128.根据第i轮预测对话状态与第i轮对话状态之间的差异、第i轮预测数据库结果与第i轮数据库结果之间的差异、第i轮预测系统动作与第i轮系统动作之间的差异、第i轮预测系统回复信息与第i轮系统回复信息之间的差异,确定初始对话预测模型的预测损失。
129.示例性的,本技术实施例可以将第i轮预测对话状态与第i轮对话状态之间的差异记为第一预测差异,可以将第i轮预测数据库结果与第i轮数据库结果之间的差异记为第二预测差异、可以将第i轮预测系统动作与第i轮系统动作之间的差异记为第三预测差异、可以将第i轮预测系统回复信息与第i轮系统回复信息之间的差异记为第四预测差异,可以通过对第一预测差异、第二预测差异、第三预测差异和第四预测差异进行融合处理,得到初始对话预测模型的预测损失,其中,融合处理可以包括加权求和等处理方式,本技术实施例对此不做具体限定。
130.本技术实施例中,上述三个模型(状态预测模型、动作预测模型、系统回复预测模型)可以同时训练,也可以分别训练,本技术实施例对此不做具体限定。
131.基于本技术实施例提供的对话预测模型的训练方法,通过计算每一个预测结果和每一个对应目标预测结果之间的差异,可以对对话预测模型进行更精细的调整,提高对话预测模型的预测精准度。
132.为了便于本领域技术人员的理解,图8提供了一种对话生成方法的流程图。参见图8所示,当用户输入当前轮次的用户输入信息“我想要适中的”时,系统可以读取前一轮次的预测信息。示例性的,假设图8中的对话状态为{餐馆地区:北方,餐馆类型:印度餐厅},系统回复信息为“我找到两个满足你要求的餐馆,你是想要价格适中的还是便宜的?”,通过状态预测模型可以根据
“‘
我想要适中的’、

{餐馆地区:北方,餐馆类型:印度餐厅}’、

我找到两个满足你要求的餐馆,你是想要价格适中的还是便宜的?
’”
进行当前轮次对话状态的预测,进而得到对话状态{餐馆地区:北方,餐馆类型:印度餐厅,餐馆价格:适中}。
133.系统根据当前轮次的对话状态查询对话库,得到当前轮次的数据库结果{餐馆名称:三色莲花,餐馆位置:北方,餐馆类型:印度餐厅,餐馆价格:适中,地址:xx区xx路xx号}。系统进而可以根据当前轮次的数据库结果、当前轮次的用户输入信息、当前轮次的对话状态、前一轮次的系统回复信息进行当前轮次系统动作的预测,得到当前轮次的系统动作{告知餐馆信息}。
134.系统根据当前轮次系统动作、当前轮次数据库结果、当前轮次的用户输入信息、当前轮次的对话状态、前一轮次的系统回复信息预测出当前轮次的系统回复信息,得到当前轮次的系统回复信息“三色莲花餐厅符合你的要求,它的地址是xx区xx路xx号”,并将系统回复信息反馈至用户客户端。
135.参照图9所示,如果将对话预测模型表示为p(输出|输入)的形式,则本技术实施例提供的对话预测模型可以表示为下述公式(一):
136.p(b
t
,db
t
,a
t
,r
t
|b
t-1
,r
t-1
,u
t
)
ꢀꢀꢀ
公式(一)
137.其中b
t
是第t轮对话状态,db
t
是第t轮数据库结果,a
t
是第t轮系统动作,r
t
是第t轮系统回复信息,b
t-1
是第t-1轮对话状态,r
t-1
是第t-1轮系统回复信息,u
t
是第t轮用户输入信息。
138.现有对话预测模型包括simpletod系统(simple task-oriented dialogue,参见文章“a simple language model for task-oriented dialogue”)和ubar系统(参见文章“ubar:towards fully end-to-end task-oriented dialog system with gpt-2”)。其中,simpletod系统在第t轮对话中使用从第1轮至第t-1轮的全部用户输入信息和系统回复信息及第t轮的用户输入信息进行对话预测,该对话预测模型可以表示为下述公式(二);ubar系统在第t轮对话中使用从第1轮至第t轮的全部用户输入信息、对话状态、数据库结果、系统动作、系统回复信息及第t轮的用户输入信息进行对话预测,该对话预测模型可以表述为下述公式(三):
139.p(b
t
,db
t
,a
t
,r
t
|u1,r1,...,u
t-1
,r
t-1
,u
t
)
ꢀꢀꢀ
(公式二)
140.p
θ
(b
t
,db
t
,a
t
,r
t
|u1,b1,db1,a1,r1,...,u
t-1
,b
t-1
,db
t-1
,a
t-1
,r
t-1
,u
t
)
ꢀꢀꢀ
(公式三)
141.示例性的,参照如图10所示,示出了本技术实施例相对于simpletod系统和ubar系统在显存开销上的差异,如图10所示,本技术实施例提供的对话生成方法、对话预测模型的训练方法在预测和应用过程中的显存开销相对于simpletod系统和ubar系统均大大降低。
142.本技术实施例提供的对话生成方法、对话预测模型的训练方法,仅使用本轮的用户输入信息、上一轮的对话状态和上一轮的系统回复信息进行对话预测,生成架构相较于现有对话生成系统大大简化,从而大大降低了训练时的显存开销和时间开销,也提高了对话预测模型的预测效果。
143.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
144.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的对话方法的生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个生成装置实施例中的具体限定可以参见上文中对于对话生成方法的限定,在此不再赘述。
145.在一个实施例中,如图11所示,提供了一种对话生成装置,包括:接收模块1102、预测模块1104、反馈模块1106,其中:
146.接收模块1102,用于在第t轮对话中,接收客户端发送的第t轮用户输入信息,其中,t为正整数;
147.预测模块1104,用于采用对话预测模型根据所述第t轮用户输入信息及第t-1轮预
测信息进行对话预测,得到第t轮系统回复信息,所述第t-1轮预测信息包括第t-1轮对话状态和第t-1轮系统回复信息;
148.反馈模块1106,用于向所述客户端反馈所述第t轮系统回复信息。
149.基于本技术实施例提供的对话生成装置,由于对话状态即是对全部对话历史的高度总结,因此本技术实施例仅使用本轮的用户输入信息、上一轮的对话状态和上一轮的系统回复信息,即可实现本轮系统回复信息的预测,无需将全部轮次的对话历史输入对话生成系统,可以大大减少在进行对话生成过程中,所处理的数据序列长度,进而可以提高系统的数据处理效率,降低系统的响应时间,提高系统的响应效率,且可以提高预测效果。
150.在一个实施例中,所述预测模块1104,还用于:
151.将所述第t轮用户输入信息、所述第t-1轮对话状态和所述第t-1轮系统回复信息输入所述状态预测模型进行预测处理,得到第t轮对话状态;
152.根据所述第t轮对话状态,从对话库中查询对应的第t轮数据库结果;
153.将所述第t轮对话状态、所述第t轮数据库结果、所述第t轮用户输入信息和所述第t-1轮系统回复信息输入所述动作预测模型进行预测处理,得到第t轮系统动作;
154.将所述第t轮系统动作、所述第t轮对话状态、所述第t轮数据库结果、所述第t轮用户输入信息和所述第t-1轮系统回复信息输入所述系统回复预测模型进行预测处理,得到第t轮系统回复信息。
155.在其中一个实施例中,所述装置还包括:
156.存储模块,用于在存在第t+1轮对话的情况下,将所述第t轮对话状态和所述第t轮系统回复信息,存储至缓存空间;
157.删除模块,用于在所述第t+1轮对话完成后,从所述缓存空间中删除所述第t轮对话状态和所述第t轮系统回复信息。
158.在一个实施例中,如图12所示,提供了一种对话预测模型的训练装置,包括:获取模块1202、处理模块1204、确定模块1206,训练模块1208,其中:
159.获取模块1202,用于获取训练集,所述训练集包括多个样本组,所述样本组包括样本数据及所述样本数据的目标预测结果,所述样本数据包括第i轮用户输入信息及第i-1轮预测信息,所述第i-1轮预测信息包括第i-1轮对话状态和第i-1轮系统回复信息,其中,i为正整数;
160.处理模块1204,用于通过初始对话预测模型对所述样本数据进行处理,得到所述样本数据对应的第i轮预测结果;
161.确定模块1206,用于根据所述样本数据对应的第i轮预测结果及所述样本数据的目标预测结果,确定所述初始对话预测模型的预测损失;
162.训练模块1208,用于根据所述初始对话预测模型的预测损失,训练所述初始对话预测模型,得到所述对话预测模型。
163.基于本技术实施例提供的对话预测模型的训练装置,由于对话状态即是对全部对话历史的高度总结,因此本技术实施例仅使用本轮的用户输入信息、上一轮的对话状态和上一轮的系统回复信息,即可实现本轮系统回复信息的预测,无需将全部轮次的对话历史输入对话生成系统。本技术实施例因此可以减少对话预测模型在对话生成过程中所处理的数据序列长度,减少样本所占据的存储空间,进而可以提高训练的效率,减少显存开销。
164.在一个实施例中,所述处理模块1204,还用于:
165.将所述第i轮用户输入信息、所述第i-1轮对话状态和所述第i-1轮系统回复信息输入所述状态预测模型进行预测处理,得到第i轮预测对话状态;
166.根据所述第i轮预测对话状态,从对话库中查询对应的第i轮预测数据库结果;
167.将所述第i轮预测对话状态、所述第i轮预测数据库结果、所述第i轮用户输入信息和所述第i-1轮系统回复信息输入所述动作预测模型进行预测处理,得到第i轮预测系统动作;
168.将所述第i轮预测系统动作、所述第i轮预测对话状态、所述第i轮预测数据库结果、所述第i轮用户输入信息和所述第i-1轮系统回复信息输入系统回复预测模型进行预测处理,得到第i轮预测系统回复信息。
169.在其中一个实施例中,所述处理模块1204,还用于:
170.根据所述第i轮预测对话状态与所述第i轮对话状态之间的差异、所述第i轮预测数据库结果与所述第i轮数据库结果之间的差异、所述第i轮预测系统动作与所述第i轮系统动作之间的差异、所述第i轮预测系统回复信息与所述第i轮系统回复信息之间的差异,确定所述初始对话预测模型的预测损失。
171.上述对话生成装置和对话预测模型的训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
172.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种对话生成方法或对话预测模型的训练方法。
173.本领域技术人员可以理解,图13中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
174.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
175.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
176.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
177.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
178.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以
通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
179.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
180.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1