论文来源:AAAI 2020
论文链接:https://arxiv.org/pdf/2001.02332.pdf

本文是发表在AAAI2020上的一篇基于生成对抗网络进行知识图谱零样本关系学习的文章。在知识图谱表示学习(KG Embedding)的相关工作中,会出现一些未在训练数据集中出现过的关系(即 zero-shot relations),由于relation及其相关的三元组没有在训练数据集中出现过,则无法获得该relation训练好的向量表示,从而无法进行链接预测等下游任务。在这篇文章中,作者提出利用这些relations的文本描述信息以及生成对抗网络,为这些zero-shot relations学习到有语义意义的向量表示,从而避免KG中存在新出现的关系时,表示学习模型需要重新训练的问题。

1、相关背景

1.1、基于生成对抗网络的零样本学习

零样本学习,即处理那些未在训练集中出现过的类别的分类问题。在训练集中出现过的类别(即seen classes),有训练数据,此类classes经训练具备一定分类该类测试样本的能力;而未在训练集中出现过的类别(即unseen classes),无训练数据,此类classes测试样本的分类/预测依赖与seen classes建立一定的语义联系(如文本描述、属性描述等),迁移相关seen classes的样本特征,使得unseen classes的样本特征得到学习,并最终实现分类。

近年来,随着生成对抗网络(Generative Adversarial Networks, GANs)在生成图片等方面的成熟运用,许多研究者将GANs引入零样本学习中,为unseen classes,这些缺少样本的classes生成训练样本,使得零样本学习转化为传统的监督学习,从而对unseen classes测试样本进行预测。

此类方法的一般框架为:基于类别的语义描述(文本描述等)及一些随机噪声,输入到GAN的生成器(Generator)中,生成该类别对应的样本特征;同时,在判别器(Discriminator)中,将生成的样本(fake data)与真实样本的特征(real data)经过对抗,使得生成器生成高质量的样本。经过训练的生成对抗网络,具备为unseen classes生成样本的能力。

1.2、知识图谱中的零样本关系学习

知识图谱的表示学习通常用于知识图谱的补全(链接预测等)任务,对于一个三元组,在给定头实体(head entity)及关系的情况下,预测其对应的尾实体(tail entity)。这篇文章的作者们考虑了KG中的零样本关系学习,即对于新出现的一些关系,在不经过表示学习算法重新训练的情况下,依然能在这些关系上进行链接预测的任务。

考虑KG中存在一些由seen relations组成的训练数据集:Ds={(e1,rs,e2,C(e1,rs))}D_s=\{(e_1,r_s,e_2,C_{(e_1,r_s)})\}Ds={(e1,rs,e2,C(e1,rs))} ,其对应的测试集由unseen relations组成:Du={(e1,ru,e2,C(e1,ru))}D_u=\{(e_1,r_u,e_2,C_{(e_1,r_u)})\}Du={(e1,ru,e2,C(e1,ru))} ,零样本学习算法最终的任务即为这些unseen relations涉及到的head entity预测其对应的tail entity。值得注意的是,本篇文章的问题设定集中在处理zero-shot relations,未考虑会出现一些新的实体,即KG中的实体在训练集和测试集中都出现过。换句话说,在测试时,对于KG中已经存在的实体添加了一些zero-shot relations,预测它们是否构成一个完整的三元组。

2、算法模型

因此,本文提出使用生成对抗网络为知识图谱中的unseen relations生成特征表示,从而解决知识图谱中的零样本关系学习问题。本文的框架如下图所示。

其中,

  • 生成器(G):利用关系的描述文本,生成关系的特征表示向量(即relation embedding),此向量蕴含了KG中的语义信息;
  • 判别器(D):分类/判别生成样本和测试样本,并且为保证生成样本的质量,对生成的样本进行分类,使得样本具有inter discriminative的特征;
  • 预训练的特征编码器:编码某关系对应的三元组(即获取真实样本的特征分布)。

下面将详细介绍这三个部分。

2.1、特征编码器

对于某关系rrr,存在一系列的实体对集合,这些实体对描述了该关系的样本特征分布。对于其中的每一对实体,特征编码器首先通过一个entity encoder和一个neighbor encoder捕获这些实体对的蕴含的特征;随后,得到实体对的表示后,特征编码器再组合得到该关系的表示。

Entity encoder首先将实体经过一个全连接层,随后将实体对对应的两个实体进行拼接,得到 :f2(ve)=W2(ve)+b2f_2(v_e)=W_2(v_e)+b_2f2(ve)=W2(ve)+b2uep=σ(f2(ve1)⊕f2(ve2))u_{ep}=\sigma(f_2(v_{e_1})\oplus f_2(v_{e_2}))uep=σ(f2(ve1)f2(ve2))

