三元组的校验方法、装置、设备和介质转让专利

申请号 : CN202110594046.0

文献号 : CN113298160B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曾钢欣

申请人 : 深圳数联天下智能科技有限公司

摘要 :

本发明公开了一种三元组的校验方法,该方法包括:首先对待校验三元组进行随机抽样标注,得到已标注的第一三元组和未标注的第二三元组。然后获取第一三元组的输入向量和标注信息以训练第一二分类模型,再用该第一二分类模型对第二三元组进行校验。再采用自训练的方法,根据第一三元组、第二三元组和校验结果确定标注数据集,以该标注数据集训练第二二分类模型,最后用目标分类模型完成对待校验三元组的校验。本方案在仅标注少量三元组的前提下仍能得到训练所需样本数量的标注数据集,增加训练后目标分类模型的拟合能力,可见本方案仅需要少量的标注数据即可获得较好的效果。此外,还提出了三元组校验装置、设备和存储介质。

权利要求 :

1.一种三元组的校验方法,其特征在于,所述校验方法包括:

获取待校验三元组,随机抽样标注所述待校验三元组,得到已标注的第一三元组和未标注的第二三元组;

通过预训练模型将所述第一三元组的三元组信息嵌入为输入向量,所述第一三元组信息包括头实体、关系、尾实体和所述第一三元组所在的句子,获取所述第一三元组的标注信息,所述标注信息包括所述第一三元组是否可信,根据所述输入向量及所述标注信息训练第一二分类模型;

用训练后的第一二分类模型对所述第二三元组进行第一校验,获取所述第二三元组对应的第一校验结果,所述第一校验结果为所述第二三元组是否可信;

根据所述第一三元组、所述第二三元组和所述第一校验结果确定标注数据集,根据所述标注数据集训练第二二分类模型,用训练后的第二二分类模型对所述待校验三元组进行第二校验,得到所述待校验三元组的第二校验结果,所述第二校验结果为所述待校验三元组是否可信;

其中,所述获取待校验三元组,包括:获取文本数据,从所述文本数据中抽取待校验三元组,所述抽取为基于规则的抽取或基于句法分析的抽取;所述文本数据为由多个句子组成的文本段落;

在所述用训练后的所述第二二分类模型对所述待校验三元组进行第二校验,得到所述待校验三元组的第二校验结果之后,还包括:根据第二校验结果从所述标注数据集中获取可信的目标三元组,每个目标三元组包括目标头实体、目标关系和目标尾实体;构建所述目标头实体和所述目标关系的多个第一共现矩阵,所述第一共现矩阵为以所述目标头实体和所述目标关系为行列的对称矩阵,从所述多个第一共现矩阵中筛选出大于第一分割阈值的第一目标矩阵,将所述第一目标矩阵对应的头实体类型和关系类型进行组合,得到第一组合;构建所述目标尾实体和所述目标关系的多个第二共现矩阵,所述第二共现矩阵为以所述目标尾实体和所述目标关系为行列的对称矩阵,从所述多个第二共现矩阵中筛选出大于第二分割阈值的第二目标矩阵,将所述第二目标矩阵对应的尾实体类型和关系类型进行组合,得到第二组合;将所述第一组合和所述第二组合进行交叉组合,得到知识图谱。

2.根据权利要求1所述的校验方法,其特征在于,所述通过预训练模型将所述第一三元组的三元组信息嵌入为输入向量,包括:通过所述预训练模型对所述头实体、所述关系和所述尾实体分别进行编码,得到所述头实体对应的第一向量,所述关系对应的第二向量和所述尾实体对应的第三向量;

依照所述第一向量、所述第二向量和所述第三向量的顺序依次进行连接,得到第一输入向量;

通过所述预训练模型对所述句子进行编码,将编码后的句子作为第二输入向量,所述输入向量包含所述第一输入向量和所述第二输入向量。

3.根据权利要求1所述的校验方法,其特征在于,所述根据所述输入向量及所述标注信息训练第一二分类模型,包括:所述第一二分类模型根据所述输入向量将所述待校验三元组的可信程度映射到0到1之间,根据所述标注信息和映射的结果计算映射误差;

根据所述映射误差调整所述第一二分类模型的模型参数,直至所述映射的结果满足预设校验标准。

4.根据权利要求1所述的校验方法,其特征在于,所述根据所述第一三元组、所述第二三元组和所述第一校验结果确定标注数据集,包括:将所述第一三元组和第一校验结果为可信的第二三元组作为所述标注数据集。

5.根据权利要求1所述的校验方法,其特征在于,所述预训练模型为bert、word2vec、XLnet和Albert中的任意一种。

6.一种三元组校验装置,其特征在于,所述装置包括:

