基于元学习的少样本知识图谱补全方法与流程

文档序号:26229573发布日期:2021-08-10 16:29阅读:490来源:国知局
基于元学习的少样本知识图谱补全方法与流程

本发明属于机器学习领域,具体涉及一种基于元学习的少样本知识图谱补全方法。



背景技术:

知识图谱是一种包含多种类型关系和实体的多源数据。知识图谱广泛应用于问答系统、搜索引擎、推荐系统等领域。知识图谱由大量的三元组构成,每个三元组都由头实体,关系和尾实体组成,代表现实世界中的知识。

虽然知识图谱中有大量的实体、关系和三元组,但是知识图谱普遍存在不完整的问题,因此需要补全。通过捕捉知识图谱中不同类型的关系和实体之间的联系,并汇聚多源数据中的特征,从而自动补全知识图谱,是知识图谱补全的关键问题。

知识图谱嵌入方法被广泛研究,并用于知识图谱补全。这类方法通过将知识图谱中的实体和关系映射到低维向量空间来解决这个问题。但是,这类方法依赖大量的训练三元组,然而知识图谱中很大一部分关系是仅已知少量三元组的长尾关系。因此,嵌入方法对长尾关系的效果不好,从而严重影响了知识图谱补全的效果。



技术实现要素:

本发明的目的在于提供一种能够根据少量三元组就进行知识图谱补全,而且可靠性高、效果好的基于元学习的少样本知识图谱补全方法。

本发明提供的这种基于元学习的少样本知识图谱补全方法,包括如下步骤:

s1.获取待补全的知识图谱和对应的邻域知识图谱;所述邻域知识图谱包括待补全的知识图谱中所有实体的邻域信息;

s2.采用步骤s1获取的邻域知识图谱,对待补全的知识图谱中的实体嵌入进行初始化;

s3.将待补全的知识图谱的关系集合分为训练关系集合和测试关系集合,并从训练关系集合或测试关系集合中选取一个关系所对应的三元组构建元训练任务或元测试任务;

s4.在若干个批次的元训练任务上训练得到少样本知识图谱补全模型;

s5.采用训练好的少样本知识图谱补全模型,对元测试任务进行补全。

步骤s2所述的采用步骤s1获取的邻域知识图谱,对待补全的知识图谱中的实体嵌入进行初始化,具体为采用嵌入方法,在步骤s1获取的邻域知识图谱上训练得到待补全的知识图谱的实体的嵌入表示;且若邻域知识图谱不存在,则随机初始化待补全的知识图谱的实体的嵌入表示。

步骤s3所述的将待补全的知识图谱的关系集合分为训练关系集合和测试关系集合,并从训练关系集合或测试关系集合中选取一个关系所对应的三元组构建元训练任务或元测试任务,具体包括如下步骤:

a.将待补全的知识图谱的关系集合r分为训练关系集合rtrain和测试关系集合rtest;

b.从训练关系集合rtrain或测试关系集合rtest中选取一个关系r所对应的三元组构建元训练任务ttrain或元测试任务ttest;所述的元训练任务ttrain和元测试任务ttest均包括支持集sr和查询集qr;

c.采用如下步骤得到元训练任务ttrain的支持集sr:

从元训练任务ttrain的任务关系r所对应的三元组中随机选取ns个有效三元组,然后为每个有效三元组(h,r,t)从对应的尾实体候选项集合ch,r中随机选取一个错误尾实体t',从而构建对应的无效三元组(h,r,t'),最终得到元训练任务ttrain的支持集sr;所述的尾实体候选项集合ch,r为已知h和r的尾实体候选集合;h为一个有效三元组的头实体;

d.采用如下步骤得到元测试任务ttest的支持集sr:

从元测试任务ttest的任务关系r所对应的三元组中随机选取ns个有效三元组,然后为每个有效三元组(h,r,t)从对应的尾实体候选项集合ch,r中随机选取一个错误尾实体t',从而构建对应的无效三元组(h,r,t'),最终得到元训练任务ttrain的支持集sr;所述的尾实体候选项集合ch,r为已知h和r的尾实体候选集合;h为一个有效三元组的头实体;