其次,neighbor encoder将实体对中每一个实体对应周围一跳范围的关系和实体进行编码,具体地,对于实体周围一跳范围的实体关系集合 Ne={(rn,en)∣(e,rn,en)∈G}\mathcal{N}_e=\{(r^n,e^n)|(e,r^n,e^n)\in \mathcal{G}\}Ne={(rn,en)(e,rn,en)G} ,neighbor encoder将每一对邻居经过拼接之后,再分别经过全连接层,最终计算所有邻居表示的均值,得到:f1(vrn,ven)=W1(vrn⊕ven)+b1f_1(v_{r^n},v_{e^n})=W_1(v_{r^n}\oplus v_{e^n})+b_1f1(vrn,ven)=W1(vrnven)+b1ue=σ(1∣Ne∣∑(rn,en)∈Nef1(vrn,ven))u_e=\sigma(\frac{1}{|\mathcal{N}_e|}\sum_{(r^n,e^n)\in \mathcal{N}_e}f_1(v_{r^n},v_{e^n}))ue=σ(Ne1(rn,en)Nef1(vrn,ven))

其中,对于所涉及实体和关系的初始化表示(vrnv_{r^n}vrn,venv_{e^n}ven, etc.)可由TransE等经典的KG embedding模型得到。

对于该实体对,拼接上述实体表示,可得到关系特定的实体对表示:x(e1,e2)=ue1⊕uep⊕ue2x_{(e_1,e_2)}=u_{e_1}\oplus u_{ep}\oplus u_{e_2}x(e1,e2)=ue1uepue2

整体过程如下图所示:

最终,对关系rrr所有的实体对的表示进行聚类可得到关系rrr的特征表示:xcr=1Nr∑i=1Nrx(e1,e2)ix_c^r=\frac{1}{N_r}\sum_{i=1}^{N_r}x_{(e_1,e_2)}^ixcr=Nr1i=1Nrx(e1,e2)i

此特征编码器的训练,文章采用了基于margin loss的预训练策略。具体地,对于关系rrr,首先选定一些reference triples作为标准集,即 {e1∗,rs,e2∗}\{e_1^{\ast},r_s,e_2^{\ast}\}{e1,rs,e2} ,可得到关系的reference embedding x(e1∗,e2∗)x_{(e_1^{\ast},e_2^{\ast})}x(e1,e2) ,在训练时,使正样本 {e1+,rs,e2+}\{e_1^+,r_s,e_2^+\}{e1+,rs,e2+} 的表示逼近reference embedding,而负样本 {e1+,rs,e2−}\{e_1^+,r_s,e_2^-\}{e1+,rs,e2} 的表示远离 reference embedding,loss function为:Lw=max(0,γ+scorew+−scorew−)L_w=max(0,\gamma+score_w^+-score_w^-)Lw=max(0,γ+scorew+scorew)

其中,正样本的score即为计算正样本和reference triple之间的cosine相似度:scorew+=cosine(x(e1+,e2+),x(e1∗,e2∗))score_w^+=cosine(x_{(e_1^+,e_2^+)},x_{(e_1^{\ast},e_2^{\ast})})scorew+=cosine(x(e1+,e2+),x(e1,e2))

2.2 生成器

生成器利用关系rrr的描述文本及噪声,生成关系rrr的特征表示,如下图所示。

对于关系的描述文本,作者利用文本中每个词的word embedding,并通过计算文本中词的TF-IDF权重,对这些word embedding进行加权求和得到文本描述的向量表示。随后,文本的向量表示与随机采样的噪声共同作为生成器的输入。其中,生成器由两层全连接层及激活层函数组成,最终,生成关系rrr的特征表示。生成器的loss function为:LGθ=−Ez∼pz[Dϕ(Gθ(Tr,z))]+Lcls(Gθ(Tr,z))+LPL_{G_{\theta}}=-\mathbb{E}_{z\sim p_z}[D_{\phi}(G_{\theta}(T_r,z))]+L_{cls}(G_{\theta}(T_r,z))+L_PLGθ=Ezpz[Dϕ(Gθ(Tr,z))]+Lcls(Gθ(Tr,z))+LP

其中,生成样本表示为 Gθ(Tr,z)G_{\theta}(T_r,z)Gθ(Tr,z)TrT_rTr为关系rrr的文本描述表示,zzz为随机采样的噪声;loss function的第一项为GAN中的Was.serstein loss,第二项为分类生成样本的分类损失项,第三项为 visual pivot 正则化项,即使得生成样本的中心逼近真实样本的中心。

2.3、判别器

