A CONTEXT-AWARE TOURISM RECOMMENDER SYSTEM BASED ON A SPREADING ACTIVATION METHOD

: Users planning a trip to a given destination often search for the most appropriate points of interest location, this being a non-straightforward task as the range of information available is very large and not very well structured. The research presented by this paper introduces a context-aware tourism recommender system that overcomes the information overload problem by providing personalized recommendations based on the user’s preferences. It also incorporates contextual information to improve the recommendation process. As previous context-aware tourism recommender systems suffer from a lack of formal definition to represent contextual information and user’s preferences, the proposed system is enhanced using an ontology approach. We also apply a spreading activation technique to contextualize user preferences and learn the user profile dynamically according to the user’s feedback. The proposed method assigns more effect in the spreading process for nodes which their preference values are assigned directly by the user. The results show the overall performance of the proposed context-aware tourism recommender systems by an experimental application to the city of Tehran.


INTRODUCTION
Tourism has cultural, social, and economic effects on human communities.One of the main issues in the tourism domain is how to help a user to plan a trip to a given destination.Since there are huge amounts of information available in the tourism domain, and as the user often faces time and budget limitations, such user needs to select the most appropriate points of interest (POIs) near a given location.A POI can be roughly defined as a specific tourist attractions that the user may find interesting according to some criteria that reflect some cultural or historical interests.Most often, the user selects POIs according to some general recommendations offered for example by travel agencies or documents that did not consider his own preferences.Moreover, a POI a user might be interested in depends on the specific context.For instance, a user might prefer to visit an open area in a sunny day rather than in a rainy day.Moreover, he can visit museums in a weekday and cannot visit them in the weekend.
Context-aware tourism recommender systems can be used to overcome these problems.These systems might help to select the most interesting POIs based on the user's preferences and contextual situations (Adomavicius and Tuzhilin, 2015).They overcome the mentioned information overload problem and take into account contextual information in recommendation process.However, and to the best of our knowledge, previous contextaware tourism recommender systems (Baltrunas et al., 2012;Gavalas and Kenteris, 2011;He et al., 2016;Savage et al., 2012) suffer from a lack of formal definition to represent the user's preferences, and contextual information and do not consider semantics similarity between the user's preference and POIs.They do not take into account the user's feedback to update the contextualized user profile.In order to overcome these problems, the user, POIs, and context information should be represented by an ontology.Moreover, the contextualized user profile should be updated by the user's feedbacks.
Several ontology-based recommender systems apply spreading activation techniques (Anderson, 1983;Collins and Loftus, 1975) to update the user's profile based on his feedbacks (Blanco-Fernandez et al., 2008;Cantador et al., 2008;Cantador et al., 2011;Codina, 2014;Fink and Kobsa, 2002;Kaminskas et al., 2012;Liu and Maes, 2005;Middleton et al., 2004;Nogués, 2015;Sieg et al., 2010;Wang et al., 2010).However, they do not take into account context information in the recommendation process.Also, they do not consider confidence for activation value and not assign more effect in the spreading process for nodes which their preference values are assigned directly by the user.
In our previous work addition, we apply an ontology and spreading activation method to update the user profile and take into account the confidence of the user's preference, but we do not consider contextual situations (Bahramian and Abbaspour, 2015).Moreover, while (Francis Jr, 2000;Hussein, 2013;Kovacs and Ueno, 2006) represent the domain knowledge and context factors even in sparse data, and extend spreading activation network with link types and context nodes to generate contextaware recommendations, they do not account user confidence and the sibling effect.
In order to overcome these mentioned problems, we propose a new context-aware tourism recommender system based on an ontology approach where the user, recommendable POIs, and context information are represented by an ontology.In this paper, a spreading activation technique is used to contextualize user preferences and learns the user profile dynamically.It also takes into account a confidence value for each activation value to assign more effect for a POI class which its preference value is assigned directly by the user.The proposed method considers the preferences of a given user, compares such user preferences to POIs' available information and recommends the most relevant POIs based on his preferences.The contributions of this paper are (1) providing a tourism recommender system that considers contextual situations in the recommendation process; (2) taking into account a formal definition to represent the recommendable POIs, the user's preference, and contextual factor; (3) considering the user's feedbacks in order to update user profile using spreading activation model; and (4) assigning a confidence value to each user's preferences to consider more effect for the POI class which its preference value is assigned directly by the user.
The paper is organized as follows.Section 2 introduces the main principles of our context-aware tourism recommender systems while section 3 develops the ontological background.The spreading activation technique is described in section 4. Section 5 explains the proposed context-aware recommender system applied to the tourism domain followed by a description of an implementation and its evaluation in section 6.Finally, section 7 draws the conclusions and outlines future work.

