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

一种对话状态确定方法、装置、设备及存储介质

文献发布时间:2023-06-19 15:35:18



技术领域

本申请涉及信息技术领域,尤其涉及一种对话状态确定方法、装置、设备以及计算机可读存储介质。

背景技术

多领域生成式对话系统,能够在任一领域完成与任一用户的对话交互。在相关技术中,多领域生成式对话系统多采用神经网络进行对话处理。在对多领域生成式对话系统对应的神经网络在训练时,采用的是半监督训练的方法,并且,在上述半监督训练过程中,通常是将携带有标注信息的样本数据、以及未携带标注信息的样本数据同时作为神经网络的输入数据进行训练。然而,在实际应用中,携带有标注信息的样本数据的数据量较小,进而使得其对神经网络的网络参数改善作用有限。因此,在相关技术中,多领域生成式对话系统的神经网络对用户输入的对话数据的处理性能较差。

发明内容

本申请实施例提供了一种对话状态确定方法、对话状态确定装置、对话状态确定设备以及计算机可读存储介质。

本申请实施例所提供的对话状态确定方法,能够通过训练完成的神经网络对任一领域的对话数据进行高效精确的识别,从而能够快速准确的确定任一领域的任一对话的状态。

本申请实施例所提供的对话状态确定方法是这样实现的:

一种对话状态确定方法,所述方法包括:

获取输入数据;其中,所述输入数据,为任一领域的对话过程中用户输入的对话数据;

通过训练完成的神经网络,对所述输入数据进行处理,得到输出数据;其中,所述训练完成的神经网络,是基于样本数据中的第一数据,对参数初步调整的所述神经网络的网络参数进行元测试得到的;所述参数初步调整的所述神经网络,是基于所述样本数据中的第二数据,对所述神经网络进行元训练得到的;所述第一数据携带标注信息;所述第二数据未携带标注信息;所述样本数据,包括至少一个领域的对话数据;

基于所述输出数据,确定所述对话的对话状态。

在一些实施方式中,所述第二数据,包括至少一个领域的对话数据;所述参数初步调整的所述神经网络,是基于所述样本数据中的第二数据,对所述神经网络进行元训练得到的,包括:

基于所述第二数据,对所述每一领域的子神经网络的网络参数进行调整,得到参数初步调整的所述每一领域的子神经网络;

基于参数初步调整的所述每一领域的子神经网络的网络参数、以及所述第二数据,对神经网络的网络参数进行调整,得到参数初步调整的所述神经网络;其中,所述领域参数调整结束的神经网络,包括参数初步调整的所述每一领域的子神经网络。

在一些实施方式中,所述基于所述第二数据,对所述每一领域的子神经网络的网络参数进行调整,得到参数初步调整的所述每一领域的子神经网络,包括:

从所述第二数据中获取领域训练数据;其中,所述领域训练数据,用于对所述每一领域的子神经网络进行训练;

基于所述领域训练数据中的每一领域的对话数据,对所述每一领域的子神经网络的网络参数进行调整,得到所述参数初步调整的所述每一领域的子神经网络。

在一些实施方式中,所述基于所述领域训练数据中的每一领域的对话数据,对所述每一领域的子神经网络的网络参数进行调整,得到所述参数初步调整的所述每一领域的子神经网络,包括:

基于所述每一领域的子神经网络,对所述领域训练数据中每一领域的对话数据进行元学习处理,得到每一领域的训练误差;

基于所述每一领域的训练误差,调整所述每一领域的子神经网络的网络参数,得到所述参数初步调整的所述每一领域的子神经网络。

在一些实施方式中,所述基于所述每一领域的子神经网络,对所述领域训练数据中每一领域的对话数据进行元学习处理,得到每一领域的训练误差,包括:

将所述领域训练数据中第d领域的对话数据的第t轮对话数据,输入至所述第d领域的子神经网络,得到第t轮输出数据;其中,d为大于或等于0的整数;所述t为大于或等于1的整数;

基于所述第t轮输出数据,得到所述第d领域的训练误差。

在一些实施方式中,所述基于所述参数初步调整的每一领域的子神经网络的网络参数、以及所述第二数据,对神经网络的网络参数进行调整,得到参数初步调整的所述神经网络,包括:

从所述第二数据中获取领域检测数据;其中,所述领域检测数据,用于对神经网络进行训练;

基于所述参数初步调整的每一领域的子神经网络的网络参数、以及所述领域检测数据,对所述神经网络的网络参数进行调整,得到参数初步调整的所述神经网络。

在一些实施方式中,所述基于参数初步调整的每一领域的子神经网络的网络参数、以及所述领域检测数据,对所述神经网络的网络参数进行调整,得到参数初步调整的所述神经网络,包括:

基于所述参数初步调整的每一领域的子神经网络的网络参数,对所述领域检测数据中的每一领域的对话数据进行处理,得到每一领域检测误差;

基于所述每一领域检测误差,得到网络训练误差;

基于所述网络训练误差,对所述神经网络的网络参数进行调整,得到所述参数初步调整后所述神经网络。

在一些实施方式中,所述基于所述网络训练误差,对所述神经网络的网络参数进行调整,得到所述参数初步调整后所述神经网络,包括:

在所述神经网络的网络参数调整结果收敛的情况下,基于所述网络参数调整结果,得到所述参数初步调整后所述神经网络;

在所述神经网络的网络参数调整结果不收敛的情况下,重新执行以下步骤,直至所述领域参数调整结束的神经网络的网络参数调整结果收敛:

将所述神经网络的网络参数作为每一领域的子神经网络的网络参数;

基于所述第二数据,对所述每一领域的子神经网络的网络参数进行调整,得到参数初步调整的所述每一领域的子神经网络;

基于参数初步调整的所述每一领域的子神经网络的网络参数、以及所述第二数据,得到参数初步调整的所述神经网络。

在一些实施方式中,所述第一数据,包括至少一个领域的对话数据;所述训练完成的神经网络,是通过以下方式得到的:

将所述第一数据中的每一对话数据输入至所述参数初步调整的神经网络,得到与每一对话数据对应的对话误差;

对每一所述对话误差进行累加,得到网络调整误差;

基于所述网络调整误差,对所述参数初步调整的神经网络的网络参数进行调整,得到所述训练完成的神经网络。

在一些实施方式中,所述基于所述网络调整误差,对所述参数初步调整的神经网络的网络参数进行调整,得到所述训练完成的神经网络,包括:

在对所述参数初步调整的神经网络的网络参数调整结果收敛的情况下,基于所述网络参数调整结果,得到所述训练完成的神经网络;

在对所述参数初步调整的神经网络的网络参数调整结果收敛不收敛的情况下,重复执行以下步骤,直至对所述参数初步调整的神经网络的网络参数调整结果收敛:

基于样本数据中的第一数据,对参数初步调整的所述神经网络的网络参数进行元测试。

本申请实施例还提供了一种对话状态确定装置,所述装置包括:获取模块、处理模块以及确定模块,其中:

所述获取模块,用于获取输入数据;其中,所述输入数据,为任一领域的对话过程中用户输入的对话数据;

所述处理模块,用于通过训练完成的神经网络,对所述输入数据进行处理,得到输出数据;其中,所述训练完成的神经网络,是基于样本数据中的第一数据,对参数初步调整的所述神经网络的网络参数进行元测试得到的;所述参数初步调整的所述神经网络,是基于所述样本数据中的第二数据,对所述神经网络进行元训练得到的;所述第一数据携带标注信息;所述第二数据未携带标注信息;所述样本数据,包括至少一个领域的对话数据;