判别器使得真实的样本和生成的样本进行对抗,从而训练生成器生成高质量样本的能力,其loss function为:LDϕ=Ez∼pz[Dϕ(Gθ(Tr,z))]−Ex∼pdata[Dϕ(x)]+12Lcls(Gθ(Tr,z))+12Lcls(x)+LGPL_{D_{\phi}}=\mathbb{E}_{z\sim p_z}[D_{\phi}(G_{\theta}(T_r,z))]-\mathbb{E}_{x\sim p_{data}}[D_{\phi}(x)]+\frac{1}{2}L_{cls}(G_{\theta}(T_r,z))+\frac{1}{2}L_{cls}(x)+L_{GP}LDϕ=Ezpz[Dϕ(Gθ(Tr,z))]Expdata[Dϕ(x)]+21Lcls(Gθ(Tr,z))+21Lcls(x)+LGP

其中,前两项为计算真实样本和生成样本的Wasserstein距离,第三项、第四项分别为分类真实样本和生成样本的分类损失函数,最后一项为Wasserstein GAN网络中为保证Lipschitz constraint 约束的GP优化项(即规范判别器的梯度下降)。

2.4、Unseen relations的分类/预测

基于前面训练好的生成器,给定unseen relation的文本描述,可生成其对应的relation embedding: x~ru←Gθ(Tr,z)\tilde{x}_{r_u}\gets G_{\theta}(T_r,z)x~ruGθ(Tr,z)。预测时,对于一个query triple (e1,ru)(e_1,r_u)(e1,ru) ,其候选尾实体对应的score计算如下:score(e1,ru,e2)=cosine(x~ru,x(e1,e2))score_{(e_1,r_u,e_2)}=cosine(\tilde{x}_{r_u},x_{(e_1,e_2)})score(e1,ru,e2)=cosine(x~ru,x(e1,e2))

为了验证生成器的泛化能力,对于关系rrr可生成一组特征表示向量,其中的每一个与测试样本计算score之后取均值:score(e1,ru,e2)=1Ntest∑i=1Ntestscore(e1,ru,e2)iscore_{(e_1,r_u,e_2)}=\frac{1}{N_{test}}\sum_{i=1}^{N_{test}}score_{(e_1,r_u,e_2)}^iscore(e1,ru,e2)=Ntest1i=1Ntestscore(e1,ru,e2)i

3、实验

针对提出的zero shot relation learning,文章基于NELL和Wiki构建了两个数据集:NELL-ZS、Wiki-ZS,其中数据集中的每一个关系均有可获取的文本描述。其数据统计情况如下图所示:

考虑到现有的KG embedding的算法无法对unseen relation实现预测,文章提出了三种针对unseen relations改进的baselines:ZS-TransE, ZS-DistMult 和 ZS-ComplEx。这三种baseline,在原TransE, DistMult 和ComplEx算法的基础上,取代原本算法中对关系进行随机初始化的操作,利用关系的文本描述学习关系的特征表示。具体地,与生成器的输入类似,同样也使用TF-IDF加权的word embedding得到文本的表示,再经过两层全连接层得到关系的特征表示。该表示将与实体随机初始化的表示在表示学习算法score function的训练下进行优化。由此,对于unseen relations即可通过关系的文本描述得到关系的表示,从而进行链接预测等任务。

在两个数据集上对比baselines结果如下:

其中,ZSGAN为本文中提出的方法,ZSGAN(TransE) 等表示在2.1中特征编码时,使用TransE预训练的embedding对实体和关系进行初始化。结果表示,本文提出的ZSGAN对比baseline在两个数据集上取得了不错的效果。同时,值得注意的是,在unseen relations存在的情况下,baseline中的DistMult具有一定的学习优势。

文章同时分析了生成样本的质量,具体地,计算生成的relation embedding和其对应真实样本的embedding之间的cosine距离,在一些关系上的对比结果如下所示:

4、总结

本文首次提出了知识图谱中的零样本关系学习问题,同时引入生成对抗网络以生成relation embedding的方式,解决预测时新出现的unseen relations的预测问题。

文本中蕴含的relation之间的关联信息,为seen relations和unseen relations构建了类别层面的关联,使得生成对抗网络在seen relations的训练下,可为unseen relations生成语义丰富的特征表示。
除文本描述信息外,一般的零样本学习也利用了属性描述及类别间层次关系等信息,在知识图谱零样本学习的场景中,利用一些relation间更加high-level的关系(如共现关系等)或关系间共有的属性信息,对零样本的关系学习是否有贡献也是值得思考的问题。

同时,本文将研究点关注于KG中zero-shot relation,对于KG中新出现的一些实体(即zero-shot entity)的学习也是值得探索的方向。

