Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Next Article in Journal
Effectiveness of Immature Asian Pear Extract on Pulmonary Injury Caused by Particulate Matter in Mice
Previous Article in Journal
Investigation of the Motion Characteristics of Parts on a Platform Subjected to Planar Oscillations
Previous Article in Special Issue
Two-Stage Tour Route Recommendation Approach by Integrating Crowd Dynamics Derived from Mobile Tracking Data
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Matrix Factorization Collaborative-Based Recommender System for Riyadh Restaurants: Leveraging Machine Learning to Enhance Consumer Choice

by
Reham Alabduljabbar
Information Technology Department, College of Computer and Information Sciences, King Saud University, Riyadh 11543, Saudi Arabia
Appl. Sci. 2023, 13(17), 9574; https://doi.org/10.3390/app13179574
Submission received: 28 May 2023 / Revised: 1 August 2023 / Accepted: 21 August 2023 / Published: 24 August 2023
(This article belongs to the Special Issue State of the Art in Recommendation and Mobile Systems for Tourism)

Abstract

:
Saudi Arabia’s tourism sector has recently started to play a significant role as an economic driver. The restaurant industry in Riyadh has experienced rapid growth in recent years, making it increasingly challenging for customers to choose from the large number of restaurants available. This paper proposes a matrix factorization collaborative-based recommender system for Riyadh city restaurants. The system leverages user reviews and ratings to predict users’ preferences and recommend restaurants likely to be of interest to them. The system incorporates three different approaches, namely, non-negative matrix factorization (NMF), singular value decomposition (SVD), and optimized singular value decomposition (SVD++). To the best of our knowledge, this is the first recommender system specifically designed for Riyadh restaurants. A comprehensive dataset of restaurants in Riyadh was collected, scraped from Foursquare.com, which includes a wide range of restaurant features and attributes. The dataset is publicly available, enabling other researchers to replicate the experiments and build upon the work. The performance of the system was evaluated using a real-world dataset, and its effectiveness was demonstrated by comparing it to a state-of-the-art recommender system. The evaluation results showed that SVD and NMF are effective methods for generating recommendations, with SVD performing slightly better in terms of RMSE and NMF performing slightly better in terms of MAE. Overall, the findings suggest that the collaborative-based approach using matrix factorization algorithms is an effective way to capture the complex relationships between users and restaurants.

1. Introduction