标注模块,用于获取待校验三元组,随机抽样标注所述待校验三元组,得到已标注的第一三元组和未标注的第二三元组;

初始训练模块,用于通过预训练模型将所述第一三元组的三元组信息嵌入为输入向量,所述第一三元组信息包括头实体、关系、尾实体和所述第一三元组所在的句子,获取所述第一三元组的标注信息,所述标注信息包括每一所述第一三元组是否可信,根据所述输入向量及所述标注信息训练第一二分类模型;

第一校验模块,用于用训练后的所述第一二分类模型对所述第二三元组进行第一校验,获取所述第二三元组对应的第一校验结果,所述第一校验结果为所述第二三元组是否可信;

训练及校验模块,用于根据所述第一三元组、所述第二三元组和所述第一校验结果确定标注数据集,根据所述标注数据集训练第二二分类模型,用目标分类模型对所述待校验三元组进行校验,得到所述待校验三元组的第二校验结果,所述第二校验结果为所述待校验三元组是否可信;

其中,标注模块,具体用于:获取文本数据,从所述文本数据中抽取待校验三元组,所述抽取为基于规则的抽取或基于句法分析的抽取;所述文本数据为由多个句子组成的文本段落;

所述三元组校验装置还包括:知识图谱构建模块,用于:根据第二校验结果从所述标注数据集中获取可信的目标三元组,每个目标三元组包括目标头实体、目标关系和目标尾实体;构建所述目标头实体和所述目标关系的多个第一共现矩阵,所述第一共现矩阵为以所述目标头实体和所述目标关系为行列的对称矩阵,从所述多个第一共现矩阵中筛选出大于第一分割阈值的第一目标矩阵,将所述第一目标矩阵对应的头实体类型和关系类型进行组合,得到第一组合;构建所述目标尾实体和所述目标关系的多个第二共现矩阵,所述第二共现矩阵为以所述目标尾实体和所述目标关系为行列的对称矩阵,从所述多个第二共现矩阵中筛选出大于第二分割阈值的第二目标矩阵,将所述第二目标矩阵对应的尾实体类型和关系类型进行组合,得到第二组合;将所述第一组合和所述第二组合进行交叉组合,得到知识图谱。

7.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述方法的步骤。

8.一种三元组校验设备,包括存储器和处理器,其特征在于,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述方法的步骤。

说明书 :

三元组的校验方法、装置、设备和介质

技术领域

[0001] 本发明涉及知识图谱技术领域,尤其是涉及三元组的校验方法、装置、设备和介质。

背景技术

[0002] 随着人工智能的发展,知识图谱在人工智能的应用底层越来越重要。对于传统的知识图谱构建而言,整个过程需要花费大量的人力和物力,因此无监督的知识图谱构建方案成为现阶段的发展主流。然而无监督的知识图谱构建方案由于缺乏人工的介入,抽取出来的三元组并不是非常准确,也常需要进行人工校正,而三元组的误差将会影响知识图谱的构建,因此如何在较少人工介入的前提下保证三元组的准确性就显得十分重要。

发明内容

[0003] 基于此,有必要针对上述问题,提供实现在较少人工介入的前提下保证三元组的准确性的三元组的校验方法、装置、设备和介质。
[0004] 一种三元组的校验方法,所述校验方法包括:
[0005] 获取待校验三元组,随机抽样标注所述待校验三元组,得到已标注的第一三元组和未标注的第二三元组;
[0006] 通过预训练模型将所述第一三元组的三元组信息嵌入为输入向量,所述第一三元组信息包括头实体、关系、尾实体和所述第一三元组所在的句子,获取所述第一三元组的标注信息,所述标注信息包括每一所述第一三元组是否可信,根据所述输入向量及所述标注信息训练第一二分类模型;
[0007] 用训练后的所述第一二分类模型对所述第二三元组进行第一校验,获取所述第二三元组对应的第一校验结果,所述第一校验结果为所述第二三元组是否可信;
[0008] 根据所述第一三元组、所述第二三元组和所述第一校验结果确定标注数据集,根据所述标注数据集训练第二二分类模型,用训练后的所述第二二分类模型对所述待校验三元组进行第二校验,得到所述待校验三元组的第二校验结果,所述第二校验结果为所述待校验三元组是否可信。
[0009] 在其中一个实施例中,所述通过预训练模型将所述第一三元组的三元组信息嵌入为输入向量,包括:
[0010] 对每个所述第一三元组,通过所述预训练模型对所述头实体、所述关系和所述尾实体分别进行编码,得到所述头实体对应的第一向量,所述关系对应的第二向量和所述尾实体对应的第三向量;
[0011] 依照所述第一向量、所述第二向量和所述第三向量的顺序依次进行连接,得到第一输入向量;
[0012] 通过所述预训练模型对所述句子进行编码,将编码后的句子作为第二输入向量,所述输入向量包含所述第一输入向量和所述第二输入向量。
[0013] 在其中一个实施例中,所述第一二分类模型包括前馈神经网络和激活函数,所述根据所述输入向量及所述标注信息训练第一二分类模型,包括:
[0014] 所述第一二分类模型根据所述输入向量将所述待校验三元组的可信程度映射到0到1之间,根据所述标注信息和映射的结果计算映射误差;
[0015] 根据所述映射误差调整所述第一二分类模型的模型参数,直至所述映射的结果满足预设校验标准。
[0016] 在其中一个实施例中,所述根据所述第一三元组、所述第二三元组和所述第一校验结果确定标注数据集,包括:
[0017] 将所述第一三元组和第一校验结果为可信的第二三元组作为所述标注数据集。
[0018] 在其中一个实施例中,所述获取待校验三元组,包括:
[0019] 获取文本数据,从所述文本数据中抽取待校验三元组,所述抽取为基于规则的抽取或基于句法分析的抽取。
[0020] 在其中一个实施例中,所述预训练模型为bert、word2vec、XLnet和Albert中的任意一种。
[0021] 在其中一个实施例中,在所述用所述目标分类模型对所述待校验三元组进行校验,得到所述待校验三元组的校验结果之后,还包括:
[0022] 根据第二校验结果从所述标注数据集中获取可信的目标三元组,每个所述目标三元组包括目标头实体、目标关系和目标尾实体;
[0023] 构建所述目标头实体和所述目标关系的多个第一共现矩阵,从所述多个第一共现矩阵中筛选出大于第一分割阈值的第一目标矩阵,将所述第一目标矩阵对应的头实体类型和关系类型进行组合,得到第一组合;
[0024] 构建所述目标尾实体和所述目标关系的多个第二共现矩阵,从所述多个第二共现矩阵中筛选出大于第二分割阈值的第二目标矩阵,将所述第二目标矩阵对应的尾实体类型和关系类型进行组合,得到第二组合;
[0025] 将所述第一组合和所述第二组合进行交叉组合,得到知识图谱。
[0026] 一种三元组校验装置,所述装置包括:
[0027] 标注模块,用于获取待校验三元组,随机抽样标注所述待校验三元组,得到已标注的第一三元组和未标注的第二三元组;
[0028] 初始训练模块,用于通过预训练模型将所述第一三元组的三元组信息嵌入为输入向量,所述第一三元组信息包括头实体、关系、尾实体和所述第一三元组所在的句子,获取所述第一三元组的标注信息,所述标注信息包括每一所述第一三元组是否可信,根据所述输入向量及所述标注信息训练第一二分类模型;
[0029] 第一校验模块,用于用训练后的所述第一二分类模型对所述第二三元组进行第一校验,获取所述第二三元组对应的第一校验结果,所述第一校验结果为所述第二三元组是否可信;
[0030] 训练及校验模块,用于根据所述第一三元组、所述第二三元组和所述第一校验结果确定标注数据集,根据所述标注数据集训练第二二分类模型,用所述目标分类模型对所述待校验三元组进行校验,得到所述待校验三元组的第二校验结果,所述第二校验结果为所述待校验三元组是否可信。
[0031] 一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
[0032] 获取待校验三元组,随机抽样标注所述待校验三元组,得到已标注的第一三元组和未标注的第二三元组;
[0033] 通过预训练模型将所述第一三元组的三元组信息嵌入为输入向量,所述第一三元组信息包括头实体、关系、尾实体和所述第一三元组所在的句子,获取所述第一三元组的标注信息,所述标注信息包括每一所述第一三元组是否可信,根据所述输入向量及所述标注信息训练第一二分类模型;
[0034] 用训练后的所述第一二分类模型对所述第二三元组进行第一校验,获取所述第二三元组对应的第一校验结果,所述第一校验结果为所述第二三元组是否可信;
[0035] 根据所述第一三元组、所述第二三元组和所述第一校验结果确定标注数据集,根据所述标注数据集训练第二二分类模型,用训练后的所述第二二分类模型对所述待校验三元组进行第二校验,得到所述待校验三元组的第二校验结果,所述第二校验结果为所述待校验三元组是否可信。
[0036] 一种三元组的校验设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
[0037] 获取待校验三元组,随机抽样标注所述待校验三元组,得到已标注的第一三元组和未标注的第二三元组;
[0038] 通过预训练模型将所述第一三元组的三元组信息嵌入为输入向量,所述第一三元组信息包括头实体、关系、尾实体和所述第一三元组所在的句子,获取所述第一三元组的标注信息,所述标注信息包括每一所述第一三元组是否可信,根据所述输入向量及所述标注信息训练第一二分类模型;
[0039] 用训练后的所述第一二分类模型对所述第二三元组进行第一校验,获取所述第二三元组对应的第一校验结果,所述第一校验结果为所述第二三元组是否可信;
[0040] 根据所述第一三元组、所述第二三元组和所述第一校验结果确定标注数据集,根据所述标注数据集训练第二二分类模型,用训练后的所述第二二分类模型对所述待校验三元组进行第二校验,得到所述待校验三元组的第二校验结果,所述第二校验结果为所述待校验三元组是否可信。
[0041] 本发明提供了三元组的校验方法、装置、设备和介质,首先对待校验三元组进行随机抽样标注,得到已标注的第一三元组和未标注的第二三元组。然后获取第一三元组的输入向量和标注信息以训练第一二分类模型,再用该第一二分类模型对第二三元组进行校验,可见本方案仅需要少量的数据标注,可极大的减少标注成本。然后本方案采用自训练的方法,根据第一三元组、第二三元组和校验结果确定标注数据集,以该标注数据集训练第二二分类模型,最后用目标分类模型完成对待校验三元组的校验。这样在仅标注少量三元组的前提下仍能得到训练所需样本数量的标注数据集,增加训练后目标分类模型的拟合能力,可见本方案仅需要少量的标注数据即可获得较好的效果。

附图说明

[0042] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0043] 其中:
[0044] 图1为一个实施例中三元组的校验方法的流程示意图;
[0045] 图2为一个实施例中三元组的校验装置的结构示意图;
[0046] 图3为一个实施例中三元组的校验设备的结构框图。

具体实施方式

[0047] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048] 如图1所示,图1为一个实施例中三元组的校验方法的流程示意图,本实施例中三元组的校验方法提供的步骤包括:
[0049] 步骤102,获取待校验三元组,随机抽样标注待校验三元组,得到已标注的第一三元组和未标注的第二三元组。
[0050] 其中,待校验三元组是指一组待校验是否为可信的头实体,关系和尾实体,可信即信息为正确信息,基于可信的三元组可构建用于人工智能的知识图谱。示例性的,在(周杰伦,演唱者,双截棍)中“周杰伦”是头实体,“演唱者”是关系,“双截棍”是尾实体。
[0051] 具体的,先获取一段文本数据,该文本数据即由多个句子组成的文本段落,文本数据的长度可由用户根据需求自行录入。再从该文本数据中基于规则的抽取待校验三元组,或基于句法分析的抽取三元组。示例性的,基于规则的抽取分为:第一步:定义需要抽取的关系集合,比如(父亲,母亲,儿子,女儿)。第二步:遍历文本数据的每一句话,将每句话中非头实体和非关系集合里面的词去除。第三步:从每句话的第二个词开始遍历,遇到关系集合中的词,就选出该词左右最近的头实体。基于规则的抽取无需进行训练,定义的规则较为简单,因此也较常被使用。而基于句法分析的抽取则需要确定句子的句法结构(例如确定句子中的宾状介补等结构),或者句子中词汇之间的依存关系(例如右附加关系,定中关系,状中关系等关系),基于句法分析的抽取逻辑设定更为复杂,但抽取结果相较基于规则的抽取更为准确。
[0052] 在抽取得到待校验三元组后,再通过随机抽取的方式标注部分的待校验三元组。为保证随机性,避免出现过多同类的待校验三元组,在一种具体应用场景中,也可以根据待测三元组的类别将待测三元组分为不同层,例如根据三元组内词语的类别(个体名词:汽车、房间;抽象名词:生活、友情)进行分层,再按规定的比例从不同层中随机抽取样本。最后得到已标注的第一三元组,例如包括标注为1的(周杰伦,是,歌手)和标注为0的(周杰伦,是,作家),以及未标注的第二三元组。
[0053] 步骤104,通过预训练模型将第一三元组的三元组信息嵌入为输入向量,获取第一三元组的标注信息,根据输入向量及标注信息训练第一二分类模型。
[0054] 其中,本实施例中采用的预训练模型为bert、word2vec、XLnet和Albert中的任意一种。该第一三元组的三元组信息为第一三元组的相关属性信息,既包括第一三元组的头实体、关系、尾实体,也包括第一三元组在文本数据中所在的句子,除此之外还可以包括三元组在句子中的位置等信息。而标注信息是指每一第一三元组是否可信,即三元组组成的句子是否正确的信息,在执行步骤102时即产生。
[0055] 在一个具体实施例中,嵌入后的输入向量包含第一输入向量和第二输入向量,将三元组信息嵌入为输入向量的过程为:对每个第一三元组来说,通过上述预训练模型对头实体、关系和尾实体分别进行编码,得到头实体对应的第一向量,关系对应的第二向量和尾实体对应的第三向量。其中,可用的编码方式包括已有的doc2vec。再依照第一向量、第二向量和第三向量的顺序依次进行连接(concatenate,c操作),便得到第一输入向量。如将第一向量:A=[1,2,3],第二向量B=[4,5,6],第三向量B=[4,5,6]顺序连接后得到第一输入向量AcBcC=[1,2,3,4,5,6,7,8,9]。而对每个句子来说,同样通过doc2vec对句子进行编码,将编码后的句子作为第二输入向量。而对于三元组位置的编码可以基于索引,索引是个数值,对于一个128个字的句子来说,初始化一个128*10的矩阵,基于三元组在句子中的位置n,找到第n行的索引作为位置编码。
[0056] 本实施例中的第一二分类模型包括前馈神经网络(FFN,Feedforward Neural Network)和激活函数Sigmoid,前馈神经网络中每一个神经元由一个线性拟合和一个非线性激活函数组成,各神经元分层排列,不同层之间就是全连接,每个神经元只与前一层的神经元相连,接收前一层的输出,并输出给下一层。激活函数Sigmoid给神经元引入非线性因素,使得神经网络可以任意逼近任何非线性函数,实现将变量映射到0,1之间。
[0057] 在进行训练时,第一二分类模型以输入向量作为模型的输入数据,将待校验三元组的可信程度映射到0到1之间。具体的,前馈神经网络FFN使用到的公式为:ffn_output=Relu(Wx*input+b),其中Wx和b是可训练的参数,Relu是激活函数。在原始空间中,输入特征无法很好区分可信和不可信这两种类别,激活函数是非线性函数,通过这种变换可以将输入变换到另一个能最佳区分可信和不可信这两种类别的隐含空间中。然后前馈神经网络FFN接全连接层,公式是:Sigmoid(Wy*ffn_output+b2)。其中Wy和b2也是可训练的参数。其中Sigmoid是激活函数,通过它将输入特征映射到0‑1之间,也即将待校验三元组的可信程度映射到0‑1之间。进一步的,将映射结果≥0.5视为可信,将映射结果<0.5视为不可信,这样就能将输出分开为两个类别。然后根据映射结果和标注信息计算映射误差,即错误的映射结果占所有映射结果的比值。再根据映射误差做损失反向更新参数,例如调整模型中权值和偏置这些参数的值,迭代多次,直至映射误差小于预设的误差阈值,就能得到比较准确的参数Wx和Wy。
[0058] 通过这样,前馈神经网络的作用是将原始空间中不可分的样本映射到另外的特征空间中使得能较好的分开两类的样本,sigmoid是将特征映射到0‑1之间,当做某一类的概率,通过极大似然估计(某一类的概率最大,就认为结果是这一类),而且sigmoid是连续函数,可以正常求导,通过梯度下降来更新参数。所以sigmoid主要目的是为了将特征值映射成概率并可以实现参数的更新。
[0059] 步骤106,用训练后的第一二分类模型对第二三元组进行第一校验,获取第二三元组对应的第一校验结果。
[0060] 通过预训练模型将第二三元组的三元组信息嵌入为输入向量,再将嵌入后的输入向量输入到第一二分类模型中进行校验。第二三元组对应的输入向量在经前馈神经网络和激活函数处理后,得到每一第二三元组是否可信的第一校验结果。
[0061] 步骤108,根据第一三元组、第二三元组和第一校验结果确定标注数据集,根据标注数据集训练第二二分类模型,用第二二分类模型对待校验三元组进行第二校验,得到待校验三元组的第二校验结果。
[0062] 具体的,将第一三元组和第一校验结果为可信的第二三元组作为标注数据集。这样在仅标注少量三元组的前提下仍能得到训练所需样本数量的标注数据集,可增加训练后第二分类模型的拟合能力。
[0063] 该第二二分类模型的模型参数经初始化,与第一二分类模型仅在结构上相同。用标注数据集对第二二分类模型进行训练的过程与步骤104基本一致,仅样本存在差异,就不再赘述。然后再用训练后的第二二分类模型所有的对待校验三元组进行第二校验,该第二校验与步骤106基本一致,仅样本存在差异,同样不再赘述。
[0064] 上述三元组的校验方法,首先对待校验三元组进行随机抽样标注,得到已标注的第一三元组和未标注的第二三元组。然后获取第一三元组的输入向量和标注信息以训练第一二分类模型,再用该第一二分类模型对第二三元组进行校验,可见本方案仅需要少量的数据标注,可极大的减少标注成本。然后本方案采用自训练的方法,根据第一三元组、第二三元组和校验结果确定标注数据集,以该标注数据集训练第二二分类模型,最后用目标分类模型完成对待校验三元组的校验。这样在仅标注少量三元组的前提下仍能得到训练所需样本数量的标注数据集,增加训练后目标分类模型的拟合能力,可见本方案仅需要少量的标注数据即可获得较好的效果。
[0065] 进一步的,在完成对待检测三元组的校验后,还可基于第二校验结果进行构建知识图谱的下游任务。具体的,首先根据第二校验结果从标注数据集中获取可信的三元组作为目标三元组,同时将每个目标三元组的头实体、关系和尾实体作为目标头实体、目标关系和目标尾实体。
[0066] 然后构建目标头实体和目标关系的多个第一共现矩阵,该第一共现矩阵是以目标头实体和目标关系为行列的对称矩阵。构建第一共现矩阵包括先构建目标头实体和目标关系的多个二维矩阵,每个二维矩阵包括多个头实体列和多个关系列。其中,将二维矩阵中任意一个目标头实体所在的一行或一列数据称之为头实体列;将二位矩阵中任意一个目标关系所在的一行或一列数据称之为关系列。再确定任意一个目标头实体的类型为目标头实体类型,确定任意一个目标关系的类型为目标关系类型,在全为0的二维矩阵中,将与目标头实体类型一致的头实体列加1,及将与目标关系类型一致的关系列加1,得到一个第一共现矩阵。重复选取目标头实体类型和/或目标关系类型,得到多个第一共现矩阵。再从多个第一共现矩阵中筛选出大于第一分割阈值的第一目标矩阵,例如将第一共现矩阵内所有数值相加大于K的矩阵作为第一目标矩阵,将第一目标矩阵对应的目标头实体和目标关系进行组合,得到第一组合。例如目标头实体包括周杰伦、林俊杰和姜文等,目标关系包括演唱者、编曲者和兄弟等,将二维矩阵中的一列数据做为一个头实体列,将二维矩阵中的一行数据做为一个关系列。若确定人物为目标头实体类型,则在周杰伦、林俊杰和姜文等所在的一列加1;同时若确定职业关系为目标关系类型,则在演唱者、编曲者等所在的一行加1,最后得到一个第一共现矩阵。若基于K确定上述例子的第一共现矩阵为第一目标矩阵,进行组合后可得到包括“周杰伦‑演唱者”、“周杰伦‑编曲者”、“林俊杰‑演唱者”、“林俊杰‑编曲者”等的第一组合。
[0067] 同理,构建目标尾实体和目标关系的多个第二共现矩阵,该第二共现矩阵是以目标尾实体和目标关系为行列的对称矩阵。构建第二共现矩阵包括先构建目标尾实体和目标关系的多个二维矩阵,每个二维矩阵包括多个尾实体列和多个关系列。其中,将二维矩阵中任意一个尾实体所在的一行或一列数据称之为尾实体列。再确定任意一个目标尾实体的类型为目标尾实体类型,确定任意一个目标关系的类型为目标关系类型,在全为0的二维矩阵中,向与目标尾实体类型一致的尾实体列加1,及向与目标关系类型一致的关系列加1,得到一个第一共现矩阵。重复选取目标头实体类型和/或目标关系类型,得到多个第二共现矩阵。从多个第二共现矩阵中筛选出大于第二分割阈值的第二目标矩阵,例如将第二共现矩阵内所有数值相加大于K的矩阵作为第二目标矩阵,将第二目标矩阵对应的目标尾实体和目标关系进行组合,得到第二组合。例如目标尾实体包括稻香、江南和姜武等,目标关系包括演唱者、编曲者和兄弟等,将二维矩阵中的一列数据做为一个尾实体列,将二维矩阵中的一行数据做为一个关系列。若确定作品为目标尾实体类型,则在稻香、江南等所在的一列加1;同时若确定职业关系为目标关系类型,则在演唱者、编曲者等所在的一行加1,最后得到一个第二共现矩阵。若基于K确定上述例子的第二共现矩阵为第二目标矩阵,进行组合后可得到包括“演唱者‑稻香”、“演唱者‑江南”、“编曲者‑稻香”、“编曲者‑江南”等的第二组合。
最后将第一组合和第二组合中具有相同目标关系的进行交叉组合,得到知识图谱。
[0068] 在一个实施例中,如图2所示,提出了一种三元组的校验装置,该装置包括:
[0069] 标注模块202,用于获取待校验三元组,随机抽样标注待校验三元组,得到已标注的第一三元组和未标注的第二三元组;
[0070] 初始训练模块204,用于通过预训练模型将第一三元组的三元组信息嵌入为输入向量,三元组信息包括头实体、关系、尾实体和第一三元组所在的句子,获取第一三元组的标注信息,标注信息包括每一第一三元组是否可信,根据输入向量及标注信息训练第一二分类模型;
[0071] 第一校验模块206,用于用训练后的第一二分类模型对第二三元组进行第一校验,获取第二三元组对应的第一校验结果;
[0072] 训练及校验模块208,用于根据第一三元组、第二三元组和第一校验结果确定标注数据集,根据标注数据集训练第二二分类模型,用目标分类模型对待校验三元组进行校验,得到待校验三元组的第二校验结果。
[0073] 上述三元组的校验装置,首先对待校验三元组进行随机抽样标注,得到已标注的第一三元组和未标注的第二三元组。然后获取第一三元组的输入向量和标注信息以训练第一二分类模型,再用该第一二分类模型对第二三元组进行校验,可见本方案仅需要少量的数据标注,可极大的减少标注成本。然后本方案采用自训练的方法,根据第一三元组、第二三元组和校验结果确定标注数据集,以该标注数据集训练第二二分类模型,最后用目标分类模型完成对待校验三元组的校验。这样在仅标注少量三元组的前提下仍能得到训练所需样本数量的标注数据集,增加训练后目标分类模型的拟合能力,可见本方案仅需要少量的标注数据即可获得较好的效果。
[0074] 在其中一个实施例中,初始训练模块204,具体用于:对每个第一三元组,通过预训练模型对头实体、关系和尾实体分别进行编码,得到头实体对应的第一向量,关系对应的第二向量和尾实体对应的第三向量;依照第一向量、第二向量和第三向量的顺序依次进行连接,得到第一输入向量;通过预训练模型对句子进行编码,将编码后的句子作为第二输入向量,输入向量包含第一输入向量和第二输入向量。
[0075] 在其中一个实施例中,初始训练模块204,具体用于:第一二分类模型根据输入向量将待校验三元组的可信程度映射到0到1之间,根据标注信息和映射的结果计算映射误差;根据映射误差调整第一二分类模型的模型参数,直至映射的结果满足预设校验标准。
[0076] 在其中一个实施例中,训练及校验模块208,具体用于:将第一三元组和第一校验结果为可信的第二三元组作为标注数据集。
[0077] 在其中一个实施例中,标注模块202,具体用于:获取文本数据,从文本数据中抽取待校验三元组,抽取为基于规则的抽取或基于句法分析的抽取。
[0078] 在其中一个实施例中,三元组校验装置还包括:知识图谱构建模块,用于根据第二校验结果从标注数据集中获取可信的目标三元组,每个目标三元组包括目标头实体、目标关系和目标尾实体;构建目标头实体和目标关系的多个第一共现矩阵,从多个第一共现矩阵中筛选出大于第一分割阈值的第一目标矩阵,将第一目标矩阵对应的头实体类型和关系类型进行组合,得到第一组合;构建目标尾实体和目标关系的多个第二共现矩阵,从多个第二共现矩阵中筛选出大于第二分割阈值的第二目标矩阵,将第二目标矩阵对应的尾实体类型和关系类型进行组合,得到第二组合;将第一组合和第二组合进行交叉组合,得到知识图谱。
[0079] 图3示出了一个实施例中三元组的校验设备的内部结构图。如图3所示,该三元组的校验设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该三元组的校验设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现三元组的校验方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行三元组的校验方法。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的三元组的校验设备的限定,具体的三元组的校验设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0080] 一种三元组的校验设备,包括存储器、处理器以及存储在该存储器中并可在该处理器上执行的计算机程序,该处理器执行该计算机程序时实现如下步骤:获取待校验三元组,随机抽样标注待校验三元组,得到已标注的第一三元组和未标注的第二三元组;通过预训练模型将第一三元组的三元组信息嵌入为输入向量,三元组信息包括头实体、关系、尾实体和第一三元组所在的句子,获取第一三元组的标注信息,标注信息包括每一第一三元组是否可信,根据输入向量及标注信息训练第一二分类模型;用训练后的第一二分类模型对第二三元组进行第一校验,获取第二三元组对应的第一校验结果;根据第一三元组、第二三元组和第一校验结果确定标注数据集,根据标注数据集训练第二二分类模型,用训练后的第二二分类模型对待校验三元组进行第二校验,得到待校验三元组的第二校验结果。
[0081] 在一个实施例中,通过预训练模型将第一三元组的三元组信息嵌入为输入向量,包括:对每个第一三元组,通过预训练模型对头实体、关系和尾实体分别进行编码,得到头实体对应的第一向量,关系对应的第二向量和尾实体对应的第三向量;依照第一向量、第二向量和第三向量的顺序依次进行连接,得到第一输入向量;通过预训练模型对句子进行编码,将编码后的句子作为第二输入向量,输入向量包含第一输入向量和第二输入向量。
[0082] 在一个实施例中,第一二分类模型包括前馈神经网络和激活函数,根据输入向量及标注信息训练第一二分类模型,包括:第一二分类模型根据输入向量将待校验三元组的可信程度映射到0到1之间,根据标注信息和映射的结果计算映射误差;根据映射误差调整第一二分类模型的模型参数,直至映射的结果满足预设校验标准。
[0083] 在一个实施例中,根据第一三元组、第二三元组和第一校验结果确定标注数据集,包括:将第一三元组和第一校验结果为可信的第二三元组作为标注数据集。
[0084] 在一个实施例中,获取待校验三元组,包括:获取文本数据,从文本数据中抽取待校验三元组,抽取为基于规则的抽取或基于句法分析的抽取。
[0085] 在一个实施例中,在用训练后的第二二分类模型对待校验三元组进行第二校验,得到待校验三元组的第二校验结果之后,还包括:根据第二校验结果从标注数据集中获取可信的目标三元组,每个目标三元组包括目标头实体、目标关系和目标尾实体;构建目标头实体和目标关系的多个第一共现矩阵,从多个第一共现矩阵中筛选出大于第一分割阈值的第一目标矩阵,将第一目标矩阵对应的头实体类型和关系类型进行组合,得到第一组合;构建目标尾实体和目标关系的多个第二共现矩阵,从多个第二共现矩阵中筛选出大于第二分割阈值的第二目标矩阵,将第二目标矩阵对应的尾实体类型和关系类型进行组合,得到第二组合;将第一组合和第二组合进行交叉组合,得到知识图谱。
[0086] 一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现如下步骤:获取待校验三元组,随机抽样标注待校验三元组,得到已标注的第一三元组和未标注的第二三元组;通过预训练模型将第一三元组的三元组信息嵌入为输入向量,三元组信息包括头实体、关系、尾实体和第一三元组所在的句子,获取第一三元组的标注信息,标注信息包括每一第一三元组是否可信,根据输入向量及标注信息训练第一二分类模型;用训练后的第一二分类模型对第二三元组进行第一校验,获取第二三元组对应的第一校验结果;根据第一三元组、第二三元组和第一校验结果确定标注数据集,根据标注数据集训练第二二分类模型,用训练后的第二二分类模型对待校验三元组进行第二校验,得到待校验三元组的第二校验结果。
[0087] 在一个实施例中,通过预训练模型将第一三元组的三元组信息嵌入为输入向量,包括:对每个第一三元组,通过预训练模型对头实体、关系和尾实体分别进行编码,得到头实体对应的第一向量,关系对应的第二向量和尾实体对应的第三向量;依照第一向量、第二向量和第三向量的顺序依次进行连接,得到第一输入向量;通过预训练模型对句子进行编码,将编码后的句子作为第二输入向量,输入向量包含第一输入向量和第二输入向量。
[0088] 在一个实施例中,第一二分类模型包括前馈神经网络和激活函数,根据输入向量及标注信息训练第一二分类模型,包括:第一二分类模型根据输入向量将待校验三元组的可信程度映射到0到1之间,根据标注信息和映射的结果计算映射误差;根据映射误差调整第一二分类模型的模型参数,直至映射的结果满足预设校验标准。
[0089] 在一个实施例中,根据第一三元组、第二三元组和第一校验结果确定标注数据集,包括:将第一三元组和第一校验结果为可信的第二三元组作为标注数据集。
[0090] 在一个实施例中,获取待校验三元组,包括:获取文本数据,从文本数据中抽取待校验三元组,抽取为基于规则的抽取或基于句法分析的抽取。
[0091] 在一个实施例中,在用训练后的第二二分类模型对待校验三元组进行第二校验,得到待校验三元组的第二校验结果之后,还包括:根据第二校验结果从标注数据集中获取可信的目标三元组,每个目标三元组包括目标头实体、目标关系和目标尾实体;构建目标头实体和目标关系的多个第一共现矩阵,从多个第一共现矩阵中筛选出大于第一分割阈值的第一目标矩阵,将第一目标矩阵对应的头实体类型和关系类型进行组合,得到第一组合;构建目标尾实体和目标关系的多个第二共现矩阵,从多个第二共现矩阵中筛选出大于第二分割阈值的第二目标矩阵,将第二目标矩阵对应的尾实体类型和关系类型进行组合,得到第二组合;将第一组合和第二组合进行交叉组合,得到知识图谱。
[0092] 需要说明的是,上述三元组的校验方法、装置、设备及计算机可读存储介质属于一个总的发明构思,三元组的校验方法、装置、设备及计算机可读存储介质实施例中的内容可相互适用。
[0093] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0094] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0095] 以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。