Press "Enter" to skip to content

论文浅尝 | 解决知识图谱补全中的长尾关系和不常见实体问题

论文笔记整理: 汪寒,浙江大学硕士。

 

链接: https://www.aclweb.org/anthology/P19-1024.pdf

 

动机

 

KG 的分布遵循长尾分布,大部分关系只有很少的三元组,且大体趋势是关系出现的频率和与之相关的不常见实体的比例呈反比关系。而之前的知识图谱补全工作都围绕在那些出现频率较高的实体和关系,忽略了剩下的那些 infrequent relation 和 uncommon entities ,所以作者就将针对 infrequent relations 和 uncommon entities 的 KGC 构造成一个 few-shot learning 的问题,并提出了一个 meta-learning 框架。

 

 

亮点

 

本文的亮点主要包括:

 

( 1 )提出了 entity trait 的概念,即实体的表示应该是 relation-specific 的,也就是不同的关系与实体的表述的不同部分相关,利用文本信息作为补充信息。

 

( 2 )提出了一个 Triplet Generator ,在 meta-testing 的训练阶段用一个 VAE 网络生成一些三元组进行数据增强。

 

概念及模型

 

Overview of Learning Method

 

将每种关系的 KGC 看作是一个 task ,把所有 task 分为训练集 R train ,验证集 R val ,以及测试集 R test 。在 meta-training 的阶段每次都随机抽取 B 个 task 训练模型,得到模型参数 W 。在 meta-testing 的阶段对每个 task 都随机抽 r 个三元组继续训练模型,得到模型参数 W ’ ,再在剩下的三元组上测试模型性能。

 

Description Encoder

 

从 description 生成三元组的 embedding O=(o h ,o r , o t )

 

 

1.      relation embedding 生成

 

用一个 CNN 网络将 relation 的 description 映射成一个向量 o r

 

2.      entity trait 计算

 

entitytrait 表示与某个关系相连所有的实体的共有特征,这个部分由两个 memory matrix 完成,其中 M rh 形状为 [m,u] ,表示 relation memory , M h 形状也为 [m,u] ,表示 entity memory ,这两个记忆矩阵可以记录实体和关系的全局信息。

 

3.      relation-specific entity embedding 生成

 

先将 entity 的 description 通过一个 CNN 网络生成 hidden states ,再用上一步生成的 entity trait 作为 key 计算隐状态权重,最后生成 entity embedding 。

 

Triplet Generator

 

 

用一个复杂版的 VAE 来生成一些三元组补充训练数据。

 

Meta-Learner

 

用 Reptile 算法优化。

 

 

理论分析

 

实验

 

1.       数据集

 

 

作者通过 Wikidata 和 DBPedia 人工构造了两个数据集,只选择那些对应三元组出现次数多于 5 次少于 1000 次的关系。

 

2.       One-shot 和 Four-shot KGC 实验结果

 

 

其中 Ours-TCVAE 是指去掉 Triplet Generator 。

 

3.       TripletGenerator study

 

 

表示用 Triplet Generator 生成不同个数三元组时模型在 One-shot 场景的表现。

 

总结

 

本文在 few-shot 问题上引入了文本信息作为补充信息,并提出了 entity trait 的概念,也就是实体的 embedding 应该是 relation-specific 。同时为了解决在 meta-testing 的训练阶段训练不足的问题,还提出了一个基于 VAE 的 Triplet Generator 来人工生成三元组补充训练数据。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注