e.采用如下步骤得到元训练任务ttrain的查询集qr:

从剩余的三元组中,随机选取nq个有效三元组,并为每个有效三元组(h,r,t)从对应的尾实体候选项集合ch,r中随机选取一个错误尾实体t',从而构建对应的无效三元组(h,r,t'),最终得到元训练任务ttrain的查询集qr;

f.采用如下步骤得到元测试任务ttest的查询集qr:

从剩余的三元组中,选取一个有效三元组(h,r,t)作为待补全三元组,并穷举对应的尾实体候选项集合ch,r中的尾实体,并替换有效三元组(h,r,t)中的尾实体,从而构建|ch,r|个候选三元组,最终得到元测试任务ttest的查询集qr;其中||为集合中的元素个数;

步骤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的翻译假设,利用支持集sr中的有效三元组的头实体和尾实体,得到任务关系的弱表示r=t-h;同时,当ns大于1时,对ns个三元组的弱关系表示取平均值为

(2)将元学习任务中的每一个三元组的头尾实体对嵌入(h,t)与步骤(1)得到的关系弱表示进行组合,得到元学习任务中的每一个三元组的矩阵表示a=[h,r,t];

(3)将步骤(2)得到的元学习任务中所有三元组的矩阵表示a输入到卷积神经网络构成的少样本知识图谱补全模型中,得到三元组模式的向量表示;通过带有残差更新机制的模式学习器,从三元组的矩阵表示中提取模式的向量表示,以矩阵a为输入,对矩阵a进行复制,获得双通道输入;首先采用1×3卷积核对输入进行卷积,然后采用1×1卷积核对输出进行降维,最后输出1×d维的三元组模式向量p;当支持集中包括至少2个三元组时,对ns为三元组的模型向量取平均值;同时,令模式学习器的参数为θ,pi=fθ(ai);式中fθ()为模式学习器的模式提取函数;ai为第i个三元组对应的矩阵表示;

(4)使用包含有效性均衡机制的模式匹配器计算查询三元组的有效性分数,将查询集中的三元组的模式向量pqry与支持集有效三元组的模式向量ppos和无效三元组的模式向量pneg输入模式匹配器,分别计算三元组模式与有效模式的欧式距离d(ppos,pqry)(即匹配度)和三元组模式与无效模式的欧氏距离d(pneg,pqry)(即匹配度),从而得到查询集三元组的有效性分数scoreqry为scoreqry=d(ppos,pqry)-d(pneg,pqry);式中d(ppos,pqry)=||ppos-pqry||2,d(pneg,pqry)=||pneg-pqry||2,||||2为二范数;

(5)对d(ppos,pqry)和d(pneg,pqry)采用softmax函数得到查询三元组为有效的概率ppos或为无效的概率pneg;然后采用下式计算损失并更新模式学习器的参数和实体的嵌入表示:

式中lq(fθ)为模式学习器通过查询集计算得到的损失;fθ为模式学习器的模式提取函数;yi为第i个三元组的有效性标签;log()为取任意对数操作;θnew为更新后的模式学习器参数;θ为更新前的模式学习器参数;α为给定的任务学习率;为θ对应的梯度。

步骤s5所述的采用训练好的少样本知识图谱补全模型,对元测试任务进行补全,具体包括如下步骤:

1)将元测试任务的支持集中的有效三元组和无效三元组输入到模式学习器中得到关系r的有效模式ppos和无效模式pneg;

2)将元测试任务的查询集中的三元组输入到模式学习器中得到所有三元组的模式的向量表示;再利用模式匹配器计算查询集中的三元组的有效性分数;

3)利用包含有效性均衡机制的模式匹配器计算查询集三元组的模式pqry与有效模式ppos的匹配度d(ppos,pqry),以及查询集三元组的模式pqry与无效模式pneg的匹配度d(pneg,pqry),计算三元组的有效性分数scoreqry为scoreqry=d(ppos,pqry)-d(pneg,pqry);

4)基于查询集中所有三元组的有效性分数,对当前元测试任务中的关系r进行补全:选取分数最高的候选项作为补全的三元组。

