CN114330281B - 自然语言处理模型的训练方法、文本处理方法和装置 - Google Patents
自然语言处理模型的训练方法、文本处理方法和装置 Download PDFInfo
- Publication number
- CN114330281B CN114330281B CN202210218846.7A CN202210218846A CN114330281B CN 114330281 B CN114330281 B CN 114330281B CN 202210218846 A CN202210218846 A CN 202210218846A CN 114330281 B CN114330281 B CN 114330281B
- Authority
- CN
- China
- Prior art keywords
- feature extraction
- text
- vector
- knowledge
- extraction layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及自然语言处理模型的训练方法,包括获取样本文本;确定所述样本文本中的三元组,所述三元组包括所述样本文本中的两个实体和所述两个实体之间的关系;基于所述三元组对所述样本文本进行处理以得到知识融合向量;将所述知识融合向量输入自然语言处理模型进行训练得到目标模型。根据本公开,可以基于样本文本中的三元组对样本文本进行处理得到知识融合向量,相对于样本文本,知识融合向量包含了样本文本信息本身之外的其他三元组信息,如文本中的实体信息、实体之间的关系信息,从而更加准确地让计算机获取到样本文本的真实含义,因此基于知识融合向量对自然语言处理模型进行训练得到的目标模型,对于自然语言处理的效果更好。
Description
技术领域
本公开涉及人工智能领域,具体而言,涉及自然语言处理模型的训练方法、自然语言处理模型的训练装置、计算机可读存储介质。
背景技术
目前的自然语言处理(Natural Language Processing,NLP)技术,在训练自然语言处理模型时,主要使用的样本是自然语言的文本本身,但是自然语言的文本本身所包含的特征相对有限,据此训练出来的自然语言处理模型处理效果并不非常理想。
发明内容
本公开提供自然语言处理模型的训练方法、自然语言处理模型的训练装置、计算机可读存储介质,以解决相关技术中的不足。
根据本公开实施例的第一方面,提供一种自然语言处理模型的训练方法,包括:
获取样本文本;
确定所述样本文本中的三元组,所述三元组包括所述样本文本中的两个实体和所述两个实体之间的关系;
基于所述三元组对所述样本文本进行处理以得到知识融合向量;
将所述知识融合向量输入自然语言处理模型进行训练得到目标模型;
其中,所述自然语言处理模型包括至少一个特征提取层,所述特征提取层用于:
对所述知识融合向量进行线性变换,得到包括第一知识融合矩阵和第二知识融合矩阵的至少两个知识融合矩阵;
根据所述第一知识融合矩阵确定关联矩阵,所述关联矩阵用于表征所述样本文本中至少一个实体与所述样本文本中各词元之间的关联关系信息;
根据所述第二知识融合矩阵和所述关联矩阵确定权重矩阵,所述权重矩阵用于表征所述至少一个实体与所述样本文本之间的权重信息。
可选地,所述至少一个特征提取层包括至少包括第一特征提取层和第二特征提取层,所述第二特征提取层中的所述关联矩阵的维度相对于所述第一特征提取层中的所述权重矩阵的维度是可变化的。
可选地,第二特征提取层中的所述关联矩阵的维度小于所述第一特征提取层中的所述权重矩阵的维度。
可选地,所述至少一个特征提取层还包括至少一个第三特征提取层,所述第三特征提取层包括遮蔽矩阵,所述遮蔽矩阵用于对所述关联矩阵进行部分遮蔽。
可选地,所述第三特征提取层位于第一特征提取层之后。
可选地,在训练任务为生成任务时,冻结所述第二特征提取层;在训练任务为语义理解任务时,冻结所述第三特征提取层。
可选地,所述第一特征提取层和所述第二特征提取层之间还包括第一维度转换层,用于将第一特征提取层获得的权重矩阵进行维度变化,获得维度变化后的输出矩阵作为第二特征提取层的输入,从而实现特征提取层之间的维度变化。
可选地,在所述第二特征提取层和所述第三特征提取层之前还包括拆分层,用于将所述第一特征提取层的输出拆分为三元组信息和文本信息;
其中,所述第一维度转换层用于将第一特征提取层获得的权重矩阵进行维度变化,获得降维后的输出矩阵作为第二特征提取层的输入,或者用于将所述三元组信息进行维度变化,获得降维后的矩阵作为第二特征提取层的输入;
所述第一特征提取层和所述第三特征提取层之间还包括第二维度转换层,用于将第一特征提取层获得的权重矩阵进行维度变化,获得降维后的输出矩阵作为第三特征提取层的输入,或者用于将所述文本信息进行维度变化,获得降维后的矩阵作为第三特征提取层的输入。
可选地,所述基于所述三元组对所述样本文本进行处理以得到知识融合向量包括:
将所述样本文本和所述样本文本中的三元组进行融合以得到知识融合向量。
可选地,所述将所述样本文本和所述样本文本中的三元组进行融合以得到知识融合向量包括:
将所述样本文本中的三元组***所述样本文本,以得到所述知识融合向量。
可选地,所述将所述样本文本和所述样本文本中的三元组进行融合以得到知识融合向量包括:
确定所述样本文本对应的文本嵌入向量;
确定所述三元组对应的知识嵌入向量;
将文本嵌入向量和所述知识嵌入向量进行融合,以得到所述知识融合向量。
可选地,所述三元组包括以下至少一项:
头实体、关系、尾实体。
可选地,所述确定所述三元组对应的知识嵌入向量包括:
将所述头实体的嵌入向量、所述关系的嵌入向量和所述尾实体的嵌入向量进行融合,以得到所述知识嵌入向量:
可选地,所述文本嵌入向量可以包括文本嵌入向量本身以及以下至少之一:
句嵌入向量、所述词元对应的位置嵌入向量、任务类型嵌入向量。
可选地,所述知识嵌入向量包括以下至少之一:
属于所述三元组的实体的嵌入向量;
属于所述三元组的关系的嵌入向量。
可选地,所述将所述样本文本和所述样本文本中的三元组进行融合包括:
通过特征提取层对所述文本嵌入向量进行特征提取得到文本特征向量;
通过特征提取层对所述知识嵌入向量进行特征提取得到知识特征向量;
将所述文本特征向量和所述知识特征向量进行融合,以得到所述知识融合向量。
可选地,所述将所述文本特征向量和所述知识特征向量进行融合包括:
通过多层神经网络层对所述文本特征向量和所述知识特征向量进行融合。
可选地,所述将所述样本文本和所述样本文本中的三元组进行融合包括:
根据知识融合模型对所述文本嵌入向量和所述知识嵌入向量进行融合,所述知识融合模型包括:
可选地,所述自然语言处理模型进行训练的学习率与每次训练输入所述自然语言处理模型的样本的数量之间的关系如下:
其中,X为每次训练输入所述自然语言处理模型的样本的数量batchsize,Y为所述学习率。
可选地,所述方法还包括:
根据目标训练任务确定目标样本集;
根据所述目标样本集训练整体模型,其中,所述整体模型包括所述目标模型以及微调模型。
可选地,所述微调模型包括以下至少之一:
卷积神经网络模型CNN;
循环神经网络模型RNN;
门控制循环单元模型GRU;
全连接层FC;
长短期记忆模型LSTM。
可选地,所述方法还包括:
执行至少一轮以下步骤:
根据预设顺序选择并叠加预训练任务,每选择一次预训练任务后,根据叠加的预训练任务训练所述自然语言处理模型。
可选地,所述方法还包括:
随机选择并叠加预训练任务,每选择一次预训练任务后,根据叠加的预训练任务训练所述自然语言处理模型,对所述自然语言处理模型进行训练的学习率与每次训练输入所述自然语言处理模型的样本的数量正相关。
根据本公开实施例的第二方面,提供一种文本处理方法,包括:
获取目标文本;
确定所述目标文本中的三元组,所述三元组包括所述目标文本中的两个实体和所述两个实体之间的关系;
基于所述三元组对所述目标文本进行处理以得到知识融合向量;
将所述知识融合向量输入目标模型,以得到对所述目标文本处理的处理结果;
其中,所述目标模型包括至少一个特征提取层,所述特征提取层用于:
对所述知识融合向量进行线性变换,得到包括第一知识融合矩阵和第二知识融合矩阵的至少两个知识融合矩阵;
根据所述第一知识融合矩阵确定关联矩阵,所述关联矩阵用于表征所述目标文本中至少一个实体与所述目标文本中各词元之间的关联关系信息;
根据所述第二知识融合矩阵和所述关联矩阵确定权重矩阵,所述权重矩阵用于表征所述至少一个实体与所述目标文本之间的权重信息。
可选地,所述至少一个特征提取层包括至少包括第一特征提取层和第二特征提取层,所述第二特征提取层中的所述关联矩阵的维度相对于所述第一特征提取层中的所述权重矩阵的维度是可变化的。
可选地,所述至少一个特征提取层还包括至少一个第三特征提取层,所述第三特征提取层包括遮蔽矩阵,所述遮蔽矩阵用于对所述关联矩阵进行部分遮蔽。
可选地,所述第一特征提取层和所述第二特征提取层之间还包括第一维度转换层,用于将第一特征提取层获得的权重矩阵进行维度变化,获得维度变化后的输出矩阵作为第二特征提取层的输入,从而实现特征提取层之间的维度变化。
可选地,在所述第二特征提取层和所述第三特征提取层之前还包括拆分层,用于将所述第一特征提取层的输出拆分为三元组信息和文本信息;
其中,所述第一维度转换层用于将第一特征提取层获得的权重矩阵进行维度变化,获得降维后的输出矩阵作为第二特征提取层的输入,或者用于将所述三元组信息进行维度变化,获得降维后的矩阵作为第二特征提取层的输入;
所述第一特征提取层和所述第三特征提取层之间还包括第二维度转换层,用于将第一特征提取层获得的权重矩阵进行维度变化,获得降维后的输出矩阵作为第三特征提取层的输入,或者用于将所述文本信息进行维度变化,获得降维后的矩阵作为第三特征提取层的输入。
可选地,所述基于所述三元组对所述样本文本进行处理以得到知识融合向量包括:
将所述目标文本中的三元组***所述目标文本,以得到所述知识融合向量。
可选地,所述基于所述三元组对所述样本文本进行处理以得到知识融合向量包括:
确定所述目标文本对应的文本嵌入向量;
确定所述三元组对应的知识嵌入向量;
将文本嵌入向量和所述知识嵌入向量进行融合,以得到所述知识融合向量。
可选地,所述目标模型包括微调模型,所述微调模型包括以下至少之一:
卷积神经网络模型CNN;
循环神经网络模型RNN;
门控制循环单元模型GRU;
全连接层FC;
长短期记忆模型LSTM。
根据本公开实施例的第三方面,提供一种文本处理装置,包括处理器,所述处理器被配置为:
获取目标文本;
确定所述目标文本中的三元组,所述三元组包括所述目标文本中的两个实体和所述两个实体之间的关系;
基于所述三元组对所述目标文本进行处理以得到知识融合向量;
将所述知识融合向量输入目标模型以得到对所述目标文本处理的处理结果;
其中,所述目标模型包括至少一个特征提取层,所述特征提取层用于:
对所述知识融合向量进行线性变换,得到包括第一知识融合矩阵和第二知识融合矩阵的至少两个知识融合矩阵;
根据所述第一知识融合矩阵确定关联矩阵,所述关联矩阵用于表征所述目标文本中至少一个实体与所述目标文本中各词元之间的关联关系信息;
根据所述第二知识融合矩阵和所述关联矩阵确定权重矩阵,所述权重矩阵用于表征所述至少一个实体与所述目标文本之间的权重信息。
可选地,还包括:
交互模块,用于根据用户操作确定是否基于知识图谱得到所述目标文本中的三元组;
其中,在确定基于知识图谱得到所述目标文本中的三元组时,确定所述目标文本在知识图谱中对应的三元组;
在确定不基于知识图谱得到所述目标文本中的三元组时,确定所述目标文本中的三元组。
可选地,所述交互模块还用于显示所述目标文本在知识图谱中对应的三元组;以及
根据用户的操作调整所显示的三元组,将调整后的三元组作为所述目标文本在知识图谱中对应的三元组。
可选地,所述交互模块还用于在确定基于知识图谱训练所述得到所述目标模型时,接收用户输入的三元组作为所述目标文本在知识图谱中对应的三元组。
可选地,所述交互模块还用于根据用户操作选择所述目标模型,其中,所述目标模型包括以下至少之一:
CNN、RNN、GRU、LSTM、Transformer、Transformer-XL。
可选地,在所述目标模型包括Transformer和/或Transformer-XL时,所述交互模块还用于根据用户操作确定微调模型。
可选地,所述微调模型包括以下至少之一:
CNN、RNN、GRU、LSTM。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述自然语言处理模型的训练方法和/或上述文本处理方法中的步骤。
根据本公开的实施例,可以基于样本文本中的三元组对样本文本进行处理得到知识融合向量,相对于样本文本,知识融合向量包含了样本文本信息本身之外的其他三元组信息,如文本中的实体信息、实体之间的关系信息,从而更加准确地让计算机获取到样本文本的真实含义,因此基于知识融合向量对自然语言处理模型进行训练得到的目标模型,对于自然语言处理的效果更好。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据本公开的实施例示出的一种自然语言处理模型的训练方法的示意流程图。
图2是根据本公开的实施例示出的一种三元组抽取模型的示意图。
图3是根据本公开的实施例示出的另一种自然语言处理模型的训练方法的示意流程图。
图4是根据本公开的实施例示出的又一种自然语言处理模型的训练方法的示意流程图。
图5是根据本公开的实施例示出的又一种自然语言处理模型的训练方法的示意流程图。
图6是根据本公开的实施例示出的又一种自然语言处理模型的训练方法的示意流程图。
图7是根据本公开的实施例示出的一种融合过程与自然语言处理模型的关系示意图。
图8是根据本公开的实施例示出的又一种自然语言处理模型的训练方法的示意流程图。
图9是根据本公开的实施例示出的又一种自然语言处理模型的训练方法的示意流程图。
图10是根据本公开的实施例示出的另一种融合过程与自然语言处理模型的关系示意图。
图11是根据本公开的实施例示出的又一种自然语言处理模型的训练方法的示意流程图。
图12A是根据本公开的实施例示出的又一种融合过程与自然语言处理模型的关系示意图。
图12B是根据本公开的实施例示出的一种特征提取的计算过程示意图。
图13是根据本公开的实施例示出的一种特征提取层之间的关系示意图。
图14是根据本公开的实施例示出的另一种特征提取层之间的关系示意图。
图15是根据本公开的实施例示出的一种维度转换的示意图。
图16是根据本公开的实施例示出的另一种维度转换的示意图。
图17A是根据本公开的实施例示出的一种自然语言处理模型的部分结构示意图。
图17B是根据本公开的实施例示出的一种第一特征提取层的计算过程示意图。
图18是根据本公开的实施例示出的一种自然语言处理模型的另一部分结构示意图。
图19是根据本公开的实施例示出的一种自然语言处理模型的又一部分结构示意图。
图20是根据本公开的实施例示出的一种交互示意图。
图21是根据本公开的实施例示出的一种用于自然语言处理模型训练的装置的示意框图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
在本公开实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开实施例。在本公开实施例和所附权利要求书中所使用的单数形式的“一种”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开实施例范围的情况下,第一特征提取层也可以被称为第二特征提取层,类似地,第二特征提取层也可以被称为第一特征提取层。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
出于简洁和便于理解的目的,本文在表征大小关系时,所使用的术语为“大于”或“小于”、“高于”或“低于”。但对于本领域技术人员来说,可以理解:术语“大于”也涵盖了“大于等于”的含义,“小于”也涵盖了“小于等于”的含义;术语“高于”涵盖了“高于等于”的含义,“低于”也涵盖了“低于等于”的含义。
图1是根据本公开的实施例示出的一种自然语言处理模型的训练方法的示意流程图。本实施例所示的自然语言处理模型的训练方法可以适用于终端,也可以适用于服务器,其中,所述终端包括但不限于手机、平板电脑、可穿戴设备、个人计算机等电子设备,所述服务器包括但不限于本地服务器、云端服务器等。
如图1所示,所述自然语言处理模型的训练方法可以包括以下步骤:
在步骤S101中,获取样本文本;
在步骤S102中,确定所述样本文本中的三元组,所述三元组包括所述样本文本中的两个实体(Entity)和所述两个实体之间的关系;
在步骤S103中,基于所述三元组对所述样本文本进行处理以得到知识融合向量;
在步骤S104中,将所述知识融合向量输入自然语言处理模型进行训练得到目标模型;
其中,所述自然语言处理模型包括至少一个特征提取层,所述特征提取层用于:
对所述知识融合向量进行线性变换,得到包括第一知识融合矩阵和第二知识融合矩阵的至少两个知识融合矩阵;
根据所述第一知识融合矩阵确定关联矩阵,所述关联矩阵用于表征所述样本文本中至少一个实体与所述样本文本中各词元之间的关联关系信息;
根据所述第二知识融合矩阵和所述关联矩阵确定权重矩阵,所述权重矩阵用于表征所述至少一个实体与所述样本文本之间的权重信息。
需要说明的是,本公开实施例中“实体”,是指具有可区别性且独立存在的某种事物。例如某一个人、某一个城市、某一种植物、某一种商品等。世间万物由具体物体组成,此指实体,例如“美国”、“英国”等。实体可以存在于知识图谱中,例如作为知识图谱中的最基本元素存在,也可以脱离知识图谱存在,不同的实体之间可以存在不同的关系。本公开实施例中的“关系”,是指不同的实体之间的关联,例如伦敦和英国之间的关联是首都,“关系”还可以指属性,例如某个人物的年龄、身高、体重属性等。
而关于后续实施例中出现的“知识图谱”,旨在描述真实世界中存在的各种实体或概念及其关系,其构成一张巨大的语义网络图,节点表示实体或概念,边则由属性或关系构成。现在的知识图谱已被用来泛指各种大规模的知识库(knowledge base)。
在一个实施例中,所述三元组可以包括两个实体和两个实体之间的关系,两个实体可以包括头实体和尾实体。例如样本文本为“李维斯是A国公务员”,其中头实体包括“李维斯”,尾实体包括“A国公务员”,关系包括“职务”。需要说明的是,本公开实施例所述的三元组中的关系,可以包括关系本身,还可以进一步包括实体的属性,本公开的实施例主要在关系仅包括关系本身的情况下进行示例。
可见,三元组中的实体是存在于的样本文本中的,而三元组中的关系可以不存在于样本文本中,当然,这只是一个示例,在某些情况下,三元组中的关系也可以存在于样本文本中。
在一个实施例中,一个样本文本中可以不仅存在一个三元组,还可以存在多个三元组,关于样本文本存在一个三元组和存在多个三元组的情况,其中,所述样本文本包括以下至少之一:一句话、多句话、一个段落、一篇文章。以下主要针对样本文本包括一句话的情况进行示例。
例如对于样本文本:“土木之变”后,造就了明代杰出的民族英雄于谦。
可以确定样本文本中,头实体SUBJ包括“于谦”,尾实体OBJ包括“明代”,关系包括“朝代”。
在这个样本文本中,仅存在一个三元组[[“于谦”、“朝代”、“明代”]]。
例如对于样本文本:宋应星是江西奉新人,公元1587年生,经历过明朝腐败至灭亡的最后时期。
可以确定样本文本中,头实体SUBJ包括“宋应星”,尾实体OBJ包括“江西奉新”和“1587年”,关系包括“出生位置”和“出生时间”。
那么在这个样本文本中,存在两个三元组,一个为[[“宋应星”、“出生位置”、“江西奉新”]],另一个为[[“宋应星”、“出生时间”、“1587年”]]。
另外,样本文本包括但不限于中文,也可以是外文,例如英文,那么样本文本中的三元组也可以是英文。
根据本公开的实施例,可以基于样本文本中的三元组对样本文本进行处理得到知识融合向量,由于样本文本中的三元组一方面包含三元组中的实体在样本文本中原有的特征,另一方面还包括三元组中关系的特征,因此得到的知识融合向量也可以包含三元组中关系的特征,其中,实体的提炼可以挖掘样本文本的核心含义,进一步的,关系则可以全面体现样本文本中实体之间的关系,因此通过实体和/或关系的特征提取,可以使后续模型训练中让模型更好地获得体现样本文本含义的参数。因此,相对于样本文本,知识融合向量包含了样本文本信息本身之外的其他三元组信息,如文本中的实体信息、实体之间的关系信息,从而更加准确地让计算机获取到样本文本的真实含义,因此基于知识融合向量对自然语言处理模型进行训练得到的目标模型,对于自然语言处理的效果更好。
在一个实施例中,所述自然语言处理模型包括但不限于以下模型中的任意一种:自注意力机制模型(self-attention)、多层感知机模型、循环神经网络模型、卷积神经网络、深度卷积神经网络、自注意力转换器(transformer)。
在一个实施例中,确定所述样本文本中的三元组的方式可以包括:
确定所述样本文本在知识图谱(Knowledge Graph,KG)中对应的三元组,或基于三元组抽取模型(例如后续实施例中的三元组抽取模型)获取所述样本文本中的三元组。
在一个实施例中,确定样本文本中的三元组的方式可以有多种,例如可以先确定三元组抽取模型,进而根据三元组抽取模型直接获取样本文本中的三元组;也可以结合知识图谱确定三元组,例如确定样本文本的头实体和尾实体,进而在知识图谱中确定头实体和尾实体对应的关系。
由于知识图谱包含明确的实体以及实体之间的关系,因此,可以确定样本文本在知识图谱中对应的三元组,例如在样本文本中确定三元组中的头实体和尾实体后,可以根据确定的头实体和尾实体在知识图谱中确定头实体和尾实体之间的关系,有利于准确确定三元组中的关系。
需要说明的是,即使样本文本中存在三元组中的关系,由于样本文本是独立存在的文本,与其他文本之间并没有建立联系,所以基于样本文本确定的实体之间的关系仍然可能是不全面的,而知识图谱则是包含大量实体,并且构建了大量实体之间的关系,所以基于知识图谱确定关系更为全面、准确。
在一个实施例中,所述确定所述样本文本在知识图谱中对应的三元组包括:
确定所述样本文本所属领域;
确定所述领域的知识图谱;
确定所述样本文本在所述领域的知识图谱中对应的三元组。
在一个实施例中,由于在不同领域,同一个实体可以表达不同的含义,这就会导致在不同领域的知识图谱中,同一个实体与其他实体之间的关系会存在很大不同。例如“苹果”这个实体,在农业领域一般指代一种水果,所以在农业领域的知识图谱中,“苹果”一般与其他水果存在关系;而,在通信领域一般指代一种手机,所以在通信领域的知识图谱中,“苹果”一般与其他手机存在关系。因此,如果不区分领域就基于知识图谱确定三元组,确定的三元组很有可能是不准确的。
在本实施例中,可以先确定所述样本文本所属领域,进而确定所述领域的知识图谱,最后确定所述样本文本在所述领域的知识图谱中对应的三元组。例如样本文本属于农业领域,那么确定样本文本在农业领域的知识图谱中对应的三元组;例如样本文本属于通信领域,那么确定样本文本在农业领域的通信图谱中对应的三元组。据此,有利于确保确定的三元组的准确性。
在一个实施例中,所述知识图谱包括以下至少之一:
预先构建的知识图谱;
预先存储的知识图谱。
本实施例所采用的知识图谱,可以是预先存储的知识谱图,例如现有的知识图谱,也可以是预先构建的知识图谱,以下通过几个实施例示例性描述如何构建知识图谱。
在一个实施例中,在所述知识图谱包括预先构建的知识图谱的情况下,在确定所述样本文本在知识图谱中对应的三元组之前,所述方法还包括:构建所述知识图谱。本实施例可以根据需要自主构建知识图谱,有利于确保三元组所在的知识图谱满足需要。
在一个实施例中,构建所述知识图谱的方式可以包括:
确定三元组抽取模型,其中,所述三元组抽取模型用于从所述样本文本中抽取三元组;
根据抽取到的三元组构建所述知识图谱。
在一个实施例中,由于知识图谱包含的主要内容就是三元组,为了构建知识图谱,本实施例可以先确定三元组抽取模型,然后通过三元组抽取模型先在大量的样本文本中抽取三元组,有利于提高抽取三元组的效率,进而根据抽取到的三元组构建知识图谱。
图2是根据本公开的实施例示出的一种三元组抽取模型的示意图。如图2所示,所述三元组抽取模型包括:
标签确定模型201,用于确定所述样本文本中词元token(划分粒度可以是字,也可以是词,具体可以根据需要选择)的标签label;其中,所述标签用于确定所述样本文本中的实体;
关系确定模型202,用于确定所述标签确定模型确定的至少两个实体(例如可以称作实体对Span Entity)之间的关系和/或所述关系在所述样本文本中的位置。
在一个实施例中,样本文本中最基础的元素可以是词元token,因此,在样本文本中确定三元组中的实体,可以以词元为粒度进行确定。而为了确定哪些词元可以作为三元组中的实体,可以基于标注的方法实现,例如基于BILOU(beginning,inside,outside,last,unit)标注方法,通过标签B、I、L、O、U标注样本文本中的词元token(划分粒度可以是字,也可以是词,具体可以根据需要选择),进而根据标注可以确定样本文本中的实体,其中,标签B表示实体的开始、标签I表示实体中间、标签L表示实体的结束、标签O表示非实体token、标签U表示单个词的实体,那么样本文本中顺序(还可以进一步是连续)对应标签BIL的多个词元,可以确定为实体。
因此,为了准确确定样本文本中每个词元的标签,本实施例首先构建了标签确定模型,用于确定样本文本中词元的标签,进而基于词元的标签,就可以确定样本文本中的实体了。
但是基于前文所述的实施例可知,三元组中的实体一般是位于样本文本中的,而三元组中的关系,则可能并不位于样本文本中,而且,即使位于样本文本中,也需要准确确定关系在样本文本中的位置,进而才能在样本文本中准确确定三元组中的关系。
因此,为了确定三元组中的关系和/或所述关系在所述样本文本中的位置,本实施例还构建了关系确定模型,可以用来确定实体对中两个实体之间的关系和/或所述关系在所述样本文本中的位置。
据此,通过三元组抽取模型就可以准确地从样本文本中抽取到三元组了,具体地,可以通过三元组抽取模型中的标签确定模型从样本文本中抽取三元组中的实体,通过三元组抽取模型中的关系确定模型从样本文本中抽取三元组中的关系。
在一个实施例中,如图2所示,所述标签确定模型201包括:
第一编码层2011,所述第一编码层的输入包括所述词元;
特征提取层2012,所述特征提取层的输入包括所述第一编码层的输出;
第一激活层2013,所述第一激活层的输入包括所述特征提取层的输出;
第一归一化层2014,所述第一归一化层的输入包括所述第一激活层的输出;
第一输出层2015,所述第一输出层的输入包括所述第一归一化层的输出,用于输出所述标签。
在一个实施例中,如图2所示,可以将样本文本划分为多个词元后输入第一编码层,第一编码层可以用于确定词元的嵌入向量;可选地,第一编码层可以包含Bert模型和/或word2vec模型,Bert模型和/或word2vec模型可以对样本文本整句话进行特征提取得到词元的嵌入向量。
第一编码层的输出可以输入到特征提取层,所述特征提取层例如可以包括双向长短期记忆(Bi-LSTM)模型,用于提取嵌入向量中的特征,特征提取层在包含Bi-LSTM模型的基础上。
特征提取层的输出可以输入到第一激活层,第一激活层例如可以包括Tanh层;
第一激活层的输出可以输入到第一归一化层,第一归一化层例如可以包括softmax层;
第一归一化层的输出可以输入到第一输出层,第一输出层最终输出词元对应的标签。
通过标签确定模型,可以确定样本文本中每个词元token对应的标签label,例如对于包含n个词元token的样本文本,可以确定token(1)的标签为label(1)、token(2)的标签为label(2)、…、token(n)的标签为label(n)。
在一个实施例中,如图2所示,所述样本文本中第i+1个词元在所述第一激活层对应的输入还包括所述样本文本中第i个词元在所述第一输出层对应的输出,i为大于或等于1的整数。
在一个实施例中,如果第一激活层、第一归一化层和第一输出层对每个词元进行独立处理,那么虽然可以得到每个词元的标签,但是由于对词元之间的关系考虑有所欠缺,得到的标签准确性可能并不是很高。因此,本实施例将第i个词元在第一输出层的输出,作为第i+1个词元在所述第一激活层的输入,从而在确定第i+1个词元的标签时,将第i个词元的标签考虑进来,有利于确保确定的词元满足词元之间的关系,进而提高确定标签的准确性。
在一个实施例中,如图2所示,所述关系确定模型202包括:
第二编码层2021,所述第二编码层的输入包括所述实体对;
全连接层2022,所述全连接层的输入包括所述第二编码层的输出;
第二激活层2023,所述第二激活层的输入包括所述全连接层的输出;
第二归一化层2024,所述第二归一化层的输入包括所述第二激活层的输出,用于输出所述关系和/或所述关系在样本文本中的位置。
在一个实施例中,在确定样本文本中词元对应的标签后,就可以根据标签进一步确定样本文本中属于三元组的实体了,而在确定了实体之后,则可以将每两个实体构成一个实体对,以实体对作为关系确定模型的输入。
例如首先可以将实体对输入到第二编码层中,第二编码层可以确定实体对的嵌入向量;
第二编码层的输出可以作为全连接层的输入;
全连接层的输出可以输入到第二激活层,第二激活层例如可以包括Tanh层;
第二激活层的输出可以输入到第二归一化层,第二归一化层例如可以包括softmax层。
通过关系确定模型,可以针对输入模型的实体对,确定实体对之间的关系,在样本文本中存在所述关系时,还可以进一步确定所述关系在样本文本中的位置,进而提取所述位置的词元作为所述关系。据此,可以完成三元组的抽取。
在一个实施例中,如图2所示,所述全连接层的输入还包括所述特征提取层的输出。由于单纯基于实体对确定关系,对于实体对在样本文本中上下文的关系考虑有所欠缺,确定的关系和/或关系的位置可能准确度相对不高。
因此,本实施例将标签确定模型中特征提取层的输出,作为关系确定模型中全连基层的输入。由于特征提取层的输出可以良好地表征实体对中的实体在在样本文本中上下文的关系,从而使得关系确定模型在确定关系和/或关系的位置时,也可以考虑实体对中的实体在样本文本中上下文的关系,有利于确保确定关系和/或关系的位置的准确度。
在一个实施例中,确定所述样本文本在知识图谱中对应的三元组的方式可以包括:
确定多个子知识图谱;
将不同子知识图谱中语义相同的实体进行合并,以得到合并后的知识图谱;
确定所述样本文本在合并后的知识图谱中对应的三元组。
在一个实施例中,由于在不同的知识图谱中,同一个实体可能通过不同的词元表示,例如对于“菠萝”这个实体,也可以通过“凤梨”来表示,在这种情况下,在不同的知识图谱中“菠萝”这个实体所在的三元组,和“凤梨”这个实体所在的三元组可能会略有差异。因此,可以通过将不同知识图谱中语义相同的不同实体合并,一方面可以避免含义相同的实体通过不同词元表达存在的冗余,另一方面有利于拓展实体所在的三元组,确保知识图谱的全面性。为了方便描述,将需要合并的知识图谱称作子知识图谱。
例如在子知识图谱KG1中,存在“菠萝”这一实体,对应的三元组包括[[“菠萝”、“种类”、“水果”]]了;而在子知识图谱KG2中,存在“凤梨”这一实体,对应的三元组包括[[“凤梨”、“种类”、“水果”]]。
实质上,这两个三元组表达的含义是相同的,但是由于头实体通过语义相同的不同词元表示,所在存在一定程度的冗余。这可能导致对于“凤梨”和“菠萝”这两个实体对应的词元确定三元组时,确定到不同的三元组,甚至在某些情况下,仅能针对这两个实体中的一个实体才能确定到三元组。
根据本实施例,可以将不同子知识图谱中语义相同的实体进行合并,以得到合并后的知识图谱,例如将上述KG1和KG2中“凤梨”和“菠萝”这两个实体合并,进而后续可以确定所述样本文本在合并后的知识图谱中对应的三元组,那么无论样本文本中出现的词是“凤梨”还是“菠萝”,都可以在合并后的指示图谱中成功确定到相同的三元组。
在一个实施例中,可以构建至少一个预训练任务,根据所述至少一个预训练任务对自然语言处理模型进行训练得到所述目标模型。
在一个实施例中,实际应用的模型可以称作整体模型,而整体模型可以包括所述目标模型,还可以包括微调模型,其中,目标模型可以是在预训练任务阶段得到的,微调模型则是在后续微调阶段得到的。
在预训练阶段,可以将根据样本文本得到的嵌入向量输入到自然语言处理模型,并根据构建的预训练任务进行训练,根据自然语言处理模型的输出和与该训练阶段的输入和/或预训练任务对应的正确结果之间的差异,可以调整自然语言处理模型参数,使得自然语言处理模型的处理结果与对应的正确结果之间的差异越来越小,最终处于一定阙值内,则可以认为基于预训练任务对自然语言处理模型的训练完成。
其中,在存在多个预训练任务时,可以根据每个预训练任务逐个训练自然语言处理模型,也可以通过多个预训练任务一起训练自然语言处理模型,具体可以根据需要选择。在预训练阶段,可以在训练自然语言处理模型后得到目标模型,可以将目标模型剥离出来,训练好的目标模型可以为不同的下游任务提供特征,或者可以直接在训练好的目标模型上进行其他下游任务的微调。
在另一个实施例中,也可将预训练任务得到的目标模型作为实际应用的模型。
以下实施例先针对预训练任务阶段进行描述,后续实施例再针对微调阶段进行描述。
对自然语言处理模型进行训练,可以是基于预训练任务对自然语言处理模型进行训练,具体的预训练任务可以根据需要设置,预训练任务的数量也可以根据需要进行设置,例如可以是一个,也可以是多个。
在一个实施例中,所述至少一个预训练任务包括:
第一预训练任务,其中,所述第一预训练任务包括掩码mask任务,所述掩码任务包括基于所述三元组对所述样本文本进行掩码以得到知识融合向量。
掩码任务可以理解为对样本文本中的一个或多个词元token掩码(将该词元用[mask]替代)后得到初始化文本向量,在预训练任务中进行预测训练,即让模型根据没有被掩码的词元(上下文)预测被掩码的词元最终得到训练好的文本向量,而训练好的文本向量中对应mask位置的向量表示融合了该词元以及上下文的含义,能够更准确的表示文本含义。
在一个实施例中,第一预训练任务可以是基于三元组对样本文本进行掩码的任务。可以理解为在对样本文本进行掩码处理时,引入了三元组信息(三元组),从而进行更有针对性的掩码处理,得到训练好后的知识融合向量更加准确。基于三元组对样本文本进行掩码至少包括:将样本文本中对应三元组的全部或者部分词元掩码。样本文本中的三元组通常为关键信息,对此进行预测,效果更好。进行掩码的词元在样本文本全部词元中所占比例可以根据需要设置,例如10%至20%,其中,可以设置为15%,那么如果三元组数量大于该比例,可以选择仅掩码部分三元组,如果三元组数量小于该比例,可以同时对样本文本中的其他词元进行掩码。
在一个实施例中,基于所述三元组对所述样本文本进行处理以得到知识融合向量,可以包括在所述样本文本中对词元进行掩码得到知识融合向量,将知识融合向量输入自然语言处理模型进行训练得到目标模型,可以包括自然语言处理模型进行预测被掩码词元的训练,训练好的目标模型可以输出训练好的知识融合向量,在这种情况下得到的知识融合向量可以包括词元的嵌入向量,进一步还可以等到整个样本文本的嵌入向量。
例如可以在样本文本中对三元组对应的词元进行掩码以得到所述知识融合向量,也即将样本文本中的三元组中的实体和/或关系对应的词元掩码后,预测被掩码的词元,在这种情况下得到的知识融合向量可以包括三元组对应词元的嵌入向量,还可以包括三元组以外的词元对应的嵌入向量,进一步还可以得到整个样本文本的嵌入向量。
基于第一预训练任务训练得到的目标模型,至少可以用于输出被掩码的词元的嵌入向量,还可以输出未被掩码的词元的嵌入向量,进一步还可以得到整个样本文本的嵌入向量。
在一个实施例中,可以对所述样本文本中对应所述三元组的词元进行掩码以得到所述知识融合向量。该三元组的词元可以是实体对应的词元,也可以是关系对应的词元,也可以是实体和关系对应的词元。
在一个实施例中,可以对所述样本文本中对应所述三元组中实体和关系的词元进行掩码以得到所述知识融合向量。
对样本文本中对应所述三元组的词元进行掩码以得到所述知识融合向量,可以仅对样本文本中对应所述三元组中实体的词元进行掩码以得到所述知识融合向量,那么可以得到实体对应的嵌入向量;也可以对所述样本文本中对应所述三元组中实体和关系的词元进行掩码以得到所述知识融合向量,那么可以得到实体的嵌入向量和关系的嵌入向量,也可以等到三元组整体的嵌入向量。
具体对三元组中的实体进行掩码以得到所述知识融合向量,还是对实体和关系进行掩码以得到所述知识融合向量,可以根据需要进行选择。
在一个实施例中,可以根据第一概率(可以小于100%)在所述样本文本中对所述三元组对应的词元进行掩码以得到所述知识融合向量。
在一个实施例中,可以根据第二概率在所述样本文本中对所述三元组未对应的词元进行掩码以得到所述知识融合向量。
在一个实施例中,所述第一概率大于所述第二概率。
在一个实施例中,所述第一概率为60%至80%,例如设置为80%,和/或所述第二概率为20%至40%,例如设置为20%,第一概率和第二概率之和为100%。
本公开可以根据第一概率在样本文本中对三元组对应的词元进行掩码以得到所述知识融合向量,还可以根据第二概率在样本文本中对三元组未对应的词元进行掩码以得到所述知识融合向量。例如第一概率为80%,那么有80%的概率选中需要进行掩码的词元为三元组对应的词元,20%的概率选中三元组未对应的词元。据此,可以确保训练得到的,目标模型既能准确预测三元组对应的词元,也能准确预测三元组未对应的词元。
需要说明的是,在样本文本中对三元组对应的词元进行掩码时,如果100%的概率进行掩码,也即将掩码的词元抠掉,使用[mask] 标记代替原始单词,然后自然语言处理模型去正确预测被抠掉的单词。那么就会存在问题:训练过程大量看到[mask]标记,但是真正使用过程中的文本中是不存在这个标记的,这会引导自然语言处理模型认为输出是针对[mask]这个标记的,但是实际使用又见不到这个标记,所以会引起一些问题。
为了避免这个问题,本实施例对于选中需要进行掩码的词元,可以按照预设比例进行掩码,关于其他需要进行掩码的词元,其中部分可以随机替换为另一词元,另一部分可以保持不变。例如按照80%概率进行掩码,也即选中需要进行掩码的词元,只有80%概率真正被替换成[mask]标记。其他需要进行掩码的词元,10%概率可以被随机替换成另外一个词元,10%概率保持不变。
在一个实施例中,所述至少一个预训练任务还包括:
第二预训练任务,其中,所述第二预训练任务用于将包含所述样本文本的样本文档拆分为片段后进行重排训练。
基于第二预训练任务训练得到的目标模型,可以用于确定样本文本与其他文本之间的距离,进而根据预测的距离确定样本文本与其他文本之间的关系,例如可以预测样本文本与其他文本是否属于相同文档,在相同文档中是否属于临近的关系。
在一个实施例中,所述将包含所述样本文本的样本文档拆分为多个片段后进行重排训练包括:
将所述样本文档按照至少一级粒度逐级拆分为片段,在每级拆分后对拆分得到的片段进行随机排列并组合重排样本;
基于所述重排样本进行训练以输出所述重排样本中句子之间的关系类型。
在一个实施例中,所述关系类型包括以下至少之一:
属于相同文档且邻近;
属于相同文档且不邻近;
属于不同文档。
例如以两级粒度为例,对于样本文本所在的样本文档,可以将样本文档以第一粒度(例如段落)拆分为多个片段segment,例如拆分为三个片段[C1、C2、C3],随机打乱片段的顺序,例如打乱顺序后为[C2、C1、C3],然后进行训练以恢复正确顺序;还可以进一步将[C1、C2、C3]以第二粒度(例如句子)拆分为更小的片段,第二粒度小于第一粒度,例如拆分为[S0,S1,S2,…,Sn],随机打乱片段的顺序,例如打乱顺序后为[S2,S9,Sn,…,S3],然后进行训练以恢复正确顺序。
具体可以通过文档级的信息学习片段之间的距离,该任务可以是一个3分类问题,例如输出0表示两个片段属于相同文档且邻近;输出1表示两个片段属于相同文档且不邻近;输出2表示两个片段属于不同文档。
需要说明的是,拆分文档进行重排的粒度并不限于上述两级粒度,还可以包括更大的粒度,也可以包括更小的粒度,以更小的粒度为例,可以将一句样本文本通过三元组划分为多个片段,然后将划分后的多个片段的顺序打乱进行重排训练,以恢复正确顺序。其中,按照三元组划分样本文本的方式包括但不限于前文所述实施例的方式,在此不再赘述。
在一个实施例中,所述至少一个预训练任务还包括:
第三预训练任务,其中,所述第三预训练任务用于对所述样本文本进行语义识别训练。
基于第三预训练任务训练得到的目标模型,可以用于识别样本文本的语义。在本公开的实施例中,第三预训练任务的语义识别训练可以是训练样本文本中两个句子关系,可以理解的是,通过识别如“因为”、“进一步”、“但是”等词来训练学习两个句子可能存在的因果、递进、转折等逻辑关系。在另一个实施例中,第三预训练任务的语义识别训练可以是一条查询和样本文本中篇章题目的相关性程度,可以理解的是,该任务可以是一个多分类任务,例如输出0表示强相关,即用户输入查询后会继续点击样本文本中篇章题目,输出1表示弱相关,即用户输入查询后不会点击样本文本中篇章题目,输出2表示不相关,即随机生成的样本,该训练样本可以是通过搜索引擎获得的数据。
需要说明的是,至少一个训练任务除了可以包括上述第一预训练任务、第二预训练任务、第三预训练任务,还可以根据需要设置其他预训练任务,该预训练任务可以是监督任务也可以是无监督任务,可以根据实际任务情况进行设置,并且可以根据一个或多个预训练任务对自然语言处理模型进行训练,在使用多个预训练任务进行训练时,得到的目标模型就可以具备多种功能,更好地提高目标模型的性能。
图3是根据本公开的实施例示出的另一种自然语言处理模型的训练方法的示意流程图。如图3所示,在预训练阶段,所述方法还包括:
在步骤S301中,执行至少一轮以下步骤:
根据预设顺序选择并叠加预训练任务,每选择一次预训练任务后,根据叠加的预训练任务训练所述自然语言处理模型。
在一个实施例中,可以预先设置每个预训练任务的顺序,例如以上述第一预训练任务Task1、第二预训练任务Task2、第三预训练任务Task3为例,三个预训练任务的顺序从前到后依次为Task1、Task2、Task3。
那么可以先选择Task1训练自然语言处理模型;然后选择Task2与Task1叠加在一起,通过Task1和Task2两个预训练任务一起对前一次训练后的自然语言处理模型进行继续训练;进而再选择Task3与Task1和Task2叠加在一起,通过Task1、Task2和Task3三个预训练任务一起对前一次训练后的自然语言处理模型进行继续训练。
其中,叠加是指将一起训练所采用的预训练任务对应的损失函数叠加形成综合损失函数进行训练,综合损失函数可以直接将每个预训练任务对应的损失函数叠加得到,也可以将每个预训练任务对应的损失函数叠加后求平均得到,还可以是将每个预训练任务对应的损失函数加权求和后得到,本公开实施例并不限制。
至此,完成一轮训练。其中,训练的轮数可以根据需要进行设置,也可以根据设置的截止条件(例如训练结果收敛到指定程度)确定。
每一轮训练过程中,基于每次叠加后的预训练任务进行训练的次数可以灵活调整。例如可以基于每次叠加后的预训练任务进行一次训练,例如基于Task1进行一次训练,然后基于Task1和Task2两个预训练任务叠加在一起进行一次训练,再基于Task1和Task2和Task3三个预训练任务叠加在一起进行一次训练;也可以基于每次叠加后的预训练任务进行多次训练,例如基于Task1进行两次训练,然后基于Task1和Task2两个预训练任务叠加在一起进行三次训练,再基于Task1和Task2和Task3三个预训练任务叠加在一起进行四次训练。
图4是根据本公开的实施例示出的又一种自然语言处理模型的训练方法的示意流程图。如图4所示,在预训练阶段,所述方法还包括:
在步骤S401中,随机选择并叠加预训练任务,每选择一次预训练任务后,根据叠加的预训练任务训练所述自然语言处理模型,对所述自然语言处理模型进行训练的学习率与每次训练输入所述自然语言处理模型的样本的数量正相关。
在一个实施例中,可以预先设置每个预训练任务的顺序,例如以上述第一预训练任务Task1、第二预训练任务Task2、第三预训练任务Task3为例,三个预训练任务的顺序从前到后依次为Task1、Task2、Task3。
那么可以从这三个预训练任务中随机选择预训练任务,其中,每次随机选择的预训练任务的数量可以是预先设定的,或者也可以是随机的。
以每次选择随机选择的预训练任务的数量预先设定为逐个递增为例,例如先从三个预训练任务中随机选择中了Task2,那么先通过Task2训练自然语言处理模型;然后随机选中了Task2和Task3,通过Task2和Task3两个预训练任务一起对前一次训练后的自然语言处理模型进行继续训练;最后随机选中了Task3、Task1和Task2,那么,通过Task1、Task2和Task3三个预训练任务一起对前一次训练后的自然语言处理模型进行继续训练。其中,每次随机选择的预训练任务可以包含已经选择过的预训练任务,也可以不包含已经选择过的预训练任务,具体可以根据需要设定随机选择的规则。当训练结果达到收敛条件可以停止训练。
关于图3和图4所示的实施例,按照顺序选择训练任务进行训练,或者随机选择训练任务进行训练,可以根据需要进行选择。此外,还可以根据各预训练任务的重要性,进行一定概率的优先选择。
在一个实施例中,所述自然语言处理模型进行训练的学习率与每次训练输入所述自然语言处理模型的样本的数量之间的关系如下:
其中,X为每次训练输入所述自然语言处理模型的样本的数量batchsize,范围为24≤X≤256,Y为所述学习率。
需要说明的是,实际训练过程中,可对计算得到的Y值进行微调,范围在[Y-1.0e-5,Y+1.0e-5]之内。通过上述batchsize和学习率之间的关系进行训练,可使模型训练收敛更快。通常情况X取值为2的n次幂,本公开不作限定。对于X不在[24,256]范围内的值,也可参考上述公式进行学习率选择。
在一个实施例中,对所述自然语言处理模型进行训练的学习率与每次训练输入所述自然语言处理模型的样本的数量正相关。
图5是根据本公开的实施例示出的又一种自然语言处理模型的训练方法的示意流程图。如图5所示,所述方法还包括:
在步骤S501中,根据目标训练任务确定目标样本集;
在步骤S502中,根据所述目标样本集训练整体模型,其中,所述整体模型包括所述目标模型以及微调模型。
在一个实施例中,通过至少一个预训练任务对自然语言处理模型训练得到的目标模型可以是预训练模型。该预训练模型通过大量语料库和多任务学习,使得目标模型能够更好地学习到通用的语法语义知识,形成泛化性较好的通用模型。在得到目标模型后,本实施例还可以根据具体的应用场景构建目标训练任务(微调任务),对于目标训练任务的训练样本,可以根据应用场景获得相比于预训练样本集较小的目标样本集,微调(fine-tune)任务的训练模型可以是在训练好的目标模型基础上增加微调模型作为整体模型进行训练,从而更准确的适应具体应用场景的需求。预训练+微调的训练方式是一种迁移学习的应用,具备很好的可扩展性。由于预训练模型具有很好的泛化能力,在进行新应用场景的模型训练时,可以沿用训练好的预训练模型参数进行初始化,对整体模型进行微调即可得到较好的训练效果。
在一个实施例中,所述微调模型包括以下至少之一:
卷积神经网络模型CNN;
循环神经网络模型RNN;
门控制循环单元模型GRU;
全连接层FC;
长短期记忆模型LSTM。
关于图1所示实施例中基于所述三元组对所述样本文本进行处理以得到知识融合向量,主要包含两个实施例,一个实施例是前文所述的“对所述样本文本中对应所述三元组中实体的词元进行掩码以得到所述知识融合向量”得到所述三元组对应的词元的嵌入向量,另一个实施例是样本文本和三元组的融合。
关于这两个实施例,可以各自独立实现,也可以结合在一起实现,例如在“对所述样本文本中三元组对应的词元进行掩码以得到所述知识融合向量”得到所述三元组对应的词元的嵌入向量的基础上,还可以将样本文本和三元组融合得到知识融合向量,或者在样本文本和三元组的融合过程中对三元组对应的词元进行掩码,在此不作限定。以下通过几个实施例,对基于所述三元组对所述样本文本进行处理以得到知识融合向量包括样本文本和三元组得到知识融合向量这个实施例进行示例性说明。
图6是根据本公开的实施例示出的又一种自然语言处理模型的训练方法的示意流程图。如图6所示,所述将所述样本文本和所述样本文本中的三元组进行融合以得到知识融合向量包括:
在步骤S601中,将所述样本文本中的三元组***所述样本文本,以得到所述知识融合向量。
在一个实施例中,可以将样本文本和所述样本文本中的三元组进行融合以得到知识融合向量,进而以得到的知识融合向量作为样本构成样本集,并基于训练样本集对自然语言处理模型进行训练,其中,进行训练所采用的训练任务,可以包括前文实施例所述的几个预训练任务中的一个或多个。
由于作为样本的知识融合向量不仅包含了样本文本的特征,还包含了样本文本中三元组的特征,因此相对于样本文本,知识融合向量包含了更多的特征,可以更为全面地体现样本文本中实体之间的关系,从而更加准确地表达样本文本,因此基于知识融合向量对自然语言处理模型进行训练得到的目标模型,对于自然语言处理的效果更好。
关于如何将所述样本文本和所述样本文本中的三元组进行融合以得到知识融合向量,以下实施例主要示例了两种融合方式,一种是将所述样本文本中的三元组***所述样本文本,以得到所述知识融合向量;另一种是确定所述样本文本对应的文本嵌入向量,确定所述三元组对应的知识嵌入向量,进而将文本嵌入向量和所述知识嵌入向量进行融合,以得到所述知识融合向量。但是具体应用中,融合方式并不限于这两种,可以根据需要选择。
在一个实施例中,将所述样本文本和所述样本文本中的三元组进行融合以得到知识融合向量,还可以包括另一种方式,例如将所述样本文本中的三元组***所述样本文本,以得到所述知识融合向量。
在一个实施例中,可以在样本文本中***三元组,例如可以***在样本文本中的文字之间,也可以***在样本文本最后一个字之后,还可以***在样本文本第一个字之前。其中,可以根据需要设置三元组的在样本文本中的***位置,也可以随机确定三元组的在样本文本中的***位置。
在一个实施例中,可以对***三元组的样本文本进行词嵌入处理得到知识融合向量,进行词嵌入处理的方法包括独热编码(one-hot)、word2vec、词表转换等方法中的至少一种。
在一个实施例中,对***三元组的样本文本进行词嵌入处理的方法还可以是独热编码后与可训练权重相乘作为词嵌入向量,或者独热编码后与可训练权重相乘后通过word2vec作为词嵌入向量。本公开在此不作限定。
在一个实施例中,所述知识融合向量还可以包括以下至少之一:
句嵌入向量、所述词元对应的位置嵌入向量、任务类型嵌入向量。
需要说明的是,将三元组***样本文本,可以将三元组作为一个整体***样本文本,也可以将三元组中头实体、关系和尾实体作为三个部分分别***样本文本,例如这三个部分可以***到样本文本中的不同位置。
图7是根据本公开的实施例示出的一种融合过程与自然语言处理模型的关系示意图。
如图7所示,可以确定所述样本文本中的三元组,所述三元组包括所述样本文本中的两个实体和所述两个实体之间的关系,进而可以在样本文本中***所述三元组得到知识融合向量,最后可以将知识融合向量作为样本输入自然语言处理模型进行训练。三元组可以认为是样本文本中的关键信息,将三元组***样本文本中进行模型训练,能够让模型重复学习样本文本中的关键信息,从而更好地提高模型的训练效果。
在一个实施例中,在图7实施例的基础上,当第一训练任务包括基于三元组对样本文本进行掩码的掩码任务时,可以对***的三元组和原始的样本文本分别进行掩码。这样既保证了对三元组的掩码,也能够对样本文本中非三元组信息进行掩码。
图8是根据本公开的实施例示出的又一种自然语言处理模型的训练方法的示意流程图。如图8所示,所述将所述样本文本和所述样本文本中的三元组进行融合以得到知识融合向量包括:
在步骤S801中,确定所述样本文本对应的文本嵌入向量;
在步骤S802中,确定所述三元组对应的知识嵌入向量;
在步骤S803中,将文本嵌入向量和所述知识嵌入向量进行融合,以得到所述知识融合向量。
在一个实施例中,一方面,可以确定样本文本对应的文本嵌入向量,另一方面,可以确定所述三元组对应的知识嵌入向量,例如,可以通过预设算法(例如图嵌入转换Translate算法)训练得到所述知识嵌入向量,所述预设算法包括但不限于TranR、TransE、TransH、TransD等。
在一个实施例中,对样本文本进行词嵌入处理得到对应的文本嵌入向量的方法包括独热编码(one-hot)、word2vec、词表转换等方法中的至少一种。
在一个实施例中,对样本文本进行词嵌入处理的方法还可以是独热编码后与可训练权重相乘作为词嵌入向量,或者独热编码后与可训练权重相乘后通过word2vec作为词嵌入向量。本公开在此不作限定。
在一个实施例中,所述三元组包括以下至少一项:
头实体、关系、尾实体。
通过图嵌入转换(Translate)算法,可以分别得到头实体h的嵌入向量he、尾实体t的嵌入向量te、关系r的嵌入向量re。
在一个实施例中,通过TransR算法得到所述知识嵌入向量的具体步骤如下:
1)将实体空间中的实体h和t通过投影矩阵Mr投影到关系r空间中,得到he和te,其中,he=hMr,te=tMr;
该目标损失函数例如可以是:
在一个实施例中,所述确定所述三元组对应的知识嵌入向量包括:
将所述头实体的嵌入向量、所述关系的嵌入向量和所述尾实体的嵌入向量进行融合,以得到所述知识嵌入向量:
在一个实施例中,所述文本嵌入向量可以包括文本嵌入向量本身,还可以包括以下至少之一:
句嵌入向量、所述词元对应的位置嵌入向量、任务类型嵌入向量。
在将所述文本嵌入向量本身和所述知识嵌入向量融合得到知识融合向量的基础上,还可以进一步融合其他嵌入向量来得到知识融合向量。其中,其他嵌入向量可以根据训练任务确定,并不限于上述几种。例如需要进行第二预训练任务,其他嵌入向量可以包括句嵌入向量;例如需要进行第四预训练任务,其他嵌入向量可以包括任务类型嵌入向量,第四预训练任务可以是用于对训练任务类型进行分类的任务。
关于如何将文本嵌入向量和所述知识嵌入向量进行融合,以下实施例主要示例了两种融合方式,但是具体应用中,融合方式并不限于以下两种,可以根据需要选择。
在一个实施例中,所述文本嵌入向量可以包括文本嵌入向量本身以及以下至少之一:
句嵌入向量、所述词元对应的位置嵌入向量、任务类型嵌入向量。
图9是根据本公开的实施例示出的又一种自然语言处理模型的训练方法的示意流程图。如图9所示,所述将所述样本文本和所述样本文本中的三元组进行融合包括:
在步骤S901中,通过特征提取层对所述文本嵌入向量进行特征提取得到文本特征向量;
在步骤S902中,通过特征提取层对所述知识嵌入向量进行特征提取得到知识特征向量(步骤S902与步骤S901的执行顺序不分先后,可以根据需要设置,例如并列执行);
在步骤S903中,将所述文本特征向量和所述知识特征向量进行融合,以得到所述知识融合向量。
在一个实施例中,可以通过至少一个特征提取层对所述文本嵌入向量进行特征提取得到文本特征向量。例如特对于文本嵌入向量,可以通过特征提取层A进行特征提取得到文本特征向量。
对于知识嵌入向量,则可以通过特征提取层B进行特征提取得到知识特征向量。
最后可以将文本特征向量和知识特征向量进行融合来得到知识融合向量。
在一个实施例中,所述将所述文本特征向量和所述知识特征向量进行融合包括:
通过多层神经网络(Multi-Layer Perceptron,MLP)层对所述文本特征向量和所述知识特征向量进行融合。
在一个实施例中,所述知识嵌入向量包括以下至少之一:
属于所述三元组的实体的嵌入向量;
属于所述三元组的关系的嵌入向量。
也即,对于知识嵌入向量,通过特征提取层B可以仅对三元组中实体的嵌入向量进行特征提取得到知识特征向量,也可以仅对三元组中关系的嵌入向量进行特征提取得到知识特征向量,还可以对三元组中的实体和关系的嵌入向量一起进行特征提取得到知识特征向量。可以理解的是,特征提取层A和特征提取层B可以有一个或者多个。
图10是根据本公开的实施例示出的另一种融合过程与自然语言处理模型的关系示意图。
如图10所示,一方面可以确定样本文本对应的文本嵌入向量;另一方面可以在样本文本中确定三元组,进而对于三元组,可以确定三元组在知识图谱中对应的知识嵌入向量。
接下来,一方面可以将文本嵌入向量输入特征提取层A得到提取结果作为文本特征向量;另一方面可以将知识嵌入向量输入特征提取层B得到知识特征向量。
最后可以通过多层神经网络MLP层将文本特征向量和知识特征向量进行融合得到知识融合向量,并将知识融合向量作为样本输入自然语言处理模型进行训练。
可以理解的是,特征提取层A和B的选择与自然语言处理模型有关,即融合过程中的特征提取层与自然语言处理模型中的特征提取层相同,从而能够保证自然语言处理模型直接对知识融合向量进行计算。
图11是根据本公开的实施例示出的又一种自然语言处理模型的训练方法的示意流程图。如图11所示,所述将所述样本文本和所述样本文本中的三元组进行融合包括:
在步骤S1101中,根据知识融合模型对所述文本嵌入向量和所述知识嵌入向量进行融合,所述知识融合模型包括:
在本公开的实施例中,Wt和We分别为文本嵌入向量的权重和知识嵌入向量的权重,可将其作为参数进行训练,通过Wt和We的设置,可以起到滤波器的效果,降低干扰或无用词元和知识对融合结果的影响。
图12A是根据本公开的实施例示出的又一种融合过程与自然语言处理模型的关系示意图。
如图12A所示,可以确定所述样本文本中的三元组,所述三元组包括所述样本文本中的两个实体和所述两个实体之间的关系,进而可以确定三元组对应的知识嵌入向量,然后将知识嵌入向量和文本嵌入向量融合得到知识融合向量,最后可以将知识融合向量作为样本输入自然语言处理模型。
如图12A所示,一方面可以确定样本文本对应的文本嵌入向量;另一方面可以在样本文本中确定三元组,进而对于三元组,可以确定三元组在知识图谱中对应的知识嵌入向量。
图12B是根据本公开的实施例示出的一种特征提取的计算过程示意图。
所述自然语言处理模型包括至少一个特征提取层,特征提取层用于:
对所述知识融合向量进行线性变换,得到包括第一知识融合矩阵和第二知识融合矩阵的至少两个知识融合矩阵;
根据所述第一知识融合矩阵确定关联矩阵,所述关联矩阵用于表征所述样本文本中至少一个实体与所述样本文本中各词元之间的关联关系信息;
根据所述第二知识融合矩阵和所述关联矩阵确定权重矩阵,所述权重矩阵用于表征所述至少一个实体与所述样本文本之间的权重信息。
进一步地,知识融合向量进行线性变换还可以得到第三知识融合矩阵,根据第一融合矩阵和第三融合矩阵确定关联矩阵。
如图12B所示,从计算过程角度来说,特征提取层的功能可以描述为:
对知识嵌入向量与训练矩阵相乘,得到第一词向量矩阵、第二词向量矩阵和第三词向量矩阵;
将第一词向量矩阵和第二词向量矩阵(转置)相乘,得到第四词向量矩阵;
对第四词向量矩阵进行归一化处理得到第五词向量矩阵;
基于第五词向量矩阵对第三词向量矩阵进行加权求和,得到第六词向量矩阵。
可以理解的是,基于图12B的实施例,第一词向量矩阵即为第一知识融合矩阵,第三词向量矩阵即为第二知识融合矩阵,第四词向量矩阵或者第五词向量矩阵即为关联矩阵,第六词向量矩阵即为权重矩阵。第二词向量矩阵即为第三知识融合矩阵。基于第五词向量矩阵对第三词向量矩阵进行加权求和即第五词向量矩阵与第三词向量矩阵相乘。训练矩阵即可在训练过程中不断调整参数的矩阵,知识嵌入向量与训练得到的不同参数的训练矩阵相乘,从而得到第一词向量矩阵、第二词向量矩阵和第三词向量矩阵。对于这三个词向量矩阵,都至少包括知识嵌入向量中文本信息和三元组信息(实体),因此都可以被称为知识融合矩阵。为得到表征所述样本文本中至少一个实体与所述样本文本中各词元之间的关联关系信息的关联矩阵,可以通过两个融合矩阵内积的方式(即第一词向量矩阵和第二词向量矩阵的转置相乘)也可通过协方差、欧式距离等方式进行计算,在此不作限定。通过得到的关联关系与自身融合矩阵相乘(即基于第五词向量矩阵对第三词向量矩阵进行加权求和),则可以得到各词元(包括实体)相对于整个样本文本的权重,即权重矩阵。矩阵相乘也可以是与矩阵的转置相乘,可根据实际情况进行调整,在此不作限定。
在一个实施例中,特征提取层可以有多个并行计算后将结果拼接(concat)后作为整体输入到下一层模型中,从而可以映射到不同子空间进行计算,提高模型的准确性。
在一个实施例中,所述特征提取层包括但不限于注意力层、自注意力层、多头自注意力(Multi-head self-attention)层等。在所述特征提取层包括自注意力层的情况下,所述自然语言处理模型可以是Transformer模型、TransformerXL模型、Bert模型、GPT模型等,本公开在此不作限定。
在一个实施例中,所述自然语言处理模型的维度是可变化的,维度是指输入模型的知识融合向量的维度。
在一个实施例中,所述自然语言处理模型的维度是可变化的包括:可根据预设条件调整自然语言处理模型的维度,如用户设置、硬件资源等;
在另一个实施例中,所述自然语言处理模型的维度是可变化的包括:所述自然语言处理模型包括至少两个特征提取层,例如至少包括第一特征提取层和第二特征提取层,所述第一特征提取层和第二特征提取层的维度不同。可以理解的是,所述第一特征提取层和第二特征提取层的维度不同即第一特征提取层和第二特征提取层的关联矩阵和/或权重矩阵的维度不同。
在一个实施例中,所述至少一个特征提取层包括至少包括第一特征提取层和第二特征提取层,所述第二特征提取层中的所述关联矩阵的维度相对于所述第一特征提取层中的所述权重矩阵的维度是可变化的。
在一个实施例中,第二特征提取层的维度小于第一特征提取层的维度。在自然语言处理模型的多个特征提取层进行深度学习过程中,通过逐渐减小特征提取层的维度,有利于减少参数量,提高运算效率,增强实时性能力。维度减小的次数可以是1次,也可以是2-3次,本公开在此不作限定。
在一个实施例中,第二特征提取层中的所述关联矩阵的维度小于所述第一特征提取层中的所述权重矩阵的维度。
在一个实施例中,所述至少一个特征提取层还包括至少一个第三特征提取层,所述第三特征提取层包括遮蔽矩阵,所述遮蔽矩阵用于对所述关联矩阵进行部分遮蔽。
例如第一特征提取层可以以TransfomerXL模型的形式存在;第二特征提取层可以以Transfomer模型或Bert(Bidirectional Encoder Representation fromTransformers,双向Transformer的编码器)模型的形式存在;第三特征提取层可以以Transfomer模型或GPT(Generative Pre-Training,生成预训练)模型的形式存在。
例如在所述第一特征提取层和所述第二特征提取层均为多头自注意力层时,第三特征提取层可以为掩码多头自注意力层,以下实施例主要在这种情况下进行示例。
在一个实施例中,所述第二特征提取层位于第一特征提取层之后。
在一个实施例中,第三特征提取层的维度可以小于第一特征提取层的维度,等于第二特征提取层的维度。
在一个实施例中,所述第三特征提取层位于第一特征提取层之后。
图13是根据本公开的实施例示出的一种特征提取层之间的关系示意图。图14是根据本公开的实施例示出的另一种特征提取层之间的关系示意图。
在一个实施例中,如图13所示,第三特征提取层位于第一特征提取层之后,可以是第三特征提取层位于第一层提取层之后,且位于第二特征提取层之后。
需要说明的是,在本公开的所有实施例中,一个层位于另一个层之后,是指在前的层的输出作为在后的层的输入;一个层位于另一个层之前,是指在后的层的输入包括在前的层的输出。前一层的输出可以直接作为后一层的输入,也可以通过其他计算后作为后一层的输入。
在一个实施例中,在训练任务为生成任务时,冻结所述第二特征提取层;在训练任务为语义理解任务时,冻结所述第三特征提取层。
在一个实施例中,如图14所示,第三特征提取层位于第一特征提取层之后,可以是在第二特征提取层位于第一特征提取层之后的基础上,第三特征提取层与第二特征提取层并列位于第一层提取层之后。
对于目标模型的输出,可以包括经过所有特征提取层的输出,也可以是经过部分特征提取层的输出,如只经过至少一个第一特征提取层的输出或者经过至少一个第一特征提取层和至少一个第二特征提取层的输出或者经过至少一个第一特征提取层和至少一个第三特征提取层的输出。可以理解的是,经过至少一个第一特征提取层和至少一个第二特征提取层的输出则第三特征提取层被冻结不参与训练过程;经过至少一个第一特征提取层和至少一个第三特征提取层的输出则第二特征提取层被冻结,不参与训练过程。
在一个实施例中,在训练任务为生成任务时,冻结所述第二特征提取层;在训练任务为语义理解任务时,冻结所述第三特征提取层。其中,训练任务可以包括上述预训练任务(预训练任务除了可以包括上述三个预训练任务,还可以包括生成任务),也可以包括后续微调任务。例如上述第一预训练任务、第二预训练任务和第三预训练任务可以视作语义理解任务,因此,还可以构建第五预训练任务,可以用于根据已输入的文被生成将要输入的内容的预测任务,将第五预训练任务视作生成任务。
第三特征提取层中可以设置有遮蔽矩阵,用于实现预测任务,在这种情况下,第二特征提取层可以用于语义理解,而第三特征提取层则可以用于预测下文内容,例如根据已输入的文字预测将要输入的文字并生成将要输入的文字。
因此,在训练任务为生成任务时,基于第三特征提取层即可实现,所以可以冻结第二特征提取层;在训练任务为语义理解任务时,基于第二特征提取层即可实现,所以可以冻结第三特征提取层。据此,有利于简化训练过程。
在一个实施例中,所述第一特征提取层和所述第二特征提取层之间还包括第一维度转换层,用于将第一特征提取层获得的权重矩阵进行维度变化,获得维度变化后的输出矩阵作为第二特征提取层的输入,从而实现特征提取层之间的维度变化。
由于第一特征提取层和第二特征提取层的维度可以不同,例如第一特征提取层的维度大于第二特征提取层的维度,例如第一特征提取的维度为4096,第二特征提取层的维度为768。
为了将第一特征提取层的输出输入到第二特征提取层,首先需要将第一特征提取层的输出的维度,转换第二特征提取层的维度,因此,可以在第一特征提取层和第二特征提取层之间设置第一维度转换层,从而将第一特征提取层获得的权重矩阵进行维度变化,获得降维后的输出矩阵作为第二特征提取层的输入。
例如在进行第一特征提取层的维度为4096,第二特征提取层的维度为768时,维度转换具体可以是降维。
在一个实施例中,第一维度转换层可以由至少一个维度转换单元构成,维度转换单元包括线性层Liner Layer。
例如对于一个维度转换单元而言,第一特征提取层的输出包括输出嵌入向量,输出嵌入向量输入到线性层,线性层对第一特征提取层的输出进行降维处理,可以调整第一特征提取层的输出的维度,进而将降维后的第一特征提取层的输出输入下一个特征提取层,例如输入第二特征提取层和/或第三特征提取层。
在一个实施例中,经过多个维度转换单元中线性层的处理,可以将第一特征提取层的输出逐渐降维到与第二特征提取层相同的维度。
图15是根据本公开的实施例示出的一种维度转换的示意图。
在一个实施例中,如图15所示,所述第一特征提取层和所述第三特征提取层之间还包括第二维度转换层,用于将第一特征提取层获得的权重矩阵进行维度变化,获得降维后的输出矩阵作为第三特征提取层的输入。需要说明的是,第一维度转换层和第二维度转换层可以如图15所示为不同的维度转换层,也可以根据需要设置为同一个维度转换层。
在一个实施例中,第三特征特区层的维度可以与第二特征提取层的维度相同,例如也为768。由于为了将第一特征提取层的输出输入到第三特征提取层,首先需要将第一特征提取层的输出的维度,转换第三特征提取层的维度,因此,可以在第一特征提取层和第三特征提取层之间设置第二维度转换层,从而将第一特征提取层获得的权重矩阵进行维度变化,获得降维后的输出矩阵作为第三特征提取层的输入。
关于第二维度转换层的原理,与第一维度转换层类似,此处不再赘述。
图16是根据本公开的实施例示出的另一种维度转换的示意图。
在一个实施例中,如图16所示,在所述第二特征提取层和所述第三特征提取层之前还包括拆分层,用于将所述第一特征提取层的输出拆分为三元组信息和文本信息;
其中,所述第一维度转换层用于将第一特征提取层获得的权重矩阵进行维度变化,获得降维后的输出矩阵作为第二特征提取层的输入,或者用于将所述三元组信息进行维度变化,获得降维后的矩阵作为第二特征提取层的输入;
所述第一特征提取层和所述第三特征提取层之间还包括第二维度转换层,用于将第一特征提取层获得的权重矩阵进行维度变化,获得降维后的输出矩阵作为第三特征提取层的输入,或者用于将所述文本信息进行维度变化,获得降维后的矩阵作为第三特征提取层的输入。
在一个实施例中,由于第一特征提取层的输入包括知识融合向量,而知识融合向量是通过融合样本文本对应的文本嵌入向量和三元组对应的知识嵌入向量得到的,所以第一特征提取层的输出,也会包含与知识嵌入向量相关的三元组信息和与文本嵌入向量相关的文本信息。
另外,基于前述实施例可知,第二特征提取层主要用于语义理解任务,第三特征提取层主要用于生成任务。由于语义理解任务主要关注文本中的词元和词元之间的关系,因此通过三元组信息可以相对准确地表达,而生成任务则主要关注文本中词元本身,对于词元之间的关系关注度较低,因此通过文本信息即可相对准确地表达。
因此,对于第二特征提取层,可以仅将三元组信息作为输入,所以第一维度转换层,可以仅对三元组信息进行维度转换后输入到第二特征提取层;对于第三特征提取层,可以仅将文本信息作为输入,所以第二维度转换层,可以仅对文本信息进行维度转换后输入到第三特征提取层。通过拆分层的设置,可以减少冗余数据,进一步提高计算效率。
在一个实施例中,将所述样本文本中的三元组***所述样本文本,以得到所述知识融合向量之后,可以标记三元组对应***文本后的位置,在经过第一特征提取层后得到输出向量矩阵后,拆分层可根据针对三元组标记的位置,将输出向量矩阵中三元组信息(例如三元组)和文本信息对应的矩阵信息拆分,从而生成三元组信息矩阵和样本文本信息矩阵。
当然,也可以通过第一维度转换层将文本信息和三元组信息一起进行维度转换后输入到第二特征提取层,也可以通过第二维度转换层将文本信息和三元组信息一起进行维度转换后输入到第三特征提取层。
在一个实施例中,在所述自然语言处理模型包括第一特征提取层、第二特征提取层和第三特征提取层的情况下,所述自然语言处理模型还可以包括残差网络、前馈神经网络层等。
图17A是根据本公开的实施例示出的一种自然语言处理模型的部分结构示意图。
在一个实施例中,如图17A所示,所述自然语言处理模型包括:
所述第一特征提取层、第一残差网络(具体计算过程包括叠加和归一化(Add&Norm))层,其中,所述第一特征提取层的输入包括所述知识融合向量,所述第一残差网络的输入包括所述知识融合向量以及所述特征提取层的输出;
所述自然语言处理模型还包括:
第一前馈神经网络(Feed Forward)层、第二残差网络,其中,所述第一前馈神经网络层输入包括所述第一模块的输出,所述第二残差网络的输入包括所述第一前馈神经网络层的输出以及所述第一模块的输出。
在一个实施例中,还可以确定样本文本中词元的位置编码Positional Encoding,然后将所述位置编码特征和所述知识融合向量叠加后输入第一特征提取层。
在另一个实施例中,输入第一特征提取层的知识融合向量可以不包括位置编码,而在第一特征提取层中设置顺序编码矩阵进行位置信息的补充。该顺序编码矩阵由上三角矩阵和下三角矩阵组成,所述上三角矩阵与所述下三角矩阵不同,且所述顺序编码矩阵的任何一个元素值均不为0。在一个实施例中,顺序编码矩阵的上三角矩阵的各元素值相同,下三角矩阵的各元素值相同。进一步的,上三角矩阵的各元素值可以是1或-1,下三角矩阵的各元素值可以是-1或1。顺序编码矩阵可以位于关联矩阵和权重矩阵之间(可以起到位置编码Positional Encoding的作用),如关联矩阵与顺序编码矩阵相乘,从而获取到位置信息。顺序编码矩阵通过上三角和下三角矩阵,可以让模型学习到样本文本的相对位置信息,让模型学习到至少一个实体与所述样本文本之间的顺序关系信息,从而提高模型训练的效果。
图17B是根据本公开的实施例示出的一种第一特征提取层的计算过程示意图。
如图17B所示,从计算过程角度来说,第一特征提取层的功能可以描述为:
对知识嵌入向量与训练矩阵相乘,得到第一词向量矩阵、第二词向量矩阵和第三词向量矩阵;
将第一词向量矩阵和第二词向量矩阵相乘,得到第四词向量矩阵;
通过顺序编码矩阵对第四词向量矩阵进行编码,得到第五词向量矩阵;
对第五词向量矩阵进行掩码处理(paddingmask)得到第六词向量矩阵;
对第六词向量矩阵进行归一化处理得到第七词向量矩阵;
基于第七词向量矩阵对第三词向量矩阵进行加权求和,得到第八词向量矩阵。
在一个实施例中,所述第一特征提取层在接收到所述知识融合向量后,可以重复多次第一特征提取层、第一残差网络和第一前馈网络以及第二残差网络的功能后,再输出结果。
图18是根据本公开的实施例示出的一种自然语言处理模型的另一部分结构示意图。图19是根据本公开的实施例示出的一种自然语言处理模型的又一部分结构示意图。
在一个实施例中,如图18所示,所述自然语言处理模型还包括:
所述第二特征提取层、第三残差网络,其中,所述第二特征提取层的输入包括所述第二残差网络的输出,所述第三残差网络的输入包括所述第二残差网络的输出以及所述第三特征提取层的输出;
第二前馈神经网络层、第四残差网络,其中,所述第二前馈神经网络层输入包括所述第三残差网络的输出,所述第四残差网络的输入包括所述第二前馈神经网络层的输出以及所述第三残差网络的输出。
在一个实施例中,还可以确定样本文本中词元的位置编码Positional Encoding,然后将所述位置编码特征和所述第一特征提取层的输出叠加后得到的叠加嵌入向量输入第一子模型。
在一个实施例中,所述第一子模型在接收到所述知识融合向量后,可以重复多次第二特征提取层、第三残差网络和第二前馈神经网络层、第四残差网络的功能后,再输出结果。
在一个实施例中,如图19所示,所述自然语言处理模型还包括:
所述第三特征提取层、第五残差网络,其中,所述第三特征提取层的输入包括所述第二残差网络的输出,所述第五残差网络的输入包括所述第二残差网络的输出以及所述第三特征提取层的输出;
第三前馈神经网络层、第六残差网络,其中,所述第三前馈神经网络层输入包括所述第五残差网络的输出,所述第六残差网络的输入包括所述第三前馈神经网络层的输出以及所述第五残差网络的输出。
在一个实施例中,还可以确定样本文本中词元的位置编码Positional Encoding,然后将所述位置编码特征和所述第一特征提取层的输出叠加后得到的叠加嵌入向量输入第二子模型。
在一个实施例中,所述第二子模型在接收到所述知识融合向量后,可以重复多次第三特征提取层、第五残差网络和第三前馈神经网络层、第六残差网络的功能后,再输出结果。
在一个实施例中,在训练任务为生成任务时,冻结所述第二特征提取层;在训练任务为语义理解任务时,冻结所述第三特征提取层,具体可以是指:
在训练任务为生成任务时冻结所述第一子模型,在训练任务为语义理解任务时冻结所述第二子模型。
本公开实施例提供的目标处理模型的训练方法,涉及自然语言文本的处理,具体可以应用于数据训练、机器学习、深度学习等数据处理方法,对训练数据(如本公开中的样本文本和初始知识融合向量)进行符号化和形式化的智能信息建模、抽取、预处理、训练等,最终得到训练好的目标处理模型;
并且,本公开实施例提供的文本处理的方法可以运用上述训练好的目标处理模型,将输入数据(如本公开中待处理文本)输入到所述训练好的目标处理模型中,得到输出数据(如本公开中与目标任务对应的处理结果)。
需要说明的是,本公开实施例提供的目标处理模型的训练方法和文本处理的方法是基于同一个构思产生的发明,也可以理解为一个***中的两个部分,或一个整体流程的两个阶段:如模型训练阶段和模型应用阶段。
本公开的实施例还提出了一种文本处理方法,包括:
获取目标文本;
确定所述目标文本中的三元组,所述三元组包括所述目标文本中的两个实体和所述两个实体之间的关系;
基于所述三元组对所述目标文本进行处理以得到知识融合向量;
将所述知识融合向量输入目标模型,以得到对所述目标文本处理的处理结果;
其中,所述目标模型包括至少一个特征提取层,所述特征提取层用于:
对所述知识融合向量进行线性变换,得到包括第一知识融合矩阵和第二知识融合矩阵的至少两个知识融合矩阵;
根据所述第一知识融合矩阵确定关联矩阵,所述关联矩阵用于表征所述目标文本中至少一个实体与所述目标文本中各词元之间的关联关系信息;
根据所述第二知识融合矩阵和所述关联矩阵确定权重矩阵,所述权重矩阵用于表征所述至少一个实体与所述目标文本之间的权重信息。
处理结果包括以下信息中的至少一种:所述文本数据的译文信息、所述文本数据的答复信息、所述文本数据的分类信息或者所述文本数据与其他参考文本数据之间的关联关系信息。
在一个实施例中,所述至少一个特征提取层包括至少包括第一特征提取层和第二特征提取层,所述第二特征提取层中的所述关联矩阵的维度相对于所述第一特征提取层中的所述权重矩阵的维度是可变化的。
在一个实施例中,所述至少一个特征提取层还包括至少一个第三特征提取层,所述第三特征提取层包括遮蔽矩阵,所述遮蔽矩阵用于对所述关联矩阵进行部分遮蔽。
在一个实施例中,在所述第二特征提取层和所述第三特征提取层之前还包括拆分层,用于将所述第一特征提取层的输出拆分为三元组信息和文本信息;
其中,所述第一维度转换层用于将第一特征提取层获得的权重矩阵进行维度变化,获得降维后的输出矩阵作为第二特征提取层的输入,或者用于将所述三元组信息进行维度变化,获得降维后的矩阵作为第二特征提取层的输入;
所述第一特征提取层和所述第三特征提取层之间还包括第二维度转换层,用于将第一特征提取层获得的权重矩阵进行维度变化,获得降维后的输出矩阵作为第三特征提取层的输入,或者用于将所述文本信息进行维度变化,获得降维后的矩阵作为第三特征提取层的输入。
在一个实施例中,所述基于所述三元组对所述目标文本进行处理以得到知识融合向量包括:
将所述目标文本中的三元组***所述目标文本,以得到所述知识融合向量。
在一个实施例中,所述基于所述三元组对所述目标文本进行处理以得到知识融合向量包括:
确定所述目标文本对应的文本嵌入向量;
确定所述三元组对应的知识嵌入向量;
将文本嵌入向量和所述知识嵌入向量进行融合,以得到所述知识融合向量。
在一个实施例中,所述目标模型包括微调模型,所述微调模型包括以下至少之一:
卷积神经网络模型CNN;
循环神经网络模型RNN;
门控制循环单元模型GRU;
全连接层FC;
长短期记忆模型LSTM。
本公开的实施例还提出了一种文本处理装置,包括处理器,所述处理器被配置为:
获取目标文本;
确定所述目标文本中的三元组,所述三元组包括所述目标文本中的两个实体和所述两个实体之间的关系;
基于所述三元组对所述目标文本进行处理以得到知识融合向量;
将所述知识融合向量输入目标模型以得到对所述目标文本处理的处理结果;
其中,所述目标模型包括至少一个特征提取层,所述特征提取层用于:
对所述知识融合向量进行线性变换,得到包括第一知识融合矩阵和第二知识融合矩阵的至少两个知识融合矩阵;
根据所述第一知识融合矩阵确定关联矩阵,所述关联矩阵用于表征所述目标文本中至少一个实体与所述目标文本中各词元之间的关联关系信息;
根据所述第二知识融合矩阵和所述关联矩阵确定权重矩阵,所述权重矩阵用于表征所述至少一个实体与所述目标文本之间的权重信息。
在一个实施例中,所述装置包括但不限于终端、服务器,所述终端包括但不限于手机、平板电脑、可穿戴设备、个人计算机、物联网设备等电子设备,所述服务器包括但不限于本地服务器、云端服务器。
在一个实施例中,所述处理器被配置为将所述目标文本和所述目标文本中的三元组进行融合以得到知识融合向量。
在一个实施例中,所述处理器被配置为将所述目标文本中的三元组***所述目标文本,以得到所述知识融合向量。
在一个实施例中,所述处理器被配置为确定所述目标文本对应的文本嵌入向量;确定所述三元组对应的知识嵌入向量;将文本嵌入向量和所述知识嵌入向量进行融合,以得到所述知识融合向量。
在一个实施例中,所述目标模型包括至少一个特征提取层,所述特征提取层用于:
对所述知识融合向量进行线性变换,得到包括第一知识融合矩阵和第二知识融合矩阵的至少两个知识融合矩阵;
根据所述第一知识融合矩阵确定关联矩阵,所述关联矩阵用于表征所述目标文本中至少一个实体与所述目标文本之间的关联关系信息;
根据所述第二知识融合矩阵和所述关联矩阵确定权重矩阵,所述权重矩阵用于表征所述至少一个实体与所述目标文本之间的权重信息。
在一个实施例中,所述至少一个特征提取层包括至少包括第一特征提取层和第二特征提取层,所述第二特征提取层中的所述关联矩阵的维度相对于所述第一特征提取层中的所述权重矩阵的维度是可变化的。
在一个实施例中,所述至少一个特征提取层还包括至少一个第三特征提取层,所述第三特征提取层包括遮蔽矩阵,所述遮蔽矩阵用于对所述关联矩阵进行部分遮蔽。
所述装置基于上述实施例所述的方法训练得到所述目标模型后可以存储所述目标模型,进而后续可以针对输入的目标文本进行处理,例如针对目标文本进行的处理,包括但不限于以下至少之一:
语义理解,例如可以生成目标文本的语义;
翻译,例如可以生成目标文本在其他语种中对应的内容;
预测生成,例如可以预测目标文本之后将要出现的内容,并显示预测的内容;
语序调整,例如可以将目标文本的语序调整为正确语序。
在一个实施例中,在得到目标模型的基础上,还可以进一步训练微调模型,通过目标模型和微调模型得到整体模型,整体模型的输出包括以下信息中的至少一种:文本数据的译文信息、文本数据的答复信息、文本数据的分类信息(例如,情感分类等)或者文本数据与其他参考文本数据之间的关联关系信息。其中,可以通过训练不同的微调模型,使得整体模型输出不同的信息。
在一个实施例中,还包括:
交互模块,用于根据用户操作确定是否基于知识图谱得到所述目标文本中的三元组;
其中,在确定基于知识图谱得到所述目标文本中的三元组时,确定所述目标文本在知识图谱中对应的三元组;
在确定不基于知识图谱得到所述目标文本中的三元组时,确定所述目标文本中的三元组。
图20是根据本公开的实施例示出的一种交互示意图。
如图20所示,例如交互模块包括集成了触控功能的屏幕,在屏幕中显示有输入区域和输出区域,用户可以在输入区域输入目标文本,目标文本经过目标模型处理后,可以在输出区域显示处理结果。
在一个实施例中,所述交互模块还用于显示所述目标文本在知识图谱中对应的三元组;以及根据用户的操作调整所显示的三元组,将调整后的三元组作为所述目标文本在知识图谱中对应的三元组。
在一个实施例中,所述交互模块还用于在确定基于知识图谱训练所述得到所述目标模型时,接收用户输入的三元组作为所述目标文本在知识图谱中对应的三元组。也即用户可以直接根据需要输入三元组作为目标文本在知识图谱中对应的三元组。
在一个实施例中,交互模块还可以显示所确定的三元组,用户可以自主确定三元组是否合理,如果不合理,用户可以对所显示的三元组进行调整,交互模块将调整后的三元组作为所述目标文本在知识图谱中对应的三元组。
在一个实施例中,所述交互模块还用于根据用户操作选择所述目标模型,其中,所述目标模型包括以下至少之一:
CNN、RNN、GRU、LSTM、Transformer、Transformer-XL。
在一个实施例中,在所述目标模型包括Transformer和/或Transformer-XL时,所述交互模块还用于根据用户操作确定微调模型。
在一个实施例中,在所述目标模型包括Transformer和/或Transformer-XL时,所述交互模块还用于根据用户操作确定微调模型。
在自然语言处理模型包括Transformer和/或Transformer-XL时,训练自然语言处理模型的过程主要是预训练,后续还可以根据具体的任务添加微调模型进行训练。在这种情况下,用户可以在交互模块上进行操作,来选择微调模型的类型,例如可以在下拉菜单中显示几种微调模型的类型,用户可以选择其中之一进行训练。
在一个实施例中,所述微调模型包括以下至少之一:
CNN、RNN、GRU、LSTM。
本公开的实施例还提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述自然语言处理模型的训练方法中的步骤,和/或上述任一实施例所述文本处理方法中的步骤。
图21是根据本公开的实施例示出的一种用于自然语言处理模型训练的装置2100的示意框图。例如,装置2100可以是终端,例如移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等;也可以是服务器。
参照图21,装置2100可以包括以下一个或多个组件:处理组件2102,存储器2104,电源组件2106,多媒体组件2108,音频组件2110,输入/输出(I/O)的接口2112,传感器组件2114,以及通信组件2116。
处理组件2102通常控制装置2100的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件2102可以包括一个或多个处理器2120来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件2102可以包括一个或多个模块,便于处理组件2102和其他组件之间的交互。例如,处理组件2102可以包括多媒体模块,以方便多媒体组件2108和处理组件2102之间的交互。
存储器2104被配置为存储各种类型的数据以支持在装置2100的操作。这些数据的示例包括用于在装置2100上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器2104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件2106为装置2100的各种组件提供电力。电源组件2106可以包括电源管理***,一个或多个电源,及其他与为装置2100生成、管理和分配电力相关联的组件。
多媒体组件2108包括在所述装置2100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件2108包括一个前置摄像头和/或后置摄像头。当装置2100处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件2110被配置为输出和/或输入音频信号。例如,音频组件2110包括一个麦克风(MIC),当装置2100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器2104或经由通信组件2116发送。在一些实施例中,音频组件2110还包括一个扬声器,用于输出音频信号。
I/O接口2112为处理组件2102和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件2114包括一个或多个传感器,用于为装置2100提供各个方面的状态评估。例如,传感器组件2114可以检测到装置2100的打开/关闭状态,组件的相对定位,例如所述组件为装置2100的显示器和小键盘,传感器组件2114还可以检测装置2100或装置2100一个组件的位置改变,用户与装置2100接触的存在或不存在,装置2100方位或加速/减速和装置2100的温度变化。传感器组件2114可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件2114还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件2114还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件2116被配置为便于装置2100和其他设备之间有线或无线方式的通信。装置2100可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G LTE、5G NR或它们的组合。在一个示例性实施例中,通信组件2116经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件2116还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置2100可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器2104,上述指令可由装置2100的处理器2120执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本公开实施例所提供的方法和装置进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。
Claims (34)
1.一种自然语言处理模型的训练方法,其特征在于,包括:
获取样本文本;
确定所述样本文本中的三元组,所述三元组包括所述样本文本中的两个实体和所述两个实体之间的关系;
基于所述三元组对所述样本文本进行处理以得到知识融合向量;
将所述知识融合向量输入自然语言处理模型进行训练得到目标模型;
其中,所述自然语言处理模型包括至少一个特征提取层,所述特征提取层用于:
对所述知识融合向量进行线性变换,得到包括第一知识融合矩阵和第二知识融合矩阵的至少两个知识融合矩阵;
根据所述第一知识融合矩阵确定关联矩阵,所述关联矩阵用于表征所述样本文本中至少一个实体与所述样本文本中各词元之间的关联关系信息;
根据所述第二知识融合矩阵和所述关联矩阵确定权重矩阵,所述权重矩阵用于表征所述至少一个实体与所述样本文本之间的权重信息;
所述基于所述三元组对所述样本文本进行处理以得到知识融合向量包括:
将所述样本文本和所述样本文本中的三元组进行融合以得到知识融合向量;
所述将所述样本文本和所述样本文本中的三元组进行融合以得到知识融合向量包括:
将所述样本文本中的三元组***所述样本文本,以得到所述知识融合向量;
或者,所述将所述样本文本和所述样本文本中的三元组进行融合以得到知识融合向量包括:
确定所述样本文本对应的文本嵌入向量;
确定所述三元组对应的知识嵌入向量;
将文本嵌入向量和所述知识嵌入向量进行融合,以得到所述知识融合向量。
2.根据权利要求1所述的方法,其特征在于,所述至少一个特征提取层包括至少包括第一特征提取层和第二特征提取层,所述第二特征提取层中的所述关联矩阵的维度相对于所述第一特征提取层中的所述权重矩阵的维度是可变化的。
3.根据权利要求2所述的方法,其特征在于,第二特征提取层中的所述关联矩阵的维度小于所述第一特征提取层中的所述权重矩阵的维度。
4.根据权利要求2所述的方法,其特征在于,所述至少一个特征提取层还包括至少一个第三特征提取层,所述第三特征提取层包括遮蔽矩阵,所述遮蔽矩阵用于对所述关联矩阵进行部分遮蔽。
5.根据权利要求4所述的方法,其特征在于,所述第三特征提取层位于第一特征提取层之后。
6.根据权利要求5所述的方法,其特征在于,在训练任务为生成任务时,冻结所述第二特征提取层;在训练任务为语义理解任务时,冻结所述第三特征提取层。
7.根据权利要求5所述的方法,其特征在于,所述第一特征提取层和所述第二特征提取层之间还包括第一维度转换层,用于将第一特征提取层获得的权重矩阵进行维度变化,获得维度变化后的输出矩阵作为第二特征提取层的输入,从而实现特征提取层之间的维度变化。
8.根据权利要求7所述的方法,其特征在于,在所述第二特征提取层和所述第三特征提取层之前还包括拆分层,用于将所述第一特征提取层的输出拆分为三元组信息和文本信息;
其中,所述第一维度转换层用于将第一特征提取层获得的权重矩阵进行维度变化,获得降维后的输出矩阵作为第二特征提取层的输入,或者用于将所述三元组信息进行维度变化,获得降维后的矩阵作为第二特征提取层的输入;
所述第一特征提取层和所述第三特征提取层之间还包括第二维度转换层,用于将第一特征提取层获得的权重矩阵进行维度变化,获得降维后的输出矩阵作为第三特征提取层的输入,或者用于将所述文本信息进行维度变化,获得降维后的矩阵作为第三特征提取层的输入。
9.根据权利要求1所述的方法,其特征在于,所述三元组包括以下至少一项:
头实体、关系、尾实体。
11.根据权利要求1所述的方法,其特征在于,所述文本嵌入向量包括文本嵌入向量本身以及以下至少之一:
句嵌入向量、所述词元对应的位置嵌入向量、任务类型嵌入向量。
12.根据权利要求1所述的方法,其特征在于,所述知识嵌入向量包括以下至少之一:
属于所述三元组的实体的嵌入向量;
属于所述三元组的关系的嵌入向量。
13.根据权利要求1所述的方法,其特征在于,所述将所述样本文本和所述样本文本中的三元组进行融合包括:
通过特征提取层对所述文本嵌入向量进行特征提取得到文本特征向量;
通过特征提取层对所述知识嵌入向量进行特征提取得到知识特征向量;
将所述文本特征向量和所述知识特征向量进行融合,以得到所述知识融合向量。
14.根据权利要求13所述的方法,其特征在于,所述将所述文本特征向量和所述知识特征向量进行融合包括:
通过多层神经网络层对所述文本特征向量和所述知识特征向量进行融合。
17.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据目标训练任务确定目标样本集;
根据所述目标样本集训练整体模型,其中,所述整体模型包括所述目标模型以及微调模型。
18.根据权利要求17所述的方法,其特征在于,所述微调模型包括以下至少之一:
卷积神经网络模型CNN;
循环神经网络模型RNN;
门控制循环单元模型GRU;
全连接层FC;
长短期记忆模型LSTM。
19.根据权利要求1所述的方法,其特征在于,所述方法还包括:
执行至少一轮以下步骤:
根据预设顺序选择并叠加预训练任务,每选择一次预训练任务后,根据叠加的预训练任务训练所述自然语言处理模型。
20.根据权利要求1所述的方法,其特征在于,所述方法还包括:
随机选择并叠加预训练任务,每选择一次预训练任务后,根据叠加的预训练任务训练所述自然语言处理模型,对所述自然语言处理模型进行训练的学习率与每次训练输入所述自然语言处理模型的样本的数量正相关。
21.一种文本处理方法,其特征在于,包括:
获取目标文本;
确定所述目标文本中的三元组,所述三元组包括所述目标文本中的两个实体和所述两个实体之间的关系;
基于所述三元组对所述目标文本进行处理以得到知识融合向量;
将所述知识融合向量输入目标模型,以得到对所述目标文本处理的处理结果;
其中,所述目标模型包括至少一个特征提取层,所述特征提取层用于:
对所述知识融合向量进行线性变换,得到包括第一知识融合矩阵和第二知识融合矩阵的至少两个知识融合矩阵;
根据所述第一知识融合矩阵确定关联矩阵,所述关联矩阵用于表征所述目标文本中至少一个实体与所述目标文本中各词元之间的关联关系信息;
根据所述第二知识融合矩阵和所述关联矩阵确定权重矩阵,所述权重矩阵用于表征所述至少一个实体与所述目标文本之间的权重信息;
其中,所述基于所述三元组对所述目标文本进行处理以得到知识融合向量包括:
将所述目标文本中的三元组***所述目标文本,以得到所述知识融合向量;
或者,所述基于所述三元组对所述目标文本进行处理以得到知识融合向量包括:
确定所述目标文本对应的文本嵌入向量;
确定所述三元组对应的知识嵌入向量;
将文本嵌入向量和所述知识嵌入向量进行融合,以得到所述知识融合向量。
22.根据权利要求21所述的方法,其特征在于,所述至少一个特征提取层包括至少包括第一特征提取层和第二特征提取层,所述第二特征提取层中的所述关联矩阵的维度相对于所述第一特征提取层中的所述权重矩阵的维度是可变化的。
23.根据权利要求22所述的方法,其特征在于,所述至少一个特征提取层还包括至少一个第三特征提取层,所述第三特征提取层包括遮蔽矩阵,所述遮蔽矩阵用于对所述关联矩阵进行部分遮蔽。
24.根据权利要求23所述的方法,其特征在于,所述第一特征提取层和所述第二特征提取层之间还包括第一维度转换层,用于将第一特征提取层获得的权重矩阵进行维度变化,获得维度变化后的输出矩阵作为第二特征提取层的输入,从而实现特征提取层之间的维度变化。
25.根据权利要求24所述的方法,其特征在于,在所述第二特征提取层和所述第三特征提取层之前还包括拆分层,用于将所述第一特征提取层的输出拆分为三元组信息和文本信息;
其中,所述第一维度转换层用于将第一特征提取层获得的权重矩阵进行维度变化,获得降维后的输出矩阵作为第二特征提取层的输入,或者用于将所述三元组信息进行维度变化,获得降维后的矩阵作为第二特征提取层的输入;
所述第一特征提取层和所述第三特征提取层之间还包括第二维度转换层,用于将第一特征提取层获得的权重矩阵进行维度变化,获得降维后的输出矩阵作为第三特征提取层的输入,或者用于将所述文本信息进行维度变化,获得降维后的矩阵作为第三特征提取层的输入。
26.根据权利要求21所述的方法,其特征在于,所述目标模型包括微调模型,所述微调模型包括以下至少之一:
卷积神经网络模型CNN;
循环神经网络模型RNN;
门控制循环单元模型GRU;
全连接层FC;
长短期记忆模型LSTM。
27.一种文本处理装置,其特征在于,包括处理器,所述处理器被配置为:
获取目标文本;
确定所述目标文本中的三元组,所述三元组包括所述目标文本中的两个实体和所述两个实体之间的关系;
基于所述三元组对所述目标文本进行处理以得到知识融合向量;
将所述知识融合向量输入目标模型以得到对所述目标文本处理的处理结果;
其中,所述目标模型包括至少一个特征提取层,所述特征提取层用于:
对所述知识融合向量进行线性变换,得到包括第一知识融合矩阵和第二知识融合矩阵的至少两个知识融合矩阵;
根据所述第一知识融合矩阵确定关联矩阵,所述关联矩阵用于表征所述目标文本中至少一个实体与所述目标文本中各词元之间的关联关系信息;
根据所述第二知识融合矩阵和所述关联矩阵确定权重矩阵,所述权重矩阵用于表征所述至少一个实体与所述目标文本之间的权重信息;
其中,所述基于所述三元组对所述目标文本进行处理以得到知识融合向量包括:
将所述目标文本中的三元组***所述目标文本,以得到所述知识融合向量;
或者,所述基于所述三元组对所述目标文本进行处理以得到知识融合向量包括:
确定所述目标文本对应的文本嵌入向量;
确定所述三元组对应的知识嵌入向量;
将文本嵌入向量和所述知识嵌入向量进行融合,以得到所述知识融合向量。
28.根据权利要求27所述的装置,其特征在于,还包括:
交互模块, 用于根据用户操作确定是否基于知识图谱得到所述目标文本中的三元组;
其中,在确定基于知识图谱得到所述目标文本中的三元组时,确定所述目标文本在知识图谱中对应的三元组;
在确定不基于知识图谱得到所述目标文本中的三元组时,确定所述目标文本中的三元组。
29.根据权利要求28所述的装置,其特征在于,所述交互模块还用于显示所述目标文本在知识图谱中对应的三元组;以及
根据用户的操作调整所显示的三元组,将调整后的三元组作为所述目标文本在知识图谱中对应的三元组。
30.根据权利要求28所述的装置,其特征在于,所述交互模块还用于在确定基于知识图谱训练所述得到所述目标模型时,接收用户输入的三元组作为所述目标文本在知识图谱中对应的三元组。
31.根据权利要求28所述的装置,其特征在于,所述交互模块还用于根据用户操作选择所述目标模型,其中,所述目标模型包括以下至少之一:
CNN、RNN、GRU、LSTM、Transformer、Transformer-XL。
32.根据权利要求31所述的装置,其特征在于,在所述目标模型包括Transformer和/或Transformer-XL时,所述交互模块还用于根据用户操作确定微调模型。
33.根据权利要求32所述的装置,其特征在于,所述微调模型包括以下至少之一:
CNN、RNN、GRU、LSTM。
34.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至20所述的自然语言处理模型的训练方法和/或权利要求21至26中任一项所述文本处理方法中的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210218846.7A CN114330281B (zh) | 2022-03-08 | 2022-03-08 | 自然语言处理模型的训练方法、文本处理方法和装置 |
PCT/CN2023/080141 WO2023169431A1 (zh) | 2022-03-08 | 2023-03-07 | 自然语言处理模型的训练方法、文本处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210218846.7A CN114330281B (zh) | 2022-03-08 | 2022-03-08 | 自然语言处理模型的训练方法、文本处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114330281A CN114330281A (zh) | 2022-04-12 |
CN114330281B true CN114330281B (zh) | 2022-06-07 |
Family
ID=81033447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210218846.7A Active CN114330281B (zh) | 2022-03-08 | 2022-03-08 | 自然语言处理模型的训练方法、文本处理方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114330281B (zh) |
WO (1) | WO2023169431A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114330281B (zh) * | 2022-03-08 | 2022-06-07 | 北京京东方技术开发有限公司 | 自然语言处理模型的训练方法、文本处理方法和装置 |
CN115034202A (zh) * | 2022-04-13 | 2022-09-09 | 天津大学 | 基于增强方式融合语法信息的深度学习文本匹配方法 |
CN114780691B (zh) * | 2022-06-21 | 2022-12-02 | 安徽讯飞医疗股份有限公司 | 模型预训练及自然语言处理方法、装置、设备及存储介质 |
CN116933757B (zh) * | 2023-09-15 | 2023-12-29 | 京华信息科技股份有限公司 | 一种应用语言人工智能的文书生成方法及*** |
CN117236323B (zh) * | 2023-10-09 | 2024-03-29 | 京闽数科(北京)有限公司 | 一种基于大数据的信息处理方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339321A (zh) * | 2020-05-18 | 2020-06-26 | 中国人民解放军国防科技大学 | 知识图谱中三元组真实性检测方法和装置 |
CN112632290A (zh) * | 2020-12-21 | 2021-04-09 | 浙江大学 | 一种融合图结构和文本信息的自适应知识图谱表示学习方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8442940B1 (en) * | 2008-11-18 | 2013-05-14 | Semantic Research, Inc. | Systems and methods for pairing of a semantic network and a natural language processing information extraction system |
WO2016145480A1 (en) * | 2015-03-19 | 2016-09-22 | Semantic Technologies Pty Ltd | Semantic knowledge base |
CN110008842A (zh) * | 2019-03-09 | 2019-07-12 | 同济大学 | 一种基于深度多损失融合模型的行人重识别方法 |
CN110263324B (zh) * | 2019-05-16 | 2021-02-12 | 华为技术有限公司 | 文本处理方法、模型训练方法和装置 |
CN113254667A (zh) * | 2021-06-07 | 2021-08-13 | 成都工物科云科技有限公司 | 基于深度学习模型的科技人物知识图谱构建方法、装置及终端 |
CN113486189A (zh) * | 2021-06-08 | 2021-10-08 | 广州数说故事信息科技有限公司 | 一种开放性知识图谱挖掘方法及*** |
CN114330281B (zh) * | 2022-03-08 | 2022-06-07 | 北京京东方技术开发有限公司 | 自然语言处理模型的训练方法、文本处理方法和装置 |
-
2022
- 2022-03-08 CN CN202210218846.7A patent/CN114330281B/zh active Active
-
2023
- 2023-03-07 WO PCT/CN2023/080141 patent/WO2023169431A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339321A (zh) * | 2020-05-18 | 2020-06-26 | 中国人民解放军国防科技大学 | 知识图谱中三元组真实性检测方法和装置 |
CN112632290A (zh) * | 2020-12-21 | 2021-04-09 | 浙江大学 | 一种融合图结构和文本信息的自适应知识图谱表示学习方法 |
Non-Patent Citations (1)
Title |
---|
面向细粒度草图检索的对抗训练三元组网络;陈健等;《软件学报》;20200715(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114330281A (zh) | 2022-04-12 |
WO2023169431A1 (zh) | 2023-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114330281B (zh) | 自然语言处理模型的训练方法、文本处理方法和装置 | |
EP4024232A1 (en) | Text processing model training method, and text processing method and apparatus | |
CN110263324B (zh) | 文本处理方法、模型训练方法和装置 | |
US11586810B2 (en) | Generating responses in automated chatting | |
US11769018B2 (en) | System and method for temporal attention behavioral analysis of multi-modal conversations in a question and answer system | |
WO2018195875A1 (en) | Generating question-answer pairs for automated chatting | |
WO2023168601A1 (zh) | 自然语言处理模型的训练方法、装置、存储介质 | |
US20230077849A1 (en) | Content recognition method and apparatus, computer device, and storage medium | |
Erdem et al. | Neural natural language generation: A survey on multilinguality, multimodality, controllability and learning | |
CN114339450B (zh) | 视频评论生成方法、***、设备及存储介质 | |
CN114387567B (zh) | 一种视频数据的处理方法、装置、电子设备及存储介质 | |
Sartakhti et al. | Persian language model based on BiLSTM model on COVID-19 corpus | |
KR20210083986A (ko) | 반지도 학습 기반 단어 단위 감정 임베딩과 lstm 모델을 이용한 대화 내에서 발화의 감정 분류 방법 | |
Chien et al. | Self Attention in Variational Sequential Learning for Summarization. | |
CN113095085A (zh) | 文本的情感识别方法、装置、电子设备和存储介质 | |
CN114996422A (zh) | 指令识别方法及装置、训练方法、计算机可读存储介质 | |
Deorukhkar et al. | A detailed review of prevailing image captioning methods using deep learning techniques | |
CN117453949A (zh) | 一种视频定位方法以及装置 | |
Chen et al. | Video captioning via sentence augmentation and spatio-temporal attention | |
Qi et al. | Video captioning via a symmetric bidirectional decoder | |
Chen et al. | End-to-end recognition of streaming Japanese speech using CTC and local attention | |
CN115169472A (zh) | 针对多媒体数据的音乐匹配方法、装置和计算机设备 | |
Wang et al. | Local-global visual interaction attention for image captioning | |
Xie et al. | Global-Shared Text Representation Based Multi-Stage Fusion Transformer Network for Multi-Modal Dense Video Captioning | |
CN117521674B (zh) | 对抗信息的生成方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |