Recommender systems are one of the sexiest information technologies that have emerged over the last few decades. From their modest beginnings in Amazon to the almost ubiquitous status that they now enjoy throughout e-commerce and social networking sites, building recommender systems is fast becoming a lucrative skill for technologists to learn.
Building successful recommenders, like many data-heavy, machine learning powered systems, remains an art. Despite there being a number of open source implementations readily available, going from downloading one to persuading it to generate useful recommendations remains a challenge. These complex technical challenges are also compounded by the difficulty in turning the technology into a successful product. Product design patterns for recommenders are not as well understood as those for other information technologies, such as search engines, making it difficult to take them to market.
This blog is intended for software engineers and data scientists who want to learn how to build recommender systems. Our definition of recommender systems is an end-to-end one where we consider everything from working with the raw input data and generating recommendations through to the front end implementation. The blog is written as a practical guide where narrative is broken up with code snippets, tips on how get the best from recommenders in a variety of common circumstances, and useful rules of thumb on how best to meet both user and business needs.
Over time, we hope to cover a range of topics, including, but not limited to:
- What is a recommender and why build one?
- What to pay attention to when building a recommender as a product?
- How to prepare the data required by the recommender?
- What are the standard algorithms to know?
- How to evaluate a recommender system?
- How to make the recommender better?
- What are some smart tweaks with big returns?
- How to piece it all together to build a recommender product?
- What is the dream team to build an end-to-end recommender product?
We welcome posts from anyone who wants to share their experiences on how to build recommender systems and take them to market. Please get in touch with either of the blog admins, Maya Hristakeva and Kris Jack.