AN ONTOLOGY-BASED TOURISM RECOMMENDER SYSTEM BASED ON SPREADING ACTIVATION MODEL

A tourist has time and budget limitations; hence, he needs to select points of interest (POIs) optimally. Since the available information about POIs is overloading, it is difficult for a tourist to select the most appreciate ones considering preferences. In this paper, a new travel recommender system is proposed to overcome information overload problem. A recommender system (RS) evaluates the overwhelming number of POIs and provides personalized recommendations to users based on their preferences. A content-based recommendation system is proposed, which uses the information about the user’s preferences and POIs and calculates a degree of similarity between them. It selects POIs, which have highest similarity with the user’s preferences. The proposed content-based recommender system is enhanced using the ontological information about tourism domain to represent both the user profile and the recommendable POIs. The proposed ontologybased recommendation process is performed in three steps including: ontology-based content analyzer, ontology-based profile learner, and ontology-based filtering component. User’s feedback adapts the user’s preferences using Spreading Activation (SA) strategy. It shows the proposed recommender system is effective and improves the overall performance of the traditional content-based recommender systems.


INTRODUCTION
The tourism has social, cultural, and educational effects on societies.It is one of the important sources of income in many countries.Due to time and budget limitations of the tourist, she/he needs to plan the trip and select points of interest (POIs) that visits at destination.Previously, tourists generally used information from travel agencies, travel book guides, or paper maps to select POIs.Nowadays, most of the users prefer to use Internet as a rich source of information to search POIs to visit.Because of huge amount of the available information about POIs, it is important to select the most appreciate ones based on user's preferences.In this paper, a new travel content-based recommender system is proposed to overcome this problem.It evaluates the large number of POIs, filters out the irrelevant information, and provides personalized recommendations to user based on his preferences.It uses the user's preferences and POIs information and computes similarity between the user interest and POIs.It selects the most similar POIs to the user's preferences.It guides users with insufficient personal experience and increases the users' satisfaction.
The proposed content-based recommender system is enhanced using the ontological information in tourism domain.Ontologybased recommender system is a new trend in recommender systems.Ontology is a formal and shared conceptualization of a certain domain and defines a set of concepts relevant to the domain and the relationships between them in a machine understandable language.The proposed ontology-based recommender system uses 'is-a' relationships.The proposed ontology structure represents both the user profile and the possible POIs.Furthermore, it is used to compute the similarity between preferences of a user and the characteristics of a point of interest, and offers a personalized list of POIs.User's feedback adapts the user's preferences using propagation of preferences through ontology.The proposed Spreading activation strategy propagates the preference and confidence values through ontology.The preference values that is assigned directly by the user have more effect in the spreading process.Because their related confidence values are equal to 1.This is the contribution of the proposed system.
The paper is organized as follow.Section 2 and 3 reviews the recommender systems and ontology-based recommender systems.Spreading activation strategies is explained in section 4. Section 5 describes the proposed ontology-based recommender system in tourism domain.In section 6, the proposed method is applied and evaluates.Finally, the paper is concluded and the future works are described in section 7.

RECOMMENDER SYSTEMS
Due to the information overload in tourism domain, user faces with decision making in the presence of an extensive set of POIs considering many criteria or attributes.Therefore, user needs a personalized information access based on his preferences, and user modeling and personalization are important issues.Recommender system (RS) is used to overcome these problems.It analyzes automatically all the possible items information, compares them with the user preferences, and rates them.It presents the most interesting ones to the user and guides the user to his interesting items in a large space of possible items (Ricci et al., 2011).Two main paradigms of the recommender systems are content-based recommender systems and collaborative recommender systems.Content-based recommender systems recommend items similar to items that a given user has liked in the past, whereas collaborative recommender systems identify users with similar preferences to the given user's preferences and recommend items they have liked.
Content-based recommender systems need proper strategies to represent the items and produce the user profile, and compare the user profile with the item representation.Therefore, the recommendation process is done in three steps including content analyzer, profile learner, and filtering component.In the content analyzer step, the system processes unstructured information of item to extract structured relevant information.Feature extraction techniques shift item representation from the original information space to more suitable information.This representation is used in the profile learner and filtering component steps.Then, in the profile learner step, the system collects data representative of the user preferences and generalizes them through machine learning techniques.The system infers user interests using items ratings in the past and constructs the user profile.Finally, in the filtering component step, the system matches the user profile representation against representation of items to be recommended and suggests a ranked list of potentially interesting items.Ontological information enhances the performance of traditional contentbased recommender system.The next section describes ontology-based recommender systems.