基于生成对抗的知识图谱零样本关系学习 AAAI2020相关推荐

  1. 论文浅尝 | AAAI2020 - 基于生成对抗的知识图谱零样本关系学习

    论文笔记整理:耿玉霞,浙江大学直博生.研究方向:知识图谱,零样本学习等. 来源:AAAI2020 论文链接:https://arxiv.org/pdf/2001.02332.pdf 本文是发表在AAA ...

  2. 论文浅尝 | 知识图谱的单样本关系学习

    链接:http://cn.arxiv.org/pdf/1808.09040 动机 如今的知识图谱规模很大但是完成度不高,long-tail关系在知识图谱中很常见,之前致力于完善知识图谱的方法对每个关系 ...

  3. AAAI 2020 | 自动化所:基于对抗视觉特征残差的零样本学习方法

    2020-01-16 05:41:55 作者 | 刘博.董秋雷.胡占义编辑 | Camel 本文对中科院自动化所胡占义团队完成,被AAAI-20录用的论文<Zero-Shot Learning ...

  4. KGSF:通过基于语义融合的知识图谱来改善会话推荐系统 KDD2020

    论文链接:https://arxiv.org/pdf/2007.04032.pdf 代码链接:https://github.com/RUCAIBox/KGSF 1.摘要 会话推荐系统(CRS)旨在通过 ...

  5. 【论文分享】MAD-GAN :基于生成对抗网络的时间序列数据多元异常检测

    2019年ICANN文章 MAD-GAN: Multivariate Anomaly Detection for Time Series Data with Generative Adversaria ...

  6. ​清华大学提出基于生成对抗神经网络的自然图像多风格卡通化方法并开源代码...

    近日,清华大学刘永进教授课题组在 IEEE Transactions on Visualization and Computer Graphics 上发表论文,提出基于生成对抗神经网络的自然图像多风格 ...

  7. 论文浅尝 | ​ADRL:一个基于注意力机制的知识图谱深度强化学习框架

    论文笔记整理:谭亦鸣,东南大学博士. 来源:Knowledge-Based Systems 197 (2020) 105910 链接:https://www.sciencedirect.com/sci ...

  8. 基于生成对抗网络的医学数据域适应研究

    点击上方蓝字关注我们 基于生成对抗网络的医学数据域适应研究 于胡飞, 温景熙, 辛江, 唐艳 中南大学计算机学院,湖南 长沙 410083   摘要:在医疗影像辅助诊断研究中,研究者通常使用不同医院( ...

  9. 基于注意力机制的知识图谱关系预测 ACL 2019

    论文链接:https://arxiv.org/pdf/1906.01195.pdf 代码链接:https://github.com/deepakn97/relationPrediction 论文来源: ...

最新文章

  1. 20秋PHP作业3,北语20秋《PHP》作业3【标准答案】
  2. DockerCon 2016 深度解读: Citrix 服务发现解决方案 —— Nitrox
  3. 利用深度学习方法进行情感分析以及在海航舆情云平台的实践
  4. python热成像_在python中自动从图像中移除热/死像素
  5. [react] 说说Context有哪些属性?
  6. 史上最全的 SQL 优化方案!建议收藏
  7. 小记安装python的MySQLdb模块
  8. 使用SQL存储过程有什么好处 用视图有什么好处
  9. JavaScript——(function(){})()立即执行函数解析
  10. k8s部署nacos
  11. 堡垒之夜显示连接不上服务器,堡垒之夜匹配提示未能连接到服务器 | 手游网游页游攻略大全...
  12. java 实现小米商城系统
  13. 我的JAVA求学之路
  14. 多米诺DP(双向背包)算法总结
  15. 美团java面试_2020年美团Java一面,美团面经面试流程面试题整理
  16. Axure第7讲:设置元件文字行距、边距
  17. 安装PS时提示安装程序检测到计算机重新启动操作可能处于挂起状态,建议您退出安装...
  18. Java后台下载Excel模板并输出到浏览器上的样例
  19. C#超市进销存系统管理源码(CS架构)
  20. alpa开发阶段团队贡献分

热门文章

  1. 团队管理中的每日站立会
  2. PHP 8.0 源码编译安装 JIT 尝鲜
  3. Alibaba seata 分布式事务介绍及配置使用
  4. python3 面向对象编程 下载_Python3(7) Python 面向对象编程
  5. 分布式一致性协议:Raft协议
  6. mysql的事务与锁机制
  7. redis专题:redis集群的动态扩容缩容,水平扩展
  8. 二倍图三倍图什么意思_香港读研,图什么?
  9. Dubbo源码分析系列-深入Dubbo SPI机制
  10. Linux认证复习题100道含答案