CONTEXT-AWARE TOURISM RECOMMENDER SYSTEMS
In the tourism domain, a user faces information overload considering the extensive information about the set of POIs potentially available in a given city.This is one of the main reasons for taking into account user preferences in order to provide some personalized recommendations.A tourism recommender system compares all possible POIs information with the user preferences.It rates the identified POIs and presents the most interesting ones to the user among a large space of possible POIs (Aggarwal, 2016;Lu et al., 2015;Ricci et al., 2015).Recommender systems are based on two main paradigms: content-based and collaborative.The content-based concept compares the user profile with the POI representation (Borras et al., 2014).Whereas the collaborative concept searches for similar users that have similar preferences to the given user's preferences and recommend the POIs they have previously selected (Bobadilla et al., 2013).
Most existing tourism recommender systems select the most relevant POIs to individual users without considering any contextual information (Borras et al., 2014).They consider only the User and POI and specify the initial set of ratings.The usual rating function R is as followed.
R : User × POI → Rating (1) where User, POI and Rating model the users domain, POIs domain and ordered set of rating, respectively.
The rating function is estimated for the whole User × POI space, a recommender system recommend the k highest-rated POIs to a user.But a context-aware recommender system is required to incorporate the contextual information, recommend POIs to users in certain circumstances and improve the recommendation generation process.Context has been studied in different research disciplines, including computer science, cognitive science, philosophy, psychology, and linguistics.Context can be defined as "any information that can be used to characterize the situation of an entity.An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and applications" (Dey, 2000).In a context-aware recommender system, the following rating function RC considers not only POIs and users, but also the context.
(2) where Context models the contextual information.
The context-aware recommendation process applies a three-level paradigm as introduced in (Adomavicius and Tuzhilin, 2015) including contextual pre-filtering, contextual post-filtering, and contextual modeling.Contextual pre-filtering paradigm selects the relevant set of POIs using current context information and predicts the ratings using the selected data.Contextual postfiltering paradigm initially ignores contextual information and predicts the ratings using the entire data.Lastly, the resulting set of recommendations is enriched using contextual information.The contextual modeling paradigm takes into account contextual information to estimate the final ratings.In a context-aware recommender system, an ontology can be used to represent the user, POIs, and context information.The next section describes the ontology and ontology-based recommender systems.

ONTOLOGY
Ontology provides a formal and shared conceptualization in a certain domain using a machine understandable language (Guarino et al., 2009;Guber, 1993).It consists of a set of relevant concepts and relationships between them in a given domain.The main components of ontologies are classes, instances, properties, and rules.Class represents abstractly a concept of a domain with a certain number of features, while instance of a class is a specific individual of that class and each of its features has a particular value.Property presents binary semantic relationship between classes.For example, the 'is-a' property defines a class as subclass of another class.Therefore a descendant class is a subclass of an ancestor class.Rule describes mathematical axiom, considers constraints a certain property or a certain feature value, and implements complex reasoning processes.
Ontology-based recommender system is an emerging trend in recommender system (Middleton et al., 2009).Ontology represents the concepts of a certain domain and their interrelations.In an ontology-based recommender system, preferences are richer and more detailed than the standard keywords-based ones.Moreover, ontology interprets terms with other terms according to their semantic relations.Also, its hierarchical structure allows for an analysis of preferences at different abstraction levels.Ontology is used to store and exploit the personal preferences of a user and has powerful modeling and reasoning capabilities.In addition, it permits a high degree of knowledge sharing and reuse.
In a context-aware recommender system, ontology can provide a formal definition in a certain domain support a representation of the context features and the recommendable POIs, representation of recommended POIs, representation of the recommendation process, and representation of the functional modules (Buriano et al., 2006).
In an ontology-based recommender system, activation can be used to learn the user profile dynamically as explained in the next section.

