基于元学习的少样本知识图谱补全方法
文献发布时间:2023-06-19 12:10:19
技术领域
本发明属于机器学习领域,具体涉及一种基于元学习的少样本知识图谱补全方法。
背景技术
知识图谱是一种包含多种类型关系和实体的多源数据。知识图谱广泛应用于问答系统、搜索引擎、推荐系统等领域。知识图谱由大量的三元组构成,每个三元组都由头实体,关系和尾实体组成,代表现实世界中的知识。
虽然知识图谱中有大量的实体、关系和三元组,但是知识图谱普遍存在不完整的问题,因此需要补全。通过捕捉知识图谱中不同类型的关系和实体之间的联系,并汇聚多源数据中的特征,从而自动补全知识图谱,是知识图谱补全的关键问题。
知识图谱嵌入方法被广泛研究,并用于知识图谱补全。这类方法通过将知识图谱中的实体和关系映射到低维向量空间来解决这个问题。但是,这类方法依赖大量的训练三元组,然而知识图谱中很大一部分关系是仅已知少量三元组的长尾关系。因此,嵌入方法对长尾关系的效果不好,从而严重影响了知识图谱补全的效果。
发明内容
本发明的目的在于提供一种能够根据少量三元组就进行知识图谱补全,而且可靠性高、效果好的基于元学习的少样本知识图谱补全方法。
本发明提供的这种基于元学习的少样本知识图谱补全方法,包括如下步骤:
S1.获取待补全的知识图谱和对应的邻域知识图谱;所述邻域知识图谱包括待补全的知识图谱中所有实体的邻域信息;
S2.采用步骤S1获取的邻域知识图谱,对待补全的知识图谱中的实体嵌入进行初始化;
S3.将待补全的知识图谱的关系集合分为训练关系集合和测试关系集合,并从训练关系集合或测试关系集合中选取一个关系所对应的三元组构建元训练任务或元测试任务;
S4.在若干个批次的元训练任务上训练得到少样本知识图谱补全模型;
S5.采用训练好的少样本知识图谱补全模型,对元测试任务进行补全。
步骤S2所述的采用步骤S1获取的邻域知识图谱,对待补全的知识图谱中的实体嵌入进行初始化,具体为采用嵌入方法,在步骤S1获取的邻域知识图谱上训练得到待补全的知识图谱的实体的嵌入表示;且若邻域知识图谱不存在,则随机初始化待补全的知识图谱的实体的嵌入表示。
步骤S3所述的将待补全的知识图谱的关系集合分为训练关系集合和测试关系集合,并从训练关系集合或测试关系集合中选取一个关系所对应的三元组构建元训练任务或元测试任务,具体包括如下步骤:
A.将待补全的知识图谱的关系集合R分为训练关系集合R
B.从训练关系集合R
C.采用如下步骤得到元训练任务T
从元训练任务T
D.采用如下步骤得到元测试任务T
从元测试任务T
E.采用如下步骤得到元训练任务T
从剩余的三元组中,随机选取N
F.采用如下步骤得到元测试任务T
从剩余的三元组中,选取一个有效三元组(h,r,t)作为待补全三元组,并穷举对应的尾实体候选项集合C
步骤S4所述的在若干个批次的元训练任务上训练得到少样本知识图谱补全模型,具体包括如下步骤:
a.将步骤S3构建的元训练任务分成L批次的元训练阶段;
b.对于第l批次的元训练阶段,采用未训练完成的少样本知识图谱补全模型对批次内的所有元训练任务进行学习,并对模型参数进行优化更新;
c.判断步骤b得到的模型是否收敛:
若模型收敛,则得到最终的少样本知识图谱补全模型;本步骤结束;
若模型不收敛,则进入步骤d;
d.判断元训练阶段的批次数l是否达到设定值L:
若批次数l达到设定值L,则令批次数l为1,并返回步骤b再次进行训练和优化;
若批次数l未达到设定值L,则令批次数l增加1,并返回步骤b再次进行训练和优化。
步骤b所述的对于第l批次的元训练阶段,采用未训练完成的少样本知识图谱补全模型对批次内的所有元训练任务进行学习,并对模型参数进行优化更新,具体包括如下步骤:
(1)基于TransE的翻译假设,利用支持集S
(2)将元学习任务中的每一个三元组的头尾实体对嵌入(h,t)与步骤(1)得到的关系弱表示进行组合,得到元学习任务中的每一个三元组的矩阵表示A=[h,r,t];
(3)将步骤(2)得到的元学习任务中所有三元组的矩阵表示A输入到卷积神经网络构成的少样本知识图谱补全模型中,得到三元组模式的向量表示;通过带有残差更新机制的模式学习器,从三元组的矩阵表示中提取模式的向量表示,以矩阵A为输入,对矩阵A进行复制,获得双通道输入;首先采用1×3卷积核对输入进行卷积,然后采用1×1卷积核对输出进行降维,最后输出1×d维的三元组模式向量P;当支持集中包括至少2个三元组时,对N
(4)使用包含有效性均衡机制的模式匹配器计算查询三元组的有效性分数,将查询集中的三元组的模式向量P
(5)对d(P
式中L
步骤S5所述的采用训练好的少样本知识图谱补全模型,对元测试任务进行补全,具体包括如下步骤:
1)将元测试任务的支持集中的有效三元组和无效三元组输入到模式学习器中得到关系r的有效模式P
2)将元测试任务的查询集中的三元组输入到模式学习器中得到所有三元组的模式的向量表示;再利用模式匹配器计算查询集中的三元组的有效性分数;
3)利用包含有效性均衡机制的模式匹配器计算查询集三元组的模式P
4)基于查询集中所有三元组的有效性分数,对当前元测试任务中的关系r进行补全:选取分数最高的候选项作为补全的三元组。
本发明提供的这种基于元学习的少样本知识图谱补全方法,能够在每种关系仅有少量已知三元组的条件下预测未知的三元组,解决传统的基于嵌入的方法对知识图谱中的少样本关系的补全效果不好的问题;通过基于神经网络的模式学习器从三元组的嵌入矩阵中学习三元组元素的共现模式,并通过比较候选三元组与参考三元组的模式相似性计算候选三元组的有效性,因此本发明对邻域知识图谱的依赖性较低,鲁棒性更好;引入了残差更新机制和有效性平衡机制,使得模型在模型训练过程中不损失实体嵌入表示的初始信息,从而学习到质量更高的实体嵌入表示,而且使得模型充分考虑候选三元组和有效三元组与无效三元组的相似度,从而更准确地计算三元组的有效性分数;因此本发明方法能够根据少量三元组就进行知识图谱补全,而且可靠性高、效果好。
附图说明
图1为本发明方法的方法流程示意图。
具体实施方式
如图1所示为本发明方法的方法流程示意图:本发明提供的这种基于元学习的少样本知识图谱补全方法,包括如下步骤:
S1.获取待补全的知识图谱和对应的邻域知识图谱;所述邻域知识图谱包括待补全的知识图谱中所有实体的邻域信息;
S2.采用步骤S1获取的邻域知识图谱,对待补全的知识图谱中的实体嵌入进行初始化;具体为采用嵌入方法,在步骤S1获取的邻域知识图谱上训练得到待补全的知识图谱的实体的嵌入表示;且若邻域知识图谱不存在,则随机初始化待补全的知识图谱的实体的嵌入表示;
S3.将待补全的知识图谱的关系集合分为训练关系集合和测试关系集合,并从训练关系集合或测试关系集合中选取一个关系所对应的三元组构建元训练任务或元测试任务;具体包括如下步骤:
A.将待补全的知识图谱的关系集合R分为训练关系集合R
B.从训练关系集合R
C.采用如下步骤得到元训练任务T
从元训练任务T
D.采用如下步骤得到元测试任务T
从元测试任务T
E.采用如下步骤得到元训练任务T
从剩余的三元组中,随机选取N
F.采用如下步骤得到元测试任务T
从剩余的三元组中,选取一个有效三元组(h,r,t)作为待补全三元组,并穷举对应的尾实体候选项集合C
S4.在若干个批次的元训练任务上训练得到少样本知识图谱补全模型;具体包括如下步骤:
a.将步骤S3构建的元训练任务分成L批次的元训练阶段;
b.对于第l批次的元训练阶段,采用未训练完成的少样本知识图谱补全模型对批次内的所有元训练任务进行学习,并对模型参数进行优化更新;具体包括如下步骤:
(1)基于TransE的翻译假设,利用支持集S
(2)将元学习任务中的每一个三元组的头尾实体对嵌入(h,t)与步骤(1)得到的关系弱表示进行组合,得到元学习任务中的每一个三元组的矩阵表示A=[h,r,t];
(3)将步骤(2)得到的元学习任务中所有三元组的矩阵表示A输入到卷积神经网络构成的少样本知识图谱补全模型中,得到三元组模式的向量表示;通过带有残差更新机制的模式学习器,从三元组的矩阵表示中提取模式的向量表示,以矩阵A为输入,对矩阵A进行复制,获得双通道输入;首先采用1×3卷积核对输入进行卷积,然后采用1×1卷积核对输出进行降维,最后输出1×d维的三元组模式向量P;当支持集中包括至少2个三元组时,对N
(4)使用包含有效性均衡机制的模式匹配器计算查询三元组的有效性分数,将查询集中的三元组的模式向量P
(5)对d(P
式中L
c.判断步骤b得到的模型是否收敛:
若模型收敛,则得到最终的少样本知识图谱补全模型;本步骤结束;
若模型不收敛,则进入步骤d;
d.判断元训练阶段的批次数l是否达到设定值L:
若批次数l达到设定值L,则令批次数l为1,并返回步骤b再次进行训练和优化;
若批次数l未达到设定值L,则令批次数l增加1,并返回步骤b再次进行训练和优化;
S5.采用训练好的少样本知识图谱补全模型,对元测试任务进行补全;具体包括如下步骤:
1)将元测试任务的支持集中的有效三元组和无效三元组输入到模式学习器中得到关系r的有效模式P
2)将元测试任务的查询集中的三元组输入到模式学习器中得到所有三元组的模式的向量表示;再利用模式匹配器计算查询集中的三元组的有效性分数;
3)利用包含有效性均衡机制的模式匹配器计算查询集三元组的模式P
4)基于查询集中所有三元组的有效性分数,对当前元测试任务中的关系r进行补全:选取分数最高的候选项作为补全的三元组。
- 基于元学习的少样本知识图谱补全方法
- 一种基于元学习的少样本行为识别方法