An Agent Framework of Tourism Recommender System

This paper proposes the development of an Agent framework for tourism recommender system. The recommender system can be featured as an online web application which is capable of generating a personalized list of preference attractions for tourists. Traditional technologies of classical recommender system application domains, such as collaborative filtering, content -based filtering and content-based filtering are effectively adopted in the framework. In the framework they are constructed as Agent s that can generate recommendations respectively. Recommender Agent can generate recommender information by integrating the recommendations of Content -based Agent, collaborative filtering-based Agent and constraint-based Agent. In order to make the performance more effective, linear combination method of data fusion is applied. User interface is provided by the tourist Agent in form of webpages and mobile app.


Introduction
Over the last few years, co mmunicat ion services via the Internet are springing up at an amazing rate.The world is revolving around information which can be easily access to a massive load of informat ion [1] through the Internet.The big data era [2], despite all its competitive advantages and extensive prospect, also comes with the disadvantage of information overload, making the search of precise information an overwhelming and time consuming task [3].A personal reco mmender system [4] is considered as the effective way to overcome this problem by supporting people in daily choices and pointing out alternatives.
For the tourism suppliers, the Internet and mobile communicat ion technology provides multiple ways to globally sell their products and services to potential tourists at any time.The suppliers can remotely manage their Web & WAP servers to display their market ing content at a high speed.For tourists, the Internet enables them to co mmunicate directly with touris m suppliers to obtain information, and to search and purchase services at any time and any place online [5].No w reco mmender systems are partially applied in the travel industry helping tourists to make personalized vacation plans.Personal preferences of people and their interests play a decisive role in choosing their supplier considering the fact that on vacations.In such a customer sensitive industry the application of personal travel reco mmender systems become a necessity, not a luxury.This has become more important for survival of tourism co mpanies for the fact that economic slowdowns have curtailed excursion budgets of people.Moreover, demand for package travel has declined and people prefer personalized trips, therefore reco mmender systems have attracted attention of business and academic co mmun ity.
Conventional reco mmendation techniques, contentbased filtering and collaborative filtering [6], fo r instance, are particularly well suited for the reco mmendation of quality and taste products such as books, movies, or pop music.However, for products fro m other categories such as cars, computers, apartments or tourist attractions these conventional approaches are not as efficient.The reasons are many, for example, tourist attractions are not visited very frequently wh ich makes it rather infeasible to collect numerous ratings for one specific item.Ratings fro m users and similar data are required by co llaborative recommendation algorithms.Furthermo re, customers who use recommendation applications would not be satisfied with recommendations based on years -old item preferences.
The two major alternative knowledge-based recommender systems are called case-based and constraint-based recommendation systems [7].In both approaches the principles of explo iting knowledge are similar: User requirements are collected, and recommendation results are explained.The major difference between them is in the method solutions are calculated.Knowledge-based approaches have the advantage of direct inclusion and mapping of expert's knowledge, for that neither a cold -start phase nor large user communit ies is required.As with all knowledgebased systems however, the develop ment of such a knowledge intensive application requires some additional ramp-up effort in both knowledge acquisit ion and engineering, as well as in the development of an interactive user interface.An agent-based model [8] is one of a class of computational models for simu lating the actions and interactions of autonomous agents with a view to assessing their effects on the system as a whole.In artificial intelligence, an intelligent agent is an autonomous entity which observes through sensors and acts upon an environment using actuators and directs its activity towards achieving goals.Mult i-agent based frameworks [9] are considered as potential effective solutions for tourism reco mmender system.A series of knowledge-based agents that include a knowledge base and an inference system can be parts of the mult i-agent framework.

Architecture of the Agent framework
The framework proposed in the paper integrates Collector Agent, Tourist Agent, Content-based Agent, Collaborative Filtering-based Agent and Constraint-based Agent into a multi-agent system through the Internet to providing tourism reco mmender service.The design of this mechanis m is based on three kinds of recommendation system [10], which can perform respective recommendation filtering algorith m.The framework can integrated the recommendations generated by the three Agents, and then presents the results to the tourist.The Framework is depicted in Figure 1.

Collector Agent
The Collector Agent of the framework is consisted of some web crawlers [11] that follow hyperlin ks throughout a Web site, retrieving and indexing pages to document the site for collecting tourist information.In other words, it is an intelligent topic crawler focusing on the tourist field.Based on the tourist ontology designed for parsing the unstructured Web, the Collector Agent can also discover emerging Web pages related to tourism on the Web, and extract the text information after downloading the Webpages.

Recommender Agent
As shown in Figure 1, Reco mmender Agent can generate recommender informat ion by integrating the recommendations of Content-based Agent, Co llaborative Filtering-based Agent and Constraint-based Agent.And then the recommender info rmation can be transferred to the Tourist Agent.In order to make the performance more effect ive, linear co mbination method of data fusion [12] is applied.
Assumed that, the reco mmendations sent to the tourists is specified as List n , where n is the amount of the total items.And List n1 is the recommendation generated by Content-based Agent; And List n2 is the recommendation generated by Collaborative Filteringbased Agent; And List n3 is the recommendation generated by Constraint-based Agent.So that the final recommendation List n can be: Where D , E and J are weights, and they are set to be 1/3 init ially.
Depending on the feedback of Tourist Agent, the three weights which stored in the Tourist Agent can be updated dynamically according to the preferences of the tourists.
Neighbour tourists generated mainly based on the similarity between each user.However, a larger nu mber of users have become null and void, so the system needs to pre-process [13] the user data before generating neighbours.The pre-processing process consists of data cleaning, data integration, data conversion and data reduction.The system then can get a more streamlined and representative list of users which are usually often logged on and recently recorded users, which are recognized as active users.For users already have travel records, the system can use the visiting history of tourist attractions to calculate the similarities between users.For the user there is no travel records, the system can use the user's basic informat ion (such as logging times, sex, professional, vehicle, etc.) as the basis for the calculation of similarity [14].

Content-ba sed Agent
Items that can be recommended to the tourist are represented by a set of features, also called attributes or properties.For examp le, in a tourist attraction recommendation application, features adopted to describe a movie are: actors, directors, genres, subject matter.When each item is described by the same set of attributes, and there is a known set of values the attributes may take, the item is represented by means of structured data.In this case, many ML algorith ms can be used to learn a user profile.In most content-based filtering systems, item descriptions are textual features extracted fro m Web pages, emails, news articles or product descriptions.Unlike structured data, there are no attributes w ith welldefined values.Textual features create a number of complications when learn ing a user profile, due to the natural language ambiguity.The problem is that traditional keyword-based profiles are unable to capture the semantics of user interests because they are primarily driven by a string matching operation.If a string, or some morphological variant, is found in both the profile and the document, a match is made and the document is considered as relevant.The result is that, due to synonymy, relevant informat ion can be missed if the profile does not contain the exact keywords in the documents while, due to polysemy, wrong documents could be deemed relevant.
Most content-based recommender systems use relatively simple retrieval models, such as keywo rd matching or the Vector Space Model (VSM ) with basic TF-IDF weighting [15].VSM is a spatial representation of text documents.In that model, each document is represented by a vector in an n-dimensional space, where each dimension corresponds to a term fro m the overall vocabulary of a given document collection.
Formally, every document is represented as a vector of term weights, where each weight indicates the degree of association between the document and the term.Let D={d 1 ,d 2 ,...,d n } denote a set of documents or corpus, and T={t 1 ,t 2 ,...,t n } be the dictionary, that is to say the set of words in the corpus.T is obtained by apply ing some standard natural language processing operations, such as tokenizat ion, stop words removal, and stemming [16].Each document d j is represented as a vector in andimensional vector space, so d j ={w 1j ,w 2j ,...,d nj }, where w kj is the weight for term t k in document d j .
Document representation in the VSM raises two issues: weighting the terms and measuring the feature vector similarity.The most co mmonly used term weighting scheme, TF-IDF (Term Frequency-Inverse Document Frequency) weighting, is based on empirical observations regarding text : • Rare terms are not less relevant than frequent terms (IDF assumption), • Mult iple occurrences of a term in a document are not less relevant than single occurrences (TF assumption), • Long documents are not preferred to short documents (normalization assumption).
In other words, terms that occur frequently in one document (TF=term-frequency), but rarely in the rest of the corpus (IDF=inverse-document-frequency), are more likely to be relevant to the topic of the docu ment.In addition, normalizing the resulting weight vectors prevent longer documents fro m having a better chance of retrieval.These assumptions are well exemp lified by the TF -IDF function [17]: Where N denotes the number of docu ments in the corpus, and nk denotes the number of documents in the collection in wh ich the term tk occurs at least once., , ( , ) max Where the maximu m is co mputed over the frequencies fz,j of all terms tz that occur in document dj .
In order for the weights to fall in the [0,1] interval and for the documents to be represented by vectors of equal length, weights obtained by Equation ( 2) is usually normalized by cosine normalizat ion [18]: As stated earlier, a similarity measure is required to determine the closeness between two documents.Many similarity measures have been derived to describe the proximity of two vectors; among those measures, cosine similarity is the most widely used: The Content-based agent is relying on VSM where as both tourist profiles and items are represented as weighted term vectors.Predict ions of a tourists' interest in a particu lar item can be derived by co mputing the cosine similarity.

