Literature Review - CankayaUniversity/ceng-407-408-2021-2022-Game-Recommendation-System-using-Machine-Learning-Algorithms GitHub Wiki

1.Abstract

The game industry evolved so much that there are 10.000 games being released every year. With this, game users can’t even decide what’s in their taste. It gives customers a very overwhelming and lost feeling in these large, detailed choices of products. A solution to this relies on building such systems that search desired but not yet discovered games. Thus, the hunger in the market led to these kinds of programs. Especially in recent years, we are using recommendation systems without our knowledge in many places that we don't even realize anymore. These systems are in a very important place, without them we would be lost. The aim of this project is to develop a system that can give game recommendations to people who are looking for games they may like based on the games they have liked before or the users that have similar history with the current user. The game is recommended to the current user based on the games that other users like. Within the scope of this project, we are conducting extensive research in machine learning, which is the application of artificial intelligence, in order to work more efficiently.

1.Öz

Oyun endüstrisi o kadar çok gelişti ki yılda 10.000’den fazla oyun çıkıyor. Bununla beraber kullanıcılar artık kendi zevklerini bile karar veremiyor. Bu geniş, ayrıntılı ürün seçeneklerinde müşteriler adeta kayboluyor. Buna bir çözüm olarak, istenen ancak henüz keşfedilmemiş oyunları arayan sistemleri oluşturmaya dayanır. Bu yüzden piyasadaki açlık bu tarz programlara sebep olmuştur. Günümüzde önerici sistemleri farkında olmadan hayatımızın her yerinde kullanıyoruz.Bu sistemler o kadar önemli bir noktadaki, onlar olmadan kayboluruz. Bu projenin amacı, daha önce beğendiği oyunlardan veya mevcut kullanıcıyla benzer bir geçmişi olan kullanıcılardan yola çıkarak beğenebileceği oyunları arayan kişilere oyun tavsiyeleri verebilecek bir sistem geliştirmektir. Kullanıcıya, diğer kullanıcıların ilgi duyduğu ve sevdiği oyunlara göre bir oyun önerilir. Bu proje kapsamında daha verimli çalışabilmek için yapay zeka uygulaması olan makine öğrenmesi konusunda kapsamlı araştırmalar yapıyoruz.

2.Introduction

Recommendation systems are algorithms that aim to suggest relevant items to users (games, movies, text to read, products to buy, etc.).[1] Recommendation systems are used a lot as users search for games similar to games they have played before.Recommender systems use related items user chose and other users history to give a good recommendation. In this case, it is going to find many game users might like, by checking users with similar interests and tastes. Our goal is to make it as perfect as it can be. Recommender systems are one of the most used applications of machine learning technologies. Machine learning uses both user data and item data to build a sample dataset. By using this dataset, we train the methods we use to make a prediction. In recommender systems, machine learning algorithms are divided into three categories: content-based, collaborative filtering, and hybrid. Modern recommenders integrate both approaches, which is referred to as hybrid.

img2 [2]

Content-based Filtering

Content-based approaches use additional information about users such as age, gender, location, etc. When a game is chosen by the user, with information such as age and gender, we can recommend another user with similar information, the same game. Another model is using keywords of the game, such as its title, tags, description, etc. We can make many models using the informations we have about users. With these models, we can make new suggestions for a user. In content-based filtering, recommendations are specific to each user. As a result, it can handle a huge number of users. Similar products" or "Recommended items" tags are frequently used to provide such recommendations. [3] As a result, many websites require you to supply more information upon registering, such as your date of birth, gender, and so on, in order for their algorithm to make better predictions. Limitation: Recommendations will only include items that users have already liked, watched, or interacted with. It does not allow visitors to explore a new location they have never visited before. In addition, all users who like item X will get the same set of recommendations. [4]

Collaborative Filtering

Recommendation systems use a process called collaborative filtering. Collaborative filtering is a technique for predicting a user's interests based on their choices. For example, if users A and B have played a game and liked it, the system will also recommend the game that user A has played to user B. [5] As an outcome, all previous data of user interactions with target objects will be input to a collaborative filtering system. This data is commonly stored as a matrix, with rows indicating users and columns indicating items. [6] There are two types of collaborative filtering systems:

User-Based Collaborative Filtering:

This technique is unique to each individual user. User-Based Collaborative Filtering is a strategy for predicting which games a user would enjoy based on whether or not other users with similar tastes have liked or disliked them. [7]

Item Based Collaborative Filtering:

Item-item collaborative filtering is a type of recommendation method that suggests a similar product that the user previously liked. It was developed by Amazon in 1998 and plays a huge role in Amazon's success.[8]

gif1 [6]

Since we have to make user-item interaction, we can describe it in 2 way. Explicit and implicit way.

  • With explicit rating, we ask user to rate items based on their likings. We can understand users satisfaction directly for a specific item. For example we can ask user to rate a game, ranging from 1-5 scale, user’s score would give us the data we can use on recommending other items to the same user as well as other users

  • The implicit rating is gathering the data from the user indirectly from users behaviour. For example a user can play a game for 10 minutes or 100 hours. We can see how much the user liked the product indirectly.

Hybrid Recommendation Systems

Hybrid approaches can be enforced in several ways, for illustration by making content-based filtering and collaborative filtering independently and combining them, or by combining approaches into a single model, etc.[9] Almost all modern recommendation system implementations are hybrid.

Popularity Based Recommendation Systems

This type of recommendation system is using popularity as ranking what to recommend to users. It helps users to find what other combined users liked. It is a popular and trending type of working recommendation system. These systems recommend the most popular product, game, music, movie among users

img3[4]

Merits of Popularity Based Recommendation System

