Recommender-System Software Libraries & APIs
There is a plethora of software libraries and APIs that often implement dozens of recommendation algorithms.
We define a ‘recommender-system software library’ as e.g. a JAVA or Python library that you can easily integrate into your own application to run recommendation algorithms. Nevertheless, you still do need some recommender-system and programming knowledge to store data in the right format, load it in the library and select, possibly tune, and apply the algorithms. These libraries make it easy to deploy your own recommender system. Keep in mind that while prototypes can be developed typically within hours or days, developing production systems will rather take weeks or even months.
We define a ‘recommendation API’ as a (REST) Web Service that offers the same functionality as a software library, only that your data is hosted in the cloud. In contrast, recommender-systems as-a-service (RaaS) do all the work for you. For instance, you typically would integrate e.g. only a JavaScript snippet in your web page where recommendations shall be displayed. Everything else (indexing data, generating recommendations, displaying recommendations) is done by the RaaS. The downside though would be less control of how recommendations are generated.
In the Google Sheet below you find a collection of recommender-system libraries and APIs (early draft / work-in-progress!). If you would like to add or change information, please send a request and provide us with some details about yourself.
Our list is based in part on the following sources, which all aim at providing overviews of recommender system libraries.
https://github.com/grahamjenson/list_of_recommender_systems and https://maori.geek.nz/list-of-recommender-systems-4526f7c68964
News About Recommender-System Software-Libraries & APIs
‘Microsoft Recommenders’ + ‘Linux Foundation of AI and Data’ = ‘recommenders-team’
Microsoft Recommenders was introduced a few years ago, and it provided guidelines and a collection of software libraries relating to recommender systems. Today I found the announcement that Microsoft Recommenders is joining forces with Linux Foundation of AI and Data (LF AI & Data). On GitHub, they created a new organization, “Recommenders Team“. Currently, this […]
TorchRec, a new Recommender-Systems Library by PyTorch
The PyTorch team (and Meta.ai aka Facebook AI team) announced a new software library for recommender systems: TorchRec (GitHub). PyTorch is one of the major Deep Learning libraries, besides TensorFlow and Keras. As such, the announcement of TorchRec is big news for the recommender-systems community. If TorchRec is as powerful for recommendations as is PyTorch […]
LensKit 0.14.0 released (“Cleaning Up”)
LensKit just announced on Twitter that they released a new version of LensKit, one of the most popular recommender-systems software libraries. It seems there were no new algorithms being added, but a lot of cleanups were made that should improve the usability of LensKit. Either way, it’s great to see that LensKit is constantly being […]
Zalando publishes its RESTful API and Event Guidelines
It’s a bit off-topic, but since APIs have some relevance for recommender systems, this is worthwhile news*: Zalando – one of the world’s largest fashion retailers and quite active in the recommender-system community – released its guidelines for the development of RESTful APIs. I know from my own experience (e.g. through guest lectures in my […]
RecList: A RecSys software library for behavioral testing
Patrick John Chia, Jacopo Tagliabue, Federico Bianchi, Chloe He, and Brian Ko have released a new software library for recommender-systems testing. Source code is on GitHub and there is a paper upcoming at the WebConference (arXiv preprint). RecList is an open source library providing behavioral, “black-box” testing for recommender systems. Inspired by the pioneering work of Ribeiro […]
Elliot: a Comprehensive and Rigorous Framework for Reproducible Recommender Systems Evaluation [Guest Post]
In the last decade, Recommendation Systems (RSs) have gained momentum as the pivotal choice for personalized decision-support systems. The recommendation task is essentially a retrieval task where a catalog of items is ranked in a personalized way, and the top-scoring items are presented to the user. Once the RSs’ ability to provide personalized items to […]
Google AI releases ‘RecSim NG’, a “Flexible, Scalable, Differentiable Simulation of Recommender Systems”
One or two years ago, Google AI released RecSim — A Configurable Simulation Platform for Recommender Systems. Now, Martin Mladenov from Google AI announced the next generation (NG) of RecSim, i.e. RecSim NG. RecSim NG is a powerful and flexible simulator designed to help researchers and practitioners in the field of recommender systems to model […]
‘Spotify Confidence’: convenience wrappers around stat models various functions
Spotify released Spotify Confidence, which provides “convenience wrappers around stats model’s various functions for computing p-values and confidence intervals. With Spotify Confidence, it’s easy to compute several p-values and confidence bounds in one go, e.g. one for each country or for each date. Each function comes in two versions, A) one that returns a pandas […]
Google Introduces “Model Search”, an Open Source Platform for Finding Optimal ML Models
Hanna Mazzawi and Xavi Gonzalvo from Google AI announced “the open source release of Model Search, a platform that helps researchers develop the best ML models, efficiently and automatically. Instead of focusing on a specific domain, Model Search is domain agnostic, flexible and is capable of finding the appropriate architecture that best fits a given dataset […]
‘Lazy Predict’ Tutorial for AutoML with scikit-learn [Eryk Lewinson]
Eryk Lewinson wrote a tutorial on how to use Lazy Predict, which is an automated machine learning (AutoML) extension by Shankar Rao Pandala for scikit-learn. Automatisation is also becoming more prominent for recommender-systems (AutoRecSys) and hence this library could be useful for recommender-systems developers. While starting to work on a supervised learning problem, we are […]