Home  >   Publications and professional activities  >   Tech Conference

2017 - 2021

FluRS: A Library for Streaming Recommendation Algorithms

EuroSciPy 2017

FluRS: A Library for Streaming Recommendation Algorithms @ EuroSciPy 2017

Abstract

This talk demonstrates FluRS, a library for efficient and flexible recommendation algorithms, based on the speaker’s past experience in academia and industry. Eventually, the speaker guides you to the world of an emerging trend, “streaming” recommender systems, in terms of both theory and practice.

Description

Overview

FluRS is a Python library for streaming recommendation algorithms which enables you to efficiently and flexibly build a recommendation model from complex user-item data. By focusing around the library, this talk discusses each aspect of past, present and future as follows:

  • Past: Challenges in classical recommendation engines (with their Python implementation),
  • Present: How the speaker designed and implemented new kinds of recommendation algorithms as the Python library,
  • Future: The feasibility of fast, real-time recommendation at scale with or without FluRS.

Note that, in order to learn the basic concept underlying the FluRS library, you can refer to the following article: FluRS: A Python Library for Online Item Recommendation. In short, implementation of FluRS takes advantage of the dependency injection technique, and developers do not need to worry much about recommender-specific code which commonly appears regardless of algorithm.

Target

This talk is designed for people who have fundamental knowledge of machine learning (e.g., matrix computations), gradient descent, cross validation)) and Python coding with the NumPy & SciPy libraries; that is, audience does not have to be a professional machine learning researcher or Python developer. In particular, since the speaker explains the field of recommender systems from basics, people can enjoy without previous knowledge of recommendation techniques.

Eventually, the speaker expects audiences to become able to teach their friends the basic of recommender systems and implement recommendation algorithms by themselves.

Background

Recommendations nowadays play an important role in real-world applications such as e-commerce and social networking services in order to improve customers' satisfaction, but the widely-developed systems pose a crucial challenge which cannot be properly handled by the classical techniques. More concretely, even though users' interests and item properties change dynamically over time on modern systems, there is a lack of effective ways and empirical studies to catch up with the dynamic data.

In that context, throughout his master's program and experience in the industry, the speaker fully realized how building real-world recommender systems is difficult over the past years. Thus, he ultimately invented two novel recommendation techniques to tackle the challenging scenario, and published corresponding research papers:

  • Incremental Factorization Machines for Persistently Cold-starting Online Item Recommendation [Paper] [Slides] [GitHub]
  • Sketching Dynamic User-Item Interactions for Online Item Recommendation [Paper] [Poster] [GitHub]

Notice that, as the GitHub links suggest, these inventions have been achieved along with the development of FluRS. So, one of the main topics of this talk is to dig deep into the experience.

For the reasons mentioned above, FluRS is a "package" of things what the speaker has experienced in both academia and industry, and hence he decided to give a talk on the library from a practical point of view.

Note: All contents are based on the speaker's own thought, and they do not reflect the view of any of his previous and current affiliations.

Slides

Video

  Author: Takuya Kitazawa

Takuya Kitazawa is a freelance software developer, previously working at a Big Tech and Silicon Valley-based start-up company where he wore multiple hats as a full-stack software developer, machine learning engineer, data scientist, and product manager. At the intersection of technological and social aspects of data-driven applications, he is passionate about promoting the ethical use of information technologies through his mentoring, business consultation, and public engagement activities. See CV for more information, or contact at [email protected].