TransE解读

Paper地址

1 目标

学习三元组的向量表达

2 算法

TransE解读_第1张图片
大致思路:

  • 初始化+归一化
  • 遍历数据
    • 构造错误样本
    • 训练计算loss函数
  • 根据loss优化三元组的向量表达

3 优化方法

这个是loss函数的计算方法和负样本的挑选方法
TransE解读_第2张图片

  • loss函数(优化目标):正确的三元组比假造的三元组头向量+关系向量-尾向量的差小,优化正确三元组的$ d(h+l,t) 减 去 假 的 三 元 组 的 减去假的三元组的 d(h{’}+l,t{’}) $
  • 假的三元组的生成是随机替换正确的三元组的头或者尾部,不同时替换。
  • 学习的目标是向量表达,所以迭代一次,计算loss,loss是代表正确样本和错误样本的距离差,这个值是个负数,越小代表约好,所以根据loss优化三元组的向量表达。

4 实验

将上述embedding做链接预测
TransE解读_第3张图片

疑问:测试数据如何构成,测试数据从哪里来?
https://github.com/thunlp/OpenKE
TransE解读_第4张图片

这里面说到去掉了训练集中出现的可能测试集会出现的三元组,所以说测试集就是另外一部分三元组的数据,从训练集中剥离出来了,然后拿训练集的数据做训练,测试集直接拿score做排序,然后计算@hist10得到评分,所以链接预测就是学了个embedding,然后直接就排序了,如何体现是预测不存在的关系呢?难道把top5的都当作正确的关系???

你可能感兴趣的:(知识图谱,TransE,知识图谱)