TransD
(这是一篇小白入门笔记,请勿转载)
简介
在实际情况中,实体和关系分属于不同的空间,且不同的实体所在实体空间各有不同。一个三元组中的头实体和尾实体的属性和特征可能大相径庭,那么它们使用的映射矩阵也应该不同。
因此,2015 年 Ji 等人提出的 TransD 模型提供两个动态投影矩阵分别投影头实体和尾实体,且这两个映射矩阵由实体和关系共同确定,使得它们互不相同又相互作用。TransD 不仅考虑到了关系的多样性,也考虑到了实体的多样性。
每个实体和关系都由两个向量来表示,一个描述实体或关系的语义,另一个用于构建将实体从实体空间映射到关系空间的映射矩阵。对给定的三元组 (h, r, t),它对应向量 h, r, t, hp, rp, tp,其中 h, hp, t, tp ∈ Rn, r, rp ∈ Rm。在初始化时,将 TransE 的结果作为实体和关系的嵌入即 h, r, t的初始值,传递矩阵初始化为单位矩阵,这样可以加快收敛速度和避免过拟合。
定义两个映射矩阵
分别, 分别将头实体和尾实体进行从实体空间到关系空间的映射。定义投影向量为 hx, tx,得分函数为 fr(h, t) = −||h⊥ + r − t⊥||22, TransD 的目标函数为:
优势
TransD 简化了 TransR,TransR 为每个关系都构建了一个投影矩阵,而TransD 将投影矩阵分解成两个向量相乘,因此 TransD 在兼顾了实体多样性的同时模型复杂度不高,适用于大规模的知识图谱。