Collaborative filtering-based Agent
The starting point of collaborative filtering-based agent is: Suppose that tourists with similar interests should favourite to the same items as each other.So, as long as the maintenance of a database on the tourists' preference, the neighbour tourists with similar interests can be calculated by analysing the stored preference, and then it can be recommended to the tourist based on the neighbour tourists' interests.
On the basis of collaborative filtering princip le, the recommendation process of tourist attractions can be divided into three steps [19].
• The representation of touris t information.Tourist visiting history of attractions needs to be analysed and modelled.
• The generation of neighbour tourists.The similarity of tourists can be co mputed according to the visit ing history data and the collaborative filtering algorith m presented by us.A neighbour tourist list can be calculated on the basis of known similarities.
• The generation of attraction reco mmendations.Top-N attractions will recommended to the tourist according to the visiting history of his neighbours.
According to above steps, user's basic informat ion and past travel history can be used to calculate the user list of neighbours which are recorded in the corresponding record in the user database.When users log into the system, the recommendations of tourist attractions can be presented based on the travel experiences of his neighbours.
The process of reco mmendation is shown in Figure 1.In order to increase the efficiency of the system, the system calcu lated users' neighbours when offline for each tourist, and calculated at regular intervals Neighbour users generated main ly based on the similarity between each user.However, a larger nu mber of users have become null and void, so the system needs to pre-process the user data before generating neighbours.The pre-processing process consists of data cleaning, data integration, data conversion and data reduction.The system then can get a more streamlined and representative list of users which are usually often logged on and recently recorded users, which are recognized as active users.For users already have travel records, the system can use the visiting history of tourist attractions to calculate the similarit ies between users.For the user there is no travel records, the system can use the user's basic informat ion (such as logging times, sex, p rofessional, vehicle, etc.) as the basis for the calculation of similarity [20].
Suppose that the set of all tourists T={T 1 , T 2 ...T n }, for each tourist T i (i=1, 2...n), the system can calcu late the neighbours list including the top N tourists which similarity is higher than the given threshold T .
The core of collaborative filtering algorith ms is the calculation of users' similarity.The similarity between the tourist T i and T j is measured as follows: First the system needs to retrieval all the rat ings of tourist T i and T j over the attractions, and then calculate the similarity between the tourist T i and T j through different similarity models, denoted as sim(T i ,T j ).There are main ly three ways to measure the similarity between tourists, including Cosine method, Correlation similarity method and Adjusted Cosine method.We have adopted the Cosine method in this paper.Tourist ratings are v iewed as a vector of ndimensional term space.If the tourist has ever visited the attraction, the rating is set to 1, otherwise set to 0. And the cosine similarity between tourists is computed by the angle between vectors.The similarity between tourist T i and T j can be calculated by: (T , T ) When computing recommendations for a particular tourist, the very basic approach is to select the objects favoured by other tourists that are similar to the target tourist.When new tourists enter the system, there is usually insufficient information to produce recommendation for them, because there is no visiting history of the new tourists.The usual solution of the cold start problem is similarity calculation between each user by profile information, such as age, sex, p rofessional, vehicle, inco me, etc.

Constraint-based Agent
Main objective of constraint-based agent is to generate tourist attraction recommendations, and the task is viewed as a constraint satisfaction problem (CSP) [21].Formally, a constraint satisfaction problem is defined as a triple o f , , Constraint Satisfaction Solutions for constraint satisfaction problems are calculated on the basis of search algorith ms that use different co mbinations of backtracking and constraint propagation.
For the particular issue of recommendation task, we could define [22]:

Touri st Agent
The Tourist Agent mainly acts as the intermediary service provider between the framework and tourists.
The emergence of the World Wide Web and mobile networks has given even the most mundane of applications a spiffy GUI.The Tourist Agent provides webpage UI and mobile APP UI to the tourist.
Tourist Agent saves the profile, preferences, Agent weights, and the use history of the tourist.It can send browse and enquiry request of tourist information to the Reco mmender Agent.The Reco mmender Agent response the Tourist Agent by recommendations based on the linear co mb ination calculation.The tourist can feedback or rate the result recommendations presented by the Tourist Agent UI.

Conclusions
Traditional technologies of classical reco mmender system application domains, such as collaborative filtering, content-based filtering and content-based filtering are effectively adopted in the framework.In the framework they are constructed as Agent that can generate recommendations respectively.Reco mmender Agent can generate recommender informat ion by integrating the recommendations of Content-based Agent, Collaborative Filtering-based Agent and Constraint-based Agent.In order to make the performance mo re effective, linear co mbination method of data fusion is applied.User interface is provided by the Tourist Agent in form of webpages and mobile app.
The emergence of the World Wide Web and mobile networks has given even the most mundane of applications a spiffy GUI.The Tourist Agent provides webpage UI and mobile APP UI to the tourist.

DOI: 10
.1051/ C Owned by the authors, published by EDP Sciences, 201

Figure 1 .
Figure 1.Agent framework for attraction recommendations.
satisfies the relation R j .An evaluation is consistent if it does not violate any of the constraints.An evaluation is comp lete if it includes all variables.An evaluation is a solution if it is consistent and complete; such an evaluation is said to solve the constraint satisfaction problem.
j is an k-ary relation on the corresponding subset of domains d j .An evaluation of the variables is a function fro m a subset of variables to a particular set of values in the corresponding subset of domains.An evaluation v satisfies a constraint , where V C is a set of single-valued or mu ltip le-valued variables that represent the tourists' requirement, and V P is a variable set represent the properties of tourist attraction.D contains the domain defin itions for variables in V. P is the constraints set of the values in V P that describe the available tourist attractions; C I is the constraints (capturing tourist requirements) set of the values in V C ; C F is the set of filters' constraints; C O is the set of other constraints (inconsistency constraints).