- In the final stage of a recommendation system, the system can re-rank the candidates to consider additional criteria or constraints.
- In this re-ranking stage, the system can consider additional factors beyond the initial scoring, such as the diversity of items within the recommended set. For example, the system may choose to penalize the score of items that are too similar to each other, in order to encourage a more diverse set of recommendations.
- Re-ranking is a popular technique in recommender systems used to improve the quality of recommendations by adjusting the order in which items are presented to users. There are several different ways to approach re-ranking, including through the use of filters, modifications to the score returned by the ranker, or adjustments to the order of recommended items.
- One approach to re-ranking in a recommender system involves using filters to remove certain candidates from consideration. For example, in a video recommender, one could train a separate model to detect click-bait videos, and then run this model on the initial candidate list. Videos that the model classifies as click-bait could then be removed from consideration.
- Another approach to re-ranking involves manually transforming the score returned by the initial ranker. For example, in a video recommender, one could modify the score as a function of video age or length to promote fresher or shorter content. This can be done in addition to the initial scoring phase or after the initial ranking has been performed.
- Both of these re-ranking approaches can improve the quality and diversity of recommendations in a recommender system. However, it’s important to evaluate the effectiveness of these techniques using appropriate evaluation metrics such as precision, recall, or diversity measures. There are also various algorithms and techniques available for re-ranking, including content-based filtering, collaborative filtering, and hybrid methods that combine both approaches.
- This is usually done with regards to a features database.
- One way to re-rank recommendations is to consider the freshness of items. This approach involves promoting newer items to the top of the list, which can be useful in contexts where users are more interested in up-to-date information or news.
- Freshness-based re-ranking can be implemented using various algorithms, such as Bayesian personalized ranking (BPR) or matrix factorization (MF), and can be combined with other techniques like content-based filtering to improve the diversity of recommendations.
- Another way to re-rank is based on diversity. This is important because users often have varying preferences, and simply presenting them with the most popular or highly-rated items can lead to a lack of variety.
- Diversity-based re-ranking algorithms can include techniques like clustering, where similar items are grouped together and presented in a balanced way to users.
- If the system always recommend items that are “closest” to the query embedding, the candidates tend to be very similar to each other and will lack diversity which can cause a bad or boring user experience.
- For example, if YouTube just recommends videos very similar to the video the user is currently watching, such as nothing but owl videos (as shown in the illustration) (source), the user will likely lose interest.
- Some viable way to incorporate diversity are:
- “Train multiple candidate generators using different sources.
- Train multiple rankers using different objective functions.
- Re-rank items based on genre or other metadata to ensure diversity.” (source), the user will likely lose interest.
- Fairness is also an important consideration in recommender systems, as they should strive to provide equal opportunity for all users, regardless of factors like age, gender, or location.
- Re-ranking algorithms that prioritize fairness might consider factors like equal representation of different categories or user demographics, or optimizing for equal coverage of different parts of the item space.
- Fairness also makes sure the model isn’t learning unconscious biases from the training data.
- Some viable options to include fairness are:
- “Include diverse perspectives in design and development.
- Train ML models on comprehensive data sets. Add auxiliary data when your data is too sparse (for example, when certain categories are under-represented).
- Track metrics (for example, accuracy and absolute error) on each demographic to watch for biases.
- Make separate models for underserved groups.” (source)
- Personalization is another key aspect of re-ranking.
- By understanding a user’s unique preferences, interests, and behavior, recommender systems can provide highly personalized recommendations that are more likely to be relevant and engaging.
- Personalization-based re-ranking algorithms often rely on machine learning techniques like collaborative filtering or reinforcement learning to learn user preferences and adjust recommendations accordingly.
- Methods to include personalization:
- Collaborative Filtering: This technique uses the user’s history of interactions and preferences to recommend items that are similar to those previously liked by the user. Collaborative filtering is commonly used in re-ranking to personalize recommendations for each user by considering their previous interactions with the system.
- Content-Based Filtering: This technique uses item features and attributes to recommend items that are similar to the ones that the user has interacted with previously. Content-based filtering can be used in re-ranking to personalize recommendations based on the user’s preferences and interests.
- Contextual Bandits: This technique is a form of reinforcement learning that can be used for online learning and decision making. Contextual bandits can be used in re-ranking to personalize recommendations based on the user’s context, such as the time of day, location, or device.
- Hybrid Recommender Systems: These systems combine multiple recommendation techniques to provide personalized recommendations to users. Hybrid recommender systems can be used in re-ranking to combine the strengths of different techniques and provide more accurate and personalized recommendations.
- Use cases:
- Netflix: Netflix uses a hybrid recommender system that combines collaborative filtering with content-based filtering to provide personalized recommendations to users based on their previous viewing history and preferences.
- Amazon: Amazon uses a combination of collaborative filtering and contextual bandits to personalize recommendations based on the user’s previous interactions with the system and their current context, such as their location and device.
- Spotify: Spotify uses a combination of collaborative filtering and content-based filtering to personalize recommendations based on the user’s previous listening history and preferences.
- Google: Google uses a combination of collaborative filtering and contextual bandits to personalize search results based on the user’s previous search history and their current context, such as their location and device.