RankSys

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

Github星跟蹤圖

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

Team, References, Javadoc, Wiki, Twitter

Maven Central
Build Status
GitHub license

Introduction

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 as well as a wide variety of novelty and diversity metrics and re-ranking techniques. The modules published to date are the following:

  • RankSys-core: common and auxiliary classes of the framework.
  • RankSys-fast: support for fast and efficient implementation of data structures and algorithms.
  • RankSys-metrics: interfaces and common components for defining metrics.
  • RankSys-rec: support for generating recommendation lists.
  • RankSys-nn: nearest neighbors recommendation algorithms.
  • RankSys-mf: matrix factorization recommendation algorithms.
  • RankSys-fm: factorisation machines for recommendation tasks using JavaFM.
  • RankSys-lda: Latent Dirichlet Allocation for collaborative filtering recommendation algorithms.
  • RankSys-novdiv: common resources for novelty and diversity metrics and enhancement techniques.
  • RankSys-novelty: novelty metrics and enhancement techniques.
  • RankSys-diversity: diversity metrics and enhancement techniques.
  • RankSys-compression: state-of-art compression techniques for in-memory collaborative filtering.
  • RankSys-examples: examples of usage of the previous modules.

Maven

If you want to use the whole framework, include the following dependency:

<dependency>
    <groupId>org.ranksys</groupId>
    <artifactId>RankSys</artifactId>
    <version>0.4.3</version>
</dependency>

Alternatively, include in your project dependencies only the modules of RankSys that you require:

<dependency>
    <groupId>org.ranksys</groupId>
    <artifactId>RankSys-MODULENAME</artifactId>
    <version>0.4.3</version>
</dependency>

where MODULENAME is replaced by core, fast, metrics, rec, etc.

主要指標

概覽
名稱與所有者RankSys/RankSys
主編程語言Java
編程語言Java (語言數: 2)
平台
許可證Mozilla Public License 2.0
所有者活动
創建於2015-01-17 16:44:39
推送於2022-01-21 23:21:58
最后一次提交2021-02-05 14:57:59
發布數7
最新版本名稱0.4.3 (發布於 )
第一版名稱0.1 (發布於 )
用户参与
星數277
關注者數30
派生數57
提交數458
已啟用問題?
問題數39
打開的問題數4
拉請求數18
打開的拉請求數1
關閉的拉請求數6
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?