Distmult
EMBEDDING ENTITIES AND RELATIONS FOR LEARNING AND INFERENCE IN KNOWLEDGE BASES
ICLR 2015
年代久远,虽然文章里是这样的,但是现在大家都按照直接相乘来计算。Mult
abstract
-
most exsiting model under a unfied framework, where entities are low-dimensional vectors learned from a neural network and relations are bilinear and/or linear mapping funtions.
-
evaluate different choices of entity representations and relation representations under this framework on canonical link prediction task.
show a simple bilinear and/or linear formulation achieve new SOTA. -
a novel approach that utilizes the learned embeddings to mine logical rules.
bilinear-diag: DistMult
TransE: DistADD
文章里说是: h*M_r*t, 但是网上查的教程都说:
好像就是改了个得分函数,h+t-r改成了h*t*r。。。
不知道为什么变成直接乘了。。
看了pykg2vec的代码,也不知道rel怎么限制成diagonal的。。。
TA-DistMult
将三元组加入时间,将relation改成: relation+时间状语(since, until..) + year + month + day 这样的一个序列p
将p过一个lstm,
最后当成一个三元组h*p*t就可以了。。