本发明提供的这种基于元学习的少样本知识图谱补全方法,能够在每种关系仅有少量已知三元组的条件下预测未知的三元组,解决传统的基于嵌入的方法对知识图谱中的少样本关系的补全效果不好的问题;通过基于神经网络的模式学习器从三元组的嵌入矩阵中学习三元组元素的共现模式,并通过比较候选三元组与参考三元组的模式相似性计算候选三元组的有效性,因此本发明对邻域知识图谱的依赖性较低,鲁棒性更好;引入了残差更新机制和有效性平衡机制,使得模型在模型训练过程中不损失实体嵌入表示的初始信息,从而学习到质量更高的实体嵌入表示,而且使得模型充分考虑候选三元组和有效三元组与无效三元组的相似度,从而更准确地计算三元组的有效性分数;因此本发明方法能够根据少量三元组就进行知识图谱补全,而且可靠性高、效果好。

附图说明

图1为本发明方法的方法流程示意图。

具体实施方式

如图1所示为本发明方法的方法流程示意图:本发明提供的这种基于元学习的少样本知识图谱补全方法,包括如下步骤:

s1.获取待补全的知识图谱和对应的邻域知识图谱;所述邻域知识图谱包括待补全的知识图谱中所有实体的邻域信息;

s2.采用步骤s1获取的邻域知识图谱,对待补全的知识图谱中的实体嵌入进行初始化;具体为采用嵌入方法,在步骤s1获取的邻域知识图谱上训练得到待补全的知识图谱的实体的嵌入表示;且若邻域知识图谱不存在,则随机初始化待补全的知识图谱的实体的嵌入表示;

s3.将待补全的知识图谱的关系集合分为训练关系集合和测试关系集合,并从训练关系集合或测试关系集合中选取一个关系所对应的三元组构建元训练任务或元测试任务;具体包括如下步骤:

a.将待补全的知识图谱的关系集合r分为训练关系集合rtrain和测试关系集合rtest;

b.从训练关系集合rtrain或测试关系集合rtest中选取一个关系r所对应的三元组构建元训练任务ttrain或元测试任务ttest;所述的元训练任务ttrain和元测试任务ttest均包括支持集sr和查询集qr;

c.采用如下步骤得到元训练任务ttrain的支持集sr:

从元训练任务ttrain的任务关系r所对应的三元组中随机选取ns个有效三元组,然后为每个有效三元组(h,r,t)从对应的尾实体候选项集合ch,r中随机选取一个错误尾实体t',从而构建对应的无效三元组(h,r,t'),最终得到元训练任务ttrain的支持集sr;所述的尾实体候选项集合ch,r为已知h和r的尾实体候选集合;h为一个有效三元组的头实体;

d.采用如下步骤得到元测试任务ttest的支持集sr:

从元测试任务ttest的任务关系r所对应的三元组中随机选取ns个有效三元组,然后为每个有效三元组(h,r,t)从对应的尾实体候选项集合ch,r中随机选取一个错误尾实体t',从而构建对应的无效三元组(h,r,t'),最终得到元训练任务ttrain的支持集sr;所述的尾实体候选项集合ch,r为已知h和r的尾实体候选集合;h为一个有效三元组的头实体;

e.采用如下步骤得到元训练任务ttrain的查询集qr:

从剩余的三元组中,随机选取nq个有效三元组,并为每个有效三元组(h,r,t)从对应的尾实体候选项集合ch,r中随机选取一个错误尾实体t',从而构建对应的无效三元组(h,r,t'),最终得到元训练任务ttrain的查询集qr;

f.采用如下步骤得到元测试任务ttest的查询集qr:

从剩余的三元组中,选取一个有效三元组(h,r,t)作为待补全三元组,并穷举对应的尾实体候选项集合ch,r中的尾实体,并替换有效三元组(h,r,t)中的尾实体,从而构建|ch,r|个候选三元组,最终得到元测试任务ttest的查询集qr;其中||为集合中的元素个数;

s4.在若干个批次的元训练任务上训练得到少样本知识图谱补全模型;具体包括如下步骤:

