item-item similarity
See original GitHub issueI’m trying to implement both recommendations and item-item similarities based on an ImplicitFactorizationModel
trained on clickstream data. The former is trivial using the predict
method, but the latter I’m not quite sure about. Looking at the code, I could obtain the item embeddings in a similar way to how it’s done in _components.py
and representations.py
, and then apply a similarity measure to the resulting torch tensors.
Is this a sensible approach / Is there a better way to do this / Is it even possible?
Issue Analytics
- State:
- Created 5 years ago
- Comments:11 (5 by maintainers)
Top Results From Across the Web
Comprehensive Guide on Item Based Collaborative Filtering
Item -item collaborative filtering is a type of recommendation system that is based on the similarity between items calculated using the rating users...
Read more >Item-to-Item Based Collaborative Filtering - GeeksforGeeks
Item to Item Similarity: The very first step is to build the model by finding similarity between all the item pairs. The similarity...
Read more >Item-item collaborative filtering - Wikipedia
Item -item collaborative filtering, or item-based, or item-to-item, is a form of collaborative filtering for recommender systems based on the similarity ...
Read more >Overview of Item-Item Collaborative Filtering ... - Medium
Item -based Collaborative Filtering ... Item-based collaborative filtering uses the rating of co-rated item to predict the rating on specific item.
Read more >Recommender Systems 4 Item Item Collaborative Filtering
Your browser can't play this video. Learn more. Switch camera.
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I strongly recommend using a GPU for sequence models if you aren’t already. The PyTorch CPU implementation is quite slow.
I think that sequence models are definitely a better way to go. They are more flexible and allow you to easily incorporate new interactions as they come in, without retraining your model.
@maciejkula it seems this discussion went quite off-track to the issue. So coming to the issue of retrieving item similarities, this could done by adding a method to
BilinearNet
since you are already holding theitem_representations
there, let’s say this method is_compute_item_similarities(item_ids, ..)
. Then in the actual model you would have another method likedef item_similarities(items_ids)
which callsself._net._compute_item_similarities(items_ids, ...)
something like that.The same could be done with the user representations for example to identify clusters of users, etc.
Thanks to your good code this shouldn’t be too difficult to implement. I could take care of this if you find it useful