4.张量神经网络模型
以神经网络为基础的模型——张量神经网络(neural tensor network, NTN)。NTN模型中,将实体表示为向量,关系通过张量参数定义。NTN模型可以概括在这之前提出的几种基于神经网络用于知识图谱嵌入的模型。
NTN模型主要思想为:首先将词向量映射到实体嵌入空间中,然后加入双线性张量操作。NTN模型网络结构如图2-1。
NTN模型具有一定的局限性。NTN的缺陷是:该方法虽然通过张量能够较为准确地学习到三元组的语义关系,但同时导致模型计算复杂度急剧增加,使得张量神经网络难以扩展到大规模的知识图谱上。
5.双线性模型
在双线性方法类中,首先会在向量空间中计算实体和关系,以此获得实体和关系的潜在语义的可信度,然后学习实体和关系的表示向量。主要模型包括RESCAL、DisMult、ComplEx。
(1)RESCAL提出了一种新颖的学习方法,考虑了关系数据的固有结构,通过双线性捕获实体间的二元关系。RESCAL模型评分函数可视化如图2-2。
在RESCAL中,模型将关系利用满秩矩阵表示,并且通过关系矩阵在头实体和尾实体之间执行双线性运算,因此实体和关系的信息可以进行深层次交互,非常具有表现力。但同时,这导致RESCAL容易产生过拟合,并且随着关系类型的增加,其参数数量增长非常快,导致很难运用到大规模的知识图库中。
(2)针对RESCAL存在的问题,DisMult模型提出了一个用于多关系学习的通用网络框架。该方法通过对三元组中的二元关系建模,能有效地提取逻辑规则,并能从双线性的方式中学习到实体和关系的表示向量,然后利用学习到的语义信息去挖掘潜在的逻辑规则。
该算法通过学习已有的实体和关系的向量表示,然后用表示向量有效地去推断新的三元组是否为真。DisMult评分函数可视化如图2-3。
DisMult模型过分简化了RESCAL模型,导致该方法只能学习到对称关系。在DisMult中,对于同一个实体,不区分是头实体还是尾实体,它们的表示向量是完全一样的。又由于关系矩阵是对称的,这就导致只能够解决知识库中存在的对称关系,不能够解决知识图谱中其他关系类型。
(3)针对DisMult只能学习到知识库中有对称关系的三元组的问题,ComplEx把DisMult建模思想扩展到复数空间表示,提出了一个基于复数表示的方法。ComplEx模型在复数空间中进行表示学习,可以有效地使用双线性表示非对称的语义关系。因为复数域中,同一实体,作为头实体和尾实体,它们的向量表示是不一样的。在ComplEx模型中,对于相同的实体,作为头实体和尾实体的嵌入是复共轭,这将非对称性引入到双线性分解中,从而使ComplEx不仅能够学习到对称关系,还能很好地捕获到潜在的非对称关系。
ComplEx对DisMult扩展后,能够同时解决对称和非对称关系。ComplEx首次在知识图谱中引入复数方法,对后面的研究起到了引领作用。所以在后面的研究中还能看到其他模型利用复数空间解决问题,并且可解决除对称、非对称外更复杂的关系类型。