The user's historical data is not required. If the user is newly registered, Trends can help new users to recommend a product without any user activity occurred.

Demerits of Popularity Based Recommendation System

It is not personalized. The system recommends the same type of products to each user based only on popularity.

Example:

Google News: News filtered by trending and most popular news.

YouTube: Trending videos.

Classification Model

It predicts whether the user will like the product or not. To do this, it uses both product attributes and the user's information. If the user likes the product, the output will be 1 and if not, the output will be 0. [10]

img4 [10]

Knowledge-based Recommender Systems

This type of machine learning-based recommendation system extracts a company's domain knowledge, which is guided by 'if-this-then-that' principles. A knowledgebased recommendation system's USP is that it can be constantly enhanced by the user's engagement with the system rather than by the user's past. This is possible thanks to the underlying 'critique technique,' which allows users to give input on recommendations in order to improve search results.

img5 [3]

3.Similar Works

Netflix’s Recommendation System

Netflix’s Recommendation System is one of the biggest successes in the history of recommender systems. It has 80% stream time. Netflix uses hybrid recommendation system. Also, one of Netflix's biggest feature is recommending by the thumbnail of a show. Which means that, if a person is into action or violent movie this person will be recommended more violent frames from the show.[11]

Steam’s Recommendation System

Steam’s recommendation system is based on the user's history of chosen games. The idea of choosing this method is more like giving equal opportunities to the companies with less popularity. Steam is now the most used game store in the whole world. Because non-popular companies will have more chances to advertise their games.[12]

IMDb’s Recommendation System

IMDb recommends additional series or movies based on essential details like actors, genre, sub-genre, narrative, and description when we grade a TV show or movie.

img6 [2]

Because I've seen David Attenborough's nature documentary series, I was recommended to rate Frozen Planet, as you can see above. In this situation, IMDb recommended it to me based on the show's cast.

Amazon’s Recommendation System

Item-item collaborative filtering, also known as item-based or item-to-item collaborative filtering, is a type of collaborative filtering for recommender systems that is based on the similarity of items as determined by people's ratings. In 1998, created and deployed item-by-item collaborative filtering.[13]

img7[14]

Python Libraries

A number of Python libraries are available that are specifically created for recommendation purposes. Here are the most popular ones:

  • LightFM: For both implicit and explicit feedback, Python implements a variety of popular recommendation algorithms
  • Surprise: Scikit building in Python for analyzing recommendation systems.
  • Implicit: Fast Python Implicit Datasets by Collaborative Filtering
  • pyspark.mlib.recommendation: Apache Spark’s Machine Learning API.[15]

4.Conclusion

Recommendation systems have a strong presence in our world. What is expected is to use them in a way that we can give users the best experience. Since we are dealing with user data, we need to use machine learning. By feeding sample data to model based methods we get the best predictions. Using the methods content-based, collaborative and hybrid, we suggest users the best suggestions, thus increasing their enjoyment to maximum.

5.References

[1] Rocca, (2019, June 3). “Introduction to recommender systems”, https://towardsdatascience.com/introduction-to-recommender-systems-6c66cf15ada [2] Badreesh Shetty, (2019, July 24). “An In-Depth Guide to How Recommender Systems Work”, https://builtin.com/data-science/recommender-systems [3] Sanam Malhotra, (2020, August 25). “5 Unique Recommendation Systems with Machine Learning” https://artificialintelligence.oodles.io/blogs/recommendation-systems-with-machine-learning/ [4] Pathairush Seeda, (2021, Oct 13). A Complete Guide To Recommender Systems — Tutorial with Sklearn, Surprise, Keras, Recommenders https://towardsdatascience.com/a-complete-guide-to-recommender-system-tutorial-with-sklearn-surprise-keras-recommender-5e52e8ceace1 [5] Wikipedia: Collaborative filtering, (2021, Oct 29). https://en.wikipedia.org/wiki/Collaborative_filtering [6] George Seif, (2019, Sep). ”An Easy Introduction to Machine Learning Recommender Systems”, https://www.kdnuggets.com/2019/09/machine-learning-recommender-systems.html [7] Rachit Gupta, (2020, Jul 16). “User-Based Collaborative Filtering”, https://www.geeksforgeeks.org/user-based-collaborative-filtering/ [8] Gregory D. LindenJennifer A. JacobiEric A. Benson, "Collaborative recommendations using item-to-item similarity mappings", 1998 [9] Wikipedia: Recommender system, (2021, Sep 23). https://en.wikipedia.org/wiki/Recommender_system#cite_ref-65 [10] Rohit Dwivedi, (2020, Apr 16). What Are Recommendation Systems in Machine Learning? https://www.analyticssteps.com/blogs/what-are-recommendation-systems-machine-learning [11] David Chong, (2020, Apr 30). “Deep Dive into Netflix’s Recommender System”, https://towardsdatascience.com/deep-dive-into-netflixs-recommender-system-341806ae3b48 [12] Adi Robertson, (2019, July 11). “Steam’s new Interactive Recommender is built for finding ‘hidden gems’.” https://www.theverge.com/2019/7/11/20690231/valve-steam-labs-interactive-recommender-game-recommendation-machine-learning-tool [13] Wikipedia: “Item-item collaborative filtering”, (2020, Dec 9). https://en.wikipedia.org/wiki/Item-item_collaborative_filtering [14] Sanam Malhotra,(2020,Aug 25). “5 Unique Recommendation Systems with Machine Learning” https://artificialintelligence.oodles.io/blogs/recommendation-systems-with-machine-learning/ [15] Parul Pandey, (2019, May 17). “Recommendation Systems in the Real world”, https://towardsdatascience.com/recommendation-systems-in-the-real-world-51e3948772f3