论文链接:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.486.2800&rep=rep1&type=pdf
论文来源:2014 AAAI
导读
表示学习是深度学习的基础,将数据用更有效的方式表达出来,才能让深度学习发挥出更强大的作用。表示学习避免了手动提取数据特征的繁琐,允许计算机学习特征的同时,也学习如何提取特征。尽管举例基于翻译(translation)的知识图谱表示学习已经过去了五六年的时间,但是仍不可忽略其重要意义。本文聚焦于TransH模型。
1、引言
TransE模型简单有效的方法,在链接预测达到了state-of-the-art的效果。但在知识图谱中,关系的属性在嵌入时也应当被考虑,如一对多,多对一,和多对多的关系。本文注意到TransE不能很好地处理这些类型的关系。有些模型可以保留不同类别的关系,但是牺牲了处理的效率。为了达到一个效率和模型能力的权衡,本文提出了TransH。利用一对多,多对一的关系,本文提出了一个简单的技巧,可以帮助减少负采样过程中假负例的出现概率。
在TransH中,每一个关系使用两个向量来刻画,其中一个单位向量 w r w_r wr 用来表示超平面的法向量,另外一个向量 d r d_r dr 表示超平面上的翻译向量。
2、相关工作
(1)TransE:详情请点击
(2)非结构化表示 Unstructured:将不同实体用嵌入方式表示,得分函数为 ∣ ∣ h − t ∣ ∣ ||h-t|| ∣∣h−t∣∣。显然这种方式不能区分不同的关系。
(3)距离模型 Distant Model:将头实体和尾实体用两个不同的矩阵 W r h W_{rh} Wrh和 W r t W_{rt} Wrt投影,相似程度用 W r h h W_{rh}h Wrhh和 W r t t W_{rt}t Wrtt的 L 1 L_1 L1距离来度量。此模型不能很好捕捉实体和关系的相关性。
(4)双线性模型 Bilinear Model:模型认为实体之间是二阶相关的,用 h t W r t h^tW_rt htWrt来建模。
(5)单层网络模型 Single Layer Model:使用神经网络的非线性变换,将 h , t h, t h,t作为输入,并加以非线性层,最后用线性单元计算得分 u r f ( W r h h + W r t t + b r ) u_r f(W_{rh}h+W_{rt}t+b_r) urf(Wrhh+Wrtt+br)。
(6)神经张量网络 Neural Tensor Network:在此篇文章中的神经张量网络之后加入了非线性单元。
3、TransH
为了克服TransE在对一对多,多对一和多对多的关系上的不足,我们提出了一种针对不同关系的分布式表示方法,TransH。如图所示,对于一个关系 r r r,设置一个关系翻译向量 d r d_r