ONTOLOGY-BASED RECOMMENDER SYSTEMS
Ontology is a formal and shared conceptualization of a certain domain and defines a set of concepts relevant to the domain and the relationships between them in a machine understandable language.Classes, instances, properties, and rules are the main components of ontologies.Classes represent the different concepts of a domain abstractly.Each class has a certain number of features.Instances of a class are specific individuals belonging to that class and have a particular value for each of their features.
Properties present binary semantic relationships between classes.For example, the 'is-a' property defines a taxonomical structure of classes and indicates that a class is subclass of another class.Rules translate mathematical axioms considering constraints on the related objects via a certain property or on a certain feature value.Ontology-based systems use these rules to implement complex reasoning mechanisms.
Ontology-based recommender system is a new trend in recommender systems.Ontology represents the concepts of a certain domain and their interrelations.In ontology-based recommender system, ontology represents both the user profile and the recommendable items.Preferences are richer and more detailed than the standard keywords-based ones.Ontology interprets terms with other terms according to their semantic relations.Its hierarchical structure allows an analysis of preferences at different abstraction levels.It is used to store and exploit the personal preferences of a user and has powerful modelling and reasoning capabilities.It permits a high degree of knowledge sharing and reuse.There are some ontology-based recommender systems (Cantador, 2008;García-Crespo et al., 2009;Middleton et al., 2009;Mínguez et al., 2010;Alonso et al., 2012;Parundekar and Oguchi, 2012;Bouneffouf, 2013;Cena et al., 2013;Ruotsalo et al., 2013;Codina, 2014;Al-Hassan, 2014;Nogués, 2015).In ontology-based recommender system, spreading activation can be used to learn the user profile dynamically which explain in the next section.

SPREADING ACTIVATION
Spreading Activation (SA) originally comes from cognitive psychology (Collins and al., 1975).It is a cognition model and describes the psychological result of perception and logic reasoning.It represents value propagation on a semantic network (Anderson, 1983) and is used for information retrieval purpose (Preece, 1981;Crestani, 1997) Spreading activation is fast, scalable and compatible with data incompleteness even on large datasets.Some previous works proposed ontology-based recommender system for contentbased recommendation using Spreading Activation strategies (Liu and Maes, 2005;Cantador et al., 2008;Blanco-Fernandez et al., 2008;Sieg et al., 2010;Codina, 2014;Nogués, 2015).None of these previous studies considers more effect in the spreading process for nodes which their preference values is assigned directly by the user.

PROPOSED METHODOLOGY
The proposed recommender system is a content-based recommender system that predicts the user's degree of interest for POIs considering the user preferences and the features of the POIs.Then, it proposes a ranked list of POIs that fits better with his preferences.Traditional content-based recommender systems only uses "syntactic" concept relatedness and have limited accuracy, especially in sparse rating data.To overcome this problem, the proposed ontology-based recommender system improves the effectiveness of traditional content-based recommender systems by considering semantic domain knowledge using ontology.It represents both the information about the POIs and the knowledge about the user preferences more precisely.The proposed ontology-based recommendation process is performed in three steps including: ontology-based content analyzer, ontology-based profile learner and ontologybased filtering component (Figure 1).

