Java 8 Recommender Systems framework for novelty, diversity and much more

Maven Central Build Status License

RankSys is a new framework for the implementation and evaluation of recommendation algorithms and techniques that has resulted from a line of research work that is currently documented in several publications (see here) and a PhD thesis. While it is envisioned as a framework for the generic experimentation of recommendation technologies, it includes substantial support focusing on the evaluation and enhancement of novelty and diversity. RankSys derives its name from explicitly targeting the ranking task problem, rather than rating prediction. This decision is reflected in the design of the different core interfaces and components of the framework.

The framework has been programmed with Java 8, which is the most recent version of the popular programming language. We take advantage of many of the new features of the language, such as the use of lambda functions, Stream's and facilities for automatic parallelization of the code. The code licensed under the MPL 2.0.

The publicly available version of this framework (0.4.3) includes implementations of several collaborative filtering recommendation algorithms, a wide variety of novelty and diversity metrics and re-ranking techniques and state-of-the-art compression techniques for in-memory collaborative filtering data. If you want to know more, check the GitHub site or the wiki, which provides a high-level description of the different components of the current release of the software. Finally, follow us in Twitter to keep in touch!