{"id":33179781,"url":"https://github.com/RankSys/RankSys","last_synced_at":"2026-01-10T21:01:30.349Z","repository":{"id":25955825,"uuid":"29397553","full_name":"RankSys/RankSys","owner":"RankSys","description":"Java 8 Recommender Systems framework for novelty, diversity and much more","archived":false,"fork":false,"pushed_at":"2022-01-21T23:21:58.000Z","size":2081,"stargazers_count":278,"open_issues_count":5,"forks_count":57,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-07-09T08:22:59.675Z","etag":null,"topics":["diversity","novelty","recommender-systems"],"latest_commit_sha":null,"homepage":"http://ranksys.github.io","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RankSys.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-17T16:44:39.000Z","updated_at":"2025-06-25T01:44:57.000Z","dependencies_parsed_at":"2022-08-06T08:00:51.052Z","dependency_job_id":null,"html_url":"https://github.com/RankSys/RankSys","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/RankSys/RankSys","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RankSys%2FRankSys","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RankSys%2FRankSys/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RankSys%2FRankSys/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RankSys%2FRankSys/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RankSys","download_url":"https://codeload.github.com/RankSys/RankSys/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RankSys%2FRankSys/sbom","scorecard":{"id":117948,"data":{"date":"2025-08-11","repo":{"name":"github.com/RankSys/RankSys","commit":"52ee1fc0fafbb2cf64993039f3da525ca7d2a72a"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.2,"checks":[{"name":"Code-Review","score":1,"reason":"Found 2/18 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: Mozilla Public License 2.0: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 14 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-16T01:50:20.651Z","repository_id":25955825,"created_at":"2025-08-16T01:50:20.651Z","updated_at":"2025-08-16T01:50:20.651Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28258096,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2026-01-10T02:00:06.867Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["diversity","novelty","recommender-systems"],"created_at":"2025-11-16T03:00:36.842Z","updated_at":"2026-01-10T21:01:30.341Z","avatar_url":"https://github.com/RankSys.png","language":"Java","funding_links":[],"categories":["人工智能"],"sub_categories":[],"readme":"# RankSys: Java 8 Recommender Systems framework for novelty, diversity and much more\n\n## [Team](https://github.com/RankSys/RankSys/wiki/Team) || [References](https://github.com/RankSys/RankSys/wiki/References) || [Javadoc](http://ranksys.github.io/javadoc/) || [Wiki](https://github.com/RankSys/RankSys/wiki/) || [Twitter](https://twitter.com/ranksys)\n\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.ranksys/RankSys/badge.png)](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.ranksys%22)\n[![Build Status](https://travis-ci.org/RankSys/RankSys.svg?branch=master)](https://travis-ci.org/RankSys/RankSys)\n[![GitHub license](https://img.shields.io/github/license/ranksys/RankSys.svg)](https://www.mozilla.org/en-US/MPL/)\n\n## Introduction\n\nRankSys 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](https://github.com/RankSys/RankSys/wiki/References)) and a [PhD thesis](http://saulvargas.es/phd-thesis.pdf).  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.\n\nThe 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](https://www.mozilla.org/en-US/MPL/2.0/).\n\nThe 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:\n * RankSys-core: common and auxiliary classes of the framework.\n * RankSys-fast: support for fast and efficient implementation of data structures and algorithms.\n * RankSys-metrics: interfaces and common components for defining metrics.\n * RankSys-rec: support for generating recommendation lists.\n * RankSys-nn: nearest neighbors recommendation algorithms.\n * RankSys-mf: matrix factorization recommendation algorithms.\n * RankSys-fm: factorisation machines for recommendation tasks using [JavaFM](https://github.com/RankSys/JavaFM).\n * RankSys-lda: Latent Dirichlet Allocation for collaborative filtering recommendation algorithms.\n * RankSys-novdiv: common resources for novelty and diversity metrics and enhancement techniques.\n * RankSys-novelty: novelty metrics and enhancement techniques.\n * RankSys-diversity: diversity metrics and enhancement techniques.\n * RankSys-compression: state-of-art compression techniques for in-memory collaborative filtering.\n * RankSys-examples: examples of usage of the previous modules.\n\n## Maven\n\nIf you want to use the whole framework, include the following dependency:\n~~~\n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.ranksys\u003c/groupId\u003e\n    \u003cartifactId\u003eRankSys\u003c/artifactId\u003e\n    \u003cversion\u003e0.4.3\u003c/version\u003e\n\u003c/dependency\u003e\n~~~\nAlternatively, include in your project dependencies only the modules of RankSys that you require:\n~~~\n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.ranksys\u003c/groupId\u003e\n    \u003cartifactId\u003eRankSys-MODULENAME\u003c/artifactId\u003e\n    \u003cversion\u003e0.4.3\u003c/version\u003e\n\u003c/dependency\u003e\n~~~\nwhere MODULENAME is replaced by core, fast, metrics, rec, etc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRankSys%2FRankSys","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRankSys%2FRankSys","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRankSys%2FRankSys/lists"}