Social Trust Based Semantic Tourism Recommender System: A Case of Medical Tourism in Tunisia

Based on the assumption that users generally have a tendency to use items recommended by friends rather than strangers and that trust among friends positively correlates with user preference, we decided to refer to research conducted on the emerging field of trust-based recommender system. We propose to integrate the temporal factor in measuring trust between social network friends. A Trusted Friend ’s calculation method is developed for determining social trusted friends in Facebook. We have, accordingly, demonstrated the importance of the interactions’ time between users. Afterwards, we have used this method in a semantic tourism recommender system as a smart e-tourism tool able to recommend items based on the users’ preferences and their trusted friends’ preferences. We have also applied our tourism recommender system for the case of medical tourism in Tunisia to help users interested in traveling to Tunisia for medical purposes. Finally, we have implemented the system and collected feedback from real users to evaluate the quality of recommendation and prove its importance in improving the medical tourism domain.


Introduction
Personalized recommender systems are now playing an important role in providing better tourism experiences to many tourists. The major objective behind applying personalized recommender system to medical tourism information services is to allow tourists to have efficient information searching experiences and to boost the individuation of tourism information. The effect social networks have on product marketing has recently been subject of much research (Zhou et al., 2012). In real everyday life, when we think of buying a particular and unfamiliar product, we most often tend to seek immediate advice from some of our friends who have come across this product or experienced it. We, similarly, tend to accept and use friends' recommendations because we trust them. Therefore, integrating social networks in recommender systems can result in more accurate recommendations (Rathod & Indiramma, 2015). In fact, interpersonal influence plays an important role in personalized recommender systems. It is found to be helpful in recommending items on social networks and it has as an objective relating recommended items to the person's historical behaviour and interpersonal relationship. The quality of the recommendation can be guaranteed based on the help of user interpersonal interests in a social network. Information obtained about users and their friends makes it unnecessary to look for similar users and to measure their rating similarity. Based on the assumption that users generally have a tendency to use items recommended by friends rather than strangers and that trust among friends positively correlates with user preference, we decided to refer to research conducted on the emerging field of trust-based recommender system. Trust between two users, therefore, means that a user believes on the usefulness of the recommendation of a trusted user. This field of study focuses on providing users' personalized item recommendations with reference to the trust relationships among users, which is found to be useful in solving many of the issues associated with traditional systems, such as data sparsity (Papagelis et al., 2005) and cold start (Rathod & Indiramma, 2015).
Social trust-based recommendation systems are based on giving recommendations using only trust scores' calculation between users' interactions or on a combination of trust and similarity scores while giving suggestions. Golbeck (2009) argues that users prefer to receive recommendations from people they know and that trust-based recommendation approaches perform better than approaches based on only user similarity. If we like to search the most trusted friends in a social network for a userx, we need to compare all interactions between userx as well as each of his/her friends, taking into consideration the temporal factor of every interaction between them. That is because userx can trust a friend in the past, but the value of trust can degrade with time. In fact, interactions are not perceived the same way over time because some interactions are more important than others when computing an opinion (Haydar et al., 2015). That is way, time information can be useful in facilitating tracking the evolution of user interests and improving recommendation accuracy (Campos et al., 2014).
Ontologies are found to be useful in modelling different aspects of the world we live in. In the last decade, ontologies have been increasingly used in recommender systems (Blanco-Fernández et al., 2011). In the collaborative approach, domain ontologies are mainly used to analyse the user behaviour with reference to knowledge structure in order to build user profiles. In addition, ontologies are useful for modelling the trust between users extracted from a social network.
Our proposal relies on a combination of two approaches to improve the recommendation process. The first is the trusted friends' preference to reduce the sparsity problem when we do not have many information about the ego user. The second is the ontology based user interest to represent the semantics of these interests. Our proposal is a new recommender system whose main novelties are: • We define an ontology that represents the relationships between the user and their preferences and interests and also represent users trusted by the ego user. • We present a method to estimate the trust score between two friends in a social network. A friend is trusted by the ego user if the trust score is superior to a predefined threshold. • We create a tourism ontology to represent the Tunisian medical tourism domain based on the e-tourism ontologies that exist in the literature.
The rest of the paper is organized as follows. Section 2 presents related works in tourism recommender systems. Then, we present the importance of social network to improve the accuracy of recommendation. Next, we explain our work preview on ontology-based recommendations. After that, we present an overview of trust in recommender systems. Section 3 describes a time-sensitive method for calculating trusted friends on social networks. Section 4 presents a Facebook application using this time-sensitive method, while section 5 61 presents the Tunisian Medical Tourism ontology (TMT ontology) creation. In section 6, we present the SMART-TMT recommender system development for the Tunisian medical tourism domain and in section 7, we evaluate the system by collecting some real users' feedback. Finally we conclude the paper and present our future work.

