ABSTRACT

This chapter introduces some of the algorithms used to implement recommendation systems and provide examples of systems being used in games. It provides source code examples for setting up a recommendation system using Java, Scala, R and SQL. The chapter discusses how to test a recommender in offline and online experiments, and options for deploying a recommendation system. There are three common types of approaches used for implementing recommendation systems. The first is content-based filtering. The second is collaborative filtering. The third is model-based approaches that predict a player's likelihood to purchase in order to suggest content. Depending on the target deployment environment, a variety of different options may be available for implementing a recommendation system. There are a variety of open-source tools that can be used to prototype and deploy a recommendation system. Mahout is a machine learning library implemented in Java that provides a variety of collaborative filtering algorithms.