icon About Blog

July, 2019

Recommendation.jl: Building Recommender Systems in Julia

Recommendation.jl: Building Recommender Systems in Julia @ JuliaCon 2019


This talk demonstrates Recommendation.jl, a Julia package for building recommender systems. We will eventually see (1) a brief overview of common recommendation techniques, (2) advantages and use cases of their Julia implementation, and (3) design principles behind the easy-to-use, extensible package.


Recommendation.jl allows you to easily implement and experiment your recommender systems, by fully leveraging Julia's efficiency and applicability. This talk demonstrates the package as follows.

The speaker first gives a brief overview of theoretical background in the field of recommender systems, along with corresponding Recommendation.jl functionalities. The package supports a variety of well-know recommendation techniques, including k-nearest-neighbors and matrix factorization. Meanwhile, their dedicated evaluation metrics (e.g., recall, precision) and non-personalized baseline methods are available for your experiments.

Next, this talk discusses pros and cons of using Julia for recommendation. On the one hand, a number of algorithms fits well into Julia's capability of high-performance scientific computing in this field, but at the same time, it is challenging to make Julia-based recommenders production-grade at scale. The discussion ends up with future ideas of how to improve the package.

We will finally see the extensibility of the package with an example of building our own custom recommendation method. In practice, Recommendation.jl is designed to provide separated, flexible data access layer, algorithm layer, and recommender layer to the end users. Consequently, the users can quickly build and test their custom recommendation model with less efforts.

Reference: Recommendation.jl: Building Recommender Systems in Julia, an article written by the speaker.