Related Work Tourism Recommender Systems
Tourism recommender system's main purpose is to map the user preferences onto the leisure resources and tourist activities of the city (Staab et al., 2002). To be able to achieve this, tourism recommender systems need some initial data explicitly provided by the user. These data are especially useful when automatically inferring the user preferences through explicit or implicit feedback. In fact, the majority of tourism recommender systems are hybrid approaches that seek to combine basic recommendation techniques such as demographic, contentbased and collaborative filtering techniques (Borràs et al., 2014).
One more important thing in tourism recommender systems is their capacity of providing a personal agenda to the user with a set of recommended tourist activities. A personalized timetable taking into account the context information such as the opening and closing time of the attractions, the time needed to go from one place or another or even the transportation means, are also offered. Etourism (Sebastia et al., 2009), for example, is a tourist recommendation and planning application to help users in the organization of leisure and tourist agenda. In addition, a recommender system offers the user a list of the attractions that are likely to interest him/her. Furthermore, a planning module can schedule the list of recommended places according to their temporal characteristics as well as user restrictions. Thus, the planning system determines how and when to realize the recommended activities, according to distances between places, opening, and closing hours, etc.
A similar idea is reinforced by CRUZAR (Mínguez et al., 2009), a web application that builds custom tourism maps for every visitor in the city of Zaragoza (Spain). CRUZAR provides a web form where the user profile is captured, essentially his/her preferences and the trip context, and uses a mixture of demographic and content-based recommendation techniques to tease out the most suitable attractions for the user. As a last step, the system generates a customized map for the visitor, taking into account the distance between the attractions, the personal interest of tourism resources, the particular circumstances of the trip (number of visitors in the tour, dates of the trip), and other relevant aspects such as the opening and closing time of museums and churches.
Otium (Montejo-Ráez et al., 2011) andCity Trip Planner (Vansteenwegen et al., 2011) show scheduled routes of places of attractions for one day (selected by a content-based algorithm) represented through a timetable and a map. They also give the user the opportunity to add or remove activities or change the order of visit, etc. Moreover, they enable the user to download the route to a mobile device so that he/she can follow the plan during the trip. CT-Planner (Kurata, 2011;Kurata & Hara, 2013) offers tour plans in several areas of Japan which are progressively refined as the user indicates his/her preferences and requests (duration, walking speed, reluctance to walk). Additionally, the recommendation is performed by a contentbased algorithm and the planning problem is formulated as a Selective Travelling Salesman Problem (Laporte & Martello, 1990). SAMAP (Castillo et al., 2008) is a case-based reasoning software tool that elicits a tourist plan given the past experience of the system with similar users. It provides indications about the transportation means, including walking; recommends restaurants and bars for lunch or dinner, and suggests leisure attractions such as cinemas or theatres. SAMAP allows the user to download a file with a referenced map with a detailed explanation of the plan.
Troovel.com (Sebastia et al., 2015) is another tourism recommender system that helps the user plan a multi-day trip anywhere in the world. The system presents various pre-computed agendas that the user can adapt to his/her preferences. Troovel.com records the interaction of the user while navigating the web site and uses these data to offer personalized recommendations. These recommendations are 62 calculated by applying a content-based technique. SigTur (Moreno et al., 2013) is a hybrid tourism recommender system, combining a wide range of recommendation techniques. Content-based methods are used to find out which activities fit better the user's interests. Collaborative filtering techniques provide suggestions based on the items that have been positively rated by similar tourists.
Concerning the user interfaces of tourism recommender systems, most of them offer a web-based interface. In fact, most of these tourism recommender systems should solve complex planning and scheduling problems. Therefore, they cannot be optimally solved in an efficient way. In some cases, researchers chose to use different kinds of optimization techniques, which although in many cases they did not guarantee an optimal solution, they offered an affordable computational cost.
Very little work that designed medical tourism recommender system has been conducted. Dewabharata et al. (2012) designed a recommender system for medical tourism by using the technology of the semantic web to model the domain knowledge. They used content-based recommendation techniques to elaborate recommendation for users. However, contentbased methods rely only on explicit item descriptions. Such descriptions may be difficult to obtain for items like ideas or opinions. Most of the tourism recommender systems that build personalized information use the classical recommendation techniques. Recently, however, social networks have become of particular importance in the tourism industry (Mislove et al., 2007). When planning their journeys, travellers, in addition to the personal experience and opinion of relatives and friends, refer to social networks during and after their trips, thus generating interest in viewers that can become travellers themselves (White, 2009). In our tourism recommender system, we give an important role to the social network to make recommendation based on the user's preferences as well as his/her friends' preferences.

Representation and Management of User Interest
Traditional methods of recommendation rely on keywords to model user's interests and information requirements (Tan et al., 1998). Due to the vagueness of keywords, the user interest model cannot represent user's interests and the relationships between different items of the target domain accurately. Besides there are cold-start and data sparsity problems (Sarwar et al., 2001) resulting in poor performance. Many studies have used graph representation to design user interest model. However, their work has been restricted to using it in traditional recommendation methods.
To process the data by the recommendation system, we basically need three elements, which are: user, item and rating. In most algorithms, these three elements are represented by a matrix. In this matrix, the rows indicate users, columns indicate items, and matrix entries indicate ratings. An example of user × item matrix is given in Figure 1 with three users and four items along with their ratings. The items may have various variables in the implementation, such as gender, age for users, price, year for items, and time for ratings.
Alternatively, we can use graph representation of "User × Item Matrix". In graph representation, users and items are represented with nodes and the weighted edges relate users with items (Ozsoy & Polat, 2013). An example of graph representation is given in Figure 2, which shows the same information as Figure 1.
An ontology is a semantic graph. Every node of this graph stands for a concept. The nodes of the ontology are connected by different kinds of links. Then, ontology can be considered as one type of graph representation and is used to represent users and their related rating of items in many recommender systems. Pretschner and Gauch (1999) are among the first to make use of ontology to build user model and provide personalized document access. Domain ontologies have been employed to organize documents. Based on a user's surfing history, the user model is built and the personalized document access is performed by referring to The semantics of concept relations and ontology structure, however, is not taken into consideration during the calculation of the user's concept interest degree.
The creation of a user model based on ontology to make improvement for information recommendation has also been suggested by Middleton et al. (2004). They advocate that when a low-level concept in the concept hierarchy is selected by the user, this implies that the user may also be interested in a highlevel concept. The major limitation of this method is that the inference algorithm is rather simple, which makes it unable to handle complex ontologies. Jiang and Tan (2006) suggest the concept of user ontology, and develop a set of statistical methods to relate individual user ontology to domain ontology. When building user interest model, a value is assigned to every concept and relation. It contains more abundant semantics and more precise interest description. Nevertheless, dealing with complex ontologies requires a longer learning cycle to gain the user ontology. Su et al. (2011) propose a user interest model based on user interest ontology. In this work, recommendation process is presented by using the ontological user interest model. The biggest shortcoming of this method is that it does not use the advantage of social network in the recommendation process. Su et al. (2011) use only collaborative recommendation in the process of recommendation, but collaborative recommender systems fail to help in cold-start situations, as they cannot discover similar user behaviour because there is no enough previously logged behaviour data upon which to base any correlations. Ferraro et al. (2014) describes an adaptive recommender system which adopts a semantic approach to assist the user both in the travel planning phase and, on-site, during the trip. Ferraro et al. (2014) propose a general architecture of an adaptive recommender system that uses ontology to assist users in the travelling. In this work, extraction of the user interest is not done automatically from the social network, but users are required to answer a set of questions about personal interests and to provide detailed information regarding their requirements.

