Shuibin Long

Results 11 comments of Shuibin Long

你好!起初,这个项目主要是想复现ConvR,所以原谅我并没有对ConvE的指标关注太多😅。“和原论文指标有gap”这个问题您可以看一下issue(#1)的讨论,简单总结大概是我的这份代码里只评测了「尾部实体」的hit@n和mrr,原论文应该既评测「头部实体」也评测「尾部实体」并综合后得到的最终指标。此外,你可以留意一下实验使用的超参数是否能和论文对齐,如果后续有发现新问题的话可以持续讨论~ ps. 因为Conv系列的特殊性,评测「头部实体」需要单独为每个(h,r,t)三元组生成对应的逆关系r‘三元组(t,r',h)再去评测,我当时略过了这一部分。

> 楼主你好,请问conve训练好的ckpt文件使用的接口没有吗? 当时没有写这个功能,但是框架是pytorch,所以用pytorch支持的接口就行?

运行时候是需要带参数`python main.py --config configs/ConvR.json`其中的`--config`来指定配置文件的,我猜测可能你使用的IDE在调试模式下没有配置这个运行参数,所以也许需要在哪设置一下?或者可以考虑在代码`main.py`的78行中为它设置一个默认值——你的配置文件所在路径。

一开始所有实体/关系的embedding都有初始化吧(`models/ConvR.py`第23-24行),它是作为头实体还是尾身体不是取决于具体的数据吗?

那应该是用的全体实体当作尾实体计算的,只有那原始的batch个尾实体作为label=1,其他label=0?

没有get到你的意思= =,候选实体是指?

这里点积全体实体是为了为h,r计算所有t组成的(h,r,t)的打分,交叉熵loss是在约束这个打分,让label=1的打分趋近于1,label=0的的打分趋近于0

😀方便的话可以加个联系方式讨论?我的QQ是838546480,邮箱[email protected]

我这里只评测了尾实体(即固定「头实体」和「关系实体」,枚举「尾实体」计算ground truth的mrr和hit@n)个人猜测原文里的结果应该是既评测了「头实体」也评测了「尾实体」再以它们的均值当作指标,因为我之前研读ConvE的代码发现它是这样做的。 ps. 以上纯个人猜想哈,不排除可能还有其他原因😅

> 请问楼主有修改好评分代码嘛? 最近比较忙并没有什么时间填坑= =,也许你可以提个pr贡献一下?🥹