MetaR
MetaR copied to clipboard
Difference between rel2candidates and rel2candidates_in_train
Hi Mingyang,
请问rel2candidates和rel2candidates_in_train间的区别是什么? 我翻到前面别人有提过类似问题,您有解释rel2candidates_in_train是包含了background的relation和 train data的relation。但我疑惑rel2candidates里包含的relation是什么?以及为何要将它们合并?我猜是不是 test and validation relations的candidate entities?
期待回复,谢谢。
这里可以参考论文里面关于In-Train和Pre-Train的设置(文章的Section 5.1)。Pre-Train的设置就像是GMatching论文中会使用background KG先训练一下entity的embedding,然后用单独的training task训练模型。而In-Train的设置是我们不需要提前在background KG上训练entity embedding,而是直接把原本background KG中的triple并入training task中,在训练的过程中直接学习entity embedding就可以。
1.请问“把原本background KG中的triple并入training task中”,这一步是把所有background KG中的三元组并入吗?还是继续选取一部分few shot relation的三元组并入呢? 2.rel2candidates是什么含义呢,是dataset中和该relation一起出现过的实体都作为candidates吗? 3.e1rel_e2文件的含义是什么呢,是将三元组以e1rel_e2形式表示吗,那这部分数据是包含train,valid,test中的所有task的三元组吗,还是包含整个background KG的三元组呢? 期待您的回复,谢谢!:)
- 是的,把所有的background KG三元组都放入了;
- rel2candidates保存了每一个relation可能的候选实体。用于在测试的时候做type constrain,从而减小链接预测的实体候选数量;
- e1rel_e2是由train,valid的三元组组成的,key为e1rel,value为e2的dict。其作用是在链接预测测试的时候,高效实现filter设置,快速filter掉在train和valid中出现的三元组,这些三元组不计入排序。
感谢您的解答 :)