1. INTRODUCTION
In the era of the 4th Industrial Revolution, various service systems that ICT and contents service converge have been studied. In order to provide contents customized to users, there is usually a method of predicting and providing an item that a user is expected to use by using a recommendation system. Such a recommendation system operates based on collaborative filtering, content-based filtering, and hybrid filtering. In the collaborative filtering, has a cold start problem that cannot be recommended because a new user does not have any evaluation information. In the content-based filtering, it is possible to analyze even the initial user because the information of the content is compared with the information of users. But in this case, the recommendation satisfaction is low because it does not reflect the user's history and preferences like the collaboration filtering. Therefore, there is hybrid filtering that uses both techniques[1].
In the age of globalization, people of various ethnics are being entering into Korea. As dietary habits of international citizens have diversified, various types of restaurants such as vegetarian restaurants, Halal restaurants, and organic restaurants have appeared. However, users are not able to collect diverse restaurant information in real time because they can be recognized through just internet surfing or offline information in order to find such a characteristic restaurant. Especially, the domestic Arab population with a sensitive food culture such as Halal is rapidly increasing. Therefore, it is necessary to study the intelligent recommendation service system that can provide customized information of characteristic restaurants.
Halal is Arabic, which means “allowed”, and it is a law in Islamic countries that applies to medicines, cosmetics, and food[2]. Halal consumption has increased due to the increase in the number of global Muslim population and their purchasing power, protection trade in Islamic countries and marketing of global companies[3,4]. With the increasing number of Muslims in Korea, Halal restaurants and markets are on the rise. However, the service that provides the information of Halal certified restaurants in Korea is insufficient.
The service that provides the information of Halal certified restaurants in Korea is insufficient. Currently, Korea Travel Corporation, the only national agency, provides Halal certified restaurant information through online and offline booklets[5]. However, this is also the last update in 2014, and the reliability of information is very poor. It is not easy for Muslims who are staying or traveling in Korea to go to restaurants abroad through booklets. As the domestic Halal market expands, the need for customized services that provide Halal content information is increasing, and research on this is insufficient. Therefore, in this paper, an Intelligent Recommendation Service system for offering Halalfood (IRSH) based on dynamic profiles and proposed IRSH based on dynamic profiles can provide customized Halal restaurant information to user.
2. RELATED WORK
2.1 Recommendation System
A recommendation system is a type of information filtering (IF) technology that recommends information that a particular user may be interested in. There are three recommendation algorithms typically: content-based recommendation system, collaborative filtering-based recommendation system, and hybrid-filtering-based recommendation system.
The content-based recommendation system analyzes and classifies the items by recommending the contents of items to be recommended, and recommends the items of the category that the user prefers (or has purchased). The collaborative filtering-based recommendation system identifies customers with similar patterns of preference and interest based on customer preferences and interest expressions. It is used to provide services in the form of recommending related products according to taste or lifestyle.
The content-based recommendation system has the disadvantage that it improperly recommends the results when inaccurate profiling occurs, and it is difficult to operate the items that are difficult to automatically grasp contents such as images and documents. The collaborative filtering has a cold start problem that can’t be recommended because a new user does not have any evaluation information. If the number of items increases or the number of users increases, the problem of sparseness, scalability, and the like arise[6].
In order to overcome the drawbacks of the above two recommendation techniques, a hybrid-filtering-based recommendation that uses content-based filtering and collaborative filtering is used. It is largely linear, sequential, and mixed depending on how content-based filtering and collaborative filtering are arranged[7].
2.2 Recommendation System for Providing Restaurant Information
The study of systems and algorithms for restaurant recommendation has been active in the past. Most restaurant recommendation systems use collaborative filtering and recommendation method based on user's preference information. As a representative example, there is a method of recommending mutual recommendation among users by identifying users with similar preference information, or recommending a restaurant similar to a user's preferred restaurant. At this time, the necessary profiles include the user's history information (rating information, restaurant visit history information, etc.) and information on restaurants[8]. The information of a restaurant mainly includes a restaurant name, a restaurant location, a restaurant characteristic (family restaurant, fast food, Korean food, Japanese food, Chinese food, etc.), and a main menu.
In the past, restaurant recommendation system and algorithms were studied and researched. The comparison of some existed researches shown in Table 1. X. Ramirez-Garcia[9] proposed restaurant recommendation using post-filtering. The post filtering algorithm is based on collaborative filtering and it is used to reflect context-aware information. Y. Fu[10] and X.Y. Miao[11] proposed restaurant recommendation algorithm that was upgraded by improvement of profile structure. Multiple information fusion[10] is an idea that using various profile attributes and mix them efficiently, and preference queries[11] is kind of feedback process. It collects user’s preference in real-time and reflect to recommendation algorithm. A. Gupta[12] proposed a location-based restaurant recommendation. It only analyzes real time changing of user’s location except user preference, and provide nearest or hottest restaurant. According to Table 1, those research did not consider cold start problem and accuracy in restaurant recommendation system.
Table 1 . The comparison of existed researches about restaurant recommendation
3. THE PROPOSED INTELLIGENT RECOMMENDATION SERVICE SYSTEM FOR OFFERING HALAL FOOD
3.1 The Structure of IRSH
The proposed Intelligent Recommendation Service System for offering Halal food(IRSH) based on dynamic profile, consists of a Profile Processing Module (PPM), a Contents Curation Module (CCM), and a customized contents Curation Mobile Application (CMA) as shown in Fig. 1.
Fig. 1. The Structure of IRSH for Providing Restaura.
The PPM stores, analyzes and processes the user profile, restaurant content profile and user feed back, and delivers the processed data to the CCM. The CCM can invoke the information required for recommendation in the profile processing module, and performs profile mash-up, recommendation operation, and device optimization. Finally, the recommendation result is transmitted to the CMA, and the recommendation information is provided to the user. The user can use the service through the application, and transmits the current location information and feedback information to the PPM.
3.2 The Profile Structure for IRSH
Profile should be designed to be suitable for recommendation. In this paper, the profile includes of user and restaurant information. The profile structure for IRSH consists of four tables and is designed as shown in Fig. 2.
Fig. 2. The Profile Structure for IRSH.
A restaurant profile consists of six attribute values, each of which is a Restaurant ID(RID), restaurant name, country, menu, location and restaurant level. Restaurant level have been added as properties for restaurant-specific profile design. Restaurant level include: (1) a Halal certified restaurant, (2) a restaurant that offers a Halal menu but noa Halal certified restaurant, (3) a restaurant that a Muslim like, (4) a vegetarian restaurant, Attribute value. The restaurant data provided by the Korea Tourism Organization are used to distinguish the Halal restaurants that are designated as domestic restaurants. The degree of these Halal restaurants is used for content-based filtering in the recommendation algorithm, it can solve the cold start problem.
The user profile consists of the user's basic information (ID, password, name, age, nationality, etc.) and the user's preference for restaurants to pre-grasp the user's preferences for content-based filtering. Restaurants selected by the user are stored in five levels from Level 1 to Level 5 by specifying the five attributes in order of preference, and these levels are depends on restaurant level in Restaurant Table. In addition, for location-based filtering, there is dynamic data that is collected in real time from smart device that user uses current location information, and there is visit history information recorded through rating after using restaurant and smart phone settlement history. Basic user and restaurant preference information are used for content-based filtering, and user history information is used for collaborative filtering. This structure can solve the initial user problem, which is a problem of collaborative filtering, using basic information and content-based filtering using restaurant preference degree information.
Table 2. Description of restaurant table and restaurant level
Table 3. Description of user table and user history
3.3 The Recommendation Algorithm for IRSH
The proposed recommendation algorithm for IRSH is a hybrid filtering method that combines three types of filtering techniques: collaborative filtering, location-based filtering, and content based filtering to solve the cold start problem and the initial user problem in collaborative filtering. The algorithm is processed as shown in Fig. 3. First, create a profile designed in Section 3.2 and confirm that the user is the initial user. If it is not the initial user, the similar user is grouped based on the user's history data(restaurant utilization history, rating information) to create the user group.
Fig. 3. The Processing Diagram of Recommendation Algorithm for IRSH.
Similar users will expect similar preferences, recommend restaurants that are not in use within the group among users, and generate the top x recommendation lists in order of restaurants with the highest recommendations, and cosine similarity was used to compute similar users. Cosine similarity is the most commonly used method for determining similar users in collaborative filtering. It is assumed that the user's preference information is viewed as one point in the n - dimension and one line is drawn at the point and origin. Then, the angle of the line between the two points and the origin to determine the similarity of the two users ' preference points was calculated. The final result is expressed as a value between -1 and 1. If the result is closer to 1, \(U_i\)and \(U_j\)are similar, and if the result is closer to –1, \(U_i\) and \(U_j\) are not similar. The similar user using the cosine similarity is calculated as follows equation (1).
\(\cos \left(U_{i}, U_{j}\right)=\frac{U_{i} \cdot U_{j}}{\left\|U_{i}\right\| 1 U_{j} \|}=\frac{U_{i}}{\left\|U_{i}\right\|} \cdot \frac{U_{j}}{\left\|U_{j}\right\|}\) (1)
Each \(U_{i}\) and \(U_{j}\) represents the user \(i\) and the user \(j\), respectively. And \(U_{i} \cdot U_{j}\) is calculated as follows equation (2).
\(U_{i} \cdot U_{j}=\sum\limits_{i=1}^{n} U_{i k} U_{j k}\) (2)
\(\left\|U_{i}\right\|\) and \(\left\|U_{j}\right\|\) are calculated as follows equation (3).
\(\left\|U_{i}\right\|=U_{i} \cdot U_{i}=\sqrt{\sum\limits_{k=1}^{n} U_{i k}^{2}}\) (3)
Each \(U_{ik}\) and \(U_{jk}\) represents kth attributes of user \(i\) and \(j\). The formula (2) calculates for deducting relationship between user and contents profiles. And the formula (3) performs a squaring operation on each attribute value of user to further emphasize the meaningful attribute and make the meaningless attribute more rate. Finally, the formula (1) calculates similarity between two users using result from formula (2) and (3).
When users are grouped after similar users are identified, they are sorted in the order of the highest probability when recommending mutual restaurants among the users in the group who have not yet visited or visited.
Location-based filtering was proceeded after collaborative filtering create the recommendation list, and the recommendation list is rearranged based on the user's location. In the case of the initial user, since there is no user's history data, the recommendation list generation process through collaboration filtering is omitted and deletes the lower 5 contents to create a new recommendation list in the order of the restaurants nearest to the user based on the user's location and the restaurant location information. At this time, the Euclidean distance calculation method is used to calculate the distance between the user's location and the restaurant location. The Euclidean distance calculation is a formula used to calculate distances between coordinates, such as latitude and longitude, and is used to calculate the distance between two points. The formula for the Euclidean distance calculation is as follows equation (4).
\(\operatorname{dist}\left(U_{i}, R_{j}\right)=\left(U_{i}-R_{j}\right)^{2}\) (4)
\(U_{i}\) represents the position of the user, and \(R_{j}\)represents the position of the restaurant. The two values are coordinate values. dist (\(U_{i}\),\(R_{j}\)) is the distance between user i and restaurant j.
Fig. 4. The Processing Diagram of three filtering method.
After the recommendation list is sorted based on location information, the user profile and the restaurant profile are rearranged in a similar order using content-based filtering. At this time, it is judged by comparing the information of restaurants selected by the user. In the recommendation list, users sort the restaurants that match the attribute selected by Level 1, and sort them from Level 2 to Level 5 sequentially.
4. EXPERIMENT
In this paper, two experiments were conducted to evaluate and verify the proposed algorithm. The experiment environment was described in Table 4.
Table 4. The experiment environment
In the first experiment, when the recommendation list is generated by the recommendation algorithm, the top x contents are listed. In this case, an experiment is performed to list the top few contents in the first recommendation list. If x is high, too many restaurants will be added to the primary referral list, and content-based filtering and location-based filtering will reorder the second and third lists, because it can be seen. For the experiment, information of Halal restaurant provided by Korea Travel and Tourism Corporation and 200 restaurants of Korean restaurant data provided by Korean public data portal are used. Because the user information can’t secure real data, 300 arbitrary users and arbitrary attribute values are used.
Table 5 shows detail of the experimental data. In the user information, is a unique ID identifying the user, <sex> is user’s sex, <age> is user’s age, and are xy coordinate values of the user device location, <res_lev> is the two preferred type of restaurant that is selected by user. <rating> is the rating those are rated by user, stored as “[restaurant ID: rating(1~5)],…”. <cov> is the number of restaurant visits, stored as “[restaurant ID: number of visits],…”.
Table 5. Experiment Data Overview
In the restaurant information, <resID> is a unique ID identifying the restaurant, <res_halal_lev> is the type number of restaurant, <res_loc_x> and <res_loc_y> are xy coordinate values of the restaurant location.
The experiment was conducted using the data analysis tool R, and the recommendation accuracy was derived from the MAE evaluation[13,14,15]. MAE refers to Mean Absolute Error; this gives less weight to outliers, as it is not sensitive to outliers, and the formula for the MAE is as follows equation (5).
\(\frac{1}{n} \sum\limits_{1}^{n}\left|d_{i}-\hat{d}_{i}\right|\) (5)
That formula describes the process whereby the \(d_i\) is the actual rating, \(\hat{d}_i\) is the predicted rating, n is the number of items. Using the calculated MAE, the frequency of errors is calculated as a percentage, and the accuracy of the recommendation is calculated.
The first experiment was proceeded for calculating the optimum setting value of x. The number of recommendation items x to be included in the first recommendation list. The x value was increased from 14 to 50 by 4 and look at 10 recommendation results to compare the accuracy of the recommendation and find the optimal x value.
Table 6 shows accuracy of the 10 recommendation result using x value 14 to 50.
Table 6. Accuracy of the 10 recommendation result using x value 14 to 50
From the results of each experiment, it can be seen that the recommendation accuracy is the highest (93%) when the x value is 22. If the value of x becomes too large, the algorithm used to update the list is strongly affected by each update of the list, so that the recommendation result is most dependent on the algorithm used in the last list update. In other words, if x becomes too large, range of recommendation is greater and more likely it is that the wrong recommendation is included, and it causes low accuracy of recommendation.
Conversely, if the value of x is too small, it depends heavily on the algorithm that generates the recommendation list first. It means, range of recommendation is smaller, even if the algorithm proceeded in sequence, the influence of the first step is largely unilaterally influenced, because the number of recommendations is small, it is difficult for calibration through after second step in algorithm effectively. Therefore, it is necessary to derive the optimal x value so that each algorithm that updates the recommendation list is appropriately applied.
The second experiment was proceeded for comparing accuracy of recommendation from proposed recommendation algorithm and existed recommendation algorithm, and the process of experiment is shown in Fig. 5. Existed recommendation algorithm[9,10,11] and [12] are explained in section 2.2 and Table 1.
Fig. 5. The process of second experiment.
The recommendation accuracy derived from the proposed algorithm using the x values obtained from the first experiment was compared with the recommendation accuracy of the algorithm used inexisted restaurant recommendation system. The experimental results are shown in the Table 7.
Table 7. The accuracy of recommendation using proposed algorithm and existed algorithm
According to the recommendation results, the recommendation accuracy using the proposed algorithm is higher than the recommendation accuracy using the existing algorithms. The existing algorithm extracts similar users based on user history and recommends user base. This method does not take into consideration the user's own preferences because recommendations are made between users having similar preferences or tendencies. Also, it is not possible to recommend restaurants near the user. However, the proposed algorithm first generates a recommendation list by comparing users similar to the user, updates the recommendation list using the content-based filtering based on the user's own preference, and updates the recommendation list based on the recommendation list. Therefore, the recommendation of the proposed algorithm showed higher accuracy than the existing algorithm.
5. CONCLUSION
In this paper, an Intelligent Recommendation Service system for offering Halal food(IRSH) based on dynamic profiles was proposed. And a profile of users and restaurants optimized for recommending restaurants was designed and proposed. The proposed profile added attribute values with characteristics that can represent the degree of restaurants in user and restaurant profiles used in existing restaurant recommendation. The user profiles optimized for user grouping and restaurants optimized for restaurant recommendation. The proposed recommendation algorithm is a hybrid recommendation algorithm using collaborative filtering, content-based filtering, and location-based filtering. Grouping is based on users' history information and feedback information using collaborative filtering, and lists mutually recommended results in the group. Next, we rearrange the recommendation list by using content-based filtering. Finally, we use the location-based filtering to rearrange the list in the nearest order and finally recommend the customized restaurant to the user. chis combined by content-based filtering, collaborative filtering and location-based filtering. The proposed algorithm combines several filtering techniques in order to improve the accuracy of recommendation by complementing the various problems of each filtering such as cold start problem. This paper is expected to contribute to the research and development of systems and applications that can provide information on Halal restaurants in accordance with the expansion of the domestic Halal market. In future researches, it is expected that a system that can provide various Halal contents information in addition to Halal restaurants.
References
- B. Lika, K. Kolomvatos, and S. Hadjiefthymiades, "Facing the Cold Start Problem in Recommender Systems," Expert Systems with Applications, Vol. 41, Issue 4, pp. 2065-2073, 2014. https://doi.org/10.1016/j.eswa.2013.09.005
- W.S. Hong, “The Halal Food Market and Halal Certification,” Food Science and Industry, Vol. 48, No. 2, pp. 2-11, 2015.
- A.R. Han and K.W. Lee, "A Study on the Halal Food Market and Halal Certification for Korean Firm's Access to Halal Market," Food Science and Industry, Vol. 49, No. 1, pp. 87-93 2016.
- B.S. Kim, J.Y. Lee, H.J. Lee, and S.K. Kim, "Halal, the Global New Food Market," Samjong Klnveld Peat Marwick Goerdeler Economic Research Institute Issue Monitor, Vol. 6, pp. 1-24, 2015.
- Korea Restaurant Information Data in Korea Public Data Portal, https://www.data.go.kr (accessed May., 20, 2018).
- M.J. Pazzani, "A Framework for Collaborative, Content-based and Demographic Filtering," Artificial Intelligence Review, Vol. 13, Issue 5-6, pp. 393-408, 1999. https://doi.org/10.1023/A:1006544522159
- L.M. de Campos, J.M. Fernandex-Luna, J.F. Huete, and M.A. Rueda-Marales, "Combining Content-based and Collaborative Recommendations: A Hybrid Approach Based on Bayesian Networks," International Journal of Approximate Reasoning, Vol. 51, Issue 7, pp. 785-799, 2010. https://doi.org/10.1016/j.ijar.2010.04.001
- H.J. Yun and B.M. Chang, “Design and Implementation of Restaurant Recommendation System Based on Location-Awareness,” Journal of Korea Multimedia Society, Vol. 14, No. 1, pp. 112-120, 2011. https://doi.org/10.9717/kmms.2011.14.1.112
- X. Ramirez-Garcia and M. Garcia-Valdez, "Post-Filtering for a Restaurant Contextaware Recommender System," Studies in Computational Intelligence, Vol. 547, pp. 695-707, 2014.
- Y. Fu, B. Liu, Y. Ge, Z. Yao, and H. Xiong, "User Preference Learning with Multiple Information Fusion for Restaurant Recommendation," Proceeding of 2014 International Conference on Data Mining Society for Industrial and Applied Mathematics, pp. 470-478, 2014.
- X.Y. Miao, Y.J. Gao, G. Chen, H. Cui, C. Guo, W. Pan, et al., "Si2p: A Restaurant Recommendation System Using Preference Queries over Incomplete Information," Proceedings of the Very Large Data Bases Endowment, Vol. 9, Issue 13, pp. 1509-1512, 2016.
- A. Gupta and K. Singh, "Location Based Personalized Restaurant Recommendation System for Mobile Environments," Proceeding of International Conference on Advances in Computing, Communications and Informatics, pp. 507-511, 2013.
- R.D. Peng, R Programming for Data Science, Leanpub Publishers, 1321 Blanshard Street, Suite 301 Victoria, British Columbia, Canada, 2015.
- W.N. Venables, D.M. Smith, and the R Core Team, An Introduction to R, Copyright c R Core Team, Available at http://www.r‐project.org/, 1999.
- Description of MAE, https://en.wikipedia.org/wiki/Mean_absolute_error (accessed May., 20, 2018).
Cited by
- A Cascade-hybrid Recommendation Algorithm based on Collaborative Deep Learning Technique for Accuracy Improvement and Low Latency vol.23, pp.1, 2020, https://doi.org/10.9717/kmms.2020.23.1.031