RUCAIBox / RecBole

A unified, comprehensive and efficient recommendation library
https://recbole.io/
MIT License
3.37k stars 606 forks source link

[🐛BUG] sequential model + augmented benchmark files + edited ITEM_ID_FIELD, ERROR #1933

Open XinyueYu16 opened 10 months ago

XinyueYu16 commented 10 months ago

描述这个 bug

sequential_model中,使用已提前data augmentation过&自定义ITEM_ID_FIELDbenchmark_files,报错没有item_id_list_features。

预期

TayTroye commented 10 months ago

@XinyueYu16 你好,item_id_list的定义是在 https://github.com/RUCAIBox/RecBole/blob/4121d5c2a7c4813566d2240e5d474d6ce2f0929f/recbole/model/abstract_recommender.py#L156

XinyueYu16 commented 10 months ago

@XinyueYu16 你好,item_id_list的定义是在

https://github.com/RUCAIBox/RecBole/blob/4121d5c2a7c4813566d2240e5d474d6ce2f0929f/recbole/model/abstract_recommender.py#L156

您好,感谢你的回复!不过在这里定义的不是只有item_id和item_length吗?

当我设置了自定义的item_id后,item_id_list_field好像并没有根据我设置的item_id(我设置的为p_id)进行修改,并报了我上面贴出的错误。 但是当我不再设置自定义item_id(并且把数据集里的item_id列名也修改为‘item_id’)时,一切都可以正常运行了。所以我怀疑是一个bug

TayTroye commented 10 months ago

@XinyueYu16 您好,ITEM_SEQ就是item_id_list,以下是他的构造过程https://github.com/RUCAIBox/RecBole/blob/4121d5c2a7c4813566d2240e5d474d6ce2f0929f/recbole/data/dataset/sequential_dataset.py#L77

XinyueYu16 commented 10 months ago

@XinyueYu16 您好,ITEM_SEQ就是item_id_list,以下是他的构造过程

https://github.com/RUCAIBox/RecBole/blob/4121d5c2a7c4813566d2240e5d474d6ce2f0929f/recbole/data/dataset/sequential_dataset.py#L77

https://github.com/RUCAIBox/RecBole/blob/4121d5c2a7c4813566d2240e5d474d6ce2f0929f/recbole/data/dataset/sequential_dataset.py#L163-L165

收到,感谢回复。那问题可能是在这一行直接使用了self.item_id_list_field这个attribute。 而当我自定义时,我对应的attribute应该是self.{field}_list_filed,在我的case里也就是self.p_id_list_filed,所以才会报错。