Sphinx1126 / RelaGraph

Improving Embedding on Small-scale Sparse Knowledge Graphs by Neighborhood Relations
4 stars 1 forks source link

您好,请问如何用模型进行一些下游的任务呢比如KGC? #1

Closed px6927 closed 1 year ago

px6927 commented 1 year ago

我看论文中您有进行Link prediction,请问具体是怎么实现呢?将数据集的边删除后重新用rela模型训练这里我明白了,接下来就不太明白怎么做,请问能留一个邮箱吗,我的邮箱是2725294374@qq.com,如果您有空我能不能向您请教一下?希望能得到您的回复,谢谢!

Sphinx1126 commented 1 year ago

link prediction与4.5节中的方法类似。例如,关系集R={r1, r2, ..., rn},一个被删去的三元组(h, r, t)。将r替换为R中的任一关系ri,(h, ri, t)输入模型,每个ri得到一个对应的三元组置信度。这些置信度中的最大值若大于0,则其对应的关系r'为link prediction的结果。若r'==r,则预测正确。

px6927 commented 1 year ago

link prediction与4.5节中的方法类似。例如,关系集R={r1, r2, ..., rn},一个被删去的三元组(h, r, t)。将r替换为R中的任一关系ri,(h, ri, t)输入模型,每个ri得到一个对应的三元组置信度。这些置信度中的最大值若大于0,则其对应的关系r'为link prediction的结果。若r'==r,则预测正确。

好的谢谢您的解答!我再去学习一下代码看看怎么实现,如果可以告知的话,请问代码中我需要对哪些地方进行修改来实现LP呢?

Sphinx1126 commented 1 year ago

你需要先重新组织数据集并修改processor.py,以禁用验证集与测试集(若嫌麻烦不想改代码的话,可以直接在valid.txt和test.txt中填入train.txt的数据)。然后,将run.py中do_valid、do_test设置为False;最后,在run.py的末尾加入link prediction的实现,以遍历的方式将三元组(h, r, t)输入模型“model(h ,r, t)”。也可以在运行完run.py后另写一份代码,加载模型然后进行link prediction。

px6927 commented 1 year ago

你需要先重新组织数据集并修改processor.py,以禁用验证集与测试集(若嫌麻烦不想改代码的话,可以直接在valid.txt和test.txt中填入train.txt的数据)。然后,将run.py中do_valid、do_test设置为False;最后,在run.py的末尾加入link prediction的实现,以遍历的方式将三元组(h, r, t)输入模型“model(h ,r, t)”。也可以在运行完run.py后另写一份代码,加载模型然后进行link prediction。

好的非常谢谢您的耐心解答!