Ontologies in Tourism System
Through ontologies, we can solve a number of problems related to tourism. As ontologies allow the sharing of domain knowledge based on common vocabulary items across heterogeneous platforms, they can also be used to solve interoperability problems. In addition, ontology allows for the sharing of common understanding of the structure of information among people and software agents (Noy & McGuinness, 2001). This also can help to standardize business processes and knowledge architectures in tourism. Moreover, ontology serves as a model of knowledge representation out of which knowledge bases, that describes specific situations, can be built (Prantner et al., 2007). These reasons motivated our decision to develop a tourism-related ontologies recommender system for the medical tourism in Tunisia. This is based on the assumption that an ontology-based framework is likely to enhance the quality and credibility of tourism recommendation services.
Recently, a widespread number of ontologies for e-tourism has been developed where some of them have reached a considerable level of consolidation allowing the representation of generic aspects as well as specific sub-domains that describe detailed scenarios. Harmonise (Höpken, 2006) was one of the first ontologies that was built to face the interoperability problems of Tourism, focusing on data exchange between organizations. Four main topics of the Tourism domain are outlined: attractions, food and drink, events, and accommodation. Mondeca (Prantner et al., 2007), developed an ontology with around 1000 concepts, most of them were mentioned in the Thesaurus on Tourism and Leisure Activities developed by the World Tourism Organization (www.worldtourism.org). The dimensions which are defined within the Mondeca Ontology are tourism and cultural objects, tourism object profiling, tourism packages and tourism multimedia content.
Another ontology, QALL-ME (Ou et al., 2008), was constructed to establish a shared structure for multimodal and multilingual Tourism question answering. The DERI e-tourism ontology (Hepp et al., 2006) was developed in the OnTour project and focused on three main topics: accommodation, activities and infrastructures. Some classes of this ontology were used as a test-bed for an automatic system of ontology population (Ruiz-Martınez et al., 2011). The Core Domain Ontology for Travel and Tourism (Barta et al., 2009), was another ontology developed in 2009, and it was based on the Harmonise ontology. Its main objective was to define a common ontology for the tourism sector in order to support the interoperability of the agents in low-level operations. Finally, Moreno et al. (2013) developed SigTur/E-Destination Web-based system which provides personalized recommendations of touristic activities in the region of Tarragona. The activities are classified Harmonise Ontology (Höpken, 2006) Domain Ontology RDF The goal of the ontology is to support tourism organizations with exchanging data and information without changing their local data structures and information systems. (Mínguez et al., 2009) Upper Level Ontology

OWL
The goal is to build custom tourism maps for every visitor in the city of Zaragoza. (Prantner et al., 2007) Domain Ontology OWL Tourism Ontology includes important concepts of the tourism domain which are defined in the World Tourism Organization. (Hepp et al., 2006) Domain Ontology OWL-DL In addition to normal tourism concepts (location, accommodation…), it also includes concepts that describe leisure activities and geographic data. (Ou et al., 2008) Domain Ontology OWL-DL Emerged in order to establish a shared structure for multimodal and multilingual Tourism question answering.

Travel Ontology
Domain Ontology OWL E-tourism ontology developed by Protégé and represents a reference that generally describes the tourism domain.

Core Domain
Ontology (Barta et al., 2009) Domain Ontology RDF Describe travel-related information which is typically provided by tourist services in order to satisfy the information needs of tourists in all phases of a journey.

SigTur/E-Destination
Ontology (Moreno et al., 2013) Domain Ontology OWL Describe touristic activities in the region of Tarragona to guide the recommendation process. and labelled according to a specific ontology to guide the reasoning process. The development of SigTur/E-Destination requires a knowledge management side, represented in a specific domain ontology to provide a classification of the main types of activities and to guide the knowledge-level inference process needed to assess the preferences of the user on each of them. Moreover, Travel Ontology [1] is another example of tourism ontology developed by Protégé and represents a reference that generally describes the tourism domain. It represents the hierarchy of classes as well as some instances of classes and their links in OWL.
An analysis of these ontologies was carried out in order to determine the key concepts of the tourism domain. Table 1 represents a summary of all the ontologies, their types, the language used and their objectives.
Some methods of travel ontology designs considered the linguistic knowledge and the context knowledge. For example, the tourism ontology construction method combines the linguistic knowledge with the context knowledge using mathematical tools of formal concept analyses. This method, however, is applied for China tourism only (Tang, Cai, 2010). Additionally, there are other methods that include a multi-stage ontology-based tourist recommender and analyse user's profile of Facebook (Alonso et al., 2012). Among the existing tourism ontologies, none of them has considered the design of local travel constraints such as culture, law and medical needs (Khruahong et al., 2015). The aim of our research is to fill in this gap and design an ontology for searching medical tourism services for tourists whose target is Tunisia.
Given the fact that most of the above mentioned ontologies are not completed, and taking into account the caveats of developing a new ontology from scratch, we have reused the Travel ontology developed by Protégé. Then, we have proposed a method to extend this ontology and adapt it for medical tourism in Tunisia by incorporating new specific classes into the Travel ontology about the places and activities related to medical tourism. The resulting ontology contains all information that represent the domain of medical tourism in Tunisia.

