Home - UCM-GAIA/RecoLibry-Core GitHub Wiki
RecoLibry-Core is a Java library to implement recommender systems. This library follows a component-based architecture that facilitates the reuse of existing third-party frameworks and allows the creation of new elements to be included in recommendation systems. RecoLibry-Core defines the scheme of a recommender system using a set of interfaces and abstract classes.
Main structure
The following diagram shows the most important classes that are used in RecoLibry-Core to create a recommendation system:
The main class is RecommenderSystem
. It executes all recommender system steps and it returns the query with the information needed by the algorithm. To do that, RecommenderSystem
has two attributes: algorithm
and query
. The first one contains an instance of a RecommenderAlgorithm
. It will be a class that implements the RecommenderAlgorithm
interface. In addition, it contains a class that implements the Query
interface. It stores the information needed to execute a query in the recommender system. Finally, the recommender system results will be returned in RecommendedResult
objects. These objects contain an item recommended and its corresponding recommended value. To know how is the execution flow of a recommender system in RecoLibry-Core, we recommend reviewing the section execute recommender system.
As you can see, when we want to implement a new algorithm we must create a class that implements the RecommenderAlgorithm
interface. In addition, we need to create a class that implements the Query
interface. Next, we explain how to implement both interfaces.
Wiki index
This wiki explains how to develop recommendation systems using the RecoLibry-Core framework. The content of this wiki is:
- Configure new project
- Recommender System Configuration
- Building Recommender System
- Recommender System Execution
- Implement a new algorithm
- Examples:
- JavaDoc
If you want to see some examples of recommender systems implemented with this library, you can visit the repository RecoLibry-Examples.