Saudi Arabia has become increasingly reliant on its tourism sector as an economic driver. The study in [1] explores the link between tourism and economic growth in Saudi Arabia and concludes that tourism has a significant impact on promoting economic growth in the country. The food service sector in Saudi Arabia is expected to experience significant growth, with a projected increase in value from USD 14.16 billion in 2022 to USD 30.47 billion by 2029, at a CAGR of 11.57% in the forecast period [2].
The restaurant industry in the capital city of Riyadh has experienced rapid growth in recent years [3,4], resulting in increased competition and making it challenging for customers to choose from the large number of restaurants available.
Furthermore, the exponential growth of information and content on the Internet has made it increasingly challenging for users to find relevant search results [5] while simultaneously presenting a challenge for marketers to make their products and services stand out. To address this challenge, recommender systems can be used to provide personalized restaurant recommendations to customers based on their preferences.
Recommender systems are commonly employed in electronic tourism to offer various services, such as suggesting trips and activities, presenting lists of points of interest (POIs) that match user preferences, including historical landmarks, restaurants, shopping areas, and more [6].
With the recent growth of the tourism and hospitality sector in Saudi Arabia, specifically in line with the Saudi Vision 2030, there is a growing need for such systems. However, to the best of our knowledge, there are currently no similar works that target Riyadh city. The development of an effective restaurant recommender system for Riyadh has several potential benefits, including improved user satisfaction, increased revenue for restaurants, and a more vibrant and competitive restaurant industry in Riyadh.
Building upon the proven effectiveness of matrix factorization in providing personalized recommendations to users [7,8,9,10], this paper incorporates matrix factorization approaches for restaurant recommendations in Riyadh. Specifically, we utilize three matrix factorization techniques, namely, non-negative matrix factorization (NMF), singular value decomposition (SVD), and optimized singular value decomposition (SVD++), to implement a collaborative filtering recommender system. Matrix factorization can handle large and sparse datasets, it can capture complex relationships between users and restaurants, and it can provide personalized recommendations to users [5,6].
Additionally, we build a content-based filtering model that measures the similarity between different restaurant features, allowing us to make personalized recommendations based on a user’s preferences. To the best of our knowledge, this is the first recommender system specifically designed for Riyadh restaurants.
To support our research, we collected a comprehensive dataset of restaurants in Riyadh, with a total of 14,520 unique values, scraped from Foursquare.com. This dataset is unique and valuable because it includes a wide range of restaurant features and attributes, allowing for more accurate and relevant recommendations. The dataset is publicly available on Kaggle.com as the Riyadh restaurants (https://www.kaggle.com/datasets/fahd09/riyadh-restaurants-20k) dataset, enabling other researchers to replicate the experiments and build upon the work.
To evaluate the performance of our system, we conducted experiments using this real-world dataset and compared our results to a popularity-based recommender system. Our evaluation metrics included root mean squared error (RMSE) and mean absolute error (MAE) to measure the accuracy of our recommendations. Finally, we developed a user interface to represent restaurant recommendations based on user ratings. The interface provides a user-friendly experience that allows users to easily search for and select their preferred restaurant based on their preferences.
The rest of this paper is organized as follows. Section 2 presents a review of related work in the field of recommender systems. Section 3 describes the materials and methods used in this study, including data collection and preprocessing, implementation, evaluation, and performance analysis. Section 4 discusses the results, limitations, and future work. Finally, Section 5 concludes the paper by summarizing the findings, discussing the implications, and presenting concluding remarks.

2. Background and Related Works

2.1. Matrix Factorization for Recommender Systems

There are various paradigms that can be used to implement recommender systems [11]. These include collaborative filtering (CF), content-based filtering, and hybrid filtering, the last of which combines multiple paradigms to improve recommendation accuracy and overcome the limitations of individual approaches.
Content-based filtering is a commonly used approach in which recommendations are made based on the similarities between the features of an item and a user’s preferences [12]. One example would be promoting French restaurants to customers who have expressed an interest in French cuisine. This method, however, has problems in capturing the delicate relationships between consumers and eateries.
On the other hand, CF is a technique frequently employed in recommender systems that predicts a user’s preferences based on the preferences of other users who have similar tastes [13]. One of the most effective recommendation techniques among CF-based methods is matrix factorization (MF) [10,14,15].
In its simplest form, matrix factorization for recommender systems represents both users and items as vectors of latent factors, which are derived from the user–item rating matrix. When there is a strong correlation between the latent factors of a user and an item, it results in a recommendation of that item to the user [16]. Unconstrained gradient descent is typically used to learn the feature components of the user and item factor matrices [17].
MF has been utilized in several domains, such as recommending movies, suggesting music, and providing restaurant recommendations [6]. The flexibility of matrix factorization to handle huge and sparse datasets distinguishes it from other collaborative filtering systems [16]. On large and sparse datasets, other collaborative filtering techniques, such as k-nearest neighbor (k-NN) and user- or item-based collaborative filtering, may not perform as well due to the sparsity problem [5].
Matrix factorization also has an advantage in handling implicit feedback, like user views or clicks, as well as explicit feedback, such as ratings or reviews. This feature enables matrix factorization to capture a broader range of user preferences and behaviors, resulting in more precise and diverse recommendations [16].
Typical matrix factorization models include non-negative matrix factorization (NMF) [18], singular value decomposition (SVD) [19], and optimized singular value decomposition (SVD++) [16]. NMF decomposes the original matrix into two smaller non-negative matrices [18]. SVD is a widely used algorithm for solving real and complex metrics, as well as for rate estimation and canonical correlation analysis [20]. SVD++ [19] is an advanced version of the SVD model that takes into account implicit feedback. Implicit feedback includes information on the user’s preference history, which provides details on the items for which the user has expressed a preference, either explicitly or implicitly.

2.2. Related Works

Recommender systems have become increasingly prevalent in a variety of domains, including e-commerce, music, movies, and restaurants. In the tourism and hospitality sector, several studies have explored different approaches to recommending restaurants to users. One such study [21] introduced a machine learning-based recommender system. Their dataset, collected from TripAdvisor.com, included hotel information, users’ reviews, and ratings of the hotels. The authors used amenities as features and also considered user ratings for each hotel as a feature. They further detected the sentiment of the reviews using natural language processing (NLP) techniques. The authors implemented five different NLP techniques, including probabilistic neural network (PNN), back propagation neural network (BPN), support vector machine (SVM), and linear discriminate analysis (LDA), and achieved an accuracy of 92.45%.
Moreover, the researchers in [22] proposed a location-aware personalized traveler assistance (LAPTA) system that integrates user preferences and GPS to generate personalized and location-aware recommendations for tourists. The system separates data obtained from Google locations into name and category tags and fetches keywords from the user’s input based on their past research behavior. LAPTA uses the K-Nearest algorithm to match name and category tags with the user’s input to generate personalized suggestions. Experimental results showed that LAPTA could provide more reliable and accurate recommendations compared to reviewed recommendation applications, making it a valuable tool for tourists seeking personalized recommendations.
In [23], the authors aimed to explore the relationship between reviewers’ evaluations and overall satisfaction. The authors collected their dataset from Yelp, a restaurant review website, and were interested in overall numerical ratings and textual comments. They implemented a Latent Aspect Rating Analysis (LARA) with modifications using NLP, machine learning, and regression analysis to predict the overall numerical rating of an entity. The resulting F1-scores for each class were presented for each city, with a range of F-scores of 0.80–0.88 for rating, 0.69–0.87 for overall satisfaction, and 0.73–0.87 for price.
Fakhir et al. [24] developed a restaurant recommender system using a user-based collaborative filtering approach. They used a dataset provided by Zomato, consisting of 50,998 ratings, 86 restaurants, and 593 users. The system aimed to provide recommendations based on the similarity of preferences for the target user and all existing users by calculating the weighted coefficient for the similarity between users and similarity of user attributes. The performance was evaluated using the mean absolute error (MAE) metric through two scenarios: user-based collaborative and user-based collaborative with user attributes. The performance showed 1.4 MAE for the first scenario and 2.1 for the second scenario, indicating that the system performs better without user attributes.
Reference [25] proposes a recommender system for food-delivery applications based on the number of orders. The system uses the nearest-neighbor technique to calculate a client’s preferred restaurants and analyze other clients with similar buying patterns. The paper also proposes a performance metric based on real restaurant sales. The proposed system was tested on a real dataset and was found to give an average of 7.7 options out of 187 available. The system was compared to other state-of-the-art recommendation techniques and was found to perform better. The study also found that the majority of the works are either based on surveys or rely on data from social networks like TripAdvisor, Zomato, Yield, and others.
In addition, Reference [26] proposes a context-aware food recommender system which provides personalized food recommendations based on a user’s profile, physiological signals, and sensing environmental information around the dining table in real time. The proposed system aims to provide appropriate food recommendations for each individual’s health at the table in real time, making it suitable for well-being care applications.
Furthermore, Visit Saudi [27] represents the official tourism platform for the Kingdom of Saudi Arabia. It serves as a comprehensive resource for tourists seeking information about popular destinations, activities, events, and travel tips for visiting Saudi Arabia. One of its features is “Plan Your Trip”, which recommends cultural events, local cuisine, and other relevant topics related to Saudi Arabia.
Recent studies have noted the incorporation of deep learning techniques such as neural networks and convolutional neural networks into restaurant recommender systems. These techniques can capture complex patterns and relationships in the data and can handle large and sparse datasets. For example, Reference [28] proposes a restaurant food recommender system that uses optical character recognition (OCR) technology and a transformer-based deep learning model to recommend food dishes to users based on their nutritional needs. The system is able to rank the food dishes in terms of the input search key (e.g., calorie, protein level) and can also rank unseen food dishes. The proposed system was evaluated using a self-constructed menu dataset, known as MenuRank dataset, and achieved promising results with accuracy ranging from 77.2% to 99.5%. The evaluation metrics used were normalized discounted cumulative gain (NDCG), cross entropy loss (CEL), and accuracy (ACC).
In addition, the work in [29] proposes an explainable food recommender system that uses a deep learning-based image clustering method to recommend food based on visual content and justify the recommendations. The system also introduces a new similarity score based on a tendency measure that quantifies the extent to which the user community prefers a given food category, and a rule-based explainability to enhance transparency and interpretability of the recommendation outcome. The experiments on a crawled dataset show that the proposed method enhances recommendation quality compared to other existing methodologies for food recommendation.
Context-aware recommender systems that consider the context in which the recommendation is made, such as the time of day, weather, and user location, have also been gaining attention. These systems can provide more relevant and personalized recommendations to users. For example, a recent study [30] proposed a social network mobile application for tourism using a hybrid recommender system that incorporates user location and time of day to recommend restaurants to users. Their approach achieved high accuracy and improved the relevance of the recommendations. In addition, the authors of [31] proposed a serendipity-oriented personalized trip recommendation (SOTR) algorithm to address the challenges in trip recommendation. The proposed algorithm considers similarity between points of interest (POIs) and category differences among consecutive POIs and uses serendipity to recommend a trip with high user satisfaction. The algorithm was evaluated using real-life and Foursquare datasets, and the results showed that it outperforms various recommendation methods by satisfying user interests in the trip.
Furthermore, the authors of [32] proposed a method to extract user food preferences from their online comments about restaurants. The method is based on natural language processing techniques for processing the text of user comments and extracting the desired food names. The semantic similarity approach has been exploited to conceptually cluster food names. The clustering results with the Wu–Palmer method shows higher precision. To obtain the opinion of the user regarding each food item on the menu, sentiment analysis is performed to indicate whether their opinion is positive or negative. The proposed system suggests surrounding restaurants to users with an accuracy of 92.8%.
Matrix factorization is another popular approach in the recent literature for restaurant recommendations. Several studies have explored the use of matrix factorization for improving the accuracy and diversity of restaurant recommendations. For example, the authors of [33] proposed a hybrid recommender system that considered visual features in addition to text-based information to predict favorite restaurants. The recommender system was implemented using three techniques: factorization machine (FM), matrix factorization (MF), and Bayesian personalized ranking matrix factorization (BPRMF). The dataset was collected from a restaurant social platform that consists of user information, restaurant information, and blog articles written by users about their visited restaurants. The authors used blog articles and extracted 2118 keywords related to restaurants and food as text-based information and images embedded in the articles as visual information. The performance was evaluated based on the three selected techniques (FM, MF, and BPRMF) enhanced by content-based features. The results showed that the enhanced BPRMF and enhanced FM performed better than other techniques.
Another recent approach in the literature is graph-based recommender systems. These systems represent users and items as nodes in a graph and use graph-based algorithms to make recommendations. For example, Reference [34] focuses on developing an application named “Travel Best” that extracts check-ins from users’ Facebook accounts to generate trend-based suggestions for location and restaurant recommendations. The application utilizes shortest path, longest path, and most traveled route algorithms to suggest locations within a city based on Facebook checked-in data. Additionally, the study utilizes opinion mining to provide relevant restaurant ratings based on food quality, service, and ambiance, unlike overall ratings usually provided by other applications. The results are visualized using a graph database. Overall, the proposed approach provides personalized location and restaurant recommendations based on users’ behavior, which can help users plan their trips more effectively. Another recent study by [35] introduces a new dataset named CADT (city-attraction dataset for travel) to explore the use of conversational recommender systems (CRS) in tourism attraction and city recommendation. The authors propose a new framework named RUI (representation, understanding, interaction) to make travel recommendations using a path-seeking process on the given knowledge graph. Both automatic and human evaluations were conducted, which demonstrated the effectiveness of the RUI framework. The study presents the first knowledge graph-based CRS for city and tourism attraction recommendations in the travel domain.
Our study builds upon these recent studies by proposing a collaborative-based recommender system using a matrix factorization algorithm for Riyadh restaurants. The system showed that the quality of the recommendations overcome the baselines. Our system has the potential to improve the overall dining experience for customers and increase revenue for restaurants in Riyadh.

3. Materials and Methods

The proposed approach is illustrated in Figure 1 and consists of the following steps. Firstly, data collection and preprocessing were performed on user reviews and ratings from the popular restaurant review social media platform, Foursquare.com. The collected data were then cleaned, normalized, and transformed into a suitable format for analysis through data preprocessing.
The next step involved implementing four recommendation algorithms, namely, content-based, NMF, SVD, and SVD++.
In the third step, evaluation was carried out to assess the accuracy of the recommendations. Metrics such as root mean squared error (RMSE) and mean absolute error (MAE) were used to measure the difference between the actual and predicted ratings. This allowed us to determine how well each algorithm performed in generating accurate recommendations.
The fourth step involved comparison, where the performance of the collaborative filtering methods (NMF, SVD, and SVD++) was compared to that of a popularity-based recommender system. The popularity-based recommender system recommended the most popular restaurants to all users, without considering the specific preferences of each user.
Finally, the system was deployed by integrating it into a website where users could receive personalized restaurant recommendations.

3.1. Data Collection and Prepossessing

This section describes the selected dataset and the preprocessing steps taken before using it in the system.
The dataset was collected from user reviews and ratings on the popular restaurant review social media platform, Foursquare.com. Web scraping is the process of automatically extracting data from websites using software tools called web scrapers [36]. This dataset includes various features such as restaurant names, ratings, tips, and locations for restaurants based in Riyadh city, totaling 14,520 unique values. The dataset is publicly available on Kaggle.com (www.kaggle.com/datasets/fahd09/riyadh-restaurants-20k), and Figure 2 provides a snapshot of the data.
Each row in the dataset represents a restaurant, and the columns represent features, which are detailed in Table 1. The table provides a description of the features included in the Riyadh restaurants dataset. The features include the name, categories, address, latitude, longitude, price category, number of likes, number of photos, number of tips, average rating, and the number of raters. Note that the address column is the least useful due to the lack of formal addresses for many restaurants. The columns of interest are highlighted in bold for easy reference.
Once the data have been collected, it is important to preprocess them to remove noise and inconsistencies and transform them into a format suitable for use by the recommender system. This involves various techniques such as data cleaning, removing duplicates or missing data, converting categorical data into numerical data, normalization, and feature extraction.
In our research, we performed data wrangling to unify the many categories in the dataset, which numbered 1130, into a more reasonable number of 16 categories. Our approach involved grouping each category into its main cuisine, for example, Syrian, Lebanese, and Egyptian cuisines were all grouped into the Mediterranean cuisine category.
We also dealt with missing data in some columns. For the price column, we used the mode of the category that the restaurant fell into, while for the rating column, we used the average rating of restaurants in the same category. These techniques helped to ensure that the data used for the recommender system were as accurate and complete as possible.
The preprocessed data can be used now to train the model to predict users’ preferences and recommend restaurants that are likely to be of interest to users.

3.2. The Recommender Systems

The present study involved the construction of a content-based recommender system and three matrix factorization models, namely, singular value decomposition (SVD), optimized singular value decomposition (SVD++), and non-negative matrix factorization (NMF), for the purpose of predicting restaurant ratings and generating personalized recommendations for users. The main objective of this experiment was to assess the performance of these algorithms by utilizing two performance metrics, namely root mean square error (RMSE) and mean absolute error (MAE). Through the evaluation of these metrics, the study aims to provide valuable insights into the effectiveness of the recommender systems and their potential practical implications in the dining industry.

3.2.1. Content-Based Model

The methodology for the first recommender system, which is content-based filtering, involved several steps. Initially, we collected the user’s ratings for a set of restaurants. We then created the user profile, which represented the features that were present in the user’s rating list. The next step was to create a feature matrix that contained the features of interest for each restaurant such as prices and categories. This feature matrix was obtained from the dataset. The matrix has restaurants listed in the rows and features listed in the columns. Each cell in the matrix represents a feature value for a particular restaurant. For example, a cell in the “price” column for a particular restaurant contains the price category (e.g., cheap, moderate, expensive, very expensive) for that restaurant. Similarly, a cell in the “category” column for a particular restaurant contains the category to which the restaurant belongs (e.g., Mediterranean, Italian, Japanese). We represented this as a Boolean matrix.
To facilitate the explanation, we employ the sample scenario depicted in Figure 3a, where R1–4 denote restaurants and U1–3 denote users. The cells that do not have a rating are represented with a dash. In addition, Figure 3b presents features that describe each restaurant’s characteristics. More specifically, the matrix R(u,r) represents the ratings that user u has given to each restaurant r. To represent the presence or absence of a particular feature in a restaurant, we utilize a Boolean matrix F, where the element F(r,f) is equal to one if restaurant r has feature f, and zero otherwise. To construct a profile for a user u, we create a matrix P(u,f) where the elements are defined as follows:
P u , f = R u , r > P τ F ( r , f )
Therefore, P(u,f) denotes the correlation between user u and feature f.
After creating the feature matrix, the user profile is multiplied with the feature matrix to obtain the weighted matrix. The weighted matrix represents the similarity between the user’s preferences and the features of each restaurant. The weighted matrix is then sorted in descending order based on the similarity values, and the top 10 recommendations are presented to the user. Figure 4 depicts an example of the user input and system recommendations.

3.2.2. Matrix Factorization Model

The goal of collaborative filtering is to predict a user’s interests or rating by collecting preference information from other users. Matrix factorization is a popular technique used in collaborative-based filtering, which characterizes items and users through vectors of factors inferred from the item rating patterns [16]. The concept behind matrix factorization is straightforward. It involves decomposing the user–restaurant rating matrix into two lower-dimensional matrices: a user factor matrix and a restaurant factor matrix. The user factor matrix represents the preferences of each user, while the restaurant factor matrix represents the features of each restaurant. By multiplying the two matrices together, the rating that a user would give to a restaurant that they have not yet rated is predicted.
In this paper, we implemented a collaborative-based recommender system using three matrix factorization-based algorithms. Particularly, we implemented and contrasted three algorithms: non-negative matrix factorization (NMF) [18], singular value decomposition (SVD) [20], and optimized singular value decomposition (SVD++) [16]. NMF decomposes the original matrix into two smaller non-negative matrices [18]. SVD is a widely used algorithm for solving real and complex metrics, as well as for rate estimation and canonical correlation analysis. SVD++ [19] is an advanced version of the SVD model that takes into account implicit feedback. Implicit feedback includes information on the user’s preference history, which provides details on the items for which the user has expressed a preference, either explicitly or implicitly.
Since the Riyadh restaurants dataset did not include user information, we added a new column called “user_id” and filled it with random numbers to enable personalized recommendations for each user. We selected three recommendation parameters from the datasets: user id, restaurant id, and rating. The three recommendation models were implemented using the Surprise Python library [37], an open-source tool that provides implementation for various recommendation algorithms. After implementing each model, we used the predict (user_id, item_id) method to see the rating prediction given by a model for a single user and item. Figure 5A shows the actual rating for a restaurant id (433) and user id (13,627), while Figure 5B shows the estimated rate according to each model for this restaurant. The NMF model showed the best estimation, with a rating value of 3.7, which was closest to the actual rating value of 4.8.

3.3. Evaluation

3.3.1. Content-Based Model

As compared to other regression and classification algorithms, content-based methods do not have a direct method for evaluating the feasibility of recommendations using well-known metrics such as RMSE, MAE, Recall, and Precision. As a result, the evaluation of this model must be completed with the help of the user, which is not always reliable as it is based on personal preferences rather than objective facts. To evaluate the content-based recommender system, we created a custom metric to assess the recommendations’ quality. We have used the test set to evaluate the system. We hid 40% of the user’s data from the system to use them as testing data. Then, we derived the recommendations from the remaining 60% and selected the top 30 recommended restaurants. We then searched for the presence of the 40% of restaurants among the top 30 recommended restaurants and calculated the ratio of the present restaurants among the 30 recommended restaurants. This metric is shown in Figure 6.
We attempted to calculate metrics such as RMSE, MAE, Precision, and Recall, but since the resulting predicted data are not numerical (they are the names of the restaurants that might suit the user’s preferences), it is not possible to calculate the difference between the predicted and real values. Additionally, users may input their preferences without considering the order of their most preferred restaurants, which makes the calculation of these metrics unviable as the most preferred restaurant by the user may not necessarily be the top recommendation in the list of recommended restaurants.

3.3.2. Matrix Factorization Model

The performance of NMF, SVD, and SVD++ has been evaluated in 5-fold cross-validations using two commonly used metrics, namely root mean squared error (RMSE) and mean absolute error (MAE).
-
The RMSE calculates the square root of the average square differences between the predicted (si,j) and actual ratings (ri,j) (Equation (2). The RMSE provides a measure of the accuracy of the predicted ratings, with lower values indicating better performance [38].
R M S E = 1 n   i , j ( s i , j   r i , j ) 2
-
The MAE calculates the average absolute difference between the predicted (yi) and actual ratings (xi) (Equation (3)). The MAE provides a measure of the overall deviation of the predicted ratings from the actual ratings, with lower values indicating better performance.
M A E = i = 1 n | y i x i   | n
Table 2 shows the performance comparison of NMF, SVD, and SVD++ in 5-fold cross-validations using the RMSE and MAE.
Looking at the RMSE table, we can see that SVD has the lowest average RMSE of 0.6439 among the three methods, followed closely by SVD++ with an average RMSE of 0.6462. NMF has the highest average RMSE of 0.6478. Additionally, we can see that the differences in RMSE values between the methods are relatively small, suggesting that the performance of the methods is comparable.
For the MAE table, we can see that NMF has the lowest average MAE of 0.455, followed closely by SVD with an average MAE of 0.460. SVD++ has the highest average MAE of 0.462. Again, the differences in MAE values between the methods are relatively small, indicating that the performance of the methods is comparable.
Based on these results, we can conclude that SVD performs the best in terms of RMSE, while NMF performs the best in terms of MAE. However, the differences in performance between the three methods are relatively small, suggesting that the choice of method may depend on the specific recommendation task and the trade-offs between accuracy and computational efficiency.

3.3.3. Performance Comparison of Matrix Factorization and Popularity-Based Models

The popularity-based recommender system simply recommends the most popular items to all users, without taking into account the specific preferences or past behavior of individual users. We chose to evaluate the popularity-based recommender system using the MAE metric, which measures the average absolute difference between the actual and predicted ratings. This allows us to compare the accuracy of the popularity-based recommender system to that of the collaborative filtering methods, which do make individualized predictions.
Table 3 includes the average RMSE and MAE values for each method, based on the values provided. It also includes a popularity-based recommender system for comparison.
We can see that SVD has the lowest average RMSE of 0.6439, followed closely by SVD++ with an average RMSE of 0.6462. NMF has the highest average RMSE of 0.6478. Additionally, we can see that the differences in RMSE values between the methods are relatively small.
For the MAE metric, we can see that NMF has the lowest average MAE of 0.455, followed closely by SVD with an average MAE of 0.460. SVD++ has the highest average MAE of 0.462. The popularity-based recommender system has an average MAE of 0.475, which is higher than all three collaborative filtering methods.
The reason why there is no value for popularity-based RMSE in the table is that the popularity-based recommender system does not predict ratings for individual users or items, and therefore cannot be evaluated using RMSE.
These results suggest that both SVD and NMF are effective methods for generating accurate recommendations, with SVD performing slightly better in terms of RMSE and NMF performing slightly better in terms of MAE. SVD++ is also a viable option, but has slightly higher RMSE and MAE values than SVD and NMF. The popularity-based recommender system, on the other hand, is not as effective in generating accurate recommendations, as reflected by its higher MAE value.
It is important to note that these results are based on a specific dataset, and the performance of the methods may vary with different datasets. Therefore, it is important to conduct further experiments and evaluations of different datasets to confirm these results and to choose the most appropriate method for a given recommendation task.

3.4. Deployment

After developing and evaluating the system, we deployed it for use by users. This involved integrating the system into a website that users can browse to find recommendations.

3.4.1. Content-Based Recommender System

The content-based recommender system was developed using Python, with libraries Pandas, NumPy, and RegEx utilized for data cleaning and manipulation. The system uses weighted matrices to generate a list of similar restaurants based on the user’s profile features. For the user interface, PHP was used to create a home screen that directs the user to the desired recommender system, as shown in Figure 7.
Upon clicking the content-based button, the user is directed to the web page shown in Figure 8, where they can enter as many input entries as desired and then press the submit button.
After submitting the entries, the user can view the results by clicking on the “show results” button, as shown in Figure 9. The web page displays the recommended restaurants based on the user’s input and provides information such as the restaurant’s name and address.

3.4.2. Matrix Factorization Recommender System

For the collaborative-based recommender system, we employed only two matrix factorization algorithms, namely NMF and SVD. Figure 10a,b display the user interface for the collaborative-based filtering system, which includes a login page and home page with three buttons: content-based, collaborative-based NMF, and collaborative-based SVD.
When the user clicks on the collaborative-based NMF button, they are redirected to the “nmf.php” page, as shown in Figure 10c, where they can enter the restaurant name and their rating. Once the user has entered one or more restaurants and clicked the “submit” button, the PHP code saves the user entries as a CSV file that includes user ID, restaurant name, and rating. The Python script “nmf_processing.py” then matches the restaurant names with their IDs, processes the user’s recommendations, and appends the user data to the whole dataset, as shown in Figure 11.
Based on the user’s entries and the training set, the NMF method generates recommendations for the user and stores them in a text file. The PHP file “nmf_results.php” then prints the recommendation results for the user, as shown in Figure 12. The SVD algorithm follows the same steps as the NMF method.
Overall, the collaborative-based recommender system provides a user-friendly interface for generating personalized recommendations based on user preferences. The system integrates seamlessly with PHP and Python, allowing for efficient data processing and recommendation generation.

4. Discussion

The evaluation and analysis of the content-based and matrix factorization recommender systems provide insights into their performance and effectiveness in generating recommendations.
The content-based method presents a limitation in its evaluation, as it does not have a direct method for evaluating the feasibility of recommendations using well-known metrics such as RMSE and MAE. This limitation requires the evaluation of the model with the help of the user, which can be biased because it is based on personal preferences rather than objective facts. To address this limitation, the evaluation of the content-based recommender system in the current study employed a custom metric. This metric assessed the recommendations’ quality by calculating the ratio of the present restaurants among the 30 recommended restaurants. While this approach provides a means of evaluating the content-based method, it is important to consider its limitations due to the reliance on subjective user preferences.
On the other hand, the performance of NMF, SVD, and SVD++ has been evaluated in five-fold cross-validations using two standard metrics, RMSE and MAE. The evaluation results demonstrate the effectiveness of SVD in generating accurate recommendations in the context of the current study. However, it is important to note that the performance of collaborative filtering methods may vary depending on the characteristics of the dataset and the specific recommendation problem. Therefore, it is recommended to conduct a thorough evaluation and comparison of different algorithms before selecting the most appropriate method.
We also compared the performance of our system with the popularity-based recommender system. Our system performed slightly better in terms of accuracy compared to the popularity-based recommender system. The improved performance of our system can be attributed to the collaborative filtering approach, which is able to capture the complex relationships between users and items. The matrix factorization algorithm is able to effectively handle the large and sparse dataset, resulting in more accurate and relevant recommendations. Moreover, the system can be adapted to different types of restaurants and cuisines, making it applicable to a wide range of users. This is in line with the fact that personalized recommender systems have widely used the matrix factorization model due to its high accuracy and scalability, as noted in [16,39].
The deployment of the content-based and collaborative-based recommender systems in the web application provides a user-friendly interface for generating personalized recommendations based on user preferences. However, the development of the recommender systems presented several challenges, including working with multiple scripting/programming/markup languages and conflicts with Python libraries when working in the localhost and Apache server.
To overcome these issues, the development team relied on adding user entries through PHP into an entries log file (content_based.csv). Then, Python read and processed these entries to generate the resulting recommended restaurants in an external text file (content_result.txt), which the system grabbed using PHP, read its values, and reflected them into HTML using JavaScript to manipulate the document object model (DOM) elements of the HTML structure. Furthermore, the team found it easier to work with a virtual environment, such as Jupyter and Google CoLab, to overcome conflicts with Python libraries. One limitation of our system is the reliance on user reviews and ratings, which may not always reflect the true preferences of users.
Despite these challenges, the deployment of the recommender systems has practical implications for restaurant owners and users in Riyadh city. The content-based system can provide personalized recommendations to users based on their preferences, improving their dining experiences and increasing customer satisfaction. On the other hand, the collaborative-based system can help restaurant owners identify customer preferences and tailor their offerings to meet those preferences, leading to increased sales and customer loyalty. Furthermore, the deployment of the recommender systems in a web application provides a platform for users to access the recommendations conveniently. The user-friendly interface of the web application ensures that users can easily navigate through the system and get their desired recommendations. This can help increase user engagement with the system and improve the overall user experience.
The proposed recommender system demonstrates the potential of intelligent systems for real-world applications in the field of data science and knowledge engineering. The system leverages machine learning techniques, such as collaborative filtering and matrix factorization, to generate accurate and personalized recommendations for users based on their preferences. Additionally, the system incorporates a comprehensive dataset of restaurant features and attributes, providing a valuable resource for researchers and practitioners working in the field of intelligent systems and data science.
To extend the proposed system, future research could explore the integration of additional features, such as location-based recommendations, social media activity, or real-time updates on restaurant availability and wait times. Additionally, the system could incorporate user feedback and ratings to continuously improve the accuracy and relevance of recommendations. This could enhance the user experience and increase user engagement, as in [26,40,41,42,43,44], where item attributes and social networks were integrated into the model to improve recommendation performance. In addition, research can explore the potential of the system to be applied in other cities or countries with similar restaurant industries. This may involve fine-tuning the model to account for cultural and demographic differences. Overall, the proposed system demonstrates the potential of intelligent systems to enhance user experiences and meet the challenges and opportunities in the field of knowledge engineering and data science.

5. Conclusions

In this paper, we created a publicly available dataset of Riyadh restaurants and developed multiple recommender systems using this dataset. These systems included a content-based recommender system and three collaborative-based filtering systems based on matrix factorization techniques (NMF, SVD, and SVD++). To evaluate the performance of these methods, we used RMSE and MAE as evaluation metrics and compared our results to a popularity-based recommender system.
Our evaluation results showed that SVD and NMF are effective methods for generating recommendations, with SVD performing slightly better in terms of RMSE and NMF performing slightly better in terms of MAE. While SVD++ is also a viable option, it has slightly higher RMSE and MAE values than SVD and NMF.
Overall, our findings suggest that the collaborative-based approach using matrix factorization algorithms is an effective way to capture the complex relationships between users and restaurants. By leveraging user reviews and ratings, the system can recommend relevant restaurants to users, ultimately improving the dining experience for customers and increasing revenue for restaurants.

Funding

The author extends her appreciation to the Deputyship for Research and Innovation, Ministry of Education in Saudi Arabia for funding this research work through the project no. (IFKSUOR3–041–1).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data are publicly available on Kaggle (https://www.kaggle.com/datasets/fahd09/riyadh-restaurants-20k, accessed on 2 May 2023).

Acknowledgments

The author would like to thank Najla Alhazzani and Norah Alrashoudi for their efforts in implementing the system.

Conflicts of Interest

The author declares no conflict of interest.

References

  1. Naseem, S. The Role of Tourism in Economic Growth: Empirical Evidence from Saudi Arabia. Economies 2021, 9, 117. [Google Scholar] [CrossRef]
  2. Fortune Business Insights Report. Saudi Arabia Food Service Market Size, Share and COVID-19 Impact Analysis; Fortune Business Insights: Pune, Maharashtra, India, 2022. [Google Scholar]
  3. JLL Report. The Future of Food Service in Saudi Arabia: Current Market and Future Trend. Jones Lang LaSalle (JLL). MENA. 2020. Available online: https://argaamplus.s3.amazonaws.com/43ec514f-b182-4472-be10-74df48161f56.pdf (accessed on 27 May 2023).
  4. Elgammal, I.; Baeshen, M.H.; Alhothali, G.T. Entrepreneurs’ Responses to COVID-19 Crisis: A Holistic Dynamic Capabilities Perspective in the Saudi Food and Beverage Sector. Sustainability 2022, 14, 13111. [Google Scholar] [CrossRef]
  5. Fayyaz, Z.; Ebrahimian, M.; Nawara, D.; Ibrahim, A.; Kashef, R. Recommendation Systems: Algorithms, Challenges, Metrics, and Business Opportunities. Appl. Sci. 2020, 10, 7748. [Google Scholar] [CrossRef]
  6. Alabduljabbar, R.; Alshareef, M.; Alshareef, N. Time-Aware Recommender Systems: A Comprehensive Survey and Quantitative Assessment of Literature. IEEE Access 2023, 11, 45586–45604. [Google Scholar] [CrossRef]
  7. Lara-Cabrera, R.; González-Prieto, Á.; Ortega, F. Deep Matrix Factorization Approach for Collaborative Filtering Recommender Systems. Appl. Sci. 2020, 10, 4926. [Google Scholar] [CrossRef]
  8. Casillo, M.; Gupta, B.B.; Lombardi, M.; Lorusso, A.; Santaniello, D.; Valentino, C. Context Aware Recommender Systems: A Novel Approach Based on Matrix Factorization and Contextual Bias. Electronics 2022, 11, 1003. [Google Scholar] [CrossRef]
  9. Ampazis, N.; Emmanouilidis, T.; Sakketou, F. A Matrix Factorization Algorithm for Efficient Recommendations in Social Rating Networks Using Constrained Optimization. Mach. Learn. Knowl. Extr. 2019, 1, 928–944. [Google Scholar] [CrossRef]
  10. Kumar, B.; Sharma, N.; Sharma, B.; Herencsar, N.; Srivastava, G. Hybrid Recommendation Network Model with a Synthesis of Social Matrix Factorization and Link Probability Functions. Sensors 2023, 23, 2495. [Google Scholar] [CrossRef]
  11. Adomavicius, G.; Tuzhilin, A. Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions. IEEE Trans. Knowl. Data Eng. 2005, 17, 734–749. [Google Scholar] [CrossRef]
  12. Liao, M.; Sundar, S.S. When e-commerce personalization systems show and tell: Investigating the relative persuasive appeal of content-based versus collaborative filtering. J. Advert. 2022, 51, 256–267. [Google Scholar] [CrossRef]
  13. Wang, R.; Wu, Z.; Lou, J.; Jiang, Y. Attention-based dynamic user modeling and Deep Collaborative filtering recommendation. Expert Syst. Appl. 2022, 188, 116036. [Google Scholar] [CrossRef]
  14. Bobadilla, J.; Ortega, F.; Hernando, A.; Gutiérrez, A. Recommender systems survey. Knowl. Based Syst. 2013, 46, 109–132. [Google Scholar] [CrossRef]
  15. Lara-Cabrera, R.; González-Prieto, Á.; Ortega, F.; Bobadilla, J. Evolving Matrix-Factorization-Based Collaborative Filtering Using Genetic Programming. Appl. Sci. 2020, 10, 675. [Google Scholar] [CrossRef]
  16. Koren, Y.; Bell, R.; Volinsky, C. Matrix factorization techniques for recommender systems. Computer 2009, 42, 30–37. [Google Scholar] [CrossRef]
  17. Takács, G.; Pilászy, I.; Németh, B.; Tikk, D. On the Gravity Recommendation System. In Proceedings of the 13th ACM International Conference on Knowledge Discovery and Data Mining, San Jose, CA, USA, 12–15 August 2007. [Google Scholar]
  18. Lee, D.; Seung, H.S. Algorithms for non-negative matrix factorization. Adv. Neural Inf. Process. Syst. 2001, 13, 556–562. [Google Scholar]
  19. Paterek, A. Improving Regularized Singular Value Decomposition for Collaborative Filtering. In Proceedings of the KDD Cup and Workshop, San Jose, CA, USA, 12–15 August 2007. [Google Scholar]
  20. Cullum, J.; Willoughby, R. Lanczos Algorithms for Large Symmetric Eigenvalue Computations: Volume 1, Theory (Classics in Applied Mathematics); SIAM (Society for Industrial and Applied Mathematics): Philadelphia, PA, USA, 2002. [Google Scholar]
  21. Gomathi, R.M.; Ajitha, P.; Krishna, G.H.S.; Pranay, I.H. Restaurant Recommendation System for User Preference and Services Based on Rating and Amenities. In Proceedings of the 2019 International Conference on Computational Intelligence in Data Science (ICCIDS), Chennai, India, 21–23 February 2019. [Google Scholar]
  22. Al-Ghobari, M.; Muneer, A.; Fati, S.M. Location-Aware Personalized Traveler Recommender System (LAPTA) Using Collaborative Filtering KNN. Comput. Mater. Contin. 2021, 69, 1553–1570. [Google Scholar] [CrossRef]
  23. Luo, Y.; Tang, L.; Kim, E.; Wang, X. Finding the reviews on yelp that actually matter to me: Innovative approach of improving recommender systems. Int. J. Hosp. Manag. 2020, 91, 102697. [Google Scholar] [CrossRef]
  24. Fakhri, A.A.; Baizal, Z.K.A.; Setiawan, E.B. Restaurant Recommender System Using User-Based Collaborative Filtering Approach: A Case Study at Bandung Raya Region. J. Phys. Conf. Ser. 2019, 1192, 012023. [Google Scholar] [CrossRef]
  25. Sánchez, C.N.; Domínguez-Soberanes, J.; Arreola, A.; Graff, M. Recommendation System for a Delivery Food Application Based on Number of Orders. Appl. Sci. 2023, 13, 2299. [Google Scholar] [CrossRef]
  26. Oh, Y.; Choi, A.; Woo, W. u-BabSang: A context-aware food recommendation system. J. Supercomput. 2010, 54, 61–81. [Google Scholar] [CrossRef]
  27. Visit Saudi. Saudi Tourism Authority. Available online: https://www.visitsaudi.com/en (accessed on 1 May 2023).
  28. Ju, X.; Lo, F.P.W.; Qiu, J.; Shi, P.; Peng, J.; Lo, B. MenuAI: Restaurant Food Recommendation System via a Transformer-based Deep Learning Model. arXiv 2022, arXiv:2210.08266. [Google Scholar]
  29. Rostami, M.; Muhammad, U.; Forouzandeh, S.; Berahmand, K.; Farrahi, V.; Oussalah, M. An effective explainable food recommendation using deep image clustering and community detection. Intell. Syst. Appl. 2022, 16, 200157. [Google Scholar] [CrossRef]
  30. Alabduljabbar, R.; Alfulaij, N.; Aldosari, S.; Alrubaiya, Y. Odyssey: A Social Network Mobile Application Using Hybrid Recommender System. In Proceedings of the 2022 International Conference on Electrical, Computer, Communications and Mechatronics Engineering (ICECCME), Maldives, Maldives, 16–18 November 2022; pp. 1–6. [Google Scholar] [CrossRef]
  31. Abbas, R.; Hassan, G.M.; Al-Razgan, M.; Zhang, M.; Amran, G.A.; Al Bakhrani, A.A.; Alfakih, T.; Al-Sanabani, H.; Rahman, S.M.M. A Serendipity-Oriented Personalized Trip Recommendation Model. Electronics 2022, 11, 1660. [Google Scholar] [CrossRef]
  32. Asani, E.; Vahdat-Nejad, H.; Sadri, J. Restaurant recommender system based on sentiment analysis. Mach. Learn. Appl. 2021, 6, 100114. [Google Scholar] [CrossRef]
  33. Chu, W.-T.; Tsai, Y.-L. A hybrid recommendation system considering visual information for predicting favorite restaurants. World Wide Web 2017, 20, 1313–1331. [Google Scholar] [CrossRef]
  34. Taneja, A.; Gupta, P.; Garg, A.; Bansal, A.; Grewal, K.P.; Arora, A. Social Graph Based Location Recommendation Using Users’ Behavior: By Locating the Best Route and Dining in Best Restaurant. In Proceedings of the 2016 Fourth International Conference on Parallel, Distributed and Grid Computing (PDGC), Waknaghat, India, 22–24 December 2016; pp. 488–494. [Google Scholar] [CrossRef]
  35. Lan, J.; Shi, R.; Cao, Y.A.L. Knowledge Graph-based Conversational Recommender System in Travel. In Proceedings of the 2022 International Joint Conference on Neural Networks (IJCNN), Padua, Italy, 18–23 July 2022. [Google Scholar]
  36. Mitchell, R. Web Scraping with Python; O’Reilly Media, Inc.: Sebastopol, CA, USA, 2018. [Google Scholar]
  37. Hug, N. Surprise: A Python library for recommender systems. J. Open Source Softw. 2020, 5, 2174. [Google Scholar] [CrossRef]
  38. Bobadilla, J.; Hernando, A.; Ortega, F.; Bernal, J. A framework for collaborative filtering recommender systems. Expert Syst. Appl. 2011, 38, 14609–14623. [Google Scholar] [CrossRef]
  39. Han, L.; Chen, L.; Shi, X. Recommendation Model Based on Probabilistic Matrix Factorization and Rated Item Relevance. Electronics 2022, 11, 4160. [Google Scholar] [CrossRef]
  40. Forsati, R.; Mahdavi, M.; Shamsfard, M.; Sarwat, M. Matrix Factorization with Explicit Trust and Distrust Side Information for Improved Social Recommendation. ACM Trans. Inf. Syst. 2014, 32, 1–38. [Google Scholar] [CrossRef]
  41. Carusotto, V.E.; Pilato, G.; Persia, F.; Ge, M. User Profiling for Tourist Trip Recommendations Using Social Sensing. In Proceedings of the IEEE International Symposium on Multimedia (ISM), Naple, Italy, 29 November 2021–1 December 2021. [Google Scholar]
  42. De Meo, P. Trust Prediction via Matrix Factorisation. ACM Trans. Internet Technol. 2019, 19, 1–20. [Google Scholar] [CrossRef]
  43. Bhatia, M.; Ahanger, T.A. Intelligent decision-making in Smart Food Industry: Quality perspective. Pervasive Mob. Comput. 2021, 72, 101304. [Google Scholar] [CrossRef]
  44. Kumar, R.; Verma, B.K.; Rastogi, S.S. Social Popularity based SVD++ Recommender System. Int. J. Comput. Appl. 2014, 87, 33–37. [Google Scholar] [CrossRef]
Figure 1. Overview of the proposed approach.
Figure 1. Overview of the proposed approach.
Applsci 13 09574 g001
Figure 2. Snapshot of our dataset for Riyadh restaurants from Kaggle.com.
Figure 2. Snapshot of our dataset for Riyadh restaurants from Kaggle.com.
Applsci 13 09574 g002
Figure 3. (a) User–Restaurant matrix R, (b) Boolean Restaurant–Feature matrix F, (c) User–Feature matrix P.
Figure 3. (a) User–Restaurant matrix R, (b) Boolean Restaurant–Feature matrix F, (c) User–Feature matrix P.
Applsci 13 09574 g003
Figure 4. Example of user’s ratings, and system recommendations for a content-based filtering method. The figure shows a table listing the user’s ratings for a set of restaurants (A), along with the top 10 recommendations generated by the system based on the user’s preferences (B). The recommendations are sorted in descending order based on their predicted score, with the highest-scoring recommendation listed at the top.
Figure 4. Example of user’s ratings, and system recommendations for a content-based filtering method. The figure shows a table listing the user’s ratings for a set of restaurants (A), along with the top 10 recommendations generated by the system based on the user’s preferences (B). The recommendations are sorted in descending order based on their predicted score, with the highest-scoring recommendation listed at the top.
Applsci 13 09574 g004
Figure 5. (A) Actual rating given by user 433 for a particular restaurant (restaurant id 13,627) and (B) rating prediction by all three collaborative-based filtering models (NMF, SVD, and SVD++).
Figure 5. (A) Actual rating given by user 433 for a particular restaurant (restaurant id 13,627) and (B) rating prediction by all three collaborative-based filtering models (NMF, SVD, and SVD++).
Applsci 13 09574 g005
Figure 6. Metric of ratio of presence of the recommendations.
Figure 6. Metric of ratio of presence of the recommendations.
Applsci 13 09574 g006
Figure 7. The home page of the web application, which provides a clear and user-friendly interface for selecting the desired recommender system.
Figure 7. The home page of the web application, which provides a clear and user-friendly interface for selecting the desired recommender system.
Applsci 13 09574 g007
Figure 8. The web page for the content-based recommender system, which allows the user to enter their preferences and generate recommendations.
Figure 8. The web page for the content-based recommender system, which allows the user to enter their preferences and generate recommendations.
Applsci 13 09574 g008
Figure 9. The results page, which presents the recommended restaurants to the user. The Arabic words are Restaurants Names.
Figure 9. The results page, which presents the recommended restaurants to the user. The Arabic words are Restaurants Names.
Applsci 13 09574 g009
Figure 10. User interface for matrix factorization models.
Figure 10. User interface for matrix factorization models.
Applsci 13 09574 g010
Figure 11. The Riyadh restaurants dataset after adding new user data.
Figure 11. The Riyadh restaurants dataset after adding new user data.
Applsci 13 09574 g011
Figure 12. Recommendation results.
Figure 12. Recommendation results.
Applsci 13 09574 g012
Table 1. Description of features in the Riyadh restaurants dataset.
Table 1. Description of features in the Riyadh restaurants dataset.
Feature NameDescription
NameThe name of the restaurant. Some names are only available in Arabic.
CategoriesThe list of categories (in English) separated by a comma.
AddressThe address according to Foursquare. Unfortunately, it is the least useful column in the dataset because many restaurants lack a formal address. Future versions of this dataset may include an enhanced address format.
LatLatitude.
LngLongitude.
PriceShows the price category (cheap, moderate, expensive, very expensive).
LikesThe number of likes.
PhotosThe number of photos. Photos themselves are not included.
TipsThe number of tips in Foursquare (e.g., “Don’t miss their pasta”). Tips themselves are not included.
RatingThe average rating out of 10.
Rating SignalsThe number of raters.
Note: Columns of interest are in bold.
Table 2. RMSE and MAE evaluation of NMF, SVD, and SVD++.
Table 2. RMSE and MAE evaluation of NMF, SVD, and SVD++.
RMSE
MethodFold 1Fold 2Fold 3Fold 4Fold 5Average
NMF0.64850.64330.64870.65450.64390.6478
SVD0.64260.64670.63890.64890.64220.6439
SVD++0.64860.64560.64330.64650.64710.6462
MAE
MethodFold 1Fold 2Fold 3Fold 4Fold 5Average
NMF0.45820.45230.45660.45430.45780.4558
SVD0.46310.45910.46210.45870.46130.4609
SVD++0.46060.46320.46140.46330.45910.4615
Table 3. Performance comparison of NMF, SVD, SVD++, and popularity-based recommender system using average RMSE and MAE.
Table 3. Performance comparison of NMF, SVD, SVD++, and popularity-based recommender system using average RMSE and MAE.
MethodAverage RMSEAverage MAE
NMF0.64780.455
SVD0.64390.460
SVD++0.64620.462
Popularity-based-0.475
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Alabduljabbar, R. Matrix Factorization Collaborative-Based Recommender System for Riyadh Restaurants: Leveraging Machine Learning to Enhance Consumer Choice. Appl. Sci. 2023, 13, 9574. https://doi.org/10.3390/app13179574

AMA Style

Alabduljabbar R. Matrix Factorization Collaborative-Based Recommender System for Riyadh Restaurants: Leveraging Machine Learning to Enhance Consumer Choice. Applied Sciences. 2023; 13(17):9574. https://doi.org/10.3390/app13179574

Chicago/Turabian Style

Alabduljabbar, Reham. 2023. "Matrix Factorization Collaborative-Based Recommender System for Riyadh Restaurants: Leveraging Machine Learning to Enhance Consumer Choice" Applied Sciences 13, no. 17: 9574. https://doi.org/10.3390/app13179574

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop