Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update content personalization #1333

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft

Conversation

MaxHalford
Copy link
Member

@MaxHalford MaxHalford commented Oct 4, 2023

The goal of this PR is to clarify/improve how to do recsys with River. There's a tutorial called content-personalization.ipynb which should showcase these changes. The end-goal is to look a bit more like what Vowpal Wabbit does here. We are a bit different than VW in that we have more pure recsys models (I'm thinking about FunkMF and other stuff in the reco module) whilst less contextual bandit stuff (we have LinUCB but it's not very fast). I see a way forward to improve the reco module so that it can do recsys by itself, whilst also allowing the use of (contextual) bandit policies.

Here's a todo:

  • It’s not clear how to do recsys when using the reco module. We can rank items. We can then do sampling. But it’s not clear how to this in an optimal fashion. There needs to be some kind of exploration/exploitation tradeoff. How does Vowpal Wabbit do this?
  • Normally, the user@time_of_day trick should reach 100% CTR quite easily. But it isn’t Also, the scores are going haywire.
  • We have LinUCB implemented in the bandit module, which is a contextual bandit policy. We have to create a bandit policy wrapper in the reco module to make it usable in a recsys context.

There's a quite a lot of work to do, and I'm not sure I'll have time to finish. So I'll keep this PR in draft-mode, and we'll see what happens.

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant