Recommendation.jl: Building Recommender Systems in Julia
2019-07-23, 11:50–12:00, Elm B

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.

Takuya Kitazawa, a senior engineer at Arm Treasure Data, is passionate about bridging a gap between scientific theory and real-world practice in the industry. At the organization building an enterprise-grade big data analytics platform, he has been practically acted as a data scientist, technical evangelist, consultant, machine learning engineer, and software engineer through the experience of contributing to Apache Hivemall, implementing out-of-the-box ML application, presenting at conferences, and working on a variety of customer-facing opportunities. His current interest is particularly in large-scale ML and its UI/UX matter, especially in the context of recommender systems and data streams.