a.将步骤s3构建的元训练任务分成l批次的元训练阶段;

b.对于第l批次的元训练阶段,采用未训练完成的少样本知识图谱补全模型对批次内的所有元训练任务进行学习,并对模型参数进行优化更新;具体包括如下步骤:

(1)基于transe的翻译假设,利用支持集sr中的有效三元组的头实体和尾实体,得到任务关系的弱表示r=t-h;同时,当ns大于1时,对ns个三元组的弱关系表示取平均值为

(2)将元学习任务中的每一个三元组的头尾实体对嵌入(h,t)与步骤(1)得到的关系弱表示进行组合,得到元学习任务中的每一个三元组的矩阵表示a=[h,r,t];

(3)将步骤(2)得到的元学习任务中所有三元组的矩阵表示a输入到卷积神经网络构成的少样本知识图谱补全模型中,得到三元组模式的向量表示;通过带有残差更新机制的模式学习器,从三元组的矩阵表示中提取模式的向量表示,以矩阵a为输入,对矩阵a进行复制,获得双通道输入;首先采用1×3卷积核对输入进行卷积,然后采用1×1卷积核对输出进行降维,最后输出1×d维的三元组模式向量p;当支持集中包括至少2个三元组时,对ns为三元组的模型向量取平均值;同时,令模式学习器的参数为θ,pi=fθ(ai);式中fθ()为模式学习器的模式提取函数;ai为第i个三元组对应的矩阵表示;

(4)使用包含有效性均衡机制的模式匹配器计算查询三元组的有效性分数,将查询集中的三元组的模式向量pqry与支持集有效三元组的模式向量ppos和无效三元组的模式向量pneg输入模式匹配器,分别计算三元组模式与有效模式的欧式距离即匹配度d(ppos,pqry)和三元组模式与无效模式的欧氏距离即匹配度d(pneg,pqry),从而得到查询集三元组的有效性分数scoreqry为scoreqry=d(ppos,pqry)-d(pneg,pqry);式中d(ppos,pqry)=||ppos-pqry||2,d(pneg,pqry)=||pneg-pqry||2,||||2为二范数;

(5)对d(ppos,pqry)和d(pneg,pqry)采用softmax函数得到查询三元组为有效的概率ppos或为无效的概率pneg;然后采用下式计算损失并更新模式学习器的参数和实体的嵌入表示:

式中lq(fθ)为模式学习器通过查询集计算得到的损失;fθ为模式学习器的模式提取函数;yi为第i个三元组的有效性标签;log()为取任意对数操作;θnew为更新后的模式学习器参数;θ为更新前的模式学习器参数;α为给定的任务学习率;为θ对应的梯度。

c.判断步骤b得到的模型是否收敛:

若模型收敛,则得到最终的少样本知识图谱补全模型;本步骤结束;

若模型不收敛,则进入步骤d;

d.判断元训练阶段的批次数l是否达到设定值l:

若批次数l达到设定值l,则令批次数l为1,并返回步骤b再次进行训练和优化;

若批次数l未达到设定值l,则令批次数l增加1,并返回步骤b再次进行训练和优化;

s5.采用训练好的少样本知识图谱补全模型,对元测试任务进行补全;具体包括如下步骤:

1)将元测试任务的支持集中的有效三元组和无效三元组输入到模式学习器中得到关系r的有效模式ppos和无效模式pneg;

2)将元测试任务的查询集中的三元组输入到模式学习器中得到所有三元组的模式的向量表示;再利用模式匹配器计算查询集中的三元组的有效性分数;

3)利用包含有效性均衡机制的模式匹配器计算查询集三元组的模式pqry与有效模式ppos的匹配度d(ppos,pqry),以及查询集三元组的模式pqry与无效模式pneg的匹配度d(pneg,pqry),计算三元组的有效性分数scoreqry为scoreqry=d(ppos,pqry)-d(pneg,pqry);

4)基于查询集中所有三元组的有效性分数,对当前元测试任务中的关系r进行补全:选取分数最高的候选项作为补全的三元组。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1