图表征学习
TransX系列算法
空间传递不变性
Queen-women+man = king
TransE
对于所有的实体和关系随机初始化一个向量,使得实体和关系在同一空间内表征,使得每个正确的三元组可以从头实体通过关系翻译到尾实体上,定义从头实体翻译到尾实体之后与标注尾实体之间的距离为“势能差”,找到整体最小的势能差的实体和关系向量。
存在的问题
TransE模型很简单也带来一个很大的问题就是他只适合处理一对一的关系,举例来说(华科、地点、武汉)和(黄鹤楼、地点、武汉)出现在KG中时,TransE的表示会将“华科”和“黄鹤楼”的向量表示计算的很接近,但是实际上这两者之间的关系并不大。
TransH怎么操作
它解决了一对多和多对一的关系问题,基本思想是针对每个关系r,都把实体投影到有关于这个r的一个空间上去,在这个r的空间上,做TransE。实体、关系在同一个空间内,但是需要做一次投影
h w r = w T h w h_{wr} = w^T hw hwr=wThw
TransE和TransH存在什么问题
TransE和TransH模型都假设实体和关系是在同一个语义空间的向量,这样相似的实体会在空间中相近的位置,然而每一个实体都可以有很多方面,而不同的关系关注的是实体不同的方面,所以TransR对每个三元组,首先应将实体投影到对应的关系空间中,然后再建立从头实体到尾实体的翻译关系。
实体和关系在不同的空间中
TransR怎么操作
通过一个转换矩阵,将实体转换到关系所在的空间中,做TransE
h r = h M r h_r = hM_r hr=hMr
t r = t M r t_r = tM_r t