SPREADING ACTIVATION
The concept of spreading activation (SA) traces back to (Collins and Loftus, 1975) as introduced in cognitive psychology.It combines principles derived from psychological perception and logic reasoning.It can be applied to propagate values on a semantic network (Anderson, 1983) and is used for information retrieval purpose (Crestani, 1997;Preece, 1981).In spreading activation method, a given concept is represented by a node and has an activation value.A relation among different concepts is represented by a link between nodes and has a weight value.To initialize the algorithm, one or several nodes of a network are activated and these activations spread to the relevant nodes.This process is iterated until a stopping condition (e.g., number of node processed) is reached.Spreading activation technique computes the activation value of node   as follow: Spreading activation is fast, scalable and compatible with data incompleteness even when applied to large datasets.

PROPOSED METHODOLOGY
This paper proposes a new context-aware tourism recommender that takes into account the user's preferences, POIs' features, and contextual information.In this paper a combination of contextual modeling and contextual post-filtering paradigms is applied to integrate contextual information into the recommendation process.The proposed method predicts the amount of user's interest for POIs and proposes a list of preferred POIs near the user location.
In order to overcome the mentioned problems in section 1, the proposed method represents the contextual factors as well as the domain knowledge by an ontology.Ontological information enhances the performance of traditional context-aware tourism recommender system.Moreover, a spreading activation method is used to learn the user profile dynamically according to the user's feedbacks.Furthermore, for each node in domain knowledge, the proposed method takes into account a confidence value for its activation value.Therefore, if the preference value of a node in domain ontology is assigned directly by the user, then this node has more effect in recommendation process.
The proposed context aware recommendation process is performed in three steps including the integrated domain and context semantic network construction phase (section 5.1), semantic network learning phase (section 5.2), and recommendation phase (section 5.3) as showed in Figure 1.The proposed method takes into account the ontology of context factors that are dependent on the tourism domain and include distance to POIs (e.g., nearby, and far away), time (e.g., working day, and weekend), and weather information (e.g., sunny, cloudy, rainy, and snowy).Figure 3 illustrates the proposed context ontology.In the context ontological model, the activation levels represent the level of fulfillment based on some measurement.The proposed representation is used to learn the user profile in given context situations and recommends POIs near user location based on the affinity between user and POIs profiles in a given context.

Semantic Network Learning Phase
The proposed context-aware recommender system uses spreading activation technique to initialize and adapt ontologybased user profiles in certain contextual situations.In order to initialize the ontology-based user profiles, the spreading activation technique is used.The user assigns preference values to the first level of the proposed tourism ontology in a general situation between 0 and 1.Since the user assigns the preference values directly, their confidence values of these nodes are set to 1.The domain ontology is used to propagate the preference and confidence values to their descendant nodes (downwards propagation) and compute initial preference and confidence values of all nodes in domain ontology.For each descendant node, its preference value () is the weighted average of the preference values of its ancestors and the weights are the related confidence values.And the confidence value () is the average of the confidence values in its ancestors, decreased by α: where  is the set of ancestor nodes, and || is the number nodes in .
In order to keep the contextualized user profile up-to-date, the proposed context-aware recommender system uses spreading activation technique to infer a user interest model from the user's feedbacks and update the ontology-based context-aware user profiles.Using the spreading activation technique, context factors or user actions trigger an activation flow through the network and adapt the user profile accordingly.
In order to consider contextual situation in user profile update, each node has an initial activation value of 0 at the initial step.To update the user profile, a user can be assigned a preference value as a feedback to the lowest level nodes in the ontology in given situations.If the user ranks a given POI, its confidence values is set to 1 since the preference value is assigned by the user directly.The updated preference and confidence values of this node (  and   ) are updated as follows: 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].
The node representing that POI now is the initial node in another spreading activation run and triggers the activation flow to all related items.The related node is selected and its activation value is changed.These values are propagated to their ancestors (i.e., upwards propagation) through the proposed ontology.The aggregated preference and confidence values of the ancestor node (  and   )are as follows: The updated preference and confidence values of the ancestors (  and   ) are as follows: where  is a parameter in [0,1] that determines the level of cooperation between the current values and the ratings and weights given by the user in the updated preference and confidence values.
The activation value of a reached node is computed using the activation values of its neighbor nodes and their related links' weights.The higher activation value 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 domain model network.This change is spread until reaching all the neighbor nodes that connected to them by links.The updated nodes propagates the preference and confidence values to their descendants (  and   ) as follows (downward propagation): The updated preference and confidence values of the descendants (  and   ) are as follows: = ×   + (1 − ) ×   (15)

Recommendation Phase
The proposed system considers semantic similarity in recommendation process and results a ranked list of potentially interesting POIs.Then it uses the related contextual information and the user location to filter these list and recommend a contextualized list of potentially interesting POIs near the user location.

Implementation and Results
This paper proposes a new context-aware tourism recommender system to recommend a rank list of POIs to a given tourist that are located near the user.Based on the tourism ontology, 1573 POIs are considered that are located in regions 6, 7, 11 and 12 of Tehran, Iran (Figure 4).In the proposed method, the domain knowledge and contextual factors are represented by the ontology and a semantic network is constructed.In the learning phase, to initialize the user profile, the system asks a user to assign the preference values of the first level of the proposed tourism ontology.For instance, the user assigns values 0.2, 0.4, 0.3, and 0.1 to Culture, Nature, Sports and Leisure concepts, respectively.The confidence values of these nodes are set to 1.The system propagates the preference and confidence values to their descendant nodes (i.e., downwards propagation) (equations 4 and 5) and compute the initial preference and confidence values of all nodes in the domain ontology.
To contextualize the user profile, the context factors are used as initial nodes in the spreading activation and transmit the activation flow.Four scenarios for contextual information are considered including sunny workday, sunny weekend, snowy workday, and snowy weekend.For each of these scenarios, to adapt the user profile, the user assigns new preference value to traditional restaurant as 0.7 whereas its previous preference values are 0.15.Its related confidence value is set to 1.The system updates the user profile according to equations 6, 7, 8, 9, 10, 11, 12, 13, 14 and 15.The four scenarios find different user preference values for Museum and TraditionalOpenArea concepts (Table 1).In the last phase, the system uses the learned contextualized user profile.It considers the current user position and recommends POIs in distance of 1 km from the current position of the user (contextual post-filtering).Table 2 and Figure 5 show the recommended POIs in each scenario.The results show the dependency of the recommended POIs to the contextual information.The proposed context-aware recommender system contextualizes and personalizes the recommended POIs by taking into account the user profile, user feedback, and specific circumstances.
Overall, it appears that the proposed method has some advantages.The proposed context-aware recommender system integrates to some extent the knowledge domain and context factors using the ontology.Furthermore, current context-based recommender systems often suffer from overspecialization.The proposed system overcomes this problem and suggests POIs that do not exactly match the attributed defined in the user profile.
In addition, the and context information are propagated thanks to the ontology.In other word, the user feedback adapts the user profile in a given circumstance by the spreading activation technique.Therefore, while current contextaware recommender systems need a minimum amount of user ratings to learn the user profiles (i.e., sparse data problem), the proposed system overcomes these problems using spreading activation to model and propagate the user interest.Moreover, it permits to reuse the knowledge and context domains.This facilitates the reasoning process and to exploit the available knowledge.

