=Paper=
{{Paper
|id=Vol-2853/paper1
|storemode=property
|title=Towards an Efficient Knowledge-based Recommendation System
|pdfUrl=https://ceur-ws.org/Vol-2853/paper1.pdf
|volume=Vol-2853
|authors=Houda El Bouhissi,Micipsa Adel,Anis Ketam,Abdel-Badeeh M. Salem
|dblpUrl=https://dblp.org/rec/conf/intelitsis/BouhissiAKS21
}}
==Towards an Efficient Knowledge-based Recommendation System==
Towards an Efficient Knowledge-based Recommendation System Houda El Bouhissia, Micipsa Adela, Anis Ketama and Abdel-Badeeh M. Salemb a University of Bejaia, Bejaia, 06000, Algeria b Ain Shams University, El-Khalyfa El-Mamoun Street Abbasya, Cairo , Eygpt Abstract With the emergence of the Internet, Recommendation Systems (RS) have emerged due to their ability to manage a massive amount of information. RS plays a very important role in guiding users' decisions and making their tasks easier. Additionally, food and its impact on wellbeing, metabolism, and success at school, during sports, or at work are becoming increasingly important. In this paper, we provide a systematic review of the most related food RSs according to healthcare. Furthermore, we propose SIHATI, a new knowledge-based food RS integrating machine learning techniques, that can be used to assist persons in finding relevant food. In particular, we implement SIHATI, which we present its general idea in this paper. Preliminary results indicate that integrating machine learning ML) techniques into the RSs will provide efficient and accurate recommendations. Keywords 1 Food recommendation, Healthcare, Machine learning, NLP, Ontology, Recommendation System, user profile. 1. Introduction With the advent of the Internet and the huge amount of information created every day by various organizations, social media, and users around the world, user needs have become difficult to address. As a result, selecting the appropriate information from a large number of attributes by evaluating the characteristics of attributes can quickly become tedious and time-consuming. This has led to the need to design mechanisms that help users to gather their interests quickly. For this purpose, the RSs have arose as a remedy to this problem, it can deal with a massive amount of information for guiding users’ choices and make their tasks easier. Moreover, RSs have taken more and more roles in our lives with the growth of YouTube, Facebook, Twitter, Amazon, and online Web Services [1]. From suggesting articles that might attract shoppers' to suggesting the best content to users according to their preferences. RSs are required today on our everyday online journeys. RSs are software components whose purpose is to provide users with information that are related to their interests by considering their interactions with their information space. These systems make predictions for users to present them with only those elements by which they will be attracted. Thus, with RSs, the Internet is no longer neutral, it is now adapted to everyone [2]. Moreover, these systems aim to reduce the considerable amount of time spent by users for in searching for their most interesting objects, and they also allow finding objects that the user likes but not has necessarily searched. IntelITSIS’2021: 2nd International Workshop on Intelligent Information Technologies and Systems of Information Security, March 24–26, 2021, Khmelnytskyi, Ukraine EMAIL: houda.elbouhissi@gmail.com (Houda El Bouhissi); missi.adel7@gmail.com (Micipsa Adel); anisketam06@gmail.com (Anis Ketam); abmsalem@yahoo.com (Abdel-Badeeh M. Salem) ORCID: 0000-0003-3239-8255 (Houda El Bouhissi); 0000-0003-0268-6539 (Abdel-Badeeh M. Salem) © 2021 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings (CEUR-WS.org) In this context, adapted food and nutrition emerge as a new research field for providing personalized food intake advice to individuals according to their health, physical, physiological data, and further personal information. Additionally, these systems provide recommendations to optimize nutrition, reduce weight, and prevent certain food-based illnesses. The paper focuses on developing an RS for daily meal plan recommendations and on presenting a system that suggests diets for diverse persons with different types of diseases automatically, in correspondence to their nutritional-awareness and their preferences. As far as we know, this proposal is a research effort on the following directions: • The development of a food RS engine that integrates both nutritional, user preferences-related information and person health state. • The design of a RS with knowledge explicit modeling, which represents all the needed knowledge to provide accurate recommendation. • The use of feedback-based user profile information called “history” to generate speed efficient recommendations. • A reasoning mechanism to infer information from the stored knowledge based on ML algorithms to deliver recommendations. The rest of the paper is organized as follows: Section 2 presents the background of the study which covers overviews of the RSs, their types, and ML basics. Section 3 presents the most related studies on Healthcare RSs surveys. Section 4 describes in detail the proposed approach. Section 5 reports the results of the proposed methodology. Finally, Section 6 concludes the paper and outlines future projects. 2. Theoretical background This section gives an idea of the literature scope, search methodology, search databases, various search terms used, and elaborates on the different research methodologies adopted for conducting the review study. We start by establishing an overview of RSs’ types. Then, we define the most important concepts related to ML techniques since our approach integrates ML algorithms. 2.1 Recommendation systems Many companies such as Netflix, YouTube, and Amazon, use RSs to help their users to identify the product that suits them best [1]. RSs have been studied in various fields such as the e-commerce, tourism and many others. A RS is a set of algorithms that have a specific form of information filtering, that can provide personalized recommendations within a data space, that aim to guide the user to interesting and useful resources according to his needs, and to provide him with relevant objects according to his preferences by filtering contents or items. Items can be movies, music, news, web pages, books, videos, images, etc. In a general way, RS is a software tool and an intelligent system that provides the user with suggestions on items or products that meet his needs or are simply likely to interest him. For example, what movie to see, what book to buy, or even what music to listen to, these suggestions are based on the individual's tastes by analyzing the browsing history, opinions, comments, and ratings given to products and the behavior of other users [3]. There are three main approaches [4]: Content-Based Filtering (CBF), Collaborative Filtering (CF), and Hybrid Filtering (HF). All these approaches share the same approach which is to convert estimations of a user’s preference for items into recommendations using explicit or implicit previous ratings as expressions of preference. 2.1.1 Collaborative filtering CF is considered as the most popular and widespread method in RSs. In fact, it is the oldest approach, and still the most commonly used today. This system depends on the preferences expressed by other users on items, and it recommends to an active user the items that other users with similar preferences have liked in the past. This method of recommendation is based on the idea that if users agree on the quality of some items, they are probably going to agree on other items [5]. The references given by other users are given in the form of real or integer numbers (such as the rating from 1 to 5 stars), so in reality, this system is divided into two steps, the first one is to predict the items that other users have viewed or liked in the past, and the second one is to recommend this item to the active user. 2.1.2 Content-based filtering In this approach, the RS [6] recommends items, which are similar to those that the user has liked or viewed in the past, this method analyzes a set of item descriptions previously evaluated by the user and builds a profile of the user's preferences based on these descriptions, then matches the attributes of the user profile with the attributes of an item to make the recommendation. The similarity is computed according to the characteristics associated with the compared items. 2.1.3 Hybrid filtering As its name suggests, hybrid filtering [7] is the combination of at least two methods of recommendations (CBF and CF), to solve some of the problems encountered by systems with a single approach, and therefore we will have the result of two or more recommendations, which makes a recommendation closer to the user's needs. For example, the content-based recommendation and the collaborative recommendation are often considered complementary. Hybrid approaches can be implemented by making predictions separately and then combining them to avoid the cold start issue. 2.2 Machine Learning basics ML is a field of artificial intelligence whose goal is to automatize various tasks such as decision making, pattern recognition, and many other areas, which used to require human intelligence. ML techniques can be divided into three categories, briefly described as follows [8]: 2.2.1 Supervised Learning In this approach, a set of input/output tuples is given. Based on this training set, a function is learned, which maps input to output values. This function, called a hypothesis, is then applied to a test set, to judge its predictive power and to improve its performance in predicting new unseen instances. The learning method is called regression if the output is numeric. It is called classification if output values can be seen as a finite set of categories. 2.2.2 Unsupervised Learning In this approach, a set of unlabeled instances is given. The main goal here is to find a model that recognizes potential patterns in the dataset, which is called clustering. This method is often used to identify classification categories, where no prior information on categories is available. Our approach uses clustering an part of the process, we will detail this concept later. 2.2.3 Reinforcement Learning This category is based on the principle of learning by positive and/or negative feedback. It aims to train a model to find the best chain of decisions (policy), solving a specific problem. Beneficial decisions are rewarded whereas disadvantageous decisions are punished. 3. Literature survey Food RSs are relatively a recent domain whose state of the art has been studied in [9] and [10]. The research challenges are related to collecting user information, gathering nutritional information from foods and recipes, and detecting the change of eating behaviors of both sick and non-sick people. This section gives the idea of the literature scope, search methodology, search databases, various search terms used, and elaborates the different research methodologies adopted for conducting the review study. Our review is inspired from the classification proposed by [9] which consists of four category classes: 3.1 Food recommendation Lack of management and understanding of nutrition leads to poor ingredient selection and causes foodborne illness among users. To warn users of these risks, nutritional RSs have been developed to help users better manage their diets based on individual patient preferences and health status. The authors in [11], proposed a RS which generates menus that better match the tastes and dietary restrictions of patients, specifically diabetes patients. By applying the Clustering technique, this study focuses on recommending recipes for a group of users restricted in terms of choice. [10] in their papers investigated the possibility of replacing recipes appreciated by a given user with other similar recipes that are healthier concerning the user's medical condition, thus motivating them to change their eating behavior as much as possible. For a better recommendation of recipe substitutions, the authors used an ingredient network approach in which they used the data collected from the allrecipe.com website. Unfortunately, in this approach, we may encounter conflicts in the user's profile parameters, which are his preferences with his health conditions, which can lead to the patient's malnourishment and cause him to be at risk of diseases. 3.2 Recommendation for health professionals In recent years, the amount of medical information has increased very rapidly, which can cause great difficulty when searching for medication for patients. Especially concerned is finding the best healthcare professionals to provide the most appropriate care [12]. The lack of services implemented for the patient by health professionals leads us to create patient-doctor matching referral systems, in which patients can find the doctors who are referred for them. Han et al. [13] proposed a system that recommends trusted doctors to patients in primary care based on each patient's information. The authors explored the hybridization of Content-based Filtering and Collaborative Filtering approaches to achieve such a system that takes into account both individual patient information and their demographic data. 3.3 Drug recommendation Drug mismanagement and errors that can occur when prescribing a drug to a patient for a given disease can be potentially life-threatening. Moreover, to prevent these kinds of risks, drug recommendation systems have been developed, and implemented so that users and health professionals can easily identify the right drugs for a specific disease, recommending the right drugs for each type of disease. Using both clustering and collaborative filtering approaches, [14] proposed a computer-aided drug recommendation based on online pharmacies and some social network services. This system makes it possible to recommend online drugs that are reliable and effective for each patient according to his or her needs and the symptoms of his or her illnesses. This type of system can be fatal and contains inconveniences that should not be taken lightly, for example, if there is a lack of information or false or exaggerated information on the web, the patient may buy and consume drugs that may not be intended for him, which can cause mortal risks. 3.4 Physical activity recommendations Suggestions for physical activity have become more important in the health field, as well physical activity contributes greatly to a patient's good health. In general, this type of recommendation is adapted to the user's state of health and encourages the user to do physical activities regularly and to burn a certain amount of calories early in the day. The authors in [15], proposed recommendations for appropriate food and physical activities that the user with diabetes can follow to be healthy. Using the ontology-based approach and semantic technologies, based on the Pellet reasoning engine, this system proposes menu suggestions for a healthy and balanced diet and takes into account the personal information of each patient to propose the appropriate physical exercises. In [16], the authors developed a referral system that provides patients with physical activities appropriate for each one's health status and localized position, based on sensory device data collection. This type of recommendation is based on two approaches: context-based and knowledge- based recommendation. Table 1 summarizes the main features of the approaches cited above. The table contains six columns; each indicates a comparison criterion as follows: • The column ‘C’ designates the category to which the approach belongs. • The column ‘A’ designates the underlying approach. • The column ‘DS’ indicates the data set used to generate the recommendations. • The column ‘Output’ indicates the output of the approach, the appropriate recommendations. • The column ‘T’ specifies the used techniques, what methods are used for recommendation. • The column ‘Advantages’ introduces the main advantages of the approach. Table 1 Most important approaches related to our work C A DS Output T Adv. Prevent and cure Menus for foodborne illness patient's Understand dietary [11] kochbar.de tastes and Clustering behavior and dietary recommend Food restrictions. appropriate diets to recommendation users. Generates Motivate users to substitutes for Ingredient change their eating [10] allrecipe.com similar but network behaviors or suggest healthier healthier food choices recipes The proposed Database of Family doctors Collaborative Health confidence measure anonymous to patients in filtering , professional [13] improves the transactions(2012- the primary content-based recommendations performance of the 2017) care setting filtering model Online pharmacies Drugs Clustering, Help patients to find Drug [14] and social network according to Collaborative valid and reliable drugs recommendation services client's needs filtering according to their needs Offers menus with a healthy and balanced Exercise and Different user Ontologies, diet. diet [15] domains Semantic Takes into suggestions Knowledge base technologies. consideration the for diabetics personal information of each patient Recommend appropriate physical Context-based Data from sensory Physical activities for each [16] Knowledge- devices activities patient, due to his or based her state of health and localized position Generally, the RSs suffer from the cold start problem because users usually do not provide adequate ratings to nutrition to enable collaborating filtering based recommendation, which can lead to an issue called a cold start problem. Most of the profile-based approaches cited above have not suitably deal with this concept which makes Conflicts in the user profile settings, for example, his preferences with his health conditions. Our work is inspired from all the previews approaches, and aims to improve these works and provides to provide a food fast and accurate RS. In this way, we propose a RS that mines contextual information and personal information from user preferences and profiles from sensorized Internet of Objects (IoT) devices, and recommends food and nutrition based on users’ preferences. The user profile is built from the user’s nature, and evolves according to the events observed. 4. Proposed methodology To the best of our knowledge, in the literature, there doesn’t exist much previous work on applying RS in food health. RSs for health nutrition are essentially required for helping persons to select the food of their choice according to their health state and tastes. The use of effective recommendation techniques is very important to achieve a system that will provide more accurate and efficient recommendations to the users. The RS we propose, applies the profile concept which is based on knowledge such as ontologies, and provides better response time. The proposal intends to provide a platform where users find their favorite food and its nutritional value. This is useful for anyone who is health-conscious or wants to lose weight or patients with chronic diseases. This section is dedicated to presenting the global architecture proposed for implementing the nutritional RS based on the preferences and nutritional information main components and the characteristics of the ontology-based RS we are developing. This architecture is sketched in Figure 1 and is composed of various layers to process the information. The pipeline begins at the user information layer and finishes in the final recommendation generation. Our proposal is supported by a software tool called SIHATI (Arabic word means my healthcare). SIHATI is a web-based RS that considers both healthy users and users with chronic diseases, like diabetes, and hypertension. Based on the user health profile, preferences, and contextual information, SIHATI provides individualized nutritional recommendations. To define the user's health profile, SIHATI submits to the user a series of medical questions requiring the entry of different answers, including vital parameters data. Figure 1: General System architecture The user's health profile is built by analyzing the answers given from time to time by the user and by the information gathered by the sensorized IoT devices such as user’s smartwatch, smart weight scale, blood sugar and blood pressure. The main innovative aspects of SIHATI are: • The system provides individualized nutritional recommendations according to user-health profile collected through several medical questionnaires provided by nutrition specialists. • The ability to profile not only healthy users but also patients affected by hypertension, and/or diabetes and can achieve high-quality health profiling using sensorized IoT devices. • The system reduces time-consuming by using the history process, if the user information is provided by another user before, the system returns a quick response regarding the users’ traceability. The recommendation process, as a whole, is modeled in a sequence diagram expressed in the Unified Modeling Language (UML) standard and presented in Figure 2. First, the user sends the request to the system to build the user profile. Figure 2: SIHATI workflow The profile will be matched with other profiles (history) to discover the suitable recommendations already made. If the profile is new, the recommendation engine discovers the suitable recommendations. The responses are ranked before they are presented to the final user. In the end, the top N recommendations are returned to the specific user. 4.1 Data collection Data collection is achieved at the information-gathering layer which is focused on capturing contextual-information, user preferences, and all the nutrition-related relevant information associated with the user. • Nutrition data (ND) is gathered from various online food community websites 2 where users can upload and rate cooking recipes, the data is then stored in a NoSQL database (MangoDB) for further processing. We consider the following food item attributes: Food id, Name, Type, serving size, Calories, Protein, Carbohydrate, Sugar, Fat, with nutritional values measured in grams. • User information (UI) is collected by two modes: explicit data which is based on what the user will fill in his profile (user responses) and implicit data collected from sensorized IoT devices. This information includes (see Table 2) physiological data such as user height and weight, heart rate, burned calories, and daily physical activity level. Considering sensorized IoT devices as an information source will allow us to obtain real data and make the recommendation more efficient. Table 2 An excerpt of the User information Information Type Personal data (sex, age, marital status) Explicit information Physiological data such as user height and weight Explicit information Chronic diseases Explicit information Heart rate Implicit information Burned calories Implicit information 4.2 Data pre-processing The initial necessary steps for preparing the data to be used in the recommendation generation are based on two goals: • The construction of the user and food profiles; • The definition of nutrition templates regarding the user’s health. ND dataset may contain blank and duplicate values that need to be resolved. These entities will be removed for easier processing. Besides, the dataset encompasses various recipes, we consider only the recipes that contain valid information on energy (in kJ and kcal), carbohydrates, proteins, and fat. 4.3 Data analysis We considered the datasets individually to gain insight that could help in developing our system. • For the UI dataset, we create the user profile model based on the user ontology model. Ontology is the backbone of the semantic web. An ontology is a formal and explicit specification of a shared conceptualization. We will present in the next section why we use ontology and how it contributes to making our system fast and accurate. An ontology [17] consists of concepts namely entities, attributes, and properties. Ontologies have been used in many knowledge-based RSs and contribute to improving the quality of the results. The user profile ontology is created from an ontology template; as a result, each user will have an individual ontology with the same schema but may be different instances. 2 Such as https://www.kochbar.de • For the ND dataset, we analyze the gathered data with natural language processing techniques such as tokenization and we create a MongoDB3 NoSQL database using association rules. MongoDB is a document database, which means it stores data in JSON-like documents, MongoDB is the most popular database for modern apps and a lot of free tools are available to manage a MongoBD database. 4.4 Profiles’ dataset clustering In this step, we apply the clustering algorithm K-Means [18] for assembling user profiles according to their common preferences. The purpose of this step is to reduce the profile’s space. K-mean clustering is an unsupervised learning algorithm of finding natural groups in the feature space of input data which is well-liked for cluster inspection in data mining. It focuses on the separation of N numbers of data into K number of clusters where each data belongs to the cluster with proximate mean distance. As we all know, clustering is roughly divided into three steps: deal with the data at first, then choose the appropriate distance function to measure the similarity between objects, and at last obtain the groups. In K-means clustering technique, we choose K initial centroids, where K is the desired number of clusters. Each point is then assigned to the cluster with nearest mean i.e. the centroid of the cluster. Then we update the centroid of each cluster based on the points that are assigned to the cluster. We repeat the process until there is no change in the cluster center (centroid). We use K-Means to gather users of similar interest into the same groups to avoid matching each new user arriving on the site with all the users of the system and to obtain fast lists of similar users. It is best to divide the data set into smaller groups, so that the calculation of similarity will be done within groups of fewer users. The algorithm 1 presents the different steps of the clustering process. Algorithm 1: User Profiles’ clustering Algorithm : clustering users’ profiles ontologies Input: users’ profiles ontologies Output: k profiles’ clusters 1 Initialize the cluster center 2 Compute the distance between the users’ profiles using the Pearson similarity Allocate the data to the cluster whose interval from the cluster nucleus is minimum of the 3 entire nucleus of the cluster 4 Upgrade the nucleus of the cluster 5 Compute the distance from each data point and newly acquire cluster nucleus 6 If there is new data go to step 3 7 Else go to step 7 8 Save the k profiles’ clusters 9 End 4.5 Profiles’ analysis As previously mentioned, at the end, we get a dataset that encompasses clustered user’s profiles ontologies. When a new user reaches, we create a profile ontology which will be matched with the 3 https://www.mongodb.com/ clustered ontologies using a semantic distance measure [18]. The most similar ontology is to find the best suitable user for predicting the appropriate recommendations regarding traceability. The purpose of this step is to provide speed recommendations using traceability (history). Our system can keep all running history for further processing. 4.6 Recommendation engine The recommendation engine is focused on receiving as an input the user profile information and returning it as an output the recommended food. The Recommendation engine, mainly goes through 3 steps: • The nutritional context determination is focused on initially filtering out some foods that do not match the user profile and preferences (for example foods that are not appropriate for a diabetic patient). • Express food recommendation based on an optimization approach between user preferences and the nutrition object via Person’s similarity [19]. 5. Experiment To investigate the problem this paper deals with, a set of experiments are conducted. All experiments are implemented in Python 3 4. Python in general is a popular choice for machine learning purposes, it offers a broad range of ML and NLP libraries. Many of those frameworks come with a high level of abstraction and allow a simple and straightforward usage. Experiments were realized using libraries and frameworks such that, numpy which is a python library used for numerical computation, pandas which is a python library used to manipulate different format data such as text files and CSV files, matplotlib which used to plot results. We build a user-friendly application with a minimum number of menus. The user only needs to introduce his personal data and click on the recommendation button. For introducing the data gathered from the sensorized IoT devices, we connect a device to the PC for this purpose. 6. Evaluation: We use the metrics Precision, Recall, and F-measure metrics for benchmarking the outcome of the proposed model [20]. The Precision metric (Equation 1) gives an insight on how exactly a model can predict class membership. Therefore, it measures the quality of the classification results. It is defined by the number of TPs divided by the sum of TPs and FPs. 𝑇𝑇𝑇𝑇 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 = . (1) (𝑇𝑇𝑇𝑇 + 𝐹𝐹𝐹𝐹) However, the Recall metric (Equation 2) indicates how complete the model can predict class membership and therefore covers the quantitative aspect of classification success. It is defined by the fraction of items that are recommended from all relevant items. Also called sensitivity. 𝑇𝑇𝑇𝑇 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 = , (2) 𝑇𝑇𝑇𝑇 + 𝐹𝐹𝐹𝐹 where TP – number of relevant nutrition recommended; FN – number of relevant nutrition not recommended; FP – number of irrelevant nutrition recommended. 4 https://www.python.org/ The F-measure metric is one of the most popular measures used for measuring cluster accuracy, it is based on precision and recall value (Equation 3) and can be computed by the following formula: 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 ∗ 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 𝐹𝐹 − 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 = 2 ∗ . (3) 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 + 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 We perform a manual recommendation to serve as a comparison point for the recommendation process, we select user’s profiles (user may be sick or not) and food objects. The F-Measure evaluation value is high when there is relevant information recommendation. Thus, a proposed semantically clustered recommendation framework has a high accuracy than other existing methods. Overall, the performance in terms of precision is 75%, and recall is 60%. When applying our recommendation process to the considered recommendations, f-measure statistics show that the recommendation process is efficient and accurate. It is clear that as the cluster size increases, the proposed system need less time than other algorithms in responding to the query. The response time shows that the proposed system respond faster than other existing systems. 7. Conclusion RSs are becoming essential in many industries and hence, have received more attention in recent years. Moreover, Health RSs have emerged as tools to support patients and healthcare professionals to make better health-related decisions. In this paper, we have introduced the basic notions required for a better understanding of RSs, particularly in the nutritional domain. We followed that by highlighting the most important approaches presented in the literature. Next, we present a novel knowledge-based recommendation system for food recommendation. Our proposal is supported by a software tool called SIHATI which provides efficient and accurate recommendations. Our paper has presented a food recommendation approach focused on generating daily personalized meal plans for the users, according to their nutritional necessities and previous food preferences using ontology matching and Kmeans algorithm. The shortcoming of our approach is the use of a single clustering algorithm and a semantic distance which is relative to the used algorithm and gives different results. Further research could extend such model to improve the performance with additionally including other features, such as the place of residence. Furthermore, the use of deep learning algorithms will improve our approach remarkably. References [1] D. Jannach, P. Resnick, A. Tuzhilin, and M. Zanker, Recommender systems-beyond matrix completion, Commun. ACM, vol. 59, no. 11, pp. 94–102, 2016, doi: 10.1145/2891406. [2] Ricci, Francesco & Rokach, Lior & Shapira, Bracha (2015), Recommender Systems: Introduction and Challenges. 10.1007/978-1-4899-7637-6_1. [3] D. Kotkov, S. Wang, J. Veijalainen, A survey of serendipity in recommender systems. Knowl Based Syst 111 (2016) 180–192. [4] J. Aguilar, P. Valdiviezo-Díaz, G. Riofrio, A general framework for intelligent recommender systems, Applied Computing and Informatics, Volume 13, Issue 2, 2017, pp. 147-160, ISSN 2210-8327, https://doi.org/10.1016/j.aci.2016.08.002. [5] Ménard, Marc , Systèmes de recommandation de biens culturels. 10 (2014) 69–94. https://doi.org/10.3166/LCN.10.1.69. [6] Kanaujia M., P. K., Pandey, M., and Swarup Rautaray, S., A Framework for Development of Recommender System for Financial Data Analysis. International Journal of Information Engineering and Electronic Business, 9(5) (2017) 18–27. https://doi.org/10.5815/ijieeb.2017.05.03. [7] Çano, Erion, Hybrid Recommender Systems: A Systematic Literature Review. Intelligent Data Analysis. 21 (2017) 1487-1524. 10.3233/IDA-163209. [8] Ramzan, B., Bajwa, I.S., Jamil, N., Amin, R.U., Ramzan, S., Mirza, F., & Sarwar, N., An Intelligent Data Analysis for Recommendation Systems Using Machine Learning. Sci. Program., 2019, 5941096:1-5941096:20. [9] Tran, T.N.T., Felfernig, A., Trattner, C. et al., Recommender systems in the healthcare domain: state-of-the-art and research issues. J Intell Inf Syst (2020). https://doi.org/10.1007/s10844-020-00633-6. [10] Elsweiler, D., Trattner, C., & Harvey, M. Exploiting food choice biases for healthier recipe recommendation. SIGIR 2017 - Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval (2017) 575–584. https://doi.org/10.1145/3077136.3080826. [11] Rokicki, M., Herder, E., & Demidova, E., What’s on my plate: Towards recommending recipe variations for diabetes patients. CEUR Workshop Proceedings (2015) 1388(i). [12] Narducci, F., Mustoy, C., Polignano, M., De Gemmis, M., Lops, P., & Semeraro, G., A recommender system for connecting patients to the right doctors in the healthnet social network. WWW 2015 Companion - Proceedings of the 24th International Conference on World Wide Web (2015) 81–82. https://doi.org/10.1145/2740908.2742748. [13] Han, Q., Ji, M., Martinez De Rituerto De Troya, I., Gaur, M., & Zejnilovic, L., A hybrid recommender system for patient-doctor matchmaking in primary care. Proceedings - 2018 IEEE 5th International Conference on Data Science and Advanced Analytics, DSAA 2018 (2019) 481–490. https://doi.org/10.1109/DSAA.2018.00062. [14] Zhang, Y., Zhang, D., Hassan, M. M., Alamri, A., & Peng, L. CADRE: Cloud-Assisted Drug REcommendation Service for Online Pharmacies. Mobile Networks and Applications, 20(3) (2014) 348–355. https://doi.org/10.1007/s11036-014-0537-4. [15] I. Faiz, H. Mukhtar, & S. Khan, An integrated approach of diet and exercise recommendations for diabetes patients. 2014 IEEE 16th International Conference on E-Health Networking, Applications and Services (Healthcom) (2014) 537–542. https://doi.org/10.1109/HealthCom.2014.7001899. [16] Ali, S. I., Amin, M. B., Kim, S., & Lee, S., A Hybrid Framework for a Comprehensive Physical Activity and Diet Recommendation System. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics): Vol. 10898 LNCS (2018) pp. 101–109. https://doi.org/10.1007/978-3-319- 94523-1_9. [17] Feng, Yang & Fan, Lidan, Ontology semantic integration based on convolutional neural network. Neural Computing and Applications (2019) 31. 10.1007/s00521-019-04043-w. [18] A. Subasi, Clustering examples, in Practical Machine Learning for Data Analysis Using Python, Academic Press, 2020, Pages 465-511, ISBN 9780128213797, https://doi.org/10.1016/B978-0-12-821379-7.00007-2. [19] El Bouhissi, H., Salem, A-B.M. and Tari, A. ‘Semantic enrichment of web services using linked open data’, Int. J. Web Engineering and Technology, Vol. 14, No. 4, pp.383–416 (2019). [20] Dharaneeshwaran, S. Nithya, A. Srinivasan and M. Senthilkumar, "Calculating the user-item similarity using Pearson's and cosine correlation," 2017 International Conference on Trends in Electronics and Informatics (ICEI), Tirunelveli, 2017, pp. 1000-1004, doi: 10.1109/ICOEI.2017.8300858.