所述确定模块,用于基于所述输出数据,确定所述对话的对话状态。

本申请实施例还提供了一种对话状态确定设备,所述对话状态确定设备包括处理器和存储器以及通信总线,其中,所述通信总线用于实现所述处理器与所述存储器之间的通信连接;所述处理器用于执行所述存储器中存储的计算机程序,以实现如前任一所述的对话状态确定方法。

本申请实施例还提供了一种计算机可读存储介质,所述可读存储介质能够被处理器执行,以实现如前任一所述的对话状态确定方法。

本申请实施例提供的对话状态确定方法中所采用的训练完成的神经网络,是通过对神经网络的元训练的方式得到的,如此,即使携带标注信息的样本数据的数据量很小,通过元训练的方法,神经网络依然可以从大批量的未携带标注信息的样本数据中充分获取各个样本数据的特征信息,从而改善了神经网络对任一领域的对话数据的处理性能;并且,基于未携带标注信息的样本数据对神经网络元训练结束之后,还可以基于少量的携带标注信息的样本数据对元训练结束的神经网络进行参数调整,从而进一步改善了训练完成的神经网络对对话数据的处理性能,进而使得训练完成的神经网络对任一领域的对话数据都能够具备高效精确的识别能力,因此能够快速准确的确定任一对话的状态。

附图说明

图1为相关技术中的半监督训练的多领域生成式对话系统的神经网络模型结构示意图;

图2为本申请实施例提供的第一种对话状态确定方法的流程示意图;

图3为本申请实施例提供的神经网络的结构示意图;

图4为本申请实施例提供的神经网络的训练流程示意图;

图5是本申请实施例提供的对神经网络的元训练流程示意图;

图6为本申请实施例提供的基于第一数据得到训练完成的神经网络的流程意图;

图7为本申请实施例提供的对话状态确定装置的结构示意图;

图8为本申请实施例提供的对话状态确定设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请涉及信息技术领域,尤其涉及一种对话状态确定方法、对话状态确定装置、对话状态确定设备以及计算机可读存储介质。

多领域生成式对话系统,能够在任一领域实现与用户的对话交互,其通常采用神经网络作为系统模型对对话数据进行处理。在对神经网络进行训练的过程中,通常会根据损失函数计算神经网络对对话数据处理的误差,借助于误差反向传播算法来更新神经网络的网络参数,直至神经网络收敛为止。

在实际应用中,对话状态的精准确定和跟踪,对于理解用户的意图以及生成高质量的系统回复至关重要。根据多领域生成式对话系统的输入输出数据,可以确定对话状态。对话状态可以表示当前时刻的用户意图,因此,对话状态的确定,是多领域生成式对话系统的重要功能。在相关技术中,为了改善多领域生成式对话系统的性能,通常采用在生成式对话系统中加入显式对话状态跟踪的方法。

显式对话状态跟踪需要依赖于大量的携带标注信息的对话数据,而为大量的对话数据添加标注信息的操作,需要大量的人力和时间。因此,虽然借助于显示对话状态跟踪的方法,从理论上来讲,能够提升多领域生成式对话系统的性能,但在实际应用中,由于大量对话状态数据的标注工作可行性较低,因此,显式对话状态跟踪的实际应用意义也相应地被削弱。

为了改善多领域生成式对话系统的神经网络的性能,相关技术中还提出了通过半监督的方式对神经网络进行训练的方法。

多领域生成式对话系统的半监督训练方法,将携带标注信息的样本数据和未携带标注信息的样本数据,同时作为输入数据,以使它们能够同时参与对神经网络模型的训练过程。

图1为相关技术中的半监督训练的多领域生成式对话系统的神经网络模型结构示意图。

在图1中,半监督训练的多领域生成式对话系统的神经网络模型,可以包括输入文本编码器(Encoder)、对话状态解码器(Belief Span Decoder)以及系统回复解码器(Response)三部分,这三部分相互配合根据显式的对话状态,生成系统回复。

其中,输入文本编码器-对话状态解码器可以包括两组网络参数,即前验网络参数和后验网络参数。这两组网络参数对应的网络结构相同,但处理的数据流不同。

前验网络参数所处理的数据流为图1中所示的虚线,即t-1时刻的系统回复R

后验网络参数所处理的数据流如图1中的实线所示,即t-1时刻的系统回复R

在神经网络的半监督训练过程中,前验网络参数和后验网络参数同时更新。并且,在半监督训练过程中,针对未携带标注信息的样本数据进行的无监督训练过程、以及针对携带标注信息的样本数据进行的有监督训练过程,分别定义了两种损失函数以计算误差损失,即无监督训练的损失函数以及有监督训练的损失函数。其中,有监督训练的损失函数计算的损失项,包括前验网络的对话状态解码器损失、后验网络的对话状态解码器损失以及系统回复解码器损失;无监督训练的损失函数计算的损失项,包括系统回复解码器损失、以及前验网络和后验网络生成的概率分布的KL(Kullback-Leibler,KL)散度。其中,KL散度是两个概率分布间差异的非对称性度量。此处的KL散度是以后验网络生成的概率作为标准分布,使前验概率分布近似后验概率分布。

通过以上两种误差函数计算得到的误差相加的结果,可以作为神经网络的误差,在神经网络的训练过程中,可以基于上述误差对神经网络的网络参数进行更新。在神经网络训练完成之后,还可以对训练完成的神经网络进行测试,对训练完成的神经网络进行测试的过程中,通过神经网络的前验网络参数与系统回复解码器对输入的对话数据的处理,就可以得到最终的系统回复。

在上述对神经网络的训练中,虽然对两种样本数据对应定义了不同的损失函数,但上述训练过程是将未携带标注信息的样本数据以及携带标注信息的样本数据同时输入至神经网络,在未携带标注信息的样本数据的数据量远远大于携带标注信息的样本数据的条件下,通过上述训练过程,神经网络能够从携带标注信息的样本数据中获取的有效信息很少,因此,通过半监督方式训练得到的多领域生成式对话系统,在实际的对话处理过程中的性能较差。

基于以上问题,本申请实施例提供了一种对话状态确定方法,图2为本申请实施例提供的第一种对话状态确定方法的流程示意图。

需要说明的是,本申请实施例提供的对话状态确定方法,可以是通过对话状态确定设备中的处理器来实现的,上述处理器可以为特定用途集成电路(ApplicationSpecific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程逻辑门阵列(Field Programmable GateArray,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。

如图2所示,本申请实施例提供的对话状态确定方法,可以包括以下步骤:

步骤201、获取输入数据。

其中,输入数据,为任一领域的对话过程中用户输入的对话数据。

在一种实施方式中,对话过程,在当前时刻可以处于激活状态的。

在一种实施方式中,对话过程,可以是历史对话过程,即已经结束或已经处于非激活状态的对话过程。

在一种实施方式中,输入数据,可以是任一用户针对当前对话输入的。

在一种实施方式中,输入数据,可以是任一用户在历史对话过程中输入的。

在一种实施方式中,任一领域,可以包括如下任意一种领域:教育领域、财经领域、购物领域、时事新闻、养生保健、科技问答、城市导航、旅游导向、天气领域、行程安排等。

在一种实施方式中,获取输入数据,可以是实时执行的操作。

在一种实施方式中,获取输入数据,可以是在获取到获取输入数据的指令之后执行的操作。示例性地,输入数据,可以是在获取到获取输入数据的指令之后,从历史对话过程中获取的历史对话数据、或者从当前处于激活状态的对话过程中获取的历史对话数据。

步骤202、通过训练完成的神经网络,对输入数据进行处理,得到输出数据。

其中,训练完成的神经网络,是基于样本数据中的第一数据,对参数初步调整的神经网络的网络参数进行元测试得到的;参数初步调整的神经网络,是基于样本数据中的第二数据,对每一领域的子神经网络进行元训练得到的;第一数据携带标注信息;第二数据未携带标注信息;样本数据,包括至少一个领域的对话数据。

在一种实施方式中,样本数据中所包含的至少一个领域的对话数据的数据量,可以是大于或等于样本数据量阈值的。其中,样本数据量阈值,可以是一个较大的数值,比如十万。

在一种实施方式中,样本数据中所包含的至少一个领域的对话数据中、每一领域的对话数据的数据量,可以是不同的,此时可以取各领域中对话数据的最小数据量作为神经网络训练的数据。

在一种实施方式中,标注信息,可以包括预先定义的槽位和槽值。

在一种实施方式中,第一数据以及第二数据,可以包括一个完整对话过程所包含的所有对话数据,比如用户的输入数据以及系统的回复数据。

在一种实施方式中,第一数据以及第二数据,可以包括一个完整对话过程所对应的所有对话数据中的部分对话数据。

在一种实施方式中,样本数据中第一数据的数据量、与第二数据的数据量的比例,可以小于或等于第一预设比例。示例性的,第一预设比例可以为2%。如此,在本申请实施例中对神经网络的训练过程中,携带标注信息的样本数据的数据量较小,而未携带标注信息的样本数据的数据量较多。

在本申请实施例中,对神经网络进行元训练,采用的是与神经网络模型无关的元学习(Model-Agnostic Meta-Learning,MAML)技术,该技术适用于所有满足梯度下降的模型,其意图学习不同任务、不同数据的内在表示和内在特征,因此,采用元技术进行元训练,可以使得训练结束的神经网络能够更加快速的适应新的学习任务。

相应地,在本申请实施例中,元测试,也是采用MAML技术对参数初步调整的神经网络的网络参数进行调整的。

在本申请实施例中,对神经网络的训练过程中,通过采用基于MAML的半监督方法,在样本数据中第二数据的数据量远远大于第一数据的数据量的情况下,仍然能够获取第二数据中所携带的大量有效信息,从而能够提升系统的性能。

图3为本申请实施例提供的神经网络的结构示意图。结合图1可知,本申请实施例所训练的神经网络结构,与相关技术中的神经网络结构相比,在后验网络参数数据流向环节中,增加了自编码器(Auto-Encoder)。图3中的自编码器用于解码重构后验网络的输入数据。具体的,将预测得到的对话状态S′

需要说明的是,图3所示的神经网络的结构示意图,可以表示本申请实施例所述的神经网络的结构,还可以表示每一领域的子神经网络的结构。也就是说,在本申请实施例中,神经网络的结构与每一领域的子神经网络的结构,可以是相同的,但神经网络的网络参数、与每一领域的子神经网络的网络参数,可以是不同的。

在图3中,前验网络,可以包括文本编码器-对话状态解码器-系统回复解码器;后验网络,可以包括输入文本编码器-对话状态解码器-自编码器。

在一种实施方式中,参数初步调整的神经网络,可以是通过以下方式得到的:

基于第二数据以及元学习算法,对每一领域的子神经网络的网络参数进行调整,然后基于每一领域的子神经网络的网络参数对指定样本数据的处理效果,得到参数初步调整的神经网络。

在本申请实施例中,参数初步调整的神经网络,可以是通过以下方式得到的:

基于第二数据,对图3所示的每一领域的子神经网络的无监督训练数据流对应的各个模块的参数进行调整。也就是说,元训练对应的前验网络参数对应的数据流向,包括输入文本编码器-对话状态解码器-系统回复解码器的网络结构;而后验网络参数对应的数据流向,可以包括输入文本编码器-对话状态解码器-自编码器。其中,自编码器用于重构输入文本编码器的输入。

在一种实施方式中,基于第一数据对参数初步调整的神经网络的网络参数进行元测试,得到训练完成的神经网络,可以是通过以下方式实现的:

基于第一数据以及元学习算法,对参数初步调整的神经网络的网络参数进行测试,并根据测试结果确定对神经网络参数的调整策略,然后根据该调整策略调整神经网络的网络参数,最终得到训练完成的神经网络。示例性地,在对参数初步调整的神经网络的网络参数进行调整的过程中,可以充分利用第一数据所携带的标注信息,对参数初步调整的神经网络的网络参数所产生的偏差进行修正,从而更进一步地提升训练完成的神经网络的性能。

在本申请实施例中,对每一领域的子神经网络、以及神经网络的训练,可以先后包括无监督训练和有监督训练两个阶段。其中,无监督训练,可以包括基于第二数据、对神经网络进行元训练得到参数初步调整的神经网络的过程;有监督训练,可以包括基于第一数据、对参数初步调整的神经网络的网络参数进行调整、得到训练完成的神经网络的过程。也就是说,在本申请实施例中,对神经网络的训练,是通过半监督的训练方法实现的。

在本申请实施例中,根据上述两个阶段所依据的样本数据的不同、以及样本数据在各个训练阶段中所发挥的作用的不同,还可以将神经网络训练的无监督训练阶段,称为元训练阶段,而将有监督训练阶段,称为元测试阶段。

本申请实施例提供的神经网络训练过程,将未携带标注信息的样本数据与携带标注信息的样本数据,分别作为两个不同训练阶段的输入数据,从而降低了两种类型的样本数据的在训练过程中的相互干扰。这样的训练方法,使得新增少量携带标注信息的样本数据的情况下,在神经网络基于当前的样本数据训练完成之后,并不需要执行两个不同训练阶段的全部训练操作,而仅依据新增的样本数据执行有监督训练过程即可。如此,与相关技术中新增样本数据则需要对神经网络重新进行训练的方案相比,本申请实施例中的神经网络训练方法能够降低时间和计算资源的消耗,从而加速了神经网络的优化速度,降低了运算开销。

并且,由于本申请实施例提供的神经训练方法采用了MAML技术,在对话迁移至新的领域时,仅通过少量的新领域样本数据对神经网络进行训练,就可以获得良好的性能。而在相关技术中,在新领域数据集中仅包含少量携带标注信息的样本数据的情况下,从少量携带标注信息的新领域样本数据,对训练完成的神经网络的正向影响较小,从而使得训练完成的神经网络在新领域中表现的性能较差。

在一种实施方式中,在每一领域的对话数据中,均包括携带标注信息的样本数据、以及未携带标注信息的样本数据。

在一种实施方式中,输出数据,可以是训练完成的神经网络中对输入数据进行处理得到的回复数据。

示例性地,回复数据可以是针对用户输入的对话数据的文本数据、语音数据、图像数据等至少之一。

在一种实施方式中,回复数据,可以是针对用户输入的对话数据而得到的选项数据,比如针对用户输入的较为模糊的对话数据,训练完成的神经网络可以提供若干选项供用户选择,便于训练完成的神经网络进一步确定用户的意图。

步骤203、基于输出数据,确定对话的对话状态。

在一种实施方式中,对话状态,可以是通过训练完成的神经网络确定的。

在一种实施方式中,对话状态,可以是对输出数据进行分析而确定的。

在一种实施方式中,通过输出数据的分析,还可以得到用户针对本次对话的意图。

在一种实施方式中,通过输出数据的分析,还可以得到发起本地对话的用户的信息,比如用户的身份信息、用户的年龄信息、用户的职业信息、用户的个人爱好信息、用户的健康状况信息等。

由以上可知,本申请实施例提供的对话状态确定方法,获取任一领域的对话过程中用户的输入数据之后,通过训练完成的神经网络,对用户的输入数据进行处理得到输出数据,并根据输出数据确定对话状态,并且,训练完成的神经网络,是分别通过样本数据中未携带标注信息的第二数据对神经网络进行元训练得到参数初步调整的神经网络、再基于携带标注信息的第一数据对参数初步调整的神经网络进行元测试而得到的。因此,通过这种方式得到的神经网络能够更深入的获取样本数据中所携带的特征信息,从而提高了训练完成的神经网络对输入数据的处理性能,进而使得对话状态能够更加精准高效地确定。

基于前述实施例,本申请实施例还提供了对话状态确定方法中训练完成的神经网络的训练过程。

在本申请实施例中,每一领域的子神经网络,可以是相互独立的。

在一种实施方式中,每一领域的子神经网络,可以是相互关联的。示例性地,一些相近领域的子神经网络,可以是相互关联的。比如,养生保健领域的子神经网络与健康咨询领域的子神经网络,可以是相互关联的。

在本申请实施例中,第二数据,包括至少一个领域的对话数据。

在一种实施方式中,第二数据所包含的至少一个领域的对话数据中,每一领域的对话数据的数据量,可以是相互接近的。

在一种实施方式中,第二数据所包含的至少一个领域的对话数据中,每一领域的对话数据的数据量,可以是差异较大的。比如对于广受欢迎的领域,样本数据的来源较多,相应地,该领域中未携带标注信息的样本数据也较多;而对于一些比较冷僻的领域,样本数据的来源较少,相应地,该领域中未携带标注信息的样本数据也较少。

在本申请实施例中,元训练,包括对每一领域的子神经网络的网络参数的调整,以及对神经网络的网络参数的调整两个环节。

在一种实施方式中,元训练,可以包括对每一领域的子神经网络的网络参数进行调整,得到每一领域的子神经网络的网络参数调整结果,再基于样本数据以及每一领域的子神经网络的网络参数调整结果,对神经网络的网络参数进行调整,从而得到参数初步调整的神经网络。

图4为本申请实施例提供的神经网络的训练流程示意图。

在本申请实施例中,参数初步调整的神经网络,是基于样本数据中的第二数据,对神经网络进行元训练得到的过程,可以通过图4中的步骤401至步骤402来实现:

步骤401、基于第二数据,对每一领域的子神经网络的网络参数进行调整,得到参数初步调整的每一领域的子神经网络。

在一种实施方式中,参数初步调整的每一领域的子神经网络,可以是通过以下方式实现的:

基于第二数据中的全部样本数据,对每一领域的子神经网络的网络参数进行调整,得到参数初步调整的每一领域的子神经网络。

在一种实施方式中,参数初步调整的每一领域的子神经网络,可以是通过以下方式实现的:

基于第二数据中的部分样本数据,对每一领域的子神经网络的网络参数进行调整,得到参数初步调整的每一领域的子神经网络。

示例性地,步骤401,可以通过步骤A1-步骤A2来实现:

步骤A1、从第二数据中获取领域训练数据。

其中,领域训练数据,用于对每一领域的子神经网络进行训练。

在本申请实施例中,第d领域的领域训练数据可以记为

在一种实施方式中,领域训练数据,可以是基于指定比例从第二数据中获取的。

在一种实施方式中,指定比例,可以高于或等于第二预设比例。示例性地,第二预设比例,可以为80%或90%。

在一种实施方式中,领域训练数据,可以包括每一领域的样本数据。

在一种实施方式中,领域训练数据中,每一领域的样本数据量可以是相当的。

步骤A2、基于领域训练数据中的每一领域的对话数据,对每一领域的子神经网络的网络参数进行调整,得到参数初步调整的每一领域的子神经网络。

在一种实施方式中,参数初步调整的每一领域的子神经网络,可以是通过以下方式得到的:

获取领域训练数据中每一领域的对话数据中、指定时段内的对话数据,记为指定时段训练数据,并基于指定时段训练数据,对每一领域的子神经网络的网络参数进行调整,得到参数初步调整的每一领域的子神经网络。

在一种实施方式中,参数初步调整的每一领域的子神经网络,可以是通过以下方式得到的:

获取领域训练数据中每一领域的对话数据中、特定人群的对话数据,记为特定人群训练数据,并基于特定人群训练数据,对每一领域的子神经网络的网络参数进行调整,得到参数初步调整的每一领域的子神经网络。

示例性地,步骤A2可以通过步骤B1-步骤B2来实现:

步骤B1、基于每一领域的子神经网络,对领域训练数据中每一领域的对话数据进行元学习处理,得到每一领域的训练误差。

在本申请实施例中的元学习处理,可以是通过前文所述的MAML技术进行的。

在本申请实施例提供的神经网络的训练方法中,基于第二数据对每一领域的子神经网络进行的无监督训练对应的训练误差,可以包括系统回复解码器的解码误差、子编码器的解码误差、以及前验后验网络生成的概率分布的KL散度。

在一种实施方式中,每一领域的训练误差,可以是基于该领域的子神经网络,对领域训练数据中的每一样本数据进行处理,得到每一样本数据处理误差,再对这些误差进行加权平均而得到的。

在一种实施方式中,在对每一领域的子神经网络进行训练之前,可以先设定神经网络的初始参数为M,并将初始参数M复制给每一领域的子神经网络的网络参数,示例性地,可以记第d领域的子神经网络的网络参数为M′

示例性地,步骤B1可以通过步骤C1-步骤C3来实现:

步骤C1、将领域训练数据中第d领域的对话数据的第t轮对话数据,输入至第d领域的子神经网络,得到第t轮输出数据。

其中,d为大于或等于0的整数;t为大于或等于1的整数。

在一种实施方式中,第d领域,可以为多个领域中的任一领域。

在一种实施方式中,第t轮对话数据,可以属于训练领域数据的第d领域对话数据中的任一样本数据。

在本申请实施例中,第t轮对话的第t轮对话数据,可以包括用户针对第t轮对话的输入数据,其中,用户的输入数据可以包括文本数据、图像数据、音频数据、表情数据等至少之一。示例性地,第t轮对话中用户的输入数据可以记为U

在本申请实施例中,第t轮输出数据,可以表示第d领域的子神经网络输出的回复数据,第t轮输出数据可以记为R

示例性地,可以通过上述方式获取第d领域的子神经网络的任意轮输出数据。

示例性地,第t-1轮输出数据,可以是将第t-1轮对话数据输入至第d领域的子神经网络中,经过第d领域的子神经网络对第t-1轮对话数据的处理而获取到的。

步骤C3、基于第t轮输出数据,得到第d领域的训练误差。

示例性地,经过上述处理过程,随着t取值的变化,可以获取到第d领域的子神经网络对每一轮对话数据的对应的输出数据。

在一种实施方式中,第d领域的训练误差,可以对第t轮对话数据、第t轮输出数据以及第t轮对话数据的对话状态数据进行处理得到。

在一种实施方式中,第d领域的训练误差,可以通过对第t轮对话数据的每一处理环节中产生的误差进行计算得到。

在一种实施方式中,第d领域的训练误差,可以通过与第t轮对话数据的对应的系统回复解码器输出数据的概率分布、后验网络最终输出数据的概率分布以及前验后验网络输出概率分布的KL散度得到。

在一种实施方式中,第d领域的训练误差,可以通过式(1)所定义的误差函数得到的:

在式(1)中,

在式(1)中,P(R

在式(1)中,Q

在式(1)中,p

在式(1)中,KL(q

在式(1)中,N为对话状态数据的长度,在对话状态数据为序列的情况下,N可以为对话状态序列的长度;U为领域训练数据集合;α为KL散度的权重。

步骤B2、基于每一领域的训练误差,调整每一领域的子神经网络的网络参数,得到参数初步调整的每一领域的子神经网络。

在一种实施方式中,调整每一领域的子神经网络的网络参数,可以是通过以下方式实现的:

获取第一误差阈值,基于每一领域的训练误差与第一误差阈值的关系,调整每一领域的子神经网络的网络参数。其中,第一误差阈值,可以表示每一领域的子神经网络训练的预期误差。

示例性地,当每一领域的训练误差大于或等于第一误差阈值时,基于每一领域的训练误差调整每一领域的子神经网络的网络参数;相应地,当每一领域的训练误差小于第一误差阈值时,可以停止上述调整操作。

在一种实施方式中,在一种实施方式中,调整每一领域的子神经网络的网络参数,可以是通过以下方式实现的:

基于每一领域的训练误差与每一领域的子神经网络的网络参数状态,调整每一领域的子神经网络的网络参数。

示例性地,每一领域的子神经网络的网络参数状态,可以通过每一领域的子神经网络的网络参数是否收敛进行评估。

在一种实施方式中,在一种实施方式中,调整每一领域的子神经网络的网络参数,可以是通过以下方式实现的:

基于每一领域的子神经网络的网络参数是否收敛,结合每一领域的训练误差,通过一定的网络参数调整算法,调整每一领域的子神经网络的网络参数。

示例性地,第d领域的子神经网络的网络参数M′

在式(2)中,δ为学习率。

通过以上过程,本申请实施例的神经网络训练方法,能够基于第二数据中的领域训练数据对每一领域的子神经网络的网络参数的调整,从而得到了参数初步调整的每一领域的子神经网络。

步骤402、基于参数初步调整的每一领域的子神经网络的网络参数的网络参数、以及第二数据,对神经网络的网络参数进行调整,得到参数初步调整的神经网络。

在一种实施方式中,参数初步调整的神经网络,可以是通过以下方式得到的:

将第二数据中的除去领域训练数据之外的、每一领域对应的任一样本数据作为输入数据,输入至参数初步调整的每一领域的子神经网络中,得到对应的输出数据,并根据上述输出数据来确定神经网络的网络参数的调整方式,然后按照确定的调整方式对神经网络的网络参数进行调整。

在一种实施方式中,参数初步调整的神经网络,可以是通过以下方式得到的:

将第二数据中的除去领域训练数据之外的若干领域对应的样本数据作为输入数据,输入至参数初步调整的对应领域的子神经网络中,得到对应的输出数据,并根据上述输入数据与输出数据来确定对神经网络的网络参数的调整方式,然后按照确定的调整方式对神经网络的网络参数进行调整。

示例性地,步骤402可以通过步骤D1-步骤D2来实现:

步骤D1、从第二数据中获取领域检测数据。

其中,领域检测数据,用于对神经网络进行训练。

在一种实施方式中,领域检测数据,可以是基于指定比例从第二数据中获取到的,在本申请实施例中,领域检测数据,可以记为

在一种实施方式中,领域检测数据的数据量,可以远远小于领域训练数据。如此,在对每一领域的子神经网络进行训练的过程中,可以使得每一领域的子神经网络能够从大量的领域训练数据获取充分的对话数据特征信息,而仅基于少量的领域检测数据、对领域参数调整结束的每一领域的子神经网络进行检测得到检测结果。

在一种实施方式中,领域检测数据,可以包括每一领域的样本数据。

在一种实施方式中,领域检测数据,可以包括若干领域的样本数据。

在一种实施方式中,领域检测数据中,每一领域的样本数据的数据量可以是相当的,也可以是相互之间差异较为明显的。

在一种实施方式中,当有新增的样本数据时,这些新增的样本数据也可以划分为领域检测数据和领域训练数据两部分。

步骤D2、基于参数初步调整的每一领域的子神经网络的网络参数、以及领域检测数据,对神经网络的网络参数进行调整,得到参数初步调整的神经网络。

在一种实施方式中,参数初步调整的神经网络,可以是通过以下方式得到的:

获取领域检测数据中每一领域的对话数据中、指定时段内的对话数据,记为指定时段检测数据,并基于参数初步调整的每一领域的子神经网络对指定时段检测数据的处理结果,对神经网络的网络参数进行调整,得到参数初步调整的神经网络。

在一种实施方式中,参数初步调整的神经网络,可以是通过以下方式得到的:

获取领域检测数据中每一领域的对话数据中、特定人群的对话数据,记为特定人群检测数据,并基于参数初步调整的每一领域的子神经网络对特定人群检测数据的处理结果,对神经网络的网络参数进行调整,得到参数初步调整的神经网络。

示例性地,步骤D2可以通过步骤E1-步骤E3来实现:

步骤E1、基于参数初步调整的每一领域的子神经网络的网络参数,对领域检测数据中的每一领域的对话数据进行处理,得到每一领域检测误差。

示例性地,可以将每一领域的领域检测数据,分别输入至领域参数调整结束的神经网络的参数初步调整的所述每一领域的子神经网络中,从而可以得到每一领域检测误差。

示例性地,每一领域检测误差,可以通过式(3)来实现:

在式(3)中,

在式(3)中,P(R

在式(3)中,且Q

在式(3)中,p

在式(3)中,KL(q

在式(3)中,N为对话状态序列的长度;U为领域训练数据集合;α为KL散度的权重。

需要说明的是,在本申请实施例中,由于领域训练数据和领域检测数据均为未携带标记信息的样本数据,因此,在式(1)和式(3)中,对样本数据处理的中间变量以及样本数据,均采用相同的符号表示。

步骤E2、基于每一领域检测误差,得到网络训练误差。

在一种实施方式中,网络训练误差,可以是根据每一领域样本数据量在样本数据总量中的比例,对每一领域检测误差进行加权平均计算得到的。

在一种实施方式中,网络训练误差,可以是对每一领域检测误差进行叠加计算得到的。

在本申请实施例中,网络训练误差,可以用于表示整个神经网络模型基于第二数据训练的总体误差。

步骤E3、基于网络训练误差,对神经网络的网络参数进行调整,得到参数初步调整后神经网络。

示例性地,在对神经网络的网络参数进行调整之前,可以先设定神经网络初始网络参数,比如可以为M。

在一种实施方式中,对神经网络的网络参数进行调整,可以是通过以下方式实现的:

获取第二误差阈值;基于网络训练误差与第二误差阈值的关系,对神经网络的网络参数进行调整。其中,第二误差阈值,用于表示基于网络检测数据,对神经网络的网络参数进行调整的期望误差。

示例性地,当网络训练误差大于或等于第二误差阈值时,基于网络训练误差调整神经网络的网络参数;相应地,当网络训练误差小于第二误差阈值时,可以停止上述调整操作。

在一种实施方式中,在一种实施方式中,对神经网络的网络参数进行调整,可以是通过以下方式实现的:

基于网络训练误差与神经网络的网络参数状态,调整神经网络的网络参数。

示例性地,神经网络的网络参数状态,可以通过神经网络的网络参数状态是否收敛进行评估。

在一种实施方式中,在一种实施方式中,调整神经网络的网络参数,可以是通过以下方式实现的:

基于神经网络的网络参数是否收敛,结合网络训练误差,通过一定的网络参数调整算法,调整神经网络的网络参数。

示例性地,步骤E3可以通过以下方式来实现:

在神经网络的网络参数调整结果收敛的情况下,基于网络参数调整结果,得到参数初步调整后神经网络;在神经网络的网络参数调整结果不收敛的情况下,重新执行以下步骤,直至神经网络的网络参数调整结果收敛:

将神经网络的网络参数作为每一领域的子神经网络的网络参数;基于第二数据,对每一领域的子神经网络的网络参数进行调整,得到参数初步调整的每一领域的子神经网络;基于参数初步调整的每一领域的子神经网络的网络参数、以及第二数据,得到参数初步调整的神经网络。

在本申请实施例中,基于第二数据中的领域训练数据对每一领域的子神经网络的网络参数、以及领域检测数据,调整神经网络的网络参数之后,若神经网络的网络参数不收敛,则可以通过将神经网络的网络参数复制至每一领域的子神经网络的网络参数,一方面可以保留上一次元训练的结果,另一方面又能够基于本次元训练的结果,在下一次的元训练过程中弥补本次元训练的不足。

在本申请实施例中,基于第二数据,对每一领域的子神经网络的网络参数进行调整,得到参数初步调整的每一领域的子神经网络;基于参数初步调整的每一领域的子神经网络的网络参数、以及第二数据,得到参数初步调整的神经网络,可以是通过前述实施例所述的元训练过程来实现的,此处不再赘述。

在一种实施方式中,在神经网络的网络参数调整结果收敛的情况下,可以保存上述网络参数调整结果,从而可以基于上述网络参数调整结果,得到参数初步调整后的神经网络。

在一种实施方式中,对神经网络的网络参数M的调整,可以基于网络训练误差,根据梯度下降策略进行,具体实现过程如式(4)所示:

在式(4)中,η为学习率;

通过以上步骤,本申请实施例的神经网络训练方法,能够基于第二数据中的领域训练数据以及参数初步调整的每一领域的子神经网络的网络参数,对神经网络的网络参数进行调整,从而得到了参数初步调整的神经网络。

本申请实施例提供的神经网络训练方法,还可以包括步骤403-步骤405,即基于携带有标注信息的第一数据,通过对参数初步调整的神经网络的网络参数元测试而实现对神经网络的网络参数微调,进而能够改善参数初步调整的神经网络的网络参数的收敛性。

步骤403、将第一数据中的每一对话数据输入至参数初步调整的神经网络,得到与每一对话数据对应的对话误差。

在本申请实施例中,第一数据可以记为D

示例性地,每一对话数据对应的对话误差的获取方式,与前述实施例所述的领域训练数据,得到每一领域的训练误差的过程相似,此处不再赘述。

示例性地,每一对话数据对应的对话误差,可以通过式(5)来实现:

在式(5)中,L′表示每一对话数据对应的对话误差。

在式(5)中,R′

在式(5)中,U′

在式(5)中,S′

在式(5)中,S′

在式(5)中,p′

通过式(5)可以看出,每一对话数据对应的对话误差,保留了无监督元训练过程中定义的所有误差损失,并且还增加了后验网络对话状态解码器的解码误差。

在式(5)中,A用于表示第二数据的数据集。

步骤404、对每一对话误差进行累加,得到网络调整误差。

示例性地,步骤404可以与前述实施例中得到网络训练误差的过程相似,此处不再赘述。

步骤405、基于网络调整误差,对参数初步调整的神经网络的网络参数进行元调整,得到训练完成的神经网络。

示例性地,基于网络调整误差,对参数初步调整的神经网络的网络参数进行调整,得到训练完成的神经网络,可以与前述实施例中参数初步调整后的神经网络的得到过程相同,此处不再赘述。

示例性地,训练完成的神经网络的网络参数,可以通过式(6)来确定:

示例性地,步骤405可以通过以下步骤来实现:

在对参数初步调整的神经网络的网络参数调整结果收敛的情况下,基于参数调整结果,训练完成的神经网络;在对参数初步调整的神经网络的网络参数调整结果收敛不收敛的情况下,重复执行以下步骤,直至对参数初步调整的神经网络的网络参数调整结果收敛:

基于样本数据中的第一数据,对参数初步调整的神经网络的网络参数进行调整。

在一种实施方式中,在对参数初步调整的神经网络的网络参数调整结果收敛的情况下,可以保存网络参数调整结果,从而可以基于网络参数调整结果,得到训练完成的神经网络。

通过以上步骤,本申请实施例提供的神经网络的训练方法,通过携带有标注信息的第一数据,完成了对参数初步调整的神经网络的网络参数的进一步微调,从而进一步提升了训练完成的神经网络的性能。

图5是本申请实施例提供的对神经网络的元训练流程示意图。如图5所示,以上元训练流程示意图可以包括以下步骤:

步骤501、将未携带标注信息数据分为第三数据和第四数据。

示例性地,未携带标注信息数据可以为前述实施例所述的第二数据。

示例性地,第三数据中第d领域的数据可以为前述实施例中的

步骤502、复制神经网络的参数M得到每个领域的子神经网络的网络参数。

示例性地,第d域的子神经网络的网络参数可以为M′

步骤503、计算每个子神经网络对第三数据处理时产生的第一误差。

示例性地,第一误差,可以如前述实施例所述的领域训练误差

示例性地,

步骤504、根据第一误差更新子神经网络的网络参数。

示例性地,步骤504可以是通过式(2)所示的梯度下降算法对M′

经过步骤504得到的参数更新后的子神经网络,可以为前述实施例中所述的参数初步调整的所述每一领域的子神经网络。

步骤505、计算更新网络参数后的子神经网络对第四数据处理产生的第二误差。

示例性地,第二误差可以是前述实施例中所述的

示例性地,

步骤506、累加所有领域的第二误差,并根据累加结果更新神经网络参数。

示例性地,步骤506,可以通过式(4)来实现。

步骤507、判断M是否收敛。

若M收敛,则执行步骤508。若M不收敛,则执行步骤502-506。

步骤508、得到参数初步调整的神经网络。

通过以上步骤,仅依据未携带标注信息的第二数据对神经网络进行元训练,就可以得到参数初步调整的神经网络;并且,由于采用了元训练的训练方式,参数初步调整的神经网络能够更加精准高效的获取第二数据中所携带的各种特征数据,从而提高了神经网络的性能。

图6为本申请实施例提供的基于第一数据得到训练完成的神经网络的流程意图。如图6所示,该流程可以包括以下步骤:

步骤601、D

示例性地,D

步骤602、计算网络调整误差。

示例性地,网络调整误差,可以是通过式(5)计算得到的每一对话数据对应的对话误差叠加计算得到的。

步骤603、基于网络调整误差更新参数初步调整的神经网络的网络参数M。

示例性地,步骤603可以是通过式(6)来实现的。

步骤604、判断M是否收敛。

若收敛,则执行步骤605;若不收敛,则执行步骤601-步骤603。

步骤605、得到训练完成的神经网络。

通过以上步骤可知,本申请实施例提供的基于第一数据对参数初步调整的神经网络进行训练,得到训练完成的神经网络过程中,神经网络的总体结构保持不变,其仅是对前述基于第二数据的无监督的神经网络的网络参数,进行了有监督的微调,因此,能从最大程度上保留基于第二数据的无监督的神经网络训练成果,还能提高训练完成的神经网络的整体性能。

相对于相关技术中的神经网络训练方法,本申请实施例提供的神经网络训练方法中,对未携带标记信息的样本数据的利用方式不同。在相关技术中,通过计算KL散度,得到无标记数据在前验网络和后验网络的概率分布的差异,并利用此差异更新模型参数。这样的训练方式并不能充分发掘无标记数据的内部有效信息。

本申请实施例提供的神经网络训练方法,通过元学习技术,对无标记数据进行区分领域的元训练,充分发掘各领域中大量未携带标记的样本数据所包含的内在特征,进而能够最大化损失函数的敏感性,在此基础上,再结合少量携带有标注信息的样本数据的元测试过程,就可以得到较大的性能提升。

表1为本申请实施例提供的训练完成的神经网络在对话状态准确率、以及用户意图识别准确率方面的性能改善数据。

在表1中展示了不同指定比例对应的两种神经网络类型,在对话状态准确率、用户意图识别率方面的性能对比。

表1

在表1中,指定比例可以是如前述实施例中的指定比例,其用于表示样本数据中携带标注信息的第一数据的数据量、与未携带标注信息的第二数据的数据量之间的比例。

在表1中,神经网络的类型可以包括半监督显式对话状态跟踪网络(Semi-supervised Explicit Dialogue State Tracker,SEDST)、和本申请提供的基于元训练得到的神经网络(Meta-Learning SEDST,Meta-SEDST)。

在表1中,对话状态准确率,用于表示两种不同类型的神经网络、对样本数据中的对话数据进行处理得到的对话状态的准确率。

在表1中,用户意图识别率,用于表示两种不同类型的神经网络、对样本数据中的对话数据进行处理后对用户意图识别的准确率。

在表1中,在指定比例为2%的情况下,SEDST的对话状态准确率为0.546,而Meta-SEDST的对话状态准确率为0.688。而在用户意图识别率方面,Meta-SEDST的用户意图识别率为0.680,SEDST的用户意图识别率为0.579。也就是说,在携带标注信息的样本数据占比为2%的情况下,Meta-SEDST对样本数据处理后得到的对话状态准确率,比SEDST对样本数据处理后得到的对话状态准确率要高出14.2%,Meta-SEDST对样本数据处理后得到的用户意图识别率,比SEDST对样本数据处理后得到的用户意图识别率要高出10.1%。

在表1中,在指定比例为4%的情况下,SEDST的对话状态准确率为0.587,而Meta-SEDST的对话状态准确率为0.683。而在用户意图识别率方面,Meta-SEDST的用户意图识别率为0.605,SEDST的用户意图识别率为0.667。也就是说,在携带标注信息的样本数据占比为4%的情况下,Meta-SEDST对样本数据处理后得到的对话状态准确率,比SEDST对样本数据处理后得到的对话状态准确率要高出9.6%,Meta-SEDST对样本数据处理后得到的用户意图识别率,比SEDST对样本数据处理后得到的用户意图识别率要高出6.2%。

在表1中,在指定比例为6%的情况下,SEDST的对话状态准确率为0.607,而Meta-SEDST的对话状态准确率为0.717。而在用户意图识别率方面,Meta-SEDST的用户意图识别率为0.605,SEDST的用户意图识别率为0.703。也就是说,在携带标注信息的样本数据占比为6%的情况下,Meta-SEDST对样本数据处理后得到的对话状态准确率,比SEDST对样本数据处理后得到的对话状态准确率要高出11%,Meta-SEDST对样本数据处理后得到的用户意图识别率,比SEDST对样本数据处理后得到的用户意图识别率要高出9.8%。

在表1中,在指定比例为8%的情况下,SEDST的对话状态准确率为0.699,而Meta-SEDST的对话状态准确率为0.710。而在用户意图识别率方面,Meta-SEDST的用户意图识别率为0.658,SEDST的用户意图识别率为0.717。也就是说,在携带标注信息的样本数据占比为8%的情况下,Meta-SEDST对样本数据处理后得到的对话状态准确率,比SEDST对样本数据处理后得到的对话状态准确率要高出1.1%,Meta-SEDST对样本数据处理后得到的用户意图识别率,比SEDST对样本数据处理后得到的用户意图识别率要高出5.9%。

从表1所示的数据可以看出,无论指定比例如何变化,Meta-SEDST与SEDST相比,在对话状态准确率以及用户意图识别率方面都有良好的改善,并且,Meta-SEDST较SEDST在以上两个维度的改善程度,在指定比例较小比如2%尤其明显,进而可以看出,Meta-SEDST完全可以克服相关技术中携带标注信息的样本数据不足、而导致的神经网络性能下降的问题。

表2

相应地,表2示出了在目标领域的指定比例保持不变保持在即5%、将天气领域、日程安排领域以及导航领域中的任意两个领域作为源领域,而将另一领域作为目标领域,并将源领域的数据作为无标记数据对神经网络进行无监督的元训练、将目标领域的数据作为标记数据对神经网络进行有监督的元测试的情况下,Meta-SEDST与SEDST在三个不同的目标领域中,在双语评价替补(Bilingual Evaluation Understudy,BLEU)、对话状态准确率以及用户意图识别率三方面的数据对比。其中,BLEU是自然语言处理领域常用的评价生成语言质量的指标。

在表2中,在指定比例为5%且源领域为导航领域和日程安排领域、目标领域为天气领域的条件下,Meta-SEDST对天气领域的样本数据处理后得到的BLEU指标为0.203、对话状态准确率为0.757、用户意图识别率为0.675;而SEDST对样本数据处理后得到的BLEU指标为0.180、对话状态准确率为0.630、用户意图识别率为0.540。也就是说,在指定比例为5%的情况下,在天气领域,Meta-SEDST与SEDST相比,在BLEU指标、对话状态准确率以及用户意图识别率方面,分别有2.3%、12.7%以及13.5%的改善。

在表2中,在指定比例为5%且源领域为导航领域和天气领域、目标领域为日程安排领域的条件下,Meta-SEDST对日程安排领域的样本数据处理后得到的BLEU指标为0.199、对话状态准确率为0.711、用户意图识别率为0.694;而SEDST对样本数据处理后得到的BLEU指标为0.183、对话状态准确率为0.651、用户意图识别率为0.663。也就是说,在指定比例为5%的情况下,在日程安排领域,Meta-SEDST与SEDST相比,在BLEU指标、对话状态准确率以及用户意图识别率方面,分别有1.6%、6%以及3.1%的改善。

在表2中,在指定比例为5%且源领域为天气领域和导航领域、目标领域为导航领域的条件下,Meta-SEDST对导航领域的样本数据处理后得到的BLEU指标为0.168、对话状态准确率为0.457、用户意图识别率为0.462;而SEDST对样本数据处理后得到的BLEU指标为0.164、对话状态准确率为0.350、用户意图识别率为0.299。也就是说,在指定比例为5%的情况下,在导航领域,Meta-SEDST与SEDST相比,在BLEU指标、对话状态准确率以及用户意图识别率方面,分别有0.4%、10.7%以及16.3%的改善。

从表2所示的数据可以看出,指定比例保持不变的条件下,与SEDST相比,Meta-SEDST在对目标领域的样本数据处理时,Meta-SEDST在BLEU指标、对话状态准确率以及用户意图识别率方面的改善程度也较为明显。

综上所述,通过以上步骤得到的训练完成的神经网络即Meta-SEDST,不仅在未携带标注信息的样本数据非常有限的情况下,能够改善对对话数据的处理性能;在领域迁移方面,Meta-SEDST也能够在新的对话领域体现出良好的对话处理性能,因此,Meta-SEDST能够克服相关技术中由于携带标注信息的样本数据不足而导致的神经网络性能下降、以及领域迁移能力不足的问题。

基于前述实施例,本申请实施例提供了一种对话状态确定装置7,图7为本申请实施例提供的对话状态确定装置7的结构示意图。如图7所示,该对话状态确定装置7可以包括:获取模块701、处理模块702以及确定模块703,其中:

获取模块701,用于获取输入数据;其中,输入数据,为任一领域的对话过程中用户输入的对话数据。

处理模块702,用于通过训练完成的神经网络,对输入数据进行处理,得到输出数据;其中,训练完成的神经网络,是基于样本数据中的第一数据,对参数初步调整的神经网络的网络参数进行元测试得到的;参数初步调整的神经网络,是基于样本数据中的第二数据,对神经网络进行元训练得到的;第一数据携带标注信息;第二数据未携带标注信息;样本数据,包括至少一个领域的对话数据。

确定模块703,用于基于输出数据,确定对话的对话状态。

在一些实施方式中,第二数据,包括至少一个领域的对话数据;元训练,包括对每一领域的子神经网络的网络参数的调整、以及对神经网络的网络参数的调整。

处理模块702,用于基于第二数据,对每一领域的子神经网络的网络参数进行调整,得到参数初步调整的每一领域的子神经网络。

处理模块702,还用于基于参数初步调整的每一领域的子神经网络的网络参数、以及第二数据,对神经网络的网络参数进行调整,得到参数初步调整的神经网络。

在一些实施方式中,获取模块701,用于从第二数据中获取领域训练数据;其中,领域训练数据,用于对每一领域的子神经网络进行训练。

处理模块702,用于基于领域训练数据中的每一领域的对话数据,对每一领域的子神经网络的网络参数进行调整,得到参数初步调整的每一领域的子神经网络。

在一些实施方式中,处理模块702,用于基于每一领域的子神经网络,对领域训练数据中每一领域的对话数据进行元学习处理,得到每一领域的训练误差。

处理模块702,还用于基于每一领域的训练误差,调整每一领域的子神经网络的网络参数,得到参数初步调整的每一领域的子神经网络。

在一些实施方式中,处理模块702,用于将领域训练数据中第d领域的对话数据的第t轮对话数据,输入至第d领域的子神经网络,得到第t轮输出数据;其中,d为大于或等于0的整数;t为大于或等于1的整数。

处理模块702,还用于基于第t轮输出数据,得到第d领域的训练误差。

在一些实施方式中,获取模块701,用于从第二数据中获取领域检测数据;其中,领域检测数据,用于对神经网络进行训练。

处理模块702,用于基于参数初步调整的每一领域的子神经网络的网络参数、以及领域检测数据,对神经网络的网络参数进行调整,得到参数初步调整的神经网络。

在一些实施方式中,处理模块702,用于基于参数初步调整的每一领域的子神经网络的网络参数,对领域检测数据中的每一领域的对话数据进行处理,得到每一领域检测误差。

处理模块702,还用于基于每一领域检测误差,得到网络训练误差;基于网络训练误差,对神经网络的网络参数进行调整,得到参数初步调整后神经网络。

在一些实施方式中,确定模块703,用于在神经网络的网络参数调整结果收敛的情况下,基于神经网络的网络参数调整结果,得到参数初步调整后神经网络;在神经网络的网络参数调整结果不收敛的情况下,重新执行以下步骤,直至领域参数调整结束的神经网络的网络参数调整结果收敛:

将神经网络的网络参数作为每一领域的子神经网络的网络参数;基于第二数据,对每一领域的子神经网络的网络参数进行调整,得到参数初步调整的每一领域的子神经网络;基于参数初步调整的每一领域的子神经网络的网络参数、以及第二数据,得到参数初步调整的神经网络。

在一些实施方式中,处理模块702,用于将第一数据中的每一对话数据输入至参数初步调整的神经网络,得到与每一对话数据对应的对话误差;

处理模块702,还用于对每一对话误差进行累加,得到网络调整误差;基于网络调整误差,对参数初步调整的神经网络的网络参数进行调整,得到训练完成的神经网络。

在一些实施方式中,确定模块703,用于在对参数初步调整的神经网络的网络参数调整结果收敛的情况下,保存参数初步调整的神经网络的网络参数,训练完成的神经网络;在对参数初步调整的神经网络的网络参数调整结果收敛不收敛的情况下,重复执行以下步骤,直至对参数初步调整的神经网络的网络参数调整结果收敛:

基于样本数据中的第一数据,对参数初步调整的神经网络的网络参数进行调整。

需要说明的是,实际应用中,获取模块701、处理模块702以及确定模块703,可以利用电子设备中的处理器实现,上述处理器可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。

由以上可知,本申请实施例提供的对话状态确定装置7,获取任一领域的对话过程中用户的输入数据之后,通过训练完成的神经网络,对用户的输入数据进行处理,得到输出数据,并根据输入数据和输出数据确定对话状态,并且,训练完成的神经网络,是分别通过样本数据中未携带标注信息的第二数据对神经网络进行元训练得到参数初步调整的神经网络之后、再基于携带标注信息的第一数据对参数初步调整的神经网络进行元测试而得到的。因此,通过这种方式得到的神经网络能够更深入的获取样本数据中所携带的特征信息,从而提高了训练完成的神经网络对输入数据的处理性能,进而使得对话状态能够更加精准高效地确定。

基于前述实施例,本申请实施例还提供了第二种对话状态确定设备8。图8为本申请实施例提供的对话状态确定设备8的结构示意图。如图8所示,该对话状态确定设备8包括处理器801、存储器802以及通信总线,其中,通信总线用于实现所述处理器801与所述存储器802之间的通信连接;所述处理器801用于执行所述存储器802中存储的计算机程序,以实现如前任一实施例所述的对话状态确定方法。

其中,上述处理器801可以为特定用途集成电路ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,用于实现上述处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。

上述存储器802,可以是易失性存储器(volatile memory),例如RAM;或者非易失性存储器(non-volatile memory),例如ROM,快闪存储器(flash memory,硬盘(Hard DiskDrive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器提供指令和数据。

基于前述实施例,本申请实施例还提供了一种计算机可读存储介质,所述可读存储介质能够被处理器执行,以实现如前任一实施例所述的对话状态确定方法。

上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。

本申请所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。

本申请所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。

本申请所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。

需要说明的是,上述计算机可读存储介质可以是只读存储器ROM、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器;也可以是包括上述存储器之一或任意组合的各种电子设备,如移动电话、计算机、平板设备、个人数字助理等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所描述的方法。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

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

技术分类

06120114503848