Conclusion and Future Work
The objective of the context-aware recommender system applied to the tourism domain and developed in this paper is to improve the effectiveness of current content-based recommender systems by considering domain knowledge and contextual factors thanks to an integrated ontology.The proposed recommendation process is based on three complementary steps: a context-based and semantic network construction, a learning process applied to the semantic network, and personalized recommendations to the user.Contextualized and personalized recommendations suggest the most appropriate POIs near the user location considering user preferences and specific constraints.The system applies a spreading activation strategy to retain and adapt ontology-based preferences.It mitigates the sparse data and overspecialization limitations of current recommender systems.
Future research directions should consider additional contextual information given by temporal constraints (e.g., seasons, time) and events at different levels of granularity.While the proposed system considers explicit user feedback, this can be also extended to learn from implicit user feedbacks.Future work can also search for additional explanations and motivations when providing choices and recommendations, as well as rewarding such recommendations in order to take into account the appropriateness of such recommendations.

Figure 1 .
Figure 1.The architecture of the proposed context-aware tourism recommender system5.1 Integrated Domain and Context Semantic Network Construction PhaseAs mentioned in section 1, previous context-aware recommender systems only consider "syntactic" concept relatedness and suffer from a lack of semantics in domain and context representations.Therefore, their accuracy is limited when considering sparse data.In order to overcome this problem, the main features of domain knowledge and context factors are represented by an ontology (i.e., contextual modeling).The domain knowledge represents knowledge relevant to the POIs.The proposed method maps the keyword-based POIs representation to a domain knowledge ontology representation to create domain knowledge semantic network.The proposed domain model is a taxonomical hierarchy applied to the tourism domain and models POIs representation at different levels (Figure2).It has 'is-a' relationships and some classes have more than one superclass.Its nodes are the POIs' class instances and its links are the relation between the nodes.In the domain model, each concept has an activation level to represent the level of user interest with a confidence value.Considering a confidence value for each activation value leads to assign more effect for a POI class which its preference value is assigned directly by the user.Therefore, the proposed method assigns two values (i.e., preference and confidence) to each node in domain ontology.Each link has a weight that represents the degree of relationship between both concepts.

Figure 2 .
Figure 2. The proposed knowledge domain ontology applied to tourism domain

Figure 3 .
Figure 3.The proposed context ontology in tourism The context factors impact on the POIs recommendation are modeled by context relations.A context relation defines a link between a context factor in the context model, and a POI class in the domain model.It has a relevance weight that represents the importance of the domain item in a context Therefore, the domain knowledge and context factors are treated as concepts in the ontology and are linked to each other and form a semantic network.
When the current context factors are recognized, the nodes representing the current context factors are used as initial nodes in the spreading activation technique and trigger the activation flow.Therefore, related POIs to the current context have high activation values.During current circumstances, the activation values of the nodes are not reset, adaptations of content are initiated accordingly.

Figure 4 .
Figure 4.The dataset for the case study Figure 5.The recommended POIs in four scenarios (a) sunny and weekday, (b) sunny weekend, (c) snowy workday, and (d) snowy weekend is the activation value of node   , (  ) is the set of vi's neighbor nodes that link to   ,   is a neighbor node connected to node   ,    is the activation of node   , and    ,  is the weight of link between node   and   .

Table 1 .
Computed preference values of TraditionalRestaurant, Museum, Leisure, and TraditionalOpenArea in four scenario Table1shows the effectiveness of the proposed system to contextualize the user preferences.There is no difference for the user to visit a Leisure in sunny or snowy day, and working day or weekend.Therefore, increasing the amount of preference values of TraditionalRestaurant increases the amount of the preference value of Leisure in all four scenarios.However, in a working day, the Museum is open.Therefore, increasing the amount of the preference value of TraditionalRestaurant increases the amount of the preference value of Museum in a working day.Whereas, in a weekend, the Museum is closed, increasing the amount of the preference value of TraditionalRestaurant implies no change in the amount of the preference value of Museum in a weekend.Also, in a sunny day, the user might like to visit a TraditionalOpenArea.Therefore, increasing the amount of the preference value of TraditionalRestaurant increases the amount of the preference value of TraditionalOpenArea in a sunny day.Whereas, in a snowy day, the user might prefer to not visit a TraditionalOpenArea.Therefore, increasing the amount of the preference value of TraditionalRestaurant leads to no change in the amount of the preference value of the Museum in a snowy day.

Table 2 .
The recommended POIs in four scenarios