Trust-Aware Recommender Systems
Trust can play an important role across different disciplines and is an important feature of our everyday lives. Additionally, trust is a feature associated with people in the real world and with users in social media (Lewis & Weigert, 1985;Mayer et al., 1995). In recommender systems, trust is defined with reference to the other users' ability to provide valuable recommendations (Guo et al., 2014). The trust value can be binary or in real numbers (i.e., in the range of [0; 1]). Binary trust is the simplest way of expressing trust. Two users can choose to trust or not trust each other. A more in-depth method is a continuous trust model, which gives real values to the trust relations. In both binary trust and continuous models, 0 and 1 means no trust and full trust, respectively (Gupta & Nagpal, 2015).
In recommender systems, trust is classified into explicit and implicit. Explicit trust emphasizes information explicitly stated by users. Although research on explicit trust-based recommender systems has been proposed (Golbeck & Hendler, 2006;Guo et al., 2012), and its effecttiveness has been tested, the system is found to have many caveats. In spite of the fact that specific trust values are possible in real systems, publicly available datasets such as FilmTrust (Golbeck, Hendler, 2006) only contain trust links without real values due to the concern of privacy. The indifferent and binary trust will prevent achieving better performance.
Some of these caveats are related to the extra effort a user must make to provide trust information in addition to rating them (Guo et al., 2014). Another limitation is represented in the lack of explicit trust information in some popular datasets like Jester. Additionally, the binary nature of trust in datasets does not give a precision value for the trusted person as most of the explicit public trust datasets have a binary form trust score. For example, Epinions contains binary values of trust and this nature of binary trust values does not bring about a better performance of recommender systems. Moreover, explicit trust methods require users to give explicit trust rating. As a result of the limitations of explicit trust, research on the implicit way of trust generation from user behaviour has been carried out (Deng et al., 2014). Implicit trust refers to the trust information implicitly inferred from user behaviour in the system (Gupta & Nagpal, 2015).
There are three major groups of trust models (Nepal et al., 2013b): graph based trust models, interaction based trust models and hybrid trust models. Graph based trust models exploit the structural properties of social graphs. For example, Golbeck et al. (2003), suggested a method for creating a trust network on the Semantic Web by extending the FOAF schema to allow users to give a level of trust for their acquaintances. Interaction based trust models exploit the interaction data, such as engagement and popularity in the STrust model (Nepal et al., 2013a). (2009)  Interaction based social trust models use interactions in the community to compute trust but ignore the network structure characteristics (Valenzuela et al., 2009). Hybrid models, however, are created to exploit the benefits of interactions and social graphs alike. Trifunovic et al. (2010) suggested such a model for applications; such as content distribution and micro-blogs. The model leveraged explicit social trust, with reference to consciously established social graphs, and implicit social trust, with reference to frequency and duration of contact between two users.

Gilbert and Karahalios
These models have been referred to in the generation of personalized recommendations by taking into consideration the opinions of other users in the trust network. For example, Hang and Singh (2010) used a social graph approach to recommend a node in a social network using a similarity measure. Massa and Avesani (2007) proposed a trust-based recommendation system to look for trusted users by exploiting trust propagation, whereas Andersen et al. (2008) proposed many recommendation models to provide factual information.
Haydar (2014) uses the subjective logic in his attempt to define a trust model taking into account the local, collective and global trust. Indeed, the subjective logic is found to have a better formal framework for modelling trust. It is also found to be useful in representing the relationship of trust between users through probabilistic opinions. An opinion in the subjective sense is the resulted accumulation of several interactions between the user and the object of opinion. However, during the modelling of opinions, this theory has some disadvantages: it models different views in the same way, that is to say, by the principle of equal probability and it only models singleton opinions. Moreover, this method does not take into consideration the temporal factor in measuring trust between users. although a simple opinion in subjective logic has a probabilistic structure based on the multiple interactions between users, it is not time sensitive (Haydar et al., 2015). This means that all interactions have the same importance. We assume that interactions are not perceived the same way over time. To put it differently, some interactions are more important than others when computing an opinion (Campos et al., 2014). Podobnik et al. (2012) suggested a general model to measure trust among social network users. They have also explained how a general model is implemented using a specific social network as a medium. In their work, however, the authors have not taken into consideration the temporal factor in measuring trust between users. In the real world, the value of an interaction between two users is different according to its time of apparition (Haydar et al., 2015). In other words, many trust models were proposed in many social web applications but most of these methods do not take into consideration the time of an interaction between two users in the social network. In our recent work, we have provided a method to calculate trusted friends for an ego user with an implicit trust metrics (Frikha et al., 2016a). Implicit trust is generally inferred from user behaviours and trust relationships among social friends. Our method takes into consideration the temporal factor of interactions that exists between social network friends. In this work, we will apply this method through a Facebook application.

Time sensitive method for calculating trusted friends on social networks
Research has demonstrated the effectiveness of trust in recommender systems. Lack of explicit trust information in most systems emphasizes the need to propose some trust metric to infer implicit trust from the user and his/her friends' interactions. Our goal is to determine the list of friends trusted by a userx. We begin, first, by all the friends who have made interactions or shared information with the user in a very specific period of time. Interactions among users in a social network are of different types. They can be comments or mentions "Like" on objects in the profile (from the user or from friends). We apply some trust metric to calculate the value of trust between userx and each of his/her friends. Our goal is to demonstrate how an ego's social activities and his/her friends can be used to calculate a "level of trust" between two friends. Finally, we choose friends who have the highest level of trust. The extraction of the trusted friends' list of a user is performed to determine the preferences and interests of each friend. Indeed, these interests can be useful to know the interests of the ego user.
A social activity is a social interaction between two directly connected social network friends at a period d. An example of social activity can be the joint tagging of two friends on the same photo. We can define the PT(userx) d as a list of friends who are tagged on the same photo with the userx at a period of time d. This period is precised starting from date d till now. For example PT(userx) d can be defined as: This means that userx is tagged with usera, userb and userc after the fixed date d. Formula 1 does not take into consideration the number of tags between our ego user and another tagged user. In fact, in our work, we do not take into consideration only the number of interactions the way (Podobnik et al., 2012) did because for any existing interaction between two users after the date d, a weight value is calculated. This value is a real number limited between 0 and 1. It is fixed according to the date of this interaction. That is to say, the more this interaction is recent, the more its value is near to 1 and vice versa. Formula 2 is used to calculate the weight value for any interaction between the userx and his/her friend usery: ( , ) = 100 -( ( ) * 10) 100 (2) Where Time (inti) is a function that calculates the year duration of the interaction i from the time of its apparition. This function return a real variable that represents the age of this interaction with year. For example, a 40-day interaction has a value of Wint = 0,99, because the function Time(int) = 0,1 (40 / 365). This means, we take into consideration only the first number after the decimal point. But in another example, the weight of an interaction between userx and usery that has two year old and six months (Time(int) = 2,5) since it took place has a value of Wint= 0,75 and the weight of an older interaction has a value inferior to this weight, etc. (in our work, we do not take into consideration interactions that are older than ten years old). Then, we calculate the sum of values of all interactions of the same kind between userx and usery from this prefixed date d with the following formula. N is a social activity between these users (i.e., Tag, Like, Comment, etc.).
Where i is an interaction of kind N. N is a social activity between these users. For example, if N is a Tag, we calculate the sum of weight of all Tags between userx and usery that exists after date d. Formula 3 can be applied for any social activity.
Different social networks have different types of social activities among users. To calculate a "level of trust" between two friends in a social network, we have to describe all social activities among these friends taking into consideration the temporal factor. (Podobnik et al., 2012) have classified social activities but they did not take into consideration the video interaction between friends in Facebook. In our work, we have added all video interactions between social network friends (friends tagged in the same video, friends who liked or commented on a video). Table 2 describes all the social activities.
Social activities of the userx are described as the social_activity_set(Userx)(Formula 4). In other words, it is the set of lists where every list describes a different social activity. The lists summarized in Table 2 (except list F(userx)) form a complete set of social activities between the userx and all of their Facebook friends.
Every list from the set social_activity_set (Userx) contains a list of users who have this specific activity with the userx (Formula 1 is an example of the list of users who are tagged with the userx).
In order to calculate trust from interactions' data contained in the social_activity_set(Userx), we multiply the specific activity data from every list in the social_activity_set(Userx) with certain weights peculiar to every interaction type. Formula 5 is used to calculate the level of trust between the social network ego user (userx) and one of his/her friends (usery):

Social_activity_set(Userx) = {PT(userx), S(userx), C(userx), L(userx), I(userx), M(userx), PL(userx), PC(userx), VT(userx), VL(userx), VC(userx)}
Where userx is the ego user and usery is a friend with this ego user. ( , ) (Formula 5) calculates the level of trust between the ego user and a direct friend with him/her according to all interactions between these users from a date d. After the calculation of the level of trust between the ego user and all his/her friends, we conserve the 10 friends that have the higher level of trust as the "Trusted Friends" for this ego user.