Ontology-based content analyzer
To mitigate the lack of semantics of traditional keyword-based point of interest representation, the ontology is used to represent the main features of the different POIs that the user was considering.The basic idea consists of mapping the keywordbased profiles to a domain ontology representation.Some previous researches mapped keyword-based item profiles to concepts in the ontology (Magnini and Strapparava, 2001;Eirinaki et al., 2003;Degemmis et al., 2007).In this paper, POIs representation is shifted from the keyword-based representation space to the domain ontology space .The proposed method uses a taxonomical hierarchy in tourism domain and had 'is-a' relationships (Figure 2).Some classes may have more than one superclass.The hierarchical organization of the concepts in ontology permits to make a representation of the characteristics of the POIs (and the users' preferences) at different levels.Then, it is used to learn user profiles in the same semantic space and generate recommendations based on the affinity between user and item profiles.This representation is used in ontology-based profile learner and ontology-based filtering component.Spreading activation is used to infer a user interest model from POIs ratings in the past.There are some studies that use Spreading Activation in recommender system (Fink and Kobsa, 2002;Middleton et al., 2004;Cantador et al., 2008Cantador et al., , 2011;;Sieg et al., 2010;Wang et al., 2010;Liu and Maes, 2005;Blanco-Fernandez et al., 2008;Kaminskas et al., 2012).
In the proposed recommender system, a semantic network is created.The nodes are the class instances and the links relate the nodes to each other.Each node has an initial activation level equal to its degree of interest that reflects the significance of the relationship between the POI and the user preferences.Each link has a weight in such a way that the stronger the relationship between both nodes, the higher the weight.Initially, a set of nodes are selected and their activation levels are changed.These changes are spread until reaching the neighbor nodes that connected to them by links.The activation level of a reached node is computed considering the activation levels of its neighbor nodes and the weights of links that join them to each other.Consequently, the higher activation levels of the neighbor and the higher the weights of the links between the node and its neighbor nodes, the more relevant this node.This propagation process is continued until reaching all the nodes of the network.where  is the set of ancestor nodes, and || is the number of nodes in .
To update the user profile, user can be assign preference value as a feedback to lowest level nodes in ontology.Since the user assigns the preference value directly, its confidence values is 1.
The updated preference and confidence values of this node (  and   ) is updated as follows: (5) where   and   are the old preference and confidence values,   and   are the assigned preference and confidence values by user, and β is a parameter in [0,1].These values are propagated to their ancestors (upwards propagation) through the proposed ontology.The aggregated preference and confidence values of the ancestor node (  and   )is as follows: The updated preference and confidence values of the ancestors (  and   ) is as follows: The updated nodes propagates the preference and confidence values to their descendants (  and   ) as follows (downward propagation): To initialize and update the ontology-based user profiles, three different Spreading Activation strategies is proposed.The first method considers a preference and a confidence values to each node that their values are between 0 and 1.In the second method, similar approach is used.But preference and confidence values are not limited between 0 and 1.The third method is similar to first approach.But each node only has a preference value that its values is between 0 and 1.

Ontology-based filtering component
Previous ontology-based recommender systems that use Spreading Activation strategy use traditional syntactic vectorbased similarity measure between user and item profile in profile matching.They are suffer from lack of semantics intelligence and do not consider syntactically different concepts.The proposed recommender system considers semantic similarity in the prediction phase to suggest better recommendations.It matches the semantic user profile against semantic item representation and results a ranked list of potentially interesting items.

IMPLEMENTATION AND RESULTS
This paper proposed a new ontology-based tour recommender system to suggest a rank list of POIs to a tourist.1573 POIs were considered based on proposed tourism ontology that are located in regions 6, 7, 11 and 12 of Tehran, the capital city of Iran (Figure 3).In the first method, each ontological node has a preference and a confidence values that their values are between 0 and 1.The proposed system asks the user to assign preference values to the first level of the proposed tourism ontology.He enters 0.9, 0.6, 0.5, and 0.8 as his preference values to Culture, Nature, Sports and Leisure node, respectively.The system propagates the preference and confidence values to their descendant nodes through ontology structure and computes initial preference and confidence values of all nodes.Figure 4 shows the initial user profile using the first method.The left and right values are preference and confidence value of each node, respectively.
The system proposed a list of interesting POIs to user according to the initial user preferences and user position.Only POIs that are within a predefine distance from the user can be recommended.The recommended POIs are "Goharshad Shopping Center", "Eram Cinema", "Abgineh Museum", and "Lalehzar Mosque".User assign preference value as a feedback to "HistoricalMuseum", "Gymnasium", "ShoppingCenter", and "Park" as 0.95, 0.75, 0.7, and 0.5, respectively.The system propagate upwards and downwards the user feedback through the proposed ontology and adapt the user preferences.Figure 5 shows the updated user profile using the first method.
A new list of interesting POIs is recommended based on updated user preferences and user position.The recommended POIs are "Iran Basetan Museum", "Roudaki Traditional Restaurant", "Berlan Shopping Area", and "Honar Gymnasium".
Figure 5. Updated user profile in first method.
The second method uses similar approach.But each ontological node has a preference and a confidence values that their values are not limited between 0 and 1. Figure 6 shows the initial user profile using the second method.
The third method is similar to first approach.But each ontological node only has a preference value that its values is between 0 and 1. Figure 7 shows the initial user profile using the third method.
The result shows that the three proposed approach similar user preference values.The only differences are in preference values of Sport and Leisure concepts.These values are increased 24% and 9%, respectively, using second approach with respect to two other approach.
Figure 6.Updated user profile in second method.
As a conclusion, note that the spreading process employed in our reasoning-based approach has three main advantages in the personalization field.
The ontology is used to compare the properties of a point of interest with the user's preferences and the features of different POIs.The proposed recommender system permits knowledge reusing.User feedback adapts the user profile by Spreading Activation strategy.The preference information is propagated through ontology.This facilitates the reasoning process to exploit related knowledge.The ontology is used to match the user preferences with the representation of each point of interest.
Then, the proposed recommender system suggests a personalized list of POIs based on changing user's preferences.
The proposed recommender system suggests POIs satisfying at least one of the three conditions: the corresponding node is relevant initially and has high initial activation level, its neighbour nodes are also relevant for the user and have high activation levels, and it is closely related (links with high weight) to the user's preferences.In this paper, considering the user feedback, the preference values of Culture, Nature, and Sport nodes is increased and the preference value of Leisure node is decreased.
Figure 7. Updated user profile in third method.
Traditional content-based recommender systems suffer from sparse data problem.They need a minimum amount of user ratings to learn user profiles accurately and suffer from new user cold-start problem.The proposed recommender system overcomes these limitation using Spreading Activation to propagate user interest.
Furthermore, the recommended POIs are diverse, beyond the overspecialized suggestions using traditional content-based recommender system.It suggests POIs that do not the same attributes defined in user profile.

CONCLUSION AND FUTURE WORKS
This paper proposed a new recommender system that improves the effectiveness of traditional content-based recommender systems by considering ontology.It mitigates the sparse data related limitations of traditional content-based recommender system.The proposed recommendation process has three steps including: ontology-based content analyzer, ontology-based profile learner and ontology-based filtering component.It uses spreading activation strategy to adapt ontology-based preferences.
Specific recommendations for future research directions includes considering contextual information such as the weather forecast, the season of the year, the time of the day, and the management of traffic accident.The proposed method considers explicit user feedback.However, the huge amount of the data in recommender systems is implicit.The proposed method can be extended to analyze implicit user feedback.Furthermore, future studies can be permit the user to add more explanations about the reasons that have motivated a certain recommendation, and use this knowledge in the recommendation process.

Figure 1 .
Figure 1.The architecture of the proposed ontology-based recommender system

Figure 2 .
Figure 2. The proposed tourism ontology The proposed method assigns two values (preference and confidence) to each node in ontology.To initialize user preference, the proposed system asks the user to assign preference values to the first level of the proposed tourism ontology (Culture, Nature, Sports and Leisure) between 0 and 1.Since the preference values is assigned directly by the user, their confidence values is 1.The proposed ontology structure is used to propagate the preference and confidence values to their descendant nodes (downwards propagation).The preference value () of each descendant node is computed as the weighted average of the preference values of its ancestors and the weights are the associated confidence values.The confidence value () of the descendant node is computed as the average of the confidence values in its ancestors, decreased by α:  = ∑     ∈ ∑   ∈

Figure 3 .
Figure 3.The dataset for the case study The proposed system uses ontology to represent features of POIs.It generates ontology-based user profile based on the proposed domain ontology and uses three different Spreading Activation strategies to initialize and update the ontology-based user profiles.

Figure 4 .
Figure 4. Initial user profile in first method . It applies on a network data structure that consists of nodes connected by means of links.All related information is considered as node and has an activation level.Relations among the concepts are represented by link between nodes.To initialize the algorithm, an activation value is putted on one or several nodes of a network and spread to the nearest and relevant nodes.The processing technique consists of a series of iterations.It terminates until a stopping condition (e.g.number of node processed) is reached.Let    is the activation value of node   , (  ) is the set of vi's neighbor nodes with links to   ,    is the activation of node   connected to node   , and    ,  is the weight of link between node   and   .Spreading Activation algorithm compute the activation value of node   as follow: