NIPS/NeurIPS 2013/12
文章简介:
本文提出了一种易于训练参数较少的模型TransE,其在链路预测(link prediction)中获得了不错的表现。
一周论文 | 基于翻译模型(Trans系列)的知识表示学习
【知识图谱】——8种Trans模型
上述文章总结的很好也有代码链接。
目录:
1.Introduction
2.Translation-based model
3.Related work
4.Experiments
4.1 Data sets
4.2 Experimental setup
4.3 Link prediction
4.4 Learning to predict new relationships with few examples
5.Conclusion and future work
1.Introduction
这里给出了多关系数据(multi-relational data)的概念,(h,l,t)中的l存在label即存在多种关系,比如推荐系统中实体是产品和用户之间的关系有购买,评价,搜索;知识图谱中实体间不同类型的关系。
模型处理一般是从实体间提取出全局连接模式和局部连接模式(local connectivity pattern),实体间的关系预测也是通过这些提取出的模式(pattern)来完成。
Modeling multi-relational data
而关系型数据的困难之处在于无论是实体还是关系都有许多不同的类别并会同时出现,所以对于多关系数据需要很好的方法来提取出模式(pattern)。
因为协同过滤中的矩阵分解技术,在表示单关系数据中实体连接模式(connectivity pattern)的相似度上获得了成功,目前处理多关系数据大多数方法采用学习潜在特征的方法。然而大多数模型都很复杂,模型的高容量会使得正则化项难以设置导致过拟合,过多的局部极小值点带来的非凸优化问题会导致欠拟合。然而有研究表明简单的模型也可以获得很好的结果。
Relationships as translations in the embedding space
所以本篇文章提出了TransE模型,将关系和实体嵌入低维向量。至于为什么是Trans即Translation-based,原文为"relationships are represented as translations in the embedding space"(注英文中translation有翻译和向量变换的关系,translation vector平移矢量)。
提出这个模型主要有两个动机。
第一是知识库中的关系在结构上全部相同即都是结点间的边,用translation可以很好的表达他们。作者这里举了一个树的例子,把树结构嵌入二维的话可以建立坐标系以坐标(x,y)来表示。这样的话树结点的父子关系可以根据y轴的translation表示,而兄弟结点关系可以根据x轴的translation表示。
第二个是词嵌入方面的进展(T. Mikolov, I. Sutskever, K. Chen, G. Corrado, and J. Dean. Distributed representations of words and phrases and their compositionality. In Advances in Neural Information Processing Systems (NIPS/NeurIPS 26), 2013.)这篇文章,作者认为实体间的1-to-1关系能通过
translation表达。
2.Translation-based model
TransE学习实体及关系的向量嵌入,原理和简单有三元组(h,l,t),我们的训练目的就是使嵌入h+l≈t。
注意实体作为头实体或尾实体的嵌入是一致的。
训练采用SGD来更新h,l,t。注意到第5行中每次训练实体都会归一化(L2 norm),而关系则不会。作者给出的解释是防止训练会增大实体向量来降低损失函数的情况,之前的嵌入模型也都这样处理非常重要。每次训练中会采样1batch的三元组以及1个负样例来训练。
3.Related work
作者这里比对了SE(Structured Embeddings)和NTM(Neural Tensor Network)。
SE的思路就是对于k维的实体e,定义两个k*k的投影矩阵L1和L2。如果h和t属于一个三元组,则他们的嵌入在L1和L2的投影下应该接近L1h≈L2t。用L1和L2两个变换来表示关系可能是想表现出关系的不对称性(关系有方向)。
SE的表现不如TransE,作者认为原因有两点:
1.比起SE两个投影矩阵表现关系,TransE更加直接将关系也嵌入了。
2.SE难以训练。
这其实和TransE有些类似,但是TransE参数更少易于训练。
4.Experiments
4.1 Data sets
Wordnet
实体是语义(同义词集合),关系是词汇关系。超过40K实体。
Freebase
Freebase在不断扩充,论文发表时有1.2billions个三元组,超过80millions实体。从中提取出Wikilinks database中也包含并在Freebase中出现超过100次的14951个实体和1345个关系,这个数据集称为FB15k。选择最常出现的1million个实体,得到数据集FB1M,其包含17millions个三元组和25k关系。
4.2 Experimental setup
Evaluation protocol
在实验时会移除头实体然后遍历每一个节点去计算相异度(dissimilarity or energies)然后升序排序。也可以移除尾节实体来这样做。这里给出两个指标,
mean rank:在得到的排序中,对正确答案的实体排名求平均。数值越低说明模型越好(真实实体相异度低)。
hits@10:如果正确答案在排名前10,则+1。hits@10代表了排名前10里正确答案的比例。
这些指标具有参考性但是也有疏漏,训练中的负样例有可能也是正确答案但是被作为了负例训练。比如奥巴马是美国总统,头实体奥巴马尾实体美国关系总统,我把头实体随机替换生产负样例,替换成了布什,然而布什也是正确答案(训练集中也有布什,总统,美国的三元组)。一种处理方法是把生成的负列三元组中,在训练集或验证集或测试集中出现过的删除,即对应了表格里的Raw和Filt.。
Baselines
这里介绍了上表中各个模型的超参数设置。
Implementation
调参的搜索空间为:学习率{0.001,0.01,0.1},margin γ={1,2,10},嵌入维度k{20,50},距离采用L1距离或者L2距离。
最佳超参数:
Wordnet:k=20,学习率0.01,γ=2,距离采用L1距离。
FB15k:k=50,学习率0.01,γ=1,距离采用L1距离。
FB1M:k=50,学习率0.01,γ=1,距离采用L2距离。
训练一共1000个epochs,最佳模型参考的指标是means rank。
4.3 Link prediction
Overall results
作者认为TransE获得的成就在于其能被高效训练,而其他模型因为复杂所以很难训练。
同时关系的嵌入很重要(The impact of the translation term is huge)。TransE去掉关系向量(TransE without translation)的Unstructured模型,只是将同时出现的实体聚类起来,mean rank还可以和TransE差不多但是hits@10就很差。
Detailed results
预测头实体和尾实体时作者将关系分为四类,按照给定一个关系对应头实体和尾实体的个数来分类(M.-TO-1在预测头实体时代表M个头实体对应1个尾实体,而不是M个尾实体去预测1个头实体)。注意一个关系会对应很多不同的实体对,所以是按照平均数来决定属于哪类,平均低于1.5就会被算作1。举个例子给定一个关系l,平均1个头实体h对应3.2个尾实体t,那预测尾实体就是1-TO-M.;1个尾实体t对应1.2个头实体h,那预测头实体就是1-TO-1。
从表中容易看出,预测头实体时1-TO-M.和预测尾实体时M.-TO-1得分都很高很容易预测,因为被预测的实体有多个实体连向他。Unstructured在1-TO-1中尚且可以,其他中就不行了因为他无法判别关系。
Illustration
来自FB15K的尾实体预测。加粗表示测试三元组的正确答案,斜体表示训练集里的正确答案
4.4 Learning to predict new relationships with few examples
基于FB15K,作者想测试不同模型学习新关系的数据。所以作者将数据集分为两类:
FB15k-40rel:包含随机抽取的40种关系的所有三元组。训练集有40,000个三元组(每个关系1000个三元组),测试集45,159个三元组。
FB15k-rest:剩余的所有三元组。训练集包含 353,788个三元组,验证集包含53,266个三元组。
两个数据集都包含了所有实体。
基于这两个数据集,作者用FB15k-rest训练模型,随后在 FB15k-40rel的训练集上训练新的40个关系,最后在测试集上测试。注意测试的依旧是link predicition,预测实体。结果如下:
Unstructured因为不依赖于关系所以表现一致持平。TransE依旧表现的很好。
5.Conclusion and future work
作者下一步想把这类方法拓展到更多应用场景比如说词语的表征学习,以及把知识库和文本结合。作者最近将TransE加入文本关系抽取的框架中。