Facebook Application for Calculating Trusted Friends
"Trusted Friends" is the Facebook application responsible for calculating trusted friends for a particular Facebook user. The implemented Facebook application collects activities (i.e., "liking" and commenting posts, inbox information "writing" on the Facebook Wall, etc.) of friends and calculates a trust level between the ego user and all of their friends.
The data collection process includes collecting personal and behavioural data of the ego user when connecting to his/her Facebook account, installing the "Trusted Friends" application, and allowing the application to access all these information (photos, user's Wall, user's inbox). Then, the system will extract some data to determine the user's trusted friends. We mean by extracted data, the user's list of friends, and those who write and make comments on the ego user's wall. The list also comprises friends tagged with the ego user in their photos, friends who like posts on the ego user's Wall, friends who comment on the ego user's Wall, friends who write to the ego user's inbox, friends on whose Walls the ego user writes or comments, friends who like ego user's photos, and finally, friends who comment on ego user's photos. When we extract any information for the user profile, we extract also its date when it happened. The data processing consists of a grouping of interactions (social activities) according to their type. Then for every friend, we will calculate the sum of their social activities taking into consideration the weight of every interaction to classify user's friends according to the sum of their social activities. As it has been explained, every social activity has a weight that represents its importance for determining trust between users. After making some experimentations and taking into consideration the result found by (Podobnik et al., 2012), we have proven the following: When we give more weight ponderation to the lists of friends who write on the Facebook userx's wall and inbox and the list of friends on whose walls the Facebook userx writes or comments, we have the closest finding to the manual user's trust determination. In the rest of our work, we will use the following set for weighting every social activity presented in Table 3.
To test our application, we have taken into consideration only the users who have installed the "Trusted Friends" application and allowed the application to access all the ego user's photos, the ego user's Wall, and the ego user' inbox.
We have chosen an objective evaluation to evaluate our suggested method. By objective evaluation, we mean a mathematical calculation of the precision measure used for the evaluation of recommender systems. Precision refers to the quality of recommendation. In other words, at what point those proposed friends confirm to the friends manually chosen by the user.
Every one of the users who tested our application, will be asked to choose his/her trusted friends manually at first. This step is necessary to calculate the precision of our application. Then we apply our algorithm and calculate its trusted friend automatically with our method. After that, we calculate the precision measure of our algorithm for this ego user. Next, we calculate the average of these precisions value given for all users that have accepted to install and test the "Trusted Friends" application. The average of the precision that we found is superior to the value found by (Podobnik et al., 2012). We can conclude, therefore, that the more interaction types we add (like video interaction between social network friends) the more the accuracy of trust calculation between friends can be improved. Furthermore, when we take into consideration the time duration of every interaction between the ego user and his/her friends and when we give a weight for the interaction taken into consideration its temporal factor, we can improve trusted friends determination process and give more precise results. As a result, we can say that trust is sensitive to the interaction time between social network users. Many models were proposed to represent computational trust in different applications of social web. However, even models that represent trust as incremental measurement device do not give enough importance to the time axe. Consequently, exploiting temporal context is found to be an effective approach to improve recommendation performance. In the next section, we will present our semantic social tourism recommender system that uses the "Trusted Friends" calculation method. Figure 3 shows the comparison result between the "Closest Friends" algorithm (Podobnik et al., 2012) and our "Trusted Friends" algorithm.
To determine the list of friends near a user, we begin, first of all, by all the friends who have made interactions or shared information with the user in a very specific period of time. Thus, interactions are of different types. They can be comments or mentions "Like" on objects in the profile (from the user or from friends). Then, we calculate the number of occurrences of each friend in these interactions. Finally, we choose friends who have a number of occurrences beyond a predetermined threshold. However, the extraction of the trusted friends' list of a user is performed to determine the preferences and interests of each friend. These preferences are extracted by the common component determination method using the Principal Component Analysis procedure (Wang et al., 2015). It is a procedure for identifying a smaller number of uncorrelated variables; "principal components" from a larger set of data. We can, accordingly, get the raw data of principal component analysis from the interest degree based on TF-IDF. Indeed, these interests can be useful to know the interests of our user. When we represented a friend' preference as a class in the user interest ontology, we indicated the name of the trusted friend and the degree of trust (level of Figure 3. Comparison result between "Closest Friends" and "Trusted Friends" algorithms trust between the ego user and this friend) as two datatypes properties in this OWL class.
To satisfy the ego user according to his/her interest, we need to have a semantic representation of the Tunisian medical tourism domain that will be used by the social recommendation algorithm. Our system can find similar items to this user in the TMT ontology. In the next section, we will present the Tunisian medical tourism ontology creation method.

Tunisian Medical Tourism Ontology
Medical tourism is a domain rich of data that are stored in hundreds of data sources. Many of these sources are used in concerts during the development of tourism information systems. That is why, it is very important to create a referential model that represents the medical tourism in Tunisia (SPA centres and cures, clinics, hotels, thalassotherapy activities, surgical acts for medical tourism, etc.). In our research team, we have created a Tunisian medical tourism ontology that represents all concepts and relations of the medical tourism in Tunisia. The e-tourism ontology provides a way to achieve integration and interoperability through the use of shared vocabulary and meanings for terms with respect to other terms (Cardoso, 2006). Ontology plays an important role in facilitating a semantic integration of heterogeneous data in the Tunisian tourism domain.
The choice of this domain is justified by the fact that the tourism domain is still in the process of extension. This provokes the apparition of new needs concerning the representation of knowledge and its exploitation by suggesting some recommendations. Therefore, we need a reference to explain the domain knowledge. To achieve this, we suggest the reuse of an existing ontology. Indeed, TMT ontology is extended from the Travel ontology. We made some pruning and filtering operations for the Travel ontology, then a refinement activity was added to extend the obtained ontology with particular attributes of Tunisian medical tourism domain. After that, we instantiate this ontology by medical tourism information obtained from Tunisian medical tourism providers' services. Figure 4 illustrates the steps of ontology extension method for the creation of the TMT ontology.

A. Ontology Pruning
An ontology O G can contain many irrelevant concepts for a particular domain. The objective of the pruning activity is then to obtain a pruned ontology O P such that O P is a subset of O G . The Travel ontology contains many concepts that are not relevant for the medical tourism domain (e.g. Adventure, Museums, Safari, etc.). Figure 5 represents a partial view of the Travel ontology.
Ontology pruning step is composed of several phases. To apply this step at the Travel ontology, we should follow these phases:  Extraction phase: We began by extracting all the concepts in the Travel ontology, then all relations that exist between concepts.  Analysis phase: In order to delete the irrelevant elements, it is necessary to identify which elements of the Travel ontology are relevant to the domain. This phase selects the relevant concepts.  Pruning phase: This phase employs the information obtained from the previous one in order to delete the elements irrelevant to the Tunisian medical tourism domain. It should be noted that a pruning activity only executes subtractive operations to the base 72 ontology. This means that only deletions are allowed. When a pruning activity is used over a large ontology to create a more specific one, other phases are needed to support the ontology designer to add more elements to the ontology, or to refine the ontology to improve its quality.

B. Ontology Refinement and Extension
The objective of the refinement step is to obtain an extended ontology O X such that O X is an extension of O P . That is why, the ontology refinement and extension steps take as input the pruned ontology. Then we add some concepts The TMT ontology was implemented using Protégé Ontology Editor and represented in the Ontology Web Language. Figure 6 presents a partial view of the TMT ontology represented in OWL language description for medical tourism in Tunisia. It gives an idea about the TMT ontology in the form of a hierarchical tree relationship and semantic relations between concepts of the Tunisian medical tourism domain.

C. Ontology Instantiation
The Tunisian medical tourism ontology has been created using the Travel ontology as a reference guide to represent medical tourism activities in Tunisia. The populating of the TMT ontology has been made from Tunisian medical tourism providers' services. TMT ontology is used to explicitly classify the medical activities in order to recommend among a predefined set of distinctive main concepts which are going to be used by the intelligent recommender system to perform its reasoning processes. TMT ontology contains information about medical activities and centres, thalassotherapy cures and centres, hotels SPA, travels and entertainments in Tunisia. The aim behind these types of information is to ensure satisfaction among users when searching for information by proposing personalized recommendation, and to promote medical tourism in Tunisia. Figure 7 presents a screenshot of the ontology population process using Protégé Ontology Editor.

Figure 7. Result of the TMT ontology population process
This ontology will be integrated in our semantic social recommender system to deal with the lack of semantic information in personalized recommendation in Tunisian tourism domain. The system will be used for the promotion of medical tourism in Tunisia. It encapsulated two knowledge-based recommender systems (the user interest ontology and the TMT ontology) to help the user find the best advice for his/her health and promote medical tourism in our country.

