RUCAIBox / NCL

[WWW'22] Official PyTorch implementation for "Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning".
117 stars 20 forks source link

关于数据集评估的问题 #51

Closed Jaccelerator closed 10 months ago

Jaccelerator commented 10 months ago

您好,感谢如此浅显易懂的代码,但是因为我刚接触 recbole,有些不清楚的地方还想请教一下。

  1. 我的 recbole 版本是 1.0.1,修改 overall.yamleval_setting 字段貌似不起作用,但是打印日志发现了字段名称应该是 eval_args,想请问下是因为版本更新带来的吗?

  2. 我安装了 recbole,但是用 vscode 点击跳转 create_dataset 还是不清楚数据格式。因此,在这里想问下, 2.1 如果指定训练和测试阶段的负采样,在每个 batch/epoch 是重新 sample 吗,还是说是固定的 sample 呢? 2.2 如果自己划分的训练、验证和测试集,我参考了 issue #3 ,此时 recbole 会重新 remap id。在这种情况下,如果有预训练的 user 与 item embedding,如何添加到 NCL 中,并保证对应关系呢?

hyp1231 commented 10 months ago

您好,感谢关注!

  1. 是的,可能有些版本更新带来的参数名问题,您可以参考 API Doc 来获得对应版本的配置。

2.1. 训练是动态采样的,测试阶段应该是固定的 sample。

2.2. 我推荐参考 https://github.com/RUCAIBox/UniSRec/blob/master/data/dataset.py 这个实现,里面加载 plm_embedding 的情况可能与您想尝试的方法类似。

Jaccelerator commented 10 months ago

好的,非常感谢您及时的回复!