在看别人代码的时候总是出现lhs、rhs的字眼,猜测是约定俗成的命名方式。
反向边
知识图谱嵌入中,经常会增加一个反向边,从而将三元组(h, r, t)转化为(t, r_reverse, h)的形式。
应用场景
- 在链接预测中,包含了实体预测和关系预测两种,其中实体预测又分为头实体预测、尾实体预测。
- 对于头实体预测,我们可以将其转化为尾实体预测的形式,即可以通过添加反向边的方法来实现
为什么要转化为尾实体预测呢?
1. 统一实体的预测形式,方便代码实现
在代码层面来说,既有头实体预测,又有尾实体预测,需要分两种情况来讨论,大大增加了代码量且感觉有点冗余
【补充:尾实体预测的原理是,给定h和r,然后将所有实体代入t的位置,从而计算每个实体作为t的置信度分数】
2. 反向边的作用
一是提高知识图谱的查询(在嵌入部分可能体现得不明显),二是反向边可以补充正向边所缺失的信息,尤其对于少见或冷门的知识,这种补充作用更加明显(来源chatgpt平替版)。
lhs和rhs分别代表什么?
贴两段代码感受一下,第一段:这里的lhs、rel、rhs分别代表头实体、关系、尾实体