发明内容
本说明书实施例提供一种数据处理系统、方法及电子设备,用于生成通用性比较强的句子表示向量,可更容易实现知识的有效迁移。
第一方面,本说明书实施例提供一种数据处理方法,包括:
采用向量生成模型将样本数据中自然语言表述的句子转换成第一句子表示向量;
采用任务模型根据所述第一句子表示向量生成增强任务信息;
根据所述增强任务信息对所述向量生成模型的模型参数进行第一调整,并采用调整后的向量生成模型将所述样本数据中自然语言表述的句子转换成第二句子表示向量;
判断所述第二句子表示向量是否满足预设条件,所述预设条件包括:能被分类模型识别出真实所属类别,且不能被所述任务模型识别真实所属任务;
若否,则采用所述分类模型根据所述第二句子表示向量生成增强分类信息,以及采用所述任务模型根据所述第二句子表示向量生成减弱任务信息;根据所述增强分类信息和减弱任务信息对所述向量生成模型的模型参数进行第二调整;
采用经过所述第二调整的所述向量生成模型再次对所述样本数据进行处理,循环至所述向量生成模型转换的所述第二句子表示向量满足所述预设条件为止。
第二方面,本说明书实施例提供一种数据处理装置,包括句子向量生成器、通用性判别器和多任务分类器:
所述句子向量生成器,用于采用向量生成模型将样本数据中自然语言表述的句子转换成第一句子表示向量;
所述通用性判别器,用于采用任务模型根据所述第一句子表示向量生成增强任务信息;
所述句子向量生成器,还用于根据所述增强任务信息对所述向量生成模型的模型参数进行第一调整,并采用调整后的向量生成模型将所述样本数据中自然语言表述的句子转换成第二句子表示向量;
所述任务判断器,还用于判断所述第二句子表示向量是否不能被所述任务模型识别真实所属任务;
所述多任务分类器,还用于判断所述第二句子表示向量是否能被分类模型识别出真实所属类别;
在所述第二句子表示向量能被所述任务模型识别真实所属任务,或不能被分类模型识别出真实所属类别时,所述多任务分类器还用于采用所述分类模型根据所述第二句子表示向量生成增强分类信息,所述通用性判别器还用于采用所述任务模型根据所述第二句子表示向量生成减弱任务信息;
所述句子向量生成器,还用于根据所述增强分类信息和减弱任务信息对所述句子向量生成模型的模型参数进行第二调整,并采用经过所述第二调整的所述句子向量生成模型再次对所述样本数据进行处理,循环至所述句子向量生成模型转换的所述第二句子表示向量不能被所述任务模型识别真实所属任务,且能被分类模型识别出真实所属类别为止。
第三方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述方法的步骤。
第四方面,本说明书实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现所述方法的步骤。
本说明书实施例中的上述一个或多个技术方案,至少具有如下技术效果:
本说明书实施例提供一种数据处理系统,方法及计算机设备,根据所述第一句子表示向量生成增强任务信息,基于增强任务信息对向量生成模型采用的模型参数进行第一调整后,采用调整后的向量生成模型生成第二句子表示向量,判断所述第二句子表示向量是否能被分类模型识别出真实所属类别,且不能被所述任务模型识别真实所属任务,若否,生成增强分类信息和减弱任务信息,根据增强分类信息和减弱任务信息对向量生成模型采用的模型参数进行的第二调整,采用经过所述第二调整的所述向量生成模型再次对所述样本数据进行处理,循环至所述向量生成模型转换的所述第二句子表示向量能被分类模型识别出真实所属类别,且不能被所述任务模型识别真实所属任务。经过多任务训练,当分类模型能根据句子生成模型生成的句子表示向量进行分类,而任务模型无法根据句子生成模型生成的句子表示向量识别出所属任务的时候,说明句子生成模型直接生成的句子表示向量已经不包含特定任务的信息,可以成为通用的句子表示向量,从而达到生成的句子表示向量具有通用性的目的。
在使用本说明书实施例提供的上述数据处理方法200训练时,可以提供足够多的任务的样本数据去训练句子生成模型,任务模型和分类模型,使任务模型和分类模型均进行相应地调整以达到最好的效果,最终使句子生成模型调整到达成最好的效果。这样,在实际应用过程中,则只需要使用向量生成模型将输入的句子生成为通用性比较强的句子表示向量,然后将该通用性的句子表示向量直接迁移到其他需要的地方即可,效率比较高。
具体实施方式
为使本说明书实施例的目的、技术方案和优点更加清楚,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
本说明书实施例提供的技术方案是,设计一个基于生成对抗网络的多任务模型,用大量不同任务的样本数据训练上述多任务模型。上述样本数据通常由自然语言表述的句子组成。上述生成对抗网络包括句子向量生成器,多任务分类器和通用性判别器。在训练过程中,句子向量生成器采用向量生成模型将样本数据中自然语言表述的句子转换成第一句子表示向量。通用性判别器采用任务模型根据第一句子表示向量生成增强任务信息并将增强任务信息反馈至句子向量生成器。句子向量生成器还根据增强任务信息对向量生成模型的模型参数进行第一调整,并采用经第一调整后的向量生成模型将样本数据中自然语言表述的句子转换成第二句子表示向量。多任务分类器采用分类模型识别第二句子表示向量真实所属类别,通用性判别器采用任务模型识别第二句子表示向量真实所属任务。在任务分类器采用分类模型能识别出第二句子表示向量真实所属类别,且通用性判别器采用任务模型不能识别出第二句子表示向量真实所属任务时,方法结束。在任务分类器采用分类模型不能识别出第二句子表示向量真实所属类别,或通用性判别器采用任务模型能识别出第二句子表示向量真实所属任务时,任务分类器采用分类模型生成增强分类信息,通用性判别器采用任务模型根据第二句子表示向量生成减弱任务信息,并将减弱任务信息和增强分类信息反馈至句子向量生成器。句子向量生成器还根据增强分类信息和减弱任务信息对向量生成模型的模型参数进行第二调整。句子向量生成器还用于采用经第二调整后的向量生成模型再次对样本数据进行处理,循环至句子向量生成器转换成的句子表示向量无法被通用判别器识别出真实所属任务而可被任务分类器识别出真实所属类别为止,从而达成句子向量生成器直接生成的句子表示向量去除与真实所属任务相关的信息,只留下通用信息的目的。这样,本说明书实施例提供的技术方案能将样本数据中的文本句子转换成通用性的句子表示向量,该种通用性的句子表示向量的迁移能力比较强,可以很容易的迁移到各种自然语言处理任务中来提升模型效果及缩短训练时间。
下面结合附图对本说明书实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
实施例一
请参阅图1,本实施例基于上述技术方案提供一种数据处理方法100。结合图2进行描述,该数据处理方法100应用于一数据处理装置200中。数据处理方法100通过多任务学习的方式来训练向量生成模型,任务模型和分类模型,以使向量生成模型可以将自然语言表述的句子生成通用性和迁移性比较强的句子表示向量,实现任务之间的知识迁移。上述多任务学习属于机器学习研究领域,旨在将多种相关的任务放到同一个模型或框架中联合学习,达到不同任务之间知识迁移。该数据处理方法100将提供大量不同任务的样本数据给向量生成模型,任务模型和分类模型。上述样本数据包括但不限于情感分类,分数预测。在本说明书实施例中,大量不同任务通过任务1,任务2,往后以此类推至任务M来表示。
所述数据处理方法100包括如下步骤:
步骤S110,采用向量生成模型将样本数据中用自然语言表述的句子转换成第一句子表示向量。第一句子表示向量中包含了自然语言表述的句子中的语法及语义等信息。在本实施方式中,第一句子表示向量是高维实数向量。
具体地,向量生成模型的转换过程如下:首先将样本数据中自然语言表述的句子表示为用若干词组成的句子{S1,S2,...,SN},然后将句子{S1,S2,...,SN}经过多层卷积神经网络,将样本数据中自然语言表述的句子转换成句子表示向量。其中,多层卷积神经网络用于提取样本数据的局部特征以及全局特征。
多层卷积神经网络的工作方式介绍如下。首先将词典中的每个词表示成一个D维向量,每个样本数据中的句子则可以表示为N*M的实数矩阵。卷积神经网络中包含多个长度为K(K通常取3、5、7)卷积核,其负责进行特征提取。每个卷积核包含K*M个参数。每个卷积核在句子上从头到尾滑动,滑动到每个位置时卷积核覆盖的窗口之内的词语用卷积核做加权和,且该加权和为对应位置的卷积结果。所采用的计算方式如上面所述,其中S为对应词的向量,F为卷积核的参数。做完卷积之后,得到的输出为N*C的矩阵X,其中C为卷积核的个数。
卷积神经网络可以进行多层堆叠,使得提取到的句子特征从低级的特征到越来越高级的语法特征。对于得到的N*C的矩阵X,可以通过最大池化(Max Pooling)操作将其转换成一个向量,即对向量中第一个维度上取最大值,所采用的计算方式为:Vi=max(Xi)。其中X_i表示X中的第i个向量,最终得到句子表示向量V为一个C维的向量。
向量生成模型可以概括为:V=Encode(Z;We)。其中,V为向量生成模型所生成的句子表示向量,Z为输入的自然语言表述的句子,We为所使用的模型参数集合,We的初始值通过正太分布随机初始化。
可以理解地,本说明书实施例的向量生成模型生成句子表示向量的方式不仅限于多层卷积神经网络,还可以采用词向量特征的循环神经网络。
步骤S120,采用任务模型根据所述第一句子表示向量生成增强任务信息。
具体地,通过公式(1)对第一句子表示向量在真实所属任务上的概率进行计算,获得第一句子表示向量在真实所属任务上的概率。
第一句子表示向量在每个任务上的概率都可通过公式(1)进行计算。
其中,
表示第一句子表示向量属于第k个任务的概率,
为任务模型使用的模型参数。该任务模型使用的模型参数集合用W
d表示,
其中W
d初始值通过正太分布随机初始化。由于每个样本数据的真实所属任务为已知的,因此,基于公式(1)即可获得第一句子表示向量在真实所属任务上的概率
其中,
表示第一句子表示向量真实所属任务。
在获得第一句子表示向量在真实所属任务上的概率
后,即可根据第一句子表示向量在真实所属任务上的概率
生成增强任务信息L
d。具体地,对第一句子表示向量真实所属任务的概率
求对数,获得增强任务信息L
d,即增强任务信息
本方案的本质是基于第二句子表示向量在真实所属任务概率
求得增强任务信息L
d,在本实施方式中,强任务信息L
d是通过对第一句子表示向量在真实所属任务上的概率
求对数,在其它实施方式中,具体如何再运算可根据后面调整的实际需要,比如不进行再运算直接用概率,或者做其他方式的运算等。
步骤S130,根据所述增强任务信息对所述向量生成模型的模型参数进行第一调整,并采用调整后的向量生成模型将所述样本数据中自然语言表述的句子转换成第二句子表示向量。
根据增强任务信息Ld对向量生成模型的模型参数We进行第一调整,以使通过第一调整后的向量生成模型生成的第二句子表示向量可以增强与任务相关的信息。具体地,向量生成模型采用的模型参数集合We使用梯度上升方法做出调整,具体调整方式如公式(2),其中,γ通常取[0.0001,0.001]之间的数值,Ld为增强任务信息,We′为第一调整后的向量生成模型的模型参数,We第一调整前的向量生成模型的模型参数。
可以理解地,为了使任务模型的判别能力更强,任务模型中的模型参数集合Wd根据增强任务信息Ld采用梯度上升方法做出调整,具体调整方式如公式(3)所述,其中,γ通常取[0.0001,0.001]之间的数值,Ld为增强任务信息,Wd′为调整后的向量生成模型的模型参数,Wd调整前的向量生成模型的模型参数。
在向量生成模型根据增强任务信息Ld对模型参数We进行第一调整,获得向量生成模型的模型参数We′后,再次将样本数据中自然语言表述的句子转换成第二句子表示向量。第二句子表示向量的生成过程参照第一句子表示向量的生成过程,在此不再赘述。生成第二句子表示向量后,分别发送至任务模型和分类模型。进入步骤S140。
步骤S140,判断所述第二句子表示向量是否满足预设条件,所述预设条件包括:能被分类模型识别出真实所属类别,且不能被所述任务模型识别真实所属任务。
预设条件包括两个子条件,一个是能被分类模型识别出真实所属类别,另一个是不能被所述任务模型识别真实所属任务,判断所述第二句子表示向量是否同时满足这两个子条件,如果不满足,则说明向量生成模型生成的句子表示向量不是通用性的句子表示向量,句子表示向量中还包含中还包含有较多任务相关的信息,需要继续对向量生成模型进行继续训练,进入步骤S150,如果满足,则说明向量生成模型生成的句子表示向量是通用性的句子表示向量,达到了有通用性的目的,方法结束。
预设条件中的两个子条件可以先后进行判别,也可以同时进行判别,具体可以根据需要进行设置。
首先,介绍预设条件中的第一个子条件:能被分类模型识别出真实所属类别,即,判断所述第二句子表示向量是否能被分类模型识别出真实所属类别。判断所述第二句子表示向量是否能被分类模型识别出真实所属类别,包括:
采用所述分类模型确定所述第二句子表示向量在真实所属类别上的概率;
基于所述第二句子表示向量在真实所属类别上的概率,判断所述第二句子表示向量是否能被所述分类模型识别出真实所属类别。
计算第二句子表示向量在每个类别的概率可通过公式(4)进行计算。
其中,
为第二句子表示向量属于第j个类别的概率,
为任务模型使用的模型参数。任务模型使用的模型参数集合用W
m表示,
其中,W
m的初始值通过正态分布随机初始化。每个样本数据的真实所属类别为已知的,根据公式(4),即可计算出第二句子表示向量在真实所属类别的概率
其中,
为二句子表示向量的真实所属类别。基于第二句子表示向量在真实所属类别的概率
判断所述第二句子表示向量是否能被所述分类模型识别出真实所属类别。
在本实施方式中,通过对第二句子表示向量在真实所属类别的概率求对数,判断计算结果是否大于预设值,若是,则确定分类模型可以识别出第二句子表示向量真实所属类别;若否,则确定分类模型不可以识别出第二句子表示向量真实所属类别。具体通过
是否大于预先设置的阈值θ,确定分类模型是否可以识别出第二句子表示向量真实所属类别。在
时,说明分类模型可以识别出第二句子表示向量真实所属类别;在
时,说明分类模型无法识别出第二句子表示向量真实所属类别,θ可以根据需要进行设置。
在其它实施方式中,也可以通过第二句子表示向量在真实所属类别的概率直接确定是否能被分类模型判断出真实所属类别,如确定是否大于预设值的方式。
然后,介绍预设条件中的第二个子条件:不能被所述任务模型识别真实所属任务,即,判断所述第二句子表示向量是否不能被所述任务模型识别真实所属任务。判断所述第二句子表示向量是否不能被所述任务模型识别真实所属任务,包括:
采用所述任务模型确定所述第二句子表示向量在真实所属任务上的概率;
基于所述第二句子表示向量在真实所属任务上的概率,判断所述第二句子表示向量是否不能被所述任务模型识别真实所属任务。
具体地,同样通过公式(1)计算第二句子表示向量在真实所属任务上的概率。第二句子表示向量在每个任务上的概率都可通过公式(1)进行计算。
其中,
表示第二句子表示向量属于第k个任务的概率,
为任务模型使用的模型参数。该任务模型使用的模型参数集合用W
d表示,
其中W
d初始值通过正太分布随机初始化。由于每个样本数据的真实所属任务为已知的,因此,基于公式(1)即可获得第二句子表示向量在真实所属任务上的概率
其中,
表示第二句子表示向量真实所属任务。
在获得第二句子表示向量在真实所属任务上的概率
后,即可判断所述第二句子表示向量是否不能被所述任务模型识别真实所属任务。具体地,在本实施方式中,通过对第二句子表示向量在真实所属任务的概率求对数,判断计算结果是否大于预设值,若是,则确定任务模型可以识别出第二句子表示向量真实所属任务;若否,则确定任务模型不可以识别出第二句子表示向量真实所属任务。具体通过
是否大于预先设置的阈值β,确定任务模型是否可以识别出第二句子表示向量真实所属任务。在
时,说明任务模型可以识别出第一句子表示向量真实所属任务,则表示第一句子表示向量中还包含有较多任务相关的信息;在
时,说明任务模型已经无法识别出第一句子表示向量真实所属任务,则表示第一句子表示向量中与任务相关的信息较少,该第一句子表示向量是一个通用的向量,能够有效地迁移到其他自然语言处理任务中。其中,β可以为经验值或者设定值,具体地,在本实施方式中,可以取[-2,-0.5]之间的数值。
步骤S150,采用所述分类模型根据所述第二句子表示向量生成增强分类信息,以及采用所述任务模型根据所述第二句子表示向量生成减弱任务信息;根据所述增强分类信息和减弱任务信息对所述向量生成模型的模型参数进行第二调整。通过增强分类信息和减弱任务信息对向量生成模型进行第二调整,尽可能的使得向量生成模型生成的句子表示向量不被任务模型准确地识别出真实所属任务,且能够被分类模型识别出真实类别。
步骤S150中生成减弱任务信息和生成增强分类信息,可以同时生成,也可以先后生成,具体可以根据需要进行设置。
具体地,采用所述分类模型根据所述第二句子表示向量生成增强分类信息,包括:
采用所述分类模型确定所述第二句子表示向量在真实所属类别上的概率;
基于所述第二句子表示向量在真实所属类别上的概率,获得所述增强分类信息。
如何获得第二句子表示向量在真实所属类别上的概率在步骤S140中已经进行了详细描述,在此,不再赘述。具体地,增强分类信息L
m1是根据第二句子表示向量在真实所属类别的概率
获得的,具体计算方式为:
即对第二句子表示向量真实所属类别的概率
求对数,即增强分类信息
本方案的本质是基于第二句子表示向量在真实所属类别上的概率
求得增强分类信息L
m1,在本实施方式中,增强分类信息L
m1是通过对第二句子表示向量在真实所属类别上的概率
求对数,在其它实施方式中,具体如何再运算可根据后面调整的实际需要,比如不进行再运算直接用概率,或者做其他方式的运算等。
具体地,采用任务模型根据所述第二句子表示向量生成减弱任务信息,包括:
采用所述任务模型确定所述第二句子表示向量在真实所属任务上的概率;
基于所述第二句子表示向量在真实所属任务上的概率,获得所述减弱任务信息。
如何采用所述任务模型确定所述第二句子表示向量在真实所属任务上的概率在步骤S140中已经进行了详细描述,在此,不再赘述。具体地,减弱任务信息L
m2是根据第二句子表示向量在真实所属任务概率
获得的,具体计算方式为
即对第二句子表示向量真实所属任务的概率
求对数的负数,即,减弱任务信息
本方案的本质是基于第二句子表示向量在真实所属任务概率
求得减弱任务信息L
m2,在本实施方式中,减弱任务信息L
m2是通过对第二句子表示向量在真实所属任务概率
求对数,在其它实施方式中,具体如何再运算可根据后面调整的实际需要,比如不进行再运算直接用概率,或者做其他方式的运算等。
在生成增强分类信息和减弱任务信息后,根据所述增强分类信息和减弱任务信息对所述向量生成模型的模型参数进行第二调整,以使通过第二调整后的向量生成模型生成的句子表示向量可以减弱与任务相关的信息,且同时保证能将调整后的向量生成模型生成的句子表示向量可以被任务模型正确分类。
向量生成模型所采用的模型参数集合We使用梯度上升方法做出调整。具体调整方式如公式(5)和公式(6),其中,We′为第一调整后且第二调整前的向量生成模型的模型参数,We″为第二调整后的向量生成模型的模型参数,γ通常取[0.0001,0.001]之间的数值。
可以理解地,为了使分类模型的处理能力更强,分类模型也可以中的模型参数集合Wm也可以根据增强任务信息Lm1和减弱任务信息Lm2采用梯度上升方法做出调整,具体调整方式如公式(6)和公式(7),其中,Wm′为调整后的分类的模型参数,Wm为调整前的分类的模型参数,γ通常取[0.0001,0.001]之间的数值。
在步骤S150执行完成后,采用经过所述第二调整的所述向量生成模型再次对所述样本数据进行处理,循环至所述向量生成模型转换的所述第二句子表示向量满足所述预设条件为止。
采用第二调整后的向量生成模型进入步骤110再次将样本数据生成第一句子表示向量,顺次进入步骤S120、步骤S130、步骤S140,判断是否满足预设条件,在满足预设条件时,方法结束;在不满足预设条件时,继续进入步骤S150、步骤S110、步骤S120、步骤S130、步骤S140,继续判断是否满足预设条件,在满足预设条件时,方法结束;在不满足预设条件时,进入下一次循环,直到所述向量生成模型转换的所述第二句子表示向量满足所述预设条件为止,即第二句子表示向量能被分类模型识别出真实所属类别,且不能被所述任务模型识别真实所属任务。
综上可知,在上述数据处理方法100中,根据所述第一句子表示向量生成增强任务信息,基于增强任务信息对向量生成模型采用的模型参数进行第一调整后,采用调整后的向量生成模型生成第二句子表示向量,判断所述第二句子表示向量是否能被分类模型识别出真实所属类别,且不能被所述任务模型识别真实所属任务,若否,生成增强分类信息和减弱任务信息,根据增强分类信息和减弱任务信息对向量生成模型采用的模型参数进行的第二调整,采用经过所述第二调整的所述向量生成模型再次对所述样本数据进行处理,循环至所述向量生成模型转换的所述第二句子表示向量能被分类模型识别出真实所属类别,且不能被所述任务模型识别真实所属任务。经过多任务训练,当分类模型能根据句子生成模型生成的句子表示向量进行分类,而任务模型无法根据句子生成模型生成的句子表示向量识别出所属任务的时候,说明句子生成模型直接生成的句子表示向量已经不包含特定任务的信息,可以成为通用的句子表示向量,从而达到生成的句子表示向量具有通用性的目的。
在使用本说明书实施例提供的上述数据处理方法200训练时,可以提供足够多的任务的样本数据去训练句子生成模型,任务模型和分类模型,使任务模型和分类模型均进行相应地调整以达到最好的效果,最终使句子生成模型调整到达成最好的效果。这样,在实际应用过程中,则只需要使用向量生成模型将输入的句子生成为通用性比较强的句子表示向量,然后将该通用性的句子表示向量直接迁移到其他需要的地方即可,效率比较高。
实施例二
基于同样的发明构思,本说明书实施例还对应提供一种数据处理装置200,如图2所示。该数据处理装置200使用于基于生成对抗网络的多任务模型,其通过多任务学习的方式来训练生成对抗网络中的句子向量生成器,多任务分类器和判别器,以使句子向量生成器直接生成通用性和迁移性比较强的句子表示向量,实现任务之间的知识迁移。上述多任务学习属于机器学习研究领域,旨在将多种相关的任务放到同一个模型或框架中联合学习,达到不同任务之间知识迁移。该数据处理装置200在训练的过程中需要大量不同任务的样本数据给句子向量生成器,多任务分类器和判别器。上述样本数据包括但不限于情感分类,分数预测。在本说明书实施例中,大量不同任务通过任务1,任务2,往后以此类推至任务M来表示。
该数据处理装置200包括:包括句子向量生成器212,多任务分类器214和通用性判别器216。在本说明书实施例中,通用性判别器216是softmax分类器,多任务分类器214为softmax分类器。
所述句子向量生成器212,用于采用向量生成模型将样本数据中自然语言表述的句子转换成第一句子表示向量,将第一句子表示向量发送给通用性判别器216。
所述通用性判别器216,用于采用任务模型根据所述第一句子表示向量生成增强任务信息,并将增强任务信息发送给句子向量生成器212。
所述句子向量生成器212,还用于根据所述增强任务信息对所述向量生成模型的模型参数进行第一调整,并采用调整后的向量生成模型将所述样本数据中自然语言表述的句子转换成第二句子表示向量,将第二句子表示向量发送至多任务分类器214,同时发送给通用性判别器216。
所述任务判断器216,还用于判断所述第二句子表示向量是否不能被所述任务模型识别真实所属任务。
所述多任务分类器214,还用于判断所述第二句子表示向量是否能被分类模型识别出真实所属类别。
在所述第二句子表示向量能被所述任务模型识别真实所属任务,或不能被分类模型识别出真实所属类别时,所述多任务分类器214还用于采用所述分类模型根据所述第二句子表示向量生成增强分类信息,所述通用性判别器216还用于采用所述任务模型根据所述第二句子表示向量生成减弱任务信息;
所述句子向量生成器212,还用于根据所述增强分类信息和减弱任务信息对所述句子向量生成模型的模型参数进行第二调整,并采用经过所述第二调整的所述句子向量生成模型再次对所述样本数据进行处理,循环至所述句子向量生成模型转换的所述第二句子表示向量不能被所述任务模型识别真实所属任务,且能被分类模型识别出真实所属类别为止。
具体地,所述通用性判别器216具体用于:
采用所述任务模型确定所述第一句子表示向量在真实所属任务上的概率;
基于所述第一句子表示向量在真实所属任务上的概率,获得所述增强任务信息。
具体地,所述任务判断器216具体用于:
采用所述任务模型确定所述第二句子表示向量在真实所属任务上的概率;
基于所述第二句子表示向量在真实所属任务上的概率,判断所述第二句子表示向量是否满足不能被所述任务模识别真实所属任务。
具体地,所述多任务分类器214具体用于:
采用所述分类模型确定所述第二句子表示向量在真实所属类别上的概率;
基于所述第二句子表示向量在真实所属类别上的概率,判断所述第二句子表示向量是否满足能被所述分类模型识别出真实所属类别。
具体地,所述多任务分类器214具体用于:
采用所述分类模型确定所述第二句子表示向量在真实所属类别上的概率;
基于所述第二句子表示向量在真实所属类别上的概率,获得所述增强分类信息。
具体地,所述任务判断器216具体用于:
采用所述任务模型确定所述第二句子表示向量在真实所属任务上的概率;
基于所述第二句子表示向量在真实所属任务上的概率,获得所述减弱任务信息。
在上述数据处理系统200中,根据所述第一句子表示向量生成增强任务信息,基于增强任务信息对向量生成模型采用的模型参数进行第一调整后,采用调整后的向量生成模型生成第二句子表示向量,判断所述第二句子表示向量是否能被分类模型识别出真实所属类别,且不能被所述任务模型识别真实所属任务,若否,生成增强分类信息和减弱任务信息,根据增强分类信息和减弱任务信息对向量生成模型采用的模型参数进行的第二调整,采用经过所述第二调整的所述向量生成模型再次对所述样本数据进行处理,循环至所述向量生成模型转换的所述第二句子表示向量能被分类模型识别出真实所属类别,且不能被所述任务模型识别真实所属任务。经过多任务训练,当分类模型能根据句子生成模型生成的句子表示向量进行分类,而任务模型无法根据句子生成模型生成的句子表示向量识别出所属任务的时候,说明句子生成模型直接生成的句子表示向量已经不包含特定任务的信息,可以成为通用的句子表示向量,从而达到生成的句子表示向量具有通用性的目的。
在使用本说明书实施例提供的上述数据处理系统200训练时,可以提供足够多的任务的样本数据去训练句子向量生成器212,多任务分类器214和通用性判别器216,使多任务分类器214和通用性判别器216均进行相应地调整以达到最好的效果,最终使句子向量生成器212调整到达成最好的效果。这样,在实际应用过程中,则只需要使用句子向量生成器212将输入的句子生成为通用性比较强的句子表示向量,然后将该通用性的句子表示向量直接迁移到其他需要的地方即可,效率比较高。
可以理解地,多任务分类器214和通用性判别器216都不仅限于softmax分类器。所有能进行分类的模型都可以充当多任务分类器214和通用性判别器216,包括但不限于支持向量机,逻辑回归,多层神经网络等。
实施例三
基于与前述实施例中同样的发明构思,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文任一所述方法的步骤。
实施例四
基于与前述实施例中同样的发明构思,本说明书的实施例还提供一种计算机设备,如图3所示,包括存储器304、处理器302及存储在存储器304上并可在处理器302上运行的计算机程序,所述处理器302执行所述程序时实现前文任一所述方法的步骤。
其中,在图3中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口305在总线300和接收器301和发送器303之间提供接口。接收器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他终端设备通信的单元。处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。
通过本说明书的一个或者多个实施例,本说明书具有以下有益效果或者优点:
在上述计算机设备中,根据所述第一句子表示向量生成增强任务信息,基于增强任务信息对向量生成模型采用的模型参数进行第一调整后,采用调整后的向量生成模型生成第二句子表示向量,判断所述第二句子表示向量是否能被分类模型识别出真实所属类别,且不能被所述任务模型识别真实所属任务,若否,生成增强分类信息和减弱任务信息,根据增强分类信息和减弱任务信息对向量生成模型采用的模型参数进行的第二调整,采用经过所述第二调整的所述向量生成模型再次对所述样本数据进行处理,循环至所述向量生成模型转换的所述第二句子表示向量能被分类模型识别出真实所属类别,且不能被所述任务模型识别真实所属任务。经过多任务训练,当分类模型能根据句子生成模型生成的句子表示向量进行分类,而任务模型无法根据句子生成模型生成的句子表示向量识别出所属任务的时候,说明句子生成模型直接生成的句子表示向量已经不包含特定任务的信息,可以成为通用的句子表示向量,从而达到生成的句子表示向量具有通用性的目的。
在使用本说明书实施例提供的上述计算机设备训练时,可以提供足够多的任务的样本数据去训练句子生成模型,任务模型和分类模型,使任务模型和分类模型均进行相应地调整以达到最好的效果,最终使句子生成模型调整到达成最好的效果。这样,在实际应用过程中,则只需要使用句子向量生成器212将输入的句子生成为通用性比较强的句子表示向量,然后将该通用性的句子表示向量直接迁移到其他需要的地方即可,效率比较高。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。