首页 / 是非类问答模型的训练方法、装置、电子设备及存储介质

是非类问答模型的训练方法、装置、电子设备及存储介质无效专利 发明

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及人工智能技术领域及自然语言处理技术领域,具体涉及一种是非类问答模型的训练方法、装置、电子设备及存储介质。

相关背景技术

[0002] 现有技术中,互联网中用户的搜索query可以分为问答类query和非问答类query。其中问答类query又可以分为实体、描述、是非等类别,为了符合用户越来越精细化、多样化的需求,每种类别的准确率都至关重要。
[0003] 为适应语音、播报等场景,是非类问答模型一般直接给出query的观点答案,而不是让用户自己找寻。是非类的问题只需要给出:能/不能、可以/不可以等准确的观点表示,而不是像常见的搜索系统中,给出很长的不确定能否回答问题的摘要,具体的网页搜索结果等。现有的是非类问答模型通常采用是非类的任务数据进行训练而成。
[0004] 但是,考虑到是否类任务数据的构建成本较高,数据量较少,导致采用少量的是非类任务数据训练的是非类问答模型的准确性较低。

具体实施方式

[0026] 以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0027] 图1是根据本申请第一实施例的示意图;本实施例提供一种是非类问答模型的训练方法,如图1所示,具体可以包括如下步骤:
[0028] S101、采用预先采集的推理任务数据集,训练是非类问答模型,使得是非类问答模型学习基于推理任务数据集的推理任务数据中的源片段推理目标片段的能力;
[0029] S102、采用预先采集的任务数据集,训练是非类问答模型,使得是非类问答模型学习基于任务数据集的各条任务数据中答案片段,解答是非类问题的能力。
[0030] 本实施例的是非类问答模型的训练方法的执行主体为是非类问答模型的训练装置,该装置可以为一电子实体,或者也可以为采用软件集成的应用,使用时运行在大型的计算机设备上,以对是非类问答模型进行训练。
[0031] 为了提高神经网络模型的准确性,增强训练效果,在实际应用中,可以先对神经网络模型进行预训练(pre-training),得到初步的网络参数;然后再采用少量的任务数据集对该神经网络模型进行精调(fine tuning)阶段的精准训练,以得到训练后的、最终的网络参数。本实施例的步骤S101采用预先采集的推理任务数据集,训练是非类问答模型,便发生在pre-training阶段,该阶段的训练中,使得是非类问答模型,能够学习推理任务数据集的推理任务数据中的源片段推理目标片段的能力,即可以学习到哪些源片段能够推理出目标片段,哪些源片段不能推理出目标片段,哪些源片段是否能够推理出目标片段还要视情况而定;通过该阶段的训练,可以使得非类问答模型充分学习到推理能力,进而提高是非类解答的准确性。本实施例的步骤S102采用预先采集的任务数据集,训练是非类问答模型,发生在fine tuning阶段,该阶段的训练中,在pre-training阶段的基础上,使得是非类问答模型,精准学习解答是非类问题的能力,如可以学习到基于哪些答案(paragraph)片段,能够准确回答是非类问题(Query)的答案为是,基于哪些paragraph片段,能够准确回答是是非类Query的答案为否,基于哪些paragraph片段,能够准确回答是是非类Query的答案为视情况而定,从而进一步有效地提高是非类问答模型的准确性。
[0032] 由于本实施例的经过步骤S101使得是非类问答模型能够学习到推理能力,使得模型具备一定的联想能力,这样在经过步骤S102的训练时,即使采用数据量非常小的任务数据集,对该模型进行微调,也能够有效地提升该是非类问答模型的准确性,增强模型的效果。
[0033] 本实施例训练的是非类问答模型在应用时,对于用户给定query,首先判断query所针对的问题是否为是非类问题,若是,对query搜索文档/预指定文档,对文档进行解析、qp(query-paragraph)匹配技术等,选出能回答query的句子paragraph;然后对query和paragraph进行匹配给出问题的观点表示;实际应用中,可以包括三种观点:是或者能(Yes),否或者不可以(No),视情况而定(Depends)。
[0034] 例如,图2是本实施例的是非类问答模型的应用架构图。如图2所示,在使用时,对于用于的query、检索并抽取的答案paragraph,都输入至是非类问答模型中,该是非类问答模型可以输出相应的分类结果,作为得到的观点answer。
[0035] 例如:用户输入的query为:吃了抗生素能喝酒吗?
[0036] 抽取到的paragraph为:吃抗生素的药不能喝酒。因为抗生素需要通过肝脏的代谢才能排出体外,如果在服用抗生素的同时饮酒,就会导致肝脏负担过重,引起肝损害引起转氨酶升高。
[0037] 输出的分类结果answer可以为:不能。
[0038] 本实施例的是非类问答模型的训练方法,通过采用预先采集的推理任务数据集,训练是非类问答模型,使得是非类问答模型学习推理任务数据集的各条推理任务数据中的源片段是否能推理出目标片段的事实;然后采用预先采集的任务数据集,训练是非类问答模型,使得是非类问答模型学习基于任务数据集的各条任务数据中答案片段,解答是非类问题的能力,能够克服现有技术的不足,由于先对是非类问答模型的推理能力进行训练,使得模型能够充分学习到推理能力,进而再在小数据量的任务数据集上对是非类问答模型进行训练,可以进一步在掌握推理能力的基础上,充分学习到解答问题的能力,能够有效地提高是非类解答模型的准确性,增强是非类问答模型的效果。
[0039] 图3是根据本申请第二实施例的示意图;本实施例的是非类问答模型的训练方法,在上述图1所示实施例的技术方案的基础上,进一步更加详细地描述本申请的技术方案。如图3所示,本实施例的是非类问答模型的训练方法,具体可以包括如下步骤:
[0040] S301、采集问题答案匹配数据集和推理数据集,作为推理任务数据集;
[0041] 例如,采集问题(query)答案(paragraph)匹配数据集(简称qp匹配数据集),可以包括如下步骤:
[0042] (a1)采集数条包括答案片段和问题片段的问题答案匹配数据;
[0043] (b1)标注各条问题答案匹配数据中的答案片段经过推理、是否能解答问题片段的标注信息,构成问题答案匹配数据集。
[0044] 其中,答案片段经过推理、是否能解答问题片段的标注信息可以包括能和不能。即该问题答案匹配数据集中的数据为二分类任务数据。
[0045] 例如,本实施例中,采集qp匹配数据集,可以基于公开的数据集Dureader 1.0的数据集,抽取出来paragraph能够回答query或者不能回答query作为数据集。同时还可以使用英文数据集MARCO数据集翻译成中文版,也可以收集到100万数量级的问题答案匹配数据集。
[0046] 进一步地,采集推理数据集,可以包括如下步骤:
[0047] (a2)采集数条包括事实片段和理论片段的推理数据;
[0048] (b2)标注各条推理数据中的事实片段是否能推理出理论片段的标注信息,构成推理数据集。
[0049] 在推理数据集中,基于给定的事实片段以及理论片段,还要标注事实片段能不能推理出理论片段,对应的标注信息可以包括能(entailment)、不能(contradiction)、或者还可以包括不确定(neutral)。即该推理数据集中的数据为三分类的任务数据。例如,采集推理数据集时可以使用中文版的数据集或者英文版本数据集MultiNLI、SNLI进行翻译,也可以收集到100W量级的数据集。
[0050] 本实施例中,以推理任务数据集中同时包括问题答案匹配数据集和推理数据集为例,实际应用中,也可以仅包括其中一种。
[0051] S302、采集数条包括答案片段和是非类问题片段的任务数据;
[0052] S303、标注各任务数据中的答案片段解答是非类问题片段的结果信息,构成任务数据集;
[0053] 采集时,对于给定query片段和paragraph片段进行分类,标注答案片段解答是非类问题片段的结果信息,其可以包括能(Yes)、不能(No)、视情况而定(Depends),即该任务数据集中的数据也为三分类的数据。例如,采集时使用的数据集可以为dureader推理数据集,还有boolq翻译成中文数据集,采集的数据集的规模可以达到12W量级。很明显,相对于上述的推理任务数据集中的问题答案匹配数据集和推理数据集的规模,任务数据集的规模相对小的多。
[0054] S304、对于推理任务数据集中的各条推理任务数据,采用是非类问答模型预测对应的预测任务类别和对应的预测概率;
[0055] 本实施例的是非类问答模型可以包括三层:输入层、编码层和输出层。其中在输入层,将推理任务数据中的源片段和目标片段分别经过分词,并将得到的各分词进行词嵌入(word embedding)表达得到相应的词表达,如这里的词表达可以为词向量,各分词的词表达一起可以构成词向量矩阵,输入至该是非类问答模型中。在编码层,可以将词向量矩阵经过编码处理。最后,在输出层,将编码层之后的特征向量通过softmax获取对应任务的类别以对应的概率。
[0056] 本实施例的预测任务类别可以分为:采用推理任务数据中的源片段能推理目标片段、采用推理任务数据中的源片段不能推理目标片段,以及视情况而定。也就是说,本实施例的是非类任务模型在第一阶段的训练中为一个三分类的模型。
[0057] 本实施例的是非类问答模型可以采用信息实体的增强语言表示(Enhanced Language Representation with Informative Entities;ERNIE)模型。
[0058] S305、基于预测任务类别、对应的预测概率以及推理任务数据对应的源片段是否能推理出目标片段的事实的标注信息,构建损失函数;
[0059] S306、判断损失函数是否收敛;若未收敛,执行步骤S307;若收敛,确定是非类问答模型的结构参数,进而确定是非类问答模型,本轮训练结束,执行步骤S308;
[0060] S307、调整是非类问答模型的参数,使得损失函数收敛;返回步骤S304,选择下一条推理任务数据继续进行训练;
[0061] 通过上述步骤S304-S307的第一阶段的训练,可以实现迁移学习的概念,迁移学习后是非类问答模型能够学到更多关于领域的通识知识,可以在下游任务中对下游任务起到改进效果,使是非类问答模型通过推理任务数据集产生联想能力。
[0062] 而且本实施例的第一阶段的训练中为多任务的训练方式,可以使得是非类问答模型记住更多任务的信息,在后面进行训练的时候可以起到相对于单任务一阶段训练更好的效果。
[0063] 再者,本实施例中,通过使用问题答案匹配数据集和推理数据集,可以丰富是非类解答模型联想能力;同时通过现有的大量的问题答案匹配数据集和推理数据集提升是非类解答模型的效果,解决任务数据集数据量小、标注昂贵的问题。
[0064] 在该阶段的训练中,采用多任务训练的方式中,输出层两个任务不共享,共享参数为编码层和word embeddings。使用问题答案匹配数据集和推理数据集进行两个任务的共同训练。
[0065] 在训练时,每个任务对应有一个输入,但只随机选取一个进行训练,随机的概率和任务数据的数量成正比,该种任务的数据量越大,随机概率越大;选出输入之后通过共享变量word embeddings映射成向量矩阵,然后经过共享变量编码层,最后来到输出层得到挑选任务分类所对应的概率,然后计算出挑选任务分类的损失loss进行回传更新模型的参数。
[0066] S308、采用任务数据集中的各条任务数据,训练是非类问答模型,使得所述是非类问答模型学习基于所述任务数据集的任务数据中答案片段,解答是非类问题的能力。
[0067] 需要说明的是,步骤S308的训练过程,与上述步骤S304-S307的第一阶段的训练过程类似。训练时,可以从任务数据集中的任选一条任务数据,输入至该是非类问答模型中,由该是非类问答模型预测基于该任务数据中答案片段,解答是非类问题的答案分类为是、否或者视情况而定的三种分类每一种分类的预测概率。然后选择预测概率最大的分类作为预测分类。进一步基于任务数据中的答案片段解答是非类问题片段的结果信息,以及预测的分类和对应的预测概率,构建损失函数;并判断损失函数是否收敛,若未收敛,调整是非类问答模型的参数,并选择下一条任务数据继续训练;否则若收敛时,确定是非类问答模型的参数,进而确定是否类问答模型,此时全部训练结束。需要说明的是,该第二阶段的训练过程与第一阶段的训练过程原理类似,详细亦可以参考上述步骤S304-S307的解释,在此不再赘述。
[0068] 本实施例的步骤S301-S303均为训练前的准确工作。其中该步骤S301在准备推理任务数据集,以实现是非类问答模型在步骤S304-S307中的第一阶段的训练;步骤S301-S303在准备任务数据集,以实现步骤S308是非类问答模型的第二阶段的训练。且第一阶段的训练中,使用问题答案匹配数据集和推理数据集可以共计200W,能够有效增大数据集,提高模型的训练效果。而第二阶段的训练中,仅需要12W的任务数据集,同样能够保证模型的训练效果,能够有效地解决标注新的是非类任务数据昂贵的问题,降低模型的训练成本。
[0069] 本实施例的是非类问答模型的训练方法,通过采用上述问题答案匹配数据集和推理数据集,来对是非类问答模型进行第一阶段的训练,不仅可以使得模型能够学习到多种任务的信息,提升模型的准确性;同时还可以使得模型能够充分联想,丰富模型的推理能力,进而提高后续是非类模型的训练效果,提升模型的准确性。
[0070] 图4是根据本申请第三实施例的示意图;如图4所示,本实施例的是非类问答模型的训练装置400,包括:
[0071] 第一训练模块401,用于采用预先采集的推理任务数据集,训练是非类问答模型,使得是非类问答模型学习基于推理任务数据集的推理任务数据中的源片段推理目标片段的能力;
[0072] 第二训练模块402,用于采用预先采集的任务数据集,训练是非类问答模型,使得是非类问答模型学习基于任务数据集的任务数据中答案片段,解答是非类问题的能力。
[0073] 本实施例的是非类问答模型的训练装置400,通过采用上述模块实现是非类问答模型的训练的实现原理以及技术效果,与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
[0074] 图5是根据本申请第四实施例的示意图;如图5所示,本实施例的是非类问答模型的训练装置400,在上述图4所示实施例的技术方案的基础上,进一步更加详细地描述本申请的技术方案。
[0075] 如图5所示,本实施例的是非类问答模型的训练装置400,还包括:
[0076] 采集模块403,用于采集问题答案匹配数据集和/或推理数据集,作为推理任务数据集。
[0077] 进一步可选地,采集模块403,包括:
[0078] 采集单元4031,用于采集数条包括答案片段和问题片段的问题答案匹配数据;
[0079] 标注单元4032,用于标注各条问题答案匹配数据中的答案片段经过推理、是否能解答问题片段的标注信息,构成问题答案匹配数据集。
[0080] 进一步可选地,采集单元4031,还用于采集数条包括事实片段和理论片段的推理数据;
[0081] 标注单元4032,还用于标注各条推理数据中的事实片段是否能推理出理论片段的标注信息,构成推理数据集。
[0082] 进一步可选地,采集单元4031,还用于采集数条包括答案片段和是非类问题片段的任务数据;
[0083] 标注单元4032,还用于标注各任务数据中的答案片段解答是非类问题片段的结果信息,构成任务数据集。
[0084] 进一步可选地,如图5所示,第一训练模块401,包括:
[0085] 预测单元4011,用于对于推理任务数据集中的各条推理任务数据,采用是非类问答模型预测对应的预测任务类别和对应的预测概率;
[0086] 构建单元4012,用于基于预测任务类别、对应的预测概率以及推理任务数据对应的源片段是否能推理出目标片段的事实的标注信息,构建损失函数;
[0087] 检测单元4013,用于判断损失函数是否收敛;
[0088] 调整单元4014,用于若未收敛,调整是非类问答模型的参数,使得损失函数收敛。
[0089] 本实施例的是非类问答模型的训练装置400,通过采用上述模块实现是非类问答模型的训练的实现原理以及技术效果,与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
[0090] 根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
[0091] 如图6所示,是本申请实施例的实现是非类问答模型的训练方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
[0092] 如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。
[0093] 存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的是非类问答模型的训练方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的是非类问答模型的训练方法。
[0094] 存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的是非类问答模型的训练方法对应的程序指令/模块(例如,附图4和附图5所示的相关模块)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的是非类问答模型的训练方法。
[0095] 存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据实现是非类问答模型的训练方法的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至实现是非类问答模型的训练方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0096] 实现是非类问答模型的训练方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
[0097] 输入装置603可接收输入的数字或字符信息,以及产生与实现是非类问答模型的训练方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
[0098] 此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0099] 这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
[0100] 为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0101] 可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
[0102] 计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
[0103] 根据本申请实施例的技术方案,通过采用预先采集的推理任务数据集,训练是非类问答模型,使得是非类问答模型学习推理任务数据集的各条推理任务数据中的源片段是否能推理出目标片段的事实;然后采用预先采集的任务数据集,训练是非类问答模型,使得是非类问答模型学习基于任务数据集的各条任务数据中答案片段,解答是非类问题的能力,能够克服现有技术的不足,由于先对是非类问答模型的推理能力进行训练,使得模型能够充分学习到推理能力,进而再在小数据量的任务数据集上对是非类问答模型进行训练,可以进一步在掌握推理能力的基础上,充分学习到解答问题的能力,能够有效地提高是非类解答模型的准确性,增强是非类问答模型的效果。
[0104] 根据本申请实施例的技术方案,通过采用上述问题答案匹配数据集和推理数据集,来对是非类问答模型进行第一阶段的训练,不仅可以使得模型能够学习到多种任务的信息,提升模型的准确性;同时还可以使得模型能够充分联想,丰富模型的推理能力,进而提高后续是非类模型的训练效果,提升模型的准确性。
[0105] 应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
[0106] 上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

当前第1页 第1页 第2页 第3页