Skip to content

Conversation

@lthoang
Copy link
Member

@lthoang lthoang commented Jan 19, 2024

Description

Related Issues

#579

Checklist:

  • I have added tests.
  • I have updated the documentation accordingly.
  • I have updated README.md (if you are adding a new model).
  • I have updated examples/README.md (if you are adding a new example).
  • I have updated datasets/README.md (if you are adding a new dataset).

tqtg and others added 30 commits January 30, 2020 22:03
darrylong and others added 14 commits December 14, 2023 12:27
…AI#566)

* Add Temporal-Item-Frequency-based User-KNN (TIFUKNN) model for next basket recommendation

* replace KNN with KDTree

* refactor code

* Fix scoring function using the average neighbors vectors
* Added RecVAE

* add recvae example

* update readme

* update README

* fix conflict

* remove local ndcg func

* removed unnecessary things from the source code.

* Add None Seed

* Remove unsued code. Fix bottleneck

* Added docstring for main class

* sort the imports alphabetically

* fix typo

* reorder import s

* CSR: Compressed Sparse Row, CSC: Compressed Sparse Colum

* reorder imports

* Update models.rst

* Update README.md

---------

Co-authored-by: SEUNGHEE.oh <seunghee.oh@hp.com>
Co-authored-by: Quoc-Tuan Truong <tqtg@users.noreply.github.com>
* Add `data.dataset.SequentialDataset` to support new data formats:
  * "SIT": Session, Item, Timestamp
  * "SITJson": Session, Item, Timestamp, Json
  * "USIT": User, Session, Item, Timestamp
  * "USITJson": User, Session, Item, Timestamp, Json
* Add `data.reader` parser for listed formats
* Add `eval_method.NextItemEvaluation` for next-item evaluation
* Add `models.SPop` baseline model: session-based popular
* Add `gowalla` check-ins and `yoochoose` datasets
* Add unit tests

---------

Co-authored-by: lthoang <trhoanglee@gmail.com>
Co-authored-by: tqtg <tuantq.vnu@gmail.com>
* add config.yml

* Bump circleci python orb version
…ion (UPCF) Model (PreferredAI#587)

* Add Recency Aware Collaborative Filtering for Next Basket Recommendation (UPCF) Model

* Remove unused seed variable

* Fixed similaripy version
…referredAI#584)

* Add beacon model

* Add example

* Update docs

* Fixed data_iter

* refactor code
@lthoang lthoang requested a review from qtuantruong January 19, 2024 18:30
@lthoang lthoang added the models New models, changes to models label Jan 20, 2024
lthoang and others added 3 commits January 20, 2024 22:44
…referredAI#586)

* Add DNNTSP Model

* refactor code

* refactor code

* Fix scoring function

* refactor code

* Add random seed

* refactor code

* refactor code

* Fix weight_mse and multi_label loss

* Update multi_label loss using sum reduction

---------

Co-authored-by: Quoc-Tuan Truong <tqtg@users.noreply.github.com>
from tqdm.auto import trange


class Wloss(nn.modules.loss._Loss):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is W loss? Can it be more informative or is it an acronym by the authors?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tqtg I am not quite sure about the acronym for Wloss. The current implementation is based on this implemenation https://github.com/liming-7/A-Next-Basket-Recommendation-Reality-Check/tree/main/methods/dream

The authors of the above implementation also refer the running source code to this repo https://github.com/yihong-chen/DREAM

However, these two implementations are quite different in their naming convention. I haven't read through them thoroughly. Let's take some time to check the validity of both implementations, whether they reflect the paper idea.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Glancing at the paper, I only see BPR loss is used without additional information. I think it's better to rely on the original implementation which contains 2 variants (BPR and reordered BPR).

@lthoang lthoang changed the title Add Dynamic REcurrent bAsket Model (DREAM) Add Dynamic Recurrent Basket Model (DREAM) Jan 21, 2024
self.loss_fct = nn.BCELoss()
self.p_loss_fct = Wloss(self.loss_uplift, 1)
self.n_loss_fct = Wloss(1, self.loss_uplift)
self.meta_loss_fct = nn.MSELoss()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think meta_loss_fct is not used anywhere during training.

@qtuantruong
Copy link
Member

@lthoang are we actively working on this?

@lthoang
Copy link
Member Author

lthoang commented Feb 20, 2024

@lthoang are we actively working on this?

Yes. I will be back to this model next week.

@lthoang lthoang marked this pull request as draft March 1, 2024 15:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

models New models, changes to models

Projects

None yet

Development

Successfully merging this pull request may close these issues.