Best practices for building enterprise-grade recommendation systems on Azure with Microsoft/Recommenders

This will be presented in English.

Le Zhang (Microsoft), Jianxun Lian (Microsoft)
16:2017:00 Friday, June 21, 2019

必要预备知识 (Prerequisite Knowledge)

  • General knowledge of recommendation systems, machine learning and deep learning, and how to productionize machine learning systems

您将学到什么 (What you'll learn)

  • Understand which algorithm to use in a recommendation business case
  • Learn to train a recommendation system using Python, PySpark, or Python on GPU and to operationalize a recommendation system for mission-critical applications

描述 (Description)

Many enterprises benefit from building a recommendation system to drive direct and indirect revenue metrics and increase user satisfaction and engagement. However, creating production-scale recommendation systems can be hard and time-consuming due to lack of expertise in modeling and unfamiliarity with how to deploy and scale on the cloud. The current available frameworks have a narrow scope, are not always scalable, and are hard to compare with each other.

To address this problem, Le Zhang and Jianxun Lian offer an overview of the Microsoft Recommenders repository, which contains examples and best practices for building recommendation systems, provided as Jupyter notebooks, through four key data science tasks: preparing data, modeling it, evaluating it, and operationalizing it.

The premise of preparing data is simple—preparing and loading data for each recommendation algorithm. You’ll learn to build models using various recommendation algorithms, such as matrix factorization by alternating least squares (ALS) in PySpark, singular value decomposition (SVD) and smart adaptive recommendations (SAR) in Python CPU, and deep learning algorithms like neural collaborative filtering (NCF) and xDeepFM or deep knowledge network (DKN). Le and Jianxun explain how to evaluate algorithms with offline metrics, including both rating and ranking metrics, and operationalize models in a production environment for Azure.

Microsoft Recommenders provides several utilities to support common tasks such as loading datasets in the format expected by different algorithms and evaluating recommendations produced by the models and splitting training or test data, along with implementations of several state-of-the-art algorithms for self-study and customization in your own applications. The repository contains contributions from developers and scientists from Microsoft and other companies and universities, building an ecosystem around the space of recommendation systems that benefits both the open source community and enterprises.

Photo of Le Zhang

Le Zhang


Le Zhang is a data scientist with Microsoft Cloud and Artificial Intelligence, where he applies cutting-edge machine learning and artificial intelligence technology to accelerate digital transformation for enterprises and startups on cloud. He’s helped numerous corporations develop and build enterprise-grade scalable advanced data analytical systems with a broad spectrum of application scenarios like manufacturing, predictive maintenance, financial services, ecommerce, and human resource analytics. Le specializes in cloud computing, big data technologies, and artificial intelligence. He enjoys sharing knowledge and learning from people and is a frequent speaker at industrial and academic conferences and community meetups. He holds a PhD in computer engineering.

Jianxun Lian


Jianxun Lian is now an associate researcher at Microsoft Research Asia. He’s published research papers as the first author on top international conferences such as KDD, WWW, and IJCAI. He received his PhD from the University of Science and Technology of China. His research interests include deep learning-based recommender systems and user modeling. In addition to academic research, he likes building practical systems and he was among the top winning teams in several data contests including IJCAI 2015, CIKM 2016, and RecSys Challenge 2017.