Design and Development of the SMART-TMT Recommender System
We have created a Java-based prototype named Social seMAntic Recommender sysTem for Tunisian Medical Tourism (SMART-TMT) that used an e-tourism system to recommend items (hotels, restaurants, monuments, and travels) personalized for each user. The system retrieves the most interesting items to users in the Tunisian tourism database. The site runs an intelligent algorithm (Frikha et al., 2015) to know the tastes and needs of each user and to accordingly recommend customized items. SMART-TMT is an e-tourism recommender system for personalized advertising of Tunisian medical tourism, which encapsulated knowledge-based recommender systems to help user find the best advice for his/her health and promote medical tourism in Tunisia. Medical tourism is a domain rich of data, that is why, it is very important to create a referential model that represents the medical tourism in Tunisia (SPA centres and cures, clinics, hotels, thalassotherapy activities, surgical acts for medical tourism, etc.). In our research team, we have created a TMT ontology that represents all concepts and relations of the medical tourism in Tunisia (Frikha et al., 2016b). The e-tourism ontology provides a way to achieve integration and interoperability through the use of shared vocabulary and meanings for terms with respect to other terms. When the user accesses to the SMART-TMT, at first, he/she can connect with his/her Facebook account to pick up the user's preferences and his/her trusted friends' preferences for the creation of the user interest ontology. Then, the system will ask him/her to complete a form and answer some questions to know his/her health situation. The main objective is to obtain as much information about his/her health interest as possible with the smallest number of questions. Afterwards, our semantic recommender system will compute the most adequate advertising as well as the tourism provider service by investigating into the TMT ontology taking into consideration all information represented in the user interest ontology. Figure 8 further illustrates the functioning of our system.  The Presentation layer The purpose behind a presentation layer is to allow the interaction between the user and the  system and to present the recommended items to the user. This layer picks the user's profile when the user answers to some health interest questions and connects to his/her account, gathers data and displays information through the SMART-TMT. It acts as the interface for the user to access the system. By using our Tunisian Medical Tourism interface, it enables the user to visit items which are recommended to him/her by the system. The presentation layer mainly consists of Graphical User Interface and the results of the recommendation system.  The Intelligent analysis layer The Intelligent analysis layer is made up of an intelligent analysis module and a social recommendation system. Intelligent analysis module is composed of two modules of user's preferences capture and trust friends' preferences capture. User preference is collected from user's profile, and friends' preference is collected from the user social graph presented by Facebook after the determination of the trust friends. Before capturing the user preferences, we must first analyse the entire user profile, the personalized friends' list; the News Feed; the relations and the "likes" of the user and their trusted friends. All these preferences will be represented in a user interest ontology (detailed in the next section). Then the social recommendation system generates recommendations with the help of the user interest ontology. By using social recommendation algorithm, our system looks for similar items to this user's interest ontology in the Tunisian Medical Tourism Ontology. Our intelligent recommendation system picks out information in agreement with the user's needs from the TMT Ontology and produces recommendation set. In this layer, the system can offer a dynamic guidance for the user's choice when he/she desires to travel to Tunisia for medical tourism.  The Ontologies layer The Ontologies layer consists of the user interest ontology and the Tunisian Medical Tourism Ontology. TMT ontology contains information about medical activities and centres, thalassotherapy cures and centres, hotels SPA, travels and entertainments of Tunisia. The aim behind these types of information is to ensure satisfaction on the users' part when searching for information about medical tourism in Tunisia. It is the storehouse for operation data. In other words, ontologies layer stores and manages data that will be used in our social recommender system.
For each user session, a user interest's ontology classes are loaded into memory to enable the recommender system to associate a preference degree to each of the classes with reference to the explicit and implicit information provided by the user. The system will search for similar items to the user preferences in the TMT ontology. These preferences are important to decide which activities to recommend to the user.
Ontology is defined as an explicit specification of conceptualization (Gruber, 1991). In ontology, the concepts are grouped together in a semantic graph and the ties between these concepts are referred to as semantic relations or specification relations, such as `is-a' relation in taxonomy. In ontology, concepts or terms are grouped into different classes. Different semantic relations can relate those classes and group them together. Besides, each class has several kinds of related properties and values. Furthermore, ontology is characterized by reasoning that is used to analyse the relationships between ontology classes and to reason about their properties and attributes. Our ontologies have been developed with the Protégé editor. Jena is an open source Semantic Web framework for Java used in our system. It provides an API to extract data from and write to RDF graphs. It is used to provide tools to manage these ontologies and to apply inference mechanisms based on specific rules.
The Presentation layer, Intelligent analysis layer and Ontologies layer are interconnected to accomplish the function of providing personalized recommendation to the user.
After the user connects to his/her Facebook account, the system will guide the user following four steps. In the first step, the user will precise the medical kind that he/she searches. When user chooses a specific kind (e.g. Plastic Esthetic, Dental Cure, Balneo Cure, Thalasso Cure), the system will display some activities in this chosen medical kind. Then the user can indicate the importance of every activity for him/her. Figure 9 shows a screenshot of the first step that will be completed by the user.

76
Then, in the second step, the user will set his/her demographic and travel information with the form presented in the next figure. These data include information about the country and town of the user, the location of the accommodation, the kind of the accommodation, the travel budget, and the period of the medical travel. Figure 10 shows a screenshot of the second step that will be completed by the user.
After that, when the user clicks on the "Recommend me" button, we will move to the Figure 9. Initial form in the SMART-TMT recommender system Figure 10. Second form in the SMART-TMT recommender system next step, the system creates the user interest ontology based on these explicit information answered by the user and from the social network profile by adding the user preferences and trusted friends' preferences. Before capturing the user preference, we must first analyse the entire user profile, the personalized friends' list; the relations and the "likes" of the users and their friends. All these preferences will be represented in a user interest ontology (Frikha et al., 2014). Then the social recommender system generates recommendations with the help of the user interest ontology. By using social recommendation algorithm (Frikha et al., 2015), our system will search for similar items to the user preferences in the TMT ontology. These preferences are important to decide which activities to recommend to the user. Recommendations are selected from TMT ontology as the most similar to the user interest. That is way some similarity measurement (Frikha et al., 2007) are used for ontologies matching. Our semantic tourism recommender Figure 11. An example of hotels recommendation Figure 12. Results of the questionnaire system will calculate similarity between the user interest ontology and the TMT ontology and will suggest the most similar items to the user. The SMART-TMT system will search the most adequate medical activities for the user taking into consideration all information represented in the user interest ontology. Figure 11 shows a screenshot of an example of recommendation presented for the user.
The system can suggest different types of recommendations (eg. Hotel, Clinic, Treatment Center) based on the information completed in the first and second steps. In Figure 11, for example, the system has suggested only hotels and treatment centers because the user has chosen "Thalasso Cure" in the first step. In this case, the user can choose a hotel among the hotels suggested and then move to the last step to get more details on this item (price, activities, address, position on the map) and book in this hotel if s/he is interested. Otherwise, if the user does not like the recommendations suggested, s/he can select a hotel and click on "other similar activity" so that the system will suggest hotels that are similar to the selected one. The user can also select other hotels that are near by the selected one by clicking on "other activity around". Generally, the user can select any recommended activity by clicking on "more details" and the system will give information about it. Once the user makes his decision about one of the suggested activities, s/he can reserve it for his/her medical travel to Tunisia.

Feedback from real users
During the last Tunisia Medical Tourism forum [2] held in Hammamet, the SMART-TMT application was presented to professionals and non-professionals alike. Users interested in our application were given an explanation of the key features of the system along with the basic notions about its use. They have then spent some time with the system connecting with their personal Facebook account and adding their interests by replying on some questions. Then they obtained recommendation through their interests. Finally, a supervisor requested them to fill out a questionnaire to have an idea about their attitudes towards the system. At the end of the second day, 57 forms were collected: 27 from Tourism professionals, and 30 from nonprofessional users. Most participants planned their trips via the internet and some of them took into consideration their friends' suggestions. Those participants liked the application and were satisfied by the obtained results. They have, however, suggested to create a mobile version so that they could use it in their trips. Figure 12 summarizes the main results obtained from the stakeholders. We draw two conclusions from this evaluation: a recommender system is able to acquire the preferences of the user in a social-based approach. Also, we can say that trust is sensitive to the interaction time between social network users. Then, exploiting the temporal context is found to be an effective approach to improve tourism recommender systems performance. Furthermore, most of the users reported a positive evaluation after its use. In fact, more than 80% of those that answered the questionnaire reported that the system was interesting and useful to know medical activities in Tunisia. Only 20% reported that the system was not useful to get information about medical tourism. Concerning the general attitude about the system, more than 80% confirmed that the results of the recommender system are accurate enough to be used to plan their medical travels to Tunisia.
A social network-based Web application can be a useful option for the implementation of a social tourism recommender system. Thanks to this feedback, the SMART-TMT system has improved during the last year. One of the main aspects that were improved is the interface, giving always information about the whole process of recommendation, taking into consideration the user connection to their Facebook account and taking into consideration the trust friends' preference in the recommended activities process. We believe the findings of the evaluated experiment to be encouraging, and may bring about reliable and representative results on the development of trust-based social recommender system as well as on the accuracy and precision of personalized tourism recommendation.

Conclusion and Future Work
In this work, we have presented the role of social networks as sources for the development of recommendation systems. In addition, we proposed a method for an implicit trust determination between Facebook friends and we have demonstrated the importance of temporal factor in trust calculation between users. We integrated ontology in a semantic social recommender system to deal with the lack of semantic information in personalized recommender system in the tourism domain. In our future work, we are interested in implementing a mobile version able to run in smart phones in order to facilitate the use of the application both before and during the trips to Tunisia. Currently, we are going to take into consideration the updating of the user interest ontology to encompass user's interest and trusted friends' preferences changes.