Open SergeyPetrakov opened 1 year ago
@SergeyPetrakov Your method is feasible but don't forget to change the inner embeddings of BPR. You can get all user_tokens by dataset.field2id_token[dataset.uid_field]
and all user_ids by dataset.field2token_id[dataset.uid_field].values()
.
Thank you for your great work on Recbole. I followed the issues https://github.com/RUCAIBox/RecBole/discussions/1636, https://github.com/RUCAIBox/RecBole/issues/1854 and https://github.com/RUCAIBox/RecBole/issues/1871, I still have some misandestanding with finetuning for new items and users for a trained model. Let's take a look on a small example. Let's take the General recsys model - BPR.
this is the code from your library
And as far as I understand after training precedure and saving model to 'saved/BPR.pth' and then loading via code
model will contain all information about trained item and user embeddings and they can be achieved using functions get_item_embedding and get_user_embedding from above. However if I want to add some new users and items I should realise some new method like
and before training replace previous embeddings by embeddings achieved from add_new_users. Please tell me is it right approach or what could be done better. Actually additional simple question where can I took a list of all user_tokens and user_ids
Thank you very much in advance!