A Cold Start Context-Aware Recommender System for Tour Planning Using Artificial Neural Network and Case Based Reasoning

Nowadays, large amounts of tourism information and services are available over the Web. This makes it difficult for the user to search for some specific information such as selecting a tour in a given city as an ordered set of points of interest. Moreover, the user rarely knows all his needs upfront and his preferences may change during a recommendation process. The user may also have a limited number of initial ratings and most often the recommender system is likely to face the well-known cold start problem.The objective of the research presented in this paper is to introduce a hybrid interactive context-aware tourism recommender system that takes into account user’s feedbacks and additional contextual information. It offers personalized tours to the user based on his preferences thanks to the combination of a case based reasoning framework and an artificial neural network.The proposedmethod has been tried in the city of Tehran in Iran.The results show that the proposedmethod outperforms current artificial neural network methods and combinations of case based reasoning with k-nearest neighbor methods in terms of user effort, accuracy, and user satisfaction.


Introduction
Nowadays, huge amounts of tourism information are available over the Web.Such information may be helpful for a given user who plans to visit an unknown region.However, it is often overwhelming and time consuming for the user to look through all the available information in order to find out some relevant places of interest and to organize them in a sort of well-defined tour.Hence, irrelevant information should be filtered and personalized options should be extracted according to the user's preferences.
Recommender systems (RSs) can be roughly defined as information filtering and decision support tools that provide products and services that match user's preferences [1][2][3].Such recommender systems limit the information overload, provide personalized content, and increase systems usability as adapted to the problem [4][5][6][7][8].Most of current recommender systems assume that user's preferences do not change whatever the context [9,10].However, in the case of a recommender system applied to the tourism domain, user's preferences can be affected by many contextual factors that should be particularly considered when providing recommendations.For instance, when considering the user interest for a given point of interest (POI), many additional contextual parameters such as user's own mobility, previous history, and the timing of a recommendation should be considered as important contextual information.Hence, in order to provide satisfactory services to the final users, a contextaware tourism recommender system should be used in order to automatically adapt the recommendations to changing contexts [11][12][13].In other words, context-aware tourism recommender systems should incorporate contextual information into the recommendation process to appropriately model and predict the user preferences.Moreover, they should adapt these recommendations not only to the user's preferences but also to the contextual situation to generate more relevant suggestions.
However, and to the best of our knowledge, previous context-aware tourism recommender systems developed so far have not completely addressed these issues [9,[11][12][13][14][15][16][17][18][19][20][21][22][23][24][25][26][27][28].One weakness of these researches is that they often suggest to a given user a list of POIs, which are specific tourist attractions that a user may find interesting such as a historical or cultural buildings or any places worth being visited, rather than a tour as an ordered set of POIs.Moreover, and despite the fact that collaborative recommendations are often provided based on other users, self-learning processes based on the context and assessment of a given user are not taken into account.Also, another common drawback of related contextaware tourism recommender systems is that they generally offer suggestions to a given user in one single session only.Indeed, most of the users rarely know all their needs at first.Therefore, initial recommendations are likely to be not always satisfactory.Moreover, most current context-aware tourism recommender systems often suffer from the cold start problem which occurs when a new user with little prior ratings has been registered to the system, making it difficult to suggest meaningful recommendations for that new user.They also assume that the user's preferences are stable and do not take into account user's preferences variations over time.
In order to overcome these problems, several researchers apply case based reasoning (CBR) [29][30][31] to develop case based recommender systems that present user's preference as a query item that he likes and each item case as a set of attributes [32][33][34].These systems retrieve items that are similar to the user's query case.The main advantages of CBR is that (a) it can be directly applied to learn the user profile at the user modeling level, (b) it has the ability to learn the dynamic behavior of the system over time, and (c) it can provide effective explanation mechanisms when a sufficient number of previous cases are available.
However, an important issue still left for CBR is how to predict tours' ratings in order to recommend the most top rated tours to a user.In other words, some features are more important than the others, and then appropriate feature weighting should be executed before any rating prediction in order to take into account each feature relative importance.In existing case based recommender systems, the -nearest neighbor (KNN) method [35] is widely used in rating prediction [32,33], but it assumes that all selected features are equally important, this being not true in many cases as, for instance, each POI type is likely to have a specific interest value.Another open problem is how to progressively adapt the user model based on the information derived from the difference identified between a selected tour and the other tours in order to suggest a tour in a next cycle.
These problems lead us to proposing a hybrid method that combines an artificial neural network (ANN) [36,37] with CBR.Our research develops a cold start context-aware recommender system applied to the tourism domain that offers personalized tours to the user based on his preferences and some contextual information.Our objective is to overcome the above-mentioned problems by considering user's feedback and applying CBR using an ANN.The contributions of this paper include (1) providing a tourism recommender system that considers contextual situations in the recommendation process; (2) proposing an interactive framework that considers user's feedback to (a) suggest tours to a user with limited knowledge about his own needs, (b) overcome the cold start problem which occurs when a new user with little prior ratings uses the system, and (c) take into account user's preferences variations; (3) recommending some tours to the users including both POIs and routes between them over the street network; and (4) proposing tours to the user taking into account only his own preferences and feedbacks without considering the preferences and feedbacks of other users.
The rest of this paper is as follows.Section 2 introduces several concepts from recommender to context-aware recommender systems.It also briefly reviews context-aware recommender systems applied to the tourism domain.Then it presents the principles behind CBR and ANN and a brief introduction to semantic similarity principles.The proposed method and its implementation results are explained in Sections 3 and 4, respectively.Finally, Section 5 provides conclusions and outlines future works.

Literature Review
This section describes several basic concepts on recommender and context-aware recommender systems with a specific focus on the tourism domain.The main principles behind CBR, ANN, and property-based semantic similarity are briefly discussed.

Recommender Systems.
Recommender systems (RSs) select some items proven to better match user's preferences and reduce information overload [4,5,38].Without loss of generality, let us categorize current recommendation approaches towards content-based recommender systems, collaborative recommender systems, knowledge-based recommender systems, and hybrid recommender systems.They are discussed below.
Content-based recommender systems derive the similarity of features with respect to user's preferences and select the ones that best match user's preferences [39].Collaborative recommender systems make recommendations based on the preferences of similar users [3,40].Knowledge-based recommender systems apply reasoning mechanisms to make appropriate suggestions according to user's preferences as related to items properties [41][42][43].An interactive recommender system can be also considered as a knowledge-based recommender system.Navigation-by-proposing is one form of interactive recommender systems that are based on preference-based feedback [44][45][46].Hybrid recommender systems apply a combination of current recommendation techniques.The main idea behind hybrid recommender systems is to exploit the advantages of one technique to compensate for the shortcomings of another and improve the overall performance [47].A metalevel hybrid recommender system is a class of hybrid recommender system that uses the model learned by one recommender system as an input for another [47].

Context-Aware Recommender Systems.
Context may be defined as any additional information that can be used to characterize the location and properties of a given 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 themselves [48].In contextaware recommender systems (CARSs), the ratings are as a function of not only items and users, but also of contextual attributes whose role can be roughly formalized as follows [10,49]: where user, item, and context denote the considered modeling dimensions while rating returns the value of the considered item for that user according to the context.

Context-Aware Recommender Systems in the Tourism
Domain.Several context-aware recommender systems have been developed so far in the tourism application domain.
One of the early mobile examples in the tourism domain is the Cyberguide project [14].The Cyberguide offers several tour guide prototypes for handheld devices where contextual information on the user surroundings is provided on request.Contextual knowledge of the user's current and past locations are taken into account to generate user daily histories.GeoWhiz [22] proposes a mobile restaurant recommender system that uses a collaborative filtering approach based on user locations.Magitti [16] offers a mobile leisure guide system where a user context is detected.It infers current and possible future leisure activities of interest and recommends suitable venues to the users (e.g., stores, restaurants, parks, and cinemas).It offers a sort of context-aware system that considers time and location and additional context data such as weather and venues opening hours, as well as previous user patterns.It is also activity-aware and filters items not matching the users or explicitly specified activities.Reference [9] develops a location-based service recommendation model (LBSRM) that integrates location and user preferences to recommend the most appropriate hotels to the user.User preferences are taken into account thanks to an adaptive method including long-term and short-term preference adjustments.
Reference [15] proposes a hybrid mobile context-aware system to personalize POIs recommendations.POIs located within a radius around the user's location and based on the user's trajectory and speed are suggested.Contextually filtered POIs are filtered and selected according to the user's preferences.The mobile tourism recommendation system (MTRS) developed by [20] delivers several personalized recommendation services to mobile users, considering contextual information such as the user's location, current time, weather conditions, and POIs already visited by the users.The iTravel system [27] applies a collaborative filtering approach.The similarities between users are evaluated using the user rating lists.Nearby users are detected and rating data are exchanged using mobile peer-to-peer communications.I'm feeling Loco [13] is a ubiquitous location-based sites recommendation.It uses the user's preferences derived from the Foursquare location-based social network, the user's location, the used transport modes (e.g., walking, bicycle, or car), and the current user feeling in recommendation process.ReRex [11] assesses and models the relationship between contextual factors and item ratings.Using a predictive model based on matrix factorization, ReRex recommends POI and suggests a complete itinerary according to a particular itinerary's context.
SigTur/E-Destination [25] provides personalized recommendations applied to tourism activities.It considers different kinds of data including demographic information and travel motivations and takes into account user actions and ratings to generate recommendations.The approach is based on a tourism domain ontology that favors the classification of user activities.The reasoning process also combines contentbased and collaborative recommendations.TRIPBUILDER [17] suggests personalized city sightseeing tours.POIs are derived from Wikipedia and illustrated by Flickr georeferenced photos.Tours are inferred from POI travel times as inferred from Google maps and a Traveling Salesman Problem algorithm that minimizes travel times and maximizes user's interests.POIs are categorized and semantically described by their popularity and average visiting time and further enriched by patterns of tourist movements.
In [26], tourist locations of interest are derived from their proximity to Flickr geotagged photos, semantically contextualized according to their related season and weather context, and finally rated in order to recommend some POIs.Travel histories are then derived and annotated in a sort of topic-based model, this favoring the search for user similarities.Reference [21] develops a probabilistic topic model to recommend POIs, based on user's interests as well as the ones of socially related users.
POST-VIA 360 [19] assists tourists in previsit, duringvisit, and postvisit stages of their travels by means of a customer relationship management (CRM) approach.Geolocated POIs are classified and recommended thanks to an artificial immune system (AIS) that successively rates the POIs according to user rating.PlanTour [18] generates personalized oriented multiple-day tourist plans.The POIs are identified from a Minutube traveling social network and clustered over a daily basis.Tourist plans maximize the user utility and POIs travel distance.Reference [28] mines multiple periods in the time sequence to calculate the user's period of arriving at a certain area.Then they use item-based collaborative filtering for recommending locations based on users' preference and the periodic behaviors.
Table 1 summarizes such context-aware recommender systems as applied to the tourism domain according to a series of preselected criteria.The previous context-aware recommender systems in tourism domain apply single-shot recommendation strategy and return a single set of suggestions to a given user in one session only.They do not consider the user feedback in an interactive recommender system in tourism domain.Moreover, they are unable to propose recommendations to a user that has limited knowledge about his needs, or little prior ratings, or changing preferences during the time.In addition, none of the previous contextaware RSs in tourism domain recommend tours as sequences of POIs to the user.

Case Based
Reasoning.Case Based Reasoning (CBR) is a machine learning method that models human reasoning processes for learning and problem solving.A CBR stores past cases as a historical repository.Each case consists of two parts including the problem description and the solutions [29,50,51].The problem description represents the context, that is, when the case takes place, while the solution part shows the methods applied to resolve the case.The objective of CBR is to solve new problems using solutions that were used to address similar problems [30,31].The structural CBR approach is one type of case representation that represents cases according to a common structured vocabulary using predefined attributes and values [52].CBR generally involves four steps [53]: (1) retrieving similar previously experienced cases, (2) reusing cases by copying or integrating the emerging solutions from the retrieved cases, (3) revising or adapting the retrieved solutions to solve a new problem, and (4) retaining a new confirmed or validated solution (Figure 1).[36,37] is a branch of artificial intelligence inspired by the biological brain.It is a structure of connected nodes (i.e., artificial neurons) that are arranged in layers.The links between nodes have weights associated with them depending on the amount of influence one node has on another.A feedforward ANN is an ANN without any cycles in the network and propagates incoming data in a forward direction only.A multilayer perceptron (MLP) is one type of feedforward ANNs with full connection of each layer to the next one.The MLP consists of one input layer, one or more hidden layers, and one output layer.Nodes in the input layer respond to data that is fed into the network, while output nodes produce network output values.Hidden nodes receive the weighted output from the previous layer's nodes.Figure 2 shows the  input − hidden − output ( input denotes input neurons,  hidden denotes hidden neurons, and  output denotes output neurons) architecture of a feedforward multilayer perceptron ANN.

Input layer
Hidden layer Output layer The output of unit  in layer  + 1 is ( The most common concrete algorithm for learning MLP is the backpropagation algorithm.In the backpropagation algorithm, the computed output values are compared with the correct output values to compute the value of error function.Then, the error is fed back through the network.The derivatives of the error function with respect to the network weights are calculated.The weights of each connection are adjusted using gradient descent method such that the value of the error function decreases.This process is repeated until the network converges to a state with small error.Different training algorithms have been so far applied to train a backpropagation MLP.Each algorithm adjusts the ANN as follows: where  is the index of iterations

RP
It considers only the sign of the partial derivative to determine the direction of the weight update and multiplies it with the step size (Δ  ).

CGF
The vector of weights changes is computed as Δ  =     , where   is the search direction that is computed as , where the parameter   is computed as .

CGP
The vector of weights changes is computed as Δ  =     , where   is the search direction that is computed as , where the parameter   is computed as

CGB
The search direction is reset to the negative of the gradient only if there is very little orthogonality between the present gradient and the past gradient as explained in this condition.

SCG
It denotes the quadratic approximation to the error  in a neighborhood of a point  by To minimize   (), the critical points for   () are found as the solution to the following linear system:    () =   () +   () = 0.

BFG
The vector of weights changes is computed as Δ  = −     , where   is the Hessian (second derivatives) matrix approximated by   as

OSS
It generates a sequence of matrices  () that represents increasingly accurate approximations to the inverse Hessian ( −1 ).The updated expression uses only the first derivative information of  as follows: and  is the transfer function.It does not store the complete Hessian matrix and assumes that the previous Hessian was the identity matrix at each iteration.

LM
The vector of weights changes is computed as where combination coefficient  is always positive,  is the identity matrix,   is Jacobian matrix (first derivatives), and   is network error.
between two objects is given by a feature-based semantic similarity calculation method as follows [54,55]: where CF   (

Proposed Methodology
The objective of this paper is to consider the user feedbacks and develop a hybrid interactive context-aware recommender system applied to the tourism domain that offers personalized tours to a user based on his preferences.The proposed method combines an interactive tourism recommender system designed as a knowledge-based recommender system with a content-based tourism recommender system thanks to applying CBR and ANN.
The proposed method takes into account contextual information in the modeling process as a contextual modeling approach whose objective is to recommend the most appropriate tours to a user.It takes into account contextual information as follows: (i) POIs locations in the user's environment (ii) POIs opening and closing times (iii) the street network (iv) the tours already visited by the user denoted as his mobility history (v) the distance traveled by the user on the street network.
Moreover, the rating assigned to the visited tours by the user and user's feedbacks are considered as user preferences and feedbacks, respectively.The following subsections develop the problem formulation and the proposed context-aware tourism recommender system.

Problem Formulation.
In this paper, each tour is modeled as a sequence of POIs.A POI is a specific tourist attraction or place of interest that a user may find of value.Pois denotes the set of all POIs located in the case area as where  poi is the total number of POIs that are located in the case area.The proposed method considers  type POI types such as restaurant and cultural place types.Each POI belongs to one of these types.Let Types denote the set of all POI types available in the case area as Types = {tp 1 , tp 2 , . . ., tp  type } .
The function FuncType returns the type of a given POI as FuncType: Poi → Type.
A Tour  is a nonempty nonrepetitive sequence of POIs that a user visits: where  is the number of POIs in Tour  and tr  is a POI (tr  ∈ Pois,  = 1, 2, . . ., ) in such a way that ∀ ̸ = : tr  ̸ = tr  .tm  ( = 1, 2, . . ., ) denotes the time that a user starts visiting tr  .Without loss of generality, let us introduce a constraint to illustrate the potential of the approach.The proposed method also assumes that the dinning time is between 12 am and 2 pm.Therefore, if the start time of visiting a POI in a tour is between 12 am and 2 pm, the mentioned POI must be located in "Restaurant" type.
Then Tours denotes the set of all possible tours considering the mentioned constraints that is given as The user can assign a rating to each visited tour which is then stored in his history.The rating values are in the unit interval [0, 1] and reflect the user's need.The tour with the highest rating will be the most interesting one.The FuncRank function returns Rating  as the rating of Tour  .
FuncRate: Tours → [0, 1] For each Tour  = {tr 1 , tr 2 , . . ., tr  },   is computed as where   ( = 1, 2, . . .,  type ) denotes the number of POIs in Tour  that are located in tp  POI type; TourDistance  denotes the distance traveled in Tour  that is the sum of distances between each two consecutive POIs in Tour  on the street network and computed as where Dist(tr  , tr (+1) ) is the shortest path between tr  and tr (+1) on the street network.
Mobile Information Systems

Proposed Context-Aware Tourism Recommender System.
Our objective is to develop a context-aware tourism recommender system that suggests the highest rated tours to a user based on his preferences.We assume that the user does not know a priori the types of POIs he would like to visit, and that he has little prior knowledge of possible recommended tours.The system asks the user to assign the starting time and the ending time of his requested tour.The proposed method first considers the user's mobility history and his interactions with the system to capture user's preferences.The proposed interactive tour recommender system is developed in three successive steps.
Step 1.The system learns the current user model and recommends  show new tours to the user based on the current user model and some contextual information.
Step 2. The user selects (or rejects) a tour among the recommended tours and assigns a rating to it as a feedback.The feedback on the selected tour elicits the user's needs.This feedback is case based rather than feature-based.
Step 3. The system revises the user model for the next cycle using information about the selected tour and  similar similar tours.
The recommendation process finishes either after the presentation of a suitable tour to the user or after some predefined iterations.
In order to implement this interactive tour recommender system, the system applies the CBR method as a knowledgebased filter.It develops a structural case representation that each case consists of a tour and its related rating.Each tour is considered as a problem description while its rating is the problem solution.CBR stores a history of the visited tours and their related ratings as previous cases.When applying the retrieval and reusing stages of a CBR cycle, the system uses the previously visited tours and recommends the  show highest rated tours to the user.At the revising stage of a CBR cycle, the user selects or rejects one of the recommended tours and revises its rating by assigning a new rating to it as a feedback.In the retaining stage of CBR cycle, the system adapts the user model to use it in the next cycle.
To overcome the mentioned problems in an interactive case based recommender system, the proposed approach combines an ANN with CBR and actually takes into account the specific properties and values of each tour.We introduce a hybrid recommender system that applies ANN (as a content-based recommender) and CBR (as a knowledgebased recommender) in a homogeneous approach denoted as a metalevel hybrid recommender system.A feedforward multilayer perceptron ANN is used in the retrieval, reusing, and retaining phases of a CBR cycle as follows.

Learning Current User Model and Recommending New
Tours.In this step, the proposed ANN is applied to the retrieval and reusing phases of a CBR cycle.The proposed multilayer perceptron neural network is made of 3 layers: an input layer, a hidden layer, and an output layer.For each visited Tour  , the inputs of the proposed ANN are the elements of   .Therefore, the input layer has ( Type + 1) neurons.The proposed ANN output is the related rating of the tour (Rating  ) and therefore the output layer has one neuron.The system uses the history of the visited tours and their related ratings to train the ANN.
The ANN computes the ratings of all possible tours (Tours) and recommends the  show best computed rated tours to the user, where  show is a system specified constant.

3.2.2.
Assigning the User Feedback.The user selects (or rejects) a tour from  show recommended tours and assigns its rating as a feedback.This feedback is used to revise the user model.

Revising the User Model according to His
Feedback.In this step, the proposed ANN is still used in the retaining phase of a CBR cycle due to its strong adaptive learning ability.The ANN adapts the user model based on the user's feedback.The similarity of the selected tours with all other tours is computed.Consider two tours Tour  = {tr 1 , tr 2 , . . ., tr  } and Tour  = {tr 1 , tr 2 , . . ., tr  }.The system computes   = ( 1 ,  2 , . . .,   type , TourDistance  ) and   = ( 1 ,  2 , . . .,   type , TourDistance  ).In order to compute the similarity between Tour  and Tour  , SIM(Tour  , Tour  ), the similarity between   and   is computed using Tversky's feature-based semantic similarity method described in Section 2.6.( In this paper, we assume  =  =  = 1.Therefore, the system determines the  similar most similar tours to the selected tour, where  similar is a system specified constant.It assigns their ratings the same as the selected tour rating.Using new ratings of the selected tour and its similar tours, the system adapts the proposed ANN and updates the weights of the proposed ANN.Therefore, the user model is updated for the next cycle.Accordingly, the system stores the user's feedbacks as new experiences in the memory. This process is iterated until either a suitable tour is presented to the user or a predefined number of iterations is reached, where the number of iterations is a system specified constant.In fact, too few interaction stages might lead to inaccurate user modeling and recommendations, while on the other hand interacting in too many iteration stages is likely to be a cumbersome user task.In order to provide a good balance, we consider 20 iteration stages.This choice is relatively similar to the ones made by related works and that considered between 10 and 20 iteration stages [56][57][58][59].The proposed hybrid CBR-ANN approach is used as an interactional tour recommender system by combining content-based recommender system (using ANN) and knowledge-based recommender system (using CBR) (Figure 3).As shown in Figure 3, a supporting database represents the location and type of each POI, streets information, and restaurants' opening times.The system specifies the number of tours that the system recommends to the user at each cycle ( show ), the number of the most similar tours to the selected tour that is used in the retaining phase ( similar ), and the number of iterations.The user defines the starting and ending times of the required tour to the system and assigns a rating to the selected tour.Algorithm 1 shows the pseudocode of the proposed method.

Experimental Results and Discussion
The proposed hybrid context-aware tourism recommender system is evaluated according to the experimental context of a user that wants to plan a tour.The algorithm has been implemented by an Android-based prototype.

Data Set.
The proposed hybrid context-aware tourism recommender system suggests tours to each user who wants to plan a tour in regions 11 and 12 of Tehran, the capital city of Iran.In order to develop the experimental setup, the role of the users has been taken by 20 students in the Surveying and Geospatial Engineering School of the University of Tehran.In the two regions considered, there are 55 POIs.Each POI belongs to one of the eleven POI types identified ( type = 11) including hotel, cultural place, museum, shopping center, mosque, park, theater, cinema, cafe, restaurant, and stadium (Figure 4).
Without loss of generality, a series of assumptions have been considered as follows: (i) Each tour is a sequence of two to five POIs.It is similar to the one made by several previous works in tourism recommender system [25,60,61] that recommend two to five POIs per tour.However, the proposed method can be extended and applied to situations with bigger number of POIs per tour with some minor adaptations.
(iii) The user starts to visit a POI (tr (+1) ) 2 hours after he starts to visit a previous POI (tr  ): Initially, each user visits 6 tours in the case area and assigns a rating to each of them by the unit interval.The system saves these ratings in the user's history.To evaluate the  proposed context-aware tourism recommender system, some evaluation metrics and methods should be determined.

Evaluation Metrics and Methods.
In order to evaluate the proposed method, the proposed system (CBR-ANN based recommender system) is compared to two other recommender systems including ANN based recommender system and CBR-KNN based recommender system: (i) The ANN based recommender system is a singleshot content-based recommender system that uses an ANN to learn user profile.
(ii) The CBR-KNN based recommender system is an interactive recommender system that uses CBR method as a knowledge-based filter combined with KNN in the retrieving, reusing, and retaining phases of CBR.
On the other hand, three evaluation metrics are considered to compare CBR-ANN with ANN and CBR-KNN methods including user effort, accuracy error, and user satisfaction (i) user effort: The system needs enough user feedbacks to generate valid recommendations, while without gathering enough user feedbacks this may lead to a poor user model and inaccurate recommendations.
The number of user interactions with the system before reaching the final recommendation determines the user effort metric.
(ii) accuracy error: The accuracy error denotes the degree to which the recommender system matches the user's preferences.It is evaluated by the difference between the rating given by the system to the final selected tour denoted as ŝfinal and the one of the user denoted as  final .The lower the error of accuracy is, the better the method is performing; it is given as follows: accuracy error =     ŝfinal −  final     .
(iii) user satisfaction: The user satisfaction is evaluated by determining to which degree the final recommended tour is considered as valid by the user or not.The rating assigned by the user to the final recommended tour ( final ) is used as an indicator of user satisfaction.
It is valued by an interval [0, 1], that is, 0 as not satisfied to 1 as satisfied.
Moreover, to evaluate the proposed method, two different types of evaluation methods are applied including per user and overall evaluation methods: (i) The per user evaluation method only takes into account the recommendation process of a specific user and computes evaluation metrics for a specific user.
(ii) The overall evaluation method computes average, minimum, and maximum quality over all users.Let UE  , AE  , and US  denote the user effort, accuracy error, and user satisfaction of a specific user, respectively.Let  user denote the number of users considered (i.e., 20 in this paper).The mean, minimum, and maximum values of the user effort over all users are computed as follows: The mean, minimum, and maximum values of the accuracy error over all users are computed as follows: The mean, minimum, and maximum values of the user satisfaction over all users are computed as follows: After determining the evaluation metrics, an overall evaluation of the figures that emerge from a given user taken as an example is described in the next subsections.

Per User Evaluation of the Results.
For each user, the system learns the current user model and recommends new tours accordingly (Section 4.3.1).Then the user selects one of the recommended tours and assigns a rating to it.The system revises the user model accordingly (Section 4.3.2).After 20 iterations, the final recommendation is presented to the user.

Learning Current User Model and Recommending New
Tours.For each user, during the retrieval and reusing stage of a CBR cycle, the proposed ANN takes the history of a given user as an input to determine the relationship between the visited tours and their related ratings.This gives the rationale behind the learning process.The proposed feedforward multilayer perceptron neural network consists of three layers including one input layer, one hidden layer, and one output layer.Herein, eleven POI types are considered.Since the inputs of the proposed neural network are the number of POIs in the tour that are located in each POI type and the distance traveled in the tour, the input layer has twelve neurons.The output layer has one neuron that evaluates the rating of the considered tour.
The optimum number of hidden neurons depends on the problem and is related to the complexity of the input and output mapping, the amount of noise in the data, and the amount of training data available.Too few neurons lead to underfitting, while too many neurons contribute to overfitting.For each user, to obtain the optimal number of neurons in the hidden layer, different ANNs with different hidden neurons number between one and twelve are trained.
In order to train each of the ANNs, the data set is divided into three subsets including training, validation, and test sets.We do consider four tours and their related ratings as training data set, one tour and its related rating as validation data set, and one tour and its related rating as test data set.Then Mean Squared Error (MSE) is computed for training, validation, and test sets.MSE is given by the average squared difference between tour ratings computed by the ANN and assigned by the user.The training set is used to adjust the ANN's weights and biases while the validation set is used to prevent the overfitting problem.At execution, it appears that the MSE on the validation set decreases during the initial phase of For ANNs with hidden neurons of a number between one and twelve, the network is trained and the Mean Square Error (MSE) value is computed.Table 3 shows MSE values related to ANNs with different number of hidden neurons for user 1.According to this experiment, it appears that the best multilayer perceptron neural network should have five hidden neurons as reflected by the MSE values for this user.
For each user, once the optimal number of hidden neurons is determined, the ANN is trained using several training algorithms that are used for training the backpropagation ANN.Table 4 shows Mean Square Error of different training algorithms used to train the ANN related to user 1.The results show that the Levenberg-Marquardt (LM) training method is the best training method for user 1 because it has the least MSE value.The trained ANN determines the relationship between the visited tours and their respective recommendation ratings and thus models the user's preferences.
Similar approaches are commonly used to determine the best number of hidden neurons and the best training algorithm for the other users.Table 5 shows the best number of hidden neurons, and the best training algorithm of ANN to learn the current user model.The results show that GDX and LM are most often the best training functions.

Revising the User Model
Based on His Feedback.For each user, after training the ANN, the new ratings of the tours are computed using the trained ANN.Therefore, according to the current user model, new  show best rated tours are recommended to the user.
In the revision stage of CBR cycle, the user reviews the recommendations and selects and rates a tour as a feedback.In the retaining stage of CBR cycle, the system revises the user model based on the user's feedback.The system computes the property-based semantic similarity between the selected tour and all other tours, determines the  similar most similar tours to the selected tour, and assigns their ratings according to the selected tour rating.These values are used to adapt the user model for the next cycle by updating the weights of the proposed ANN.Therefore, the system learns from the current user's feedback and uses it to revise the user model.This process is iterated for 20 cycles in order to determine the final recommendation.

Experimental
Results for One User.Figures 5 and 6 show the result of the proposed method for user 1 considering  show = 4 and  similar = 2.One can remark that the final selected tour is different from the tours which the user has previously rated.Similar approaches are used for the other users.
Figure 7 shows the rating that user 1 assigns to the selected tour at each cycle.In the first cycle, the proposed ANN recommends four tours and the user selects one of them.The user's rating of the first selected tour is 0.50.In the next cycles, the user selects one of the recommended tours and the system revises the recommendations according to the user feedbacks.The user's rating of the selected tour reaches 0.80 after eleven cycles.
To determine the best recommendation, the parameters of the proposed method should be set.

Setting the Proposed Method Parameters.
To evaluate the impact of the proposed method parameters, the proposed system is tried using different  show and  similar values.Table 6 shows the number of iteration steps to reach a stable state of final selected tour for different  show values.The results show that increasing  show reduces the number of required iterations to reach the final selected tour.
Table 7 shows the number of iteration steps to reach a stable state of the final selected tour for different  similar values.The results show that increasing  similar reduces the rating of the final selected tour.8 shows the evaluation results of the proposed method for user 1.The experiments show that the user's rating of the selected tour reaches a good value of 0.80 after 11 cycles, 0.5 in one cycle, and 0.70 after 12 cycles in the CBR ANN, ANN, and CBR KNN methods, respectively.This indicates that CBR ANN needs relatively less user effort compared to CBR KNN.The experimental results show accuracy error values of the CBR ANN, ANN, and CBR KNN methods are 0.01, 0.06, and 0.04, respectively; this outlines a better performance of the CBR ANN method regarding the accuracy error metric.Applying the CBR-ANN method increases the user's rating of the selected tour through the cycles by 60% and 14% relative to the ANN and CBR-ANN methods, respectively; this denotes an increasing user satisfaction.9 shows the overall evaluation results of the proposed method.The results show that the CBR ANN method needs less user effort than the CBR-KNN method and decreases the mean,    has smaller mean and minimum values of accuracy error relative to the ANN and CBR KNN methods.This outlines a better performance of the CBR ANN method regarding the accuracy error metric.and does not need any information about preferences and feedbacks of the other users.(iv) It is not limited to recommending tours that have been previously rated by users.It computes the ratings of unseen tours that the user has not expressed any opinion about.(v) The proposed method takes into account the user's feedbacks in an interactive framework.It needs user's feedbacks to apply an interactive learning algorithm and recommend a better tour gradually.Therefore, it overcomes the mentioned cold start problem.The proposed method only needs a small number of ratings to produce sufficiently good recommendations.Moreover, it proposes some tours to a user with limited knowledge about his needs.Thanks to the available knowledge of the historical cases, less knowledge input from the user is required to come up with a solution.Also, it takes into account the changing of the user's preferences during the recommendation process.(vi) The proposed method uses an implicit strategy to model the user by asking him to assign a rating to the selected tour.Such process requires less user effort relative to when a user assigns a preference value to each tour selection criteria.(vii) The proposed method recalculates user predicted ratings after he has rated a single tour in a sequential manner.In comparison with approaches in which a user rates several tours before readjusting the model, the user sees the system output immediately.Also, it is possible to react to the user provided data and adjust them immediately.(viii) The proposed method combines CBR and ANN and exploits the advantages of each technique to compensate for their respective drawbacks.CBR and ANN can be directly applied to the user modeling as a regression or classification problem without more transformation to learn the user profile.Moreover, a noteworthy property of the CBR is that it provides a solution for new cases by taking into account past cases.Also, the trained ANN calculates the set of feature weights, those playing a core role in connecting both learning strategies.The proposed method has the advantages of being adaptable with respect to dynamic situations.As the ANN revises the user model, it has an online learning property and continuously updates the case base with new data.(ix) The results show that the proposed CBR-ANN method outperforms ANN based single-shot and CBR KNN based interactive recommender systems in terms of user effort, accuracy error, and user satisfaction metrics.

Conclusion and Future Works
The research developed in this paper introduces a hybrid interactive context-aware recommender system applied to the tourism domain.A peculiarity of the approach is that it combines CBR (as a knowledge-based recommender system) with ANN (as a content-based recommender system) to overcome the mentioned cold start problem for a new user with little prior ratings.The proposed method can suggest a tour to a user with limited knowledge about his preferences and takes into account the user's preference changing during recommendation process.Moreover, it considers only the given user's preferences and feedbacks to select POIs and the route between them on the street network simultaneously.Regarding further works, additional contextual information such as budget, weather, user mood, crowdedness, and transportation mode can be considered.Currently, the user has to explicitly rate the tours thus providing feedbacks which can be considered as a cumbersome task.One direction remaining to explore is a one where the system can obtain the user feedbacks by analyzing the user activity, such as saving or bookmarking recommended tour.Moreover, other techniques in content-based filtering (i.e., fuzzy logic) and knowledge-based filtering (i.e., critiquing) can be used.Also, collaborative filtering can be combined to the proposed method.

Figure 2 :
Figure 2: Structure of a feedforward neural network.

Figure 3 :
Figure 3: Architecture of the proposed hybrid context-aware recommender system applied to the tourism domain.

( 1 )
Input: CB initial is a set of visited tours and their ratings (2) Output: CB, net, recommendation (3) CB = CB initial (4) net = Train ANN(CB) //net is a trained ANN using CB (5) while ∼termination criteria (6)  = Reuse(CB, net,  show ) //System recommends the first  show highest computed rated tours (7)  = User Select() //User selects and rates one of the recommended tours (8) E = Extract(,  similar ) //System extracts the first  similar prior tours which have maximum similarities with tour  (9) net, CB = Retain(net, CB, , ) //System adapts CB and ANN (10) end Algorithm 1: Pseudocode of the proposed hybrid context-aware tourism recommender system.

Figure 4 :
Figure 4: Synthetic view of the case study.

Figure 5 :
Figure 5: Proposed tour recommendation, (a) the first recommended tours, and (b, c) users' selected tour from the first recommended tours for a given user.

4. 5 .
Discussion.The proposed tourism recommender system has the following abilities: (i) It considers contextual situations in the recommendation process including POIs locations, POIs opening and closing times, the tours already visited by the user, and the distance traveled by the user.Moreover, it considers the rating assigned to the visited tours by the user and user's feedbacks as user preferences and feedbacks.(ii) It takes into account both POIs selection and routing between them simultaneously to recommend the most appropriate tours.(iii) It proposes tours to a user who has some specific interests.It takes into account only his own preferences Mobile Information Systems

Table 1 :
Context-aware recommender systems applied to the tourism domain.

Table 2 :
Algorithms for training backpropagation multilayer perceptron neural network.and bias values conceding to the gradient descent and current trends in the error surface (Δ  ) with adaptive training rate.
1 ), CF   ( 2 ), and CF   ( 1 ,  2 ) denote the common features of  1 and  2 , distinctive features of  1 , and distinctive features of  2 with respect to property   , respectively.  assigns the relevance amount of the property   and , ,  ∈ R are constants that value the respective importance of the features considered.

Table 3 :
Mean Square Error of different neural networks structures for a given user.However, when the ANN begins to overfit the training data, the validation MSE begins to rise.The training stops at this point and the weights and biases related to the minimum validation MSE are returned.The MSE on the test data is not used during the ANN training, but it is used to compare the ANNs during and after training.

Table 4 :
Mean Square Error of different training algorithms for a given user.

Table 5 :
Best number of hidden neurons and training algorithm of ANN to learn the user model.

Table 6 :
Rating of the final selected tour and the number of iteration steps to reach the final selected tour considering different  show values.

Table 7 :
Rating of final selected tour and the number of iteration steps to reach the final selected tour considering different  similar values.

Table 8 :
Per user evaluation of the proposed method for a given user.
minimum, and maximum values of users' satisfaction of the selected tour by 14%, 33%, and 14% compared to the ANN-KNN method, respectively.Moreover, the CBR-ANN method

Table 9 :
Overall evaluation of the proposed method.