Recommenders

Recommender

class recoder.recommender.Recommender[source]

Base Recommender that provide recommendations given users history of interactions. All Recommenders should implement the recommend function.

recommend(users_hist)[source]

Recommends a list of items for each user list of recoder.data.UserInteractions.

Parameters:users_hist (list) – list of users list of recoder.data.UserInteractions.
Returns:items recommended for each user
Return type:list

SimilarityRecommender

class recoder.recommender.SimilarityRecommender(embeddings_index: recoder.embedding.EmbeddingsIndex, num_recommendations, n=1, scale=1)[source]

Recommends items based on similarity search of the items in the user list of recoder.data.UserInteractions.

Implementation based on [1].

Note: This still needs improvement and optimization, and its implementation might change.

Parameters:
  • embeddings_index (EmbeddingsIndex) – the embeddings index used to fetch embeddings and do nearest neighbor search.
  • num_recommendations (int) – number of recommendations to generate for each user. Note: the number of recommendations requirement is not necessarily satisfied.
  • n (int, optional) – number of similar items to retrieve for every item in user interactions.
  • scale (int, optional) – how much to scale the similarity between two items
[1]: Fabio Aiolli. 2013. Efficient top-n recommendation for very large scale binary rated datasets.
In Proceedings of the 7th ACM conference on Recommender systems (RecSys ‘13). ACM, New York, NY, USA, 273-280. DOI=http://dx.doi.org/10.1145/2507157.2507189
recommend(users_hist)[source]

Recommends a list of items for each user list of recoder.data.UserInteractions.

Parameters:users_hist (list) – list of users list of recoder.data.UserInteractions.
Returns:items recommended for each user
Return type:list

InferenceRecommender

class recoder.recommender.InferenceRecommender(model, num_recommendations)[source]

Recommends items based on the predictions by a recoder.model.Recoder model.

Parameters:
  • model (Recoder) – model used to predict recommendations
  • num_recommendations (int) – number of recommendations to generate for each user.
recommend(users_hist)[source]

Recommends a list of items for each user list of recoder.data.UserInteractions.

Parameters:users_hist (list) – list of users list of recoder.data.UserInteractions.
Returns:items recommended for each user
Return type:list