# Novel Recommendation System for Tourist Spots Based on Hierarchical Sampling Statistics and SVD++

Authors: Guangli Li; Jin Hua; Tian Yuan; Jinpeng Wu; Ziliang Jiang; Hongbin Zhang; Tao Li
Journal: Mathematical Problems in Engineering
 (2019)

---

## Abstract

Recommendation system for tourist spots has very high potential value including social and economic benefits. The traditional clustering algorithms were usually used to build a recommendation system. However, clustering algorithms have the risk on falling into local minimums, which may decrease the final recommendation performance heavily. Few works focused their research on tourist spots recommendation and few recommendation systems consider the population attributes information for fitting the user implicit preference. To address the problem, we focused our research work on designing a novel recommendation system for tourist spots. First a new dataset named “Smart Travel” is created for the following experiments. Then hierarchical sampling statistics (HSS) model is used to acquire the user preference for different population attributes. A new recommendation list namedLA is generated in turn by fitting the excavated the user preference. More importantly, SVD++ algorithm rather than those traditional clustering algorithms is used to predict the user ratings. And a new recommendation list named LB is generated in turn on the basis of rating predictions. Finally, the two lists LA and LB are fused together to boost the final recommendation performance. Experimental results demonstrate that the mean precision, mean recall, and mean F1 values of the proposed recommendation system improve about 7.5%, 6.2%, and 6.5%, respectively, compared to the best competitor. The novel recommendation system is especially better at recommending a group of tourist spots, which means it has higher practical value.


---

## Body

## 1. Introduction

The rapid development of the Web: people are now stepping into an “information overload” era. Not only the information consumers (online websites users) but the information producers (online websites managers) should face a big challenge: website managers strive to generate valid information of their products and recommending them to their users, which may bring them lots of economic benefits, whereas website users want to know whether the recommended information can satisfy their preference. Recently, a tourism wave has emerged, and tourists (travelers) are smart to retrieve and use valid tourism information to appropriate plan their travel. Obviously, lots of traveling tips are helpful. Hence, statistics show that approximately three-quarters of tourists prefer retrieve travel reviews or ratings of their destinations. As previously mentioned, tourists are often given excessive information due to the dawn of the “information overload” era. Addressing the problem has become increasingly important. As it is known, recommendation system is an effective method which can resolve the “information overload” problem to some extent. However, few works focused their research on tourist spots recommendation and few recommendation systems consider the population attributes information for fitting the user implicit preference. To address the problem, we focus our research work on designing a novel recommendation system for tourist spots: a new dataset named “Smart Travel” is created initially for the following experiments. Then, a hierarchical sampling statistics (HSS) model is utilized to acquire the user implicit preference for different population attributes. Thirdly a novel SVD++ algorithm is designed to complete the final recommendation. More importantly, the excavated the user preference is fused into the collaborative filtering-based recommendation framework to more effectively generate recommendation results.The rest of this paper is organized as follows. Section2 introduces the preliminaries and related works. Section 3 presents the architecture and some details of the proposed recommendation system. Section 4 provides relevant experimental results and discussions. Finally, Section 5 presents the concluding remarks and future works.


## 2. Related Works

In general, recommendation results can be generated on the basis of the user preference, the item features, and other environmental factors such as time, season, and location. In recent recommendation literatures [1, 2], recommendation systems are usually categorized into three categories, namely, content-based, collaborative filtering-based, and hybrid recommendation systems. A content-based recommendation system focuses on selecting those objects with similar characteristics according to the objects that users have browsed. A collaborative filtering-based recommendation system has been widely used in some real websites like Amazon and YouTube. It can generate lots of personalized recommendation results for users. As it is known, collaborative filtering theory was proposed by Goldberg [3] and was first used in “Tapestry,” which is a famous recommendation system. However, “Tapestry” only offered recommendation services for fewer users. The rating-based collaborative filtering recommendation system was presented by Resnick [4], who designed another famous recommendation system called “GroupLens.” “GroupLens” predicted user implicit preference on the basis of all user ratings. Traditional clustering algorithms are usually used to mine users who have same or similar preference. Finally, both news and films are recommended to those target users according to semantic similarity computing. On the basis of “GroupLens”, Konstan [5] and Miller [6] designed a novel recommendation system on an open computing structure. Yu [7] proposed a multilinear interactive matrix factorization algorithm (MLIMF) to model the interactions between the users and each event associated with their final decisions; the model considered not only the user-item ratings but also the pairwise interactions based on some empirically supported factors. In our real world, items will suffer from the sparsity problem more severely than users since items are usually observed by fewer features to support a feature-based or content-based algorithm. To tackle this problem, Yu [8] proposed a new method to study the collaborative retrieval (CR) task from the users’ perspective, which aimed to sufficiently explore the sophisticated relationship of each triple as the form is query × user × item.Recently, researchers paid their attentions on the recommendation system for tourist spots. Li [9] proposed a hybrid recommendation system for tourist spots based on hierarchical sampling statistics and Bayesian personalized ranking (BPR), and the recommendation performance was improved mainly by the BPR algorithm. Fenza [10] proposed a context-aware recommendation system based on the collaborative filtering theory. First, both users and tourist spots are clustered using the traditional fuzzy clustering algorithm, and context information is analyzed by the situational awareness technology. Then, the similarities of the tourist the spots that users prefer to be were calculated and tourist spots were recommended to users in order. The present work provides an adaptive environment in the process of dynamical user clustering and alleviates the cold start problem to some extent. Hsu [11] adopted the traditional collaborative filtering method to construct a novel recommendation system for tourist spots. Bayesian network was used to calculate the user preference for spots, to improve the final predication accuracy. Nilash [12] designed a new recommendation system for tourist spots based on the multistandard collaborative filtering algorithm. Multiobjective collaborative filtering technology was adopted to mine much more valuable user preference. Finally, recommendation accuracy was improved by a Gaussian mixture-based clustering algorithm.In summary, we can observe:(1) Different kinds of recommendation system [3–12] have entered into people’s daily life and they have played very important roles in changing people’s working, living and studying. To the best of our knowledge, few works focused their research on recommendation system for tourist spots. Moreover, the above-mentioned works only used the traditional collaborative filtering algorithm. And they did not consider the population attributes, which may help to represent the deep-level semantic information of the user preference. Recently, tourism wave has emerged, which indicates recommendation system for tourist spots has very large potential value. It will give us much more economic benefits as well as social benefits. (2) The traditional clustering algorithms have been used in most recommendation systems [3–5]. But they have several limitations: first they need a good initial value; second, they usually fall into local minimums; third outliers will interfere with the final clustering results. So the traditional clustering algorithms are not suitable for designing our novel recommendation system. (3) Additional information such as visual content and user personal information [13] could help to improve the final recommendation performance. However, most recommendation systems only used user ratings rather than other additional information to build their models. The paper is an extended version of the reference [9]. Our contributions in the paper are two folds:( 1 ) A novel dataset named “Smart Travel” is created by combining a well-designed questionnaire survey and automatic data crawling on the Web. On the basis of the new dataset, the hierarchical sampling statistics (HSS) model [14] is utilized to acquire the user preference for different population attributes, namely, travel season, travel interest, and travel method are used to describe users, which are a good supplement to the traditional collaborative filtering-based recommendation model.( 2 ) A new recommendation list called LA is generated on the basis of the user preference. Then a novel collaborative filtering-based model called SVD++ algorithm [15, 16] is designed to generate a new recommendation list called LB. LA and LB were fused together to obtain the hybrid recommendation system. The hybrid recommendation system could better fit the user preference. More importantly, it was especially better at recommending a group of tourist spots, which means it has higher practical value.


## 3. The Proposed Recommendation System

### 3.1. Fundamental Theory

The above-mentioned collaborative filtering theory has been widely used in recommendation system. As it is known, a collaborative filtering-based recommendation system has several apparent advantages: it can process unstructured objects, and it does not need any domain knowledge to discover new user preference. It can generate lots of personalized recommendation results for users. Hence, we adopt the popular collaborative filtering theory into the proposed recommendation system. It first analyzes the tourist spots other users have rated, then it predicts the ratings of the target users for all spots. Therefore, the matrix of users’ ratings is factorized into two matrices (user matrix and spot matrix). They all contain a group of latent factors. The user vector is associated with the user matrix while the spot vector is associated with the spot matrix. Dot product between these two vectors is computed to complete the final rating prediction. Meanwhile, the hierarchical sampling statistics model is used to mine users’ preference.In general, the proposed recommendation system for tourist spots has several components, user data collection, hierarchical sampling statistics, SVD++ algorithm, collaborative filtering model, and hybrid recommendation list. Figure1 illustrates the recommendation framework.Figure 1
Proposed recommendation system framework.In Figure1, travel preference is collected through a well-designed questionnaire survey because we cannot grab travelers’ personal information from web. Users’ ratings of different tourist spots are crawled from a tourist website (its URL link is http://www.ctrip.com) automatically. Then a data preprocessing strategy is designed to discretize all users’ ratings: “0~5” is used to represent users’ satisfaction. “5” means the highest positive rating while “0” means the lowest negative rating. Then, the user preference is acquired by using the hierarchical sampling statistics model. The crawled rating data (rated tourist spots) and users’ travel preference are matched automatically to create the “Smart Travel” dataset. Based on the users’ preference, a new recommendation list called LA is generated from the statistical perspective. Meanwhile, based on the preprocessed users’ ratings, SVD++ algorithm is introduced to complete matrix factorization and both a user matrix and a spot matrix are obtained in turn. The user matrix is also called users’ embedding, which represents the latent semantic information of users. The spot matrix is also called spots’ embeddings, which represents the latent semantic information of spots. With the help of these two embeddings, it is easy to predict the ratings of the target users for all spots: dot product between these them is computed to complete rating prediction. And a novel recommendation list called LB is generated on the basis of the rating prediction. Finally, a hybrid recommendation result called LMix is acquired by fusing LA and LB.


### 3.2. Hierarchical Sampling Statistics Model

The HSS model completes the sampling procedure from different hierarchies randomly on the basis of different proportions. First, the target samples (users) are divided intonumdisjoint subsets in proportion. Second, the sampling procedure is completed independently in each subset. Each subset (e.g., E1,E2,…,Enum) is called a “hierarchy.” Finally,num subsets are merged into an overall distribution of the target samples. The proposed sampling procedure is described in detail as follows.Step 1 (select target random variables).
Target random variables are introduced to reflect the differences of tourism preference among different kinds of users. They are the key factors for hierarchical sampling statistics. Several target random variables, such as travel season, travel interest, and travel method, are utilized to instruct the following sampling procedure.Step 2 (divide the target samples into different hierarchies).
On the basis of the previously selected target random variables, all target samples are divided intonum disjoint hierarchies (subsets). If Ei users exist in thei-th (i=1,…,num) hierarchy, then the overall distribution of the target samples is obtained by merging allnum hierarchies, as shown as formula (1).(1)E=∑i=1numEiStep 3 (determine the sampling number of each hierarchy).
M is defined as the overall sample size, andnum is defined as the total number of hierarchies.Ei is defined as the total number of the target users in thei-th hierarchy. On the basis of the definitions,Xi is defined as the number of sampled users in thei-th hierarchy by the proposed HSS model.(2)Xi=M∗EiE(3)s.t.i=1,…,numNow the target samples are divided into several disjoint hierarchies by the HSS model, which helps decrease the differences within a homogeneous hierarchy and increase the differences between heterogeneous hierarchies. Hence the HSS model strives to sample a certain number of target samples (Ei) to describe the feature space of the current hierarchy and construct the overall distribution of all target samples (E). All classified results are determined through a well-designed questionnaire survey, which can represent the actual tourism preference of users.On the basis of the subjective weighting method [14], the weight of each population attribute is tuned by the analytic hierarchy process, which means the relative importance of each population attribute should be compared pairwise and a discriminant matrix is established. The weight of each population attribute is illustrated in the discriminant matrix. According to experts’ suggestion, six attributes, namely, gender (C1), district (C2), age (C3), education (C4), job (C5), and wage (C6), are chosen for creating the discriminant matrix. These attributes depict users’ preference from diverse perspectives. So appropriate weight for each attribute can fit the proposed sampling results. The importance scale of each indicator A relative to index B is as follows: very important = 6, important = 4, slightly important =2, equally important = 1, slightly minor = 1/2, minor = 1/4, and very minor = 1 / 6. Then a discriminant matrix called G can be constructed as follows. (Note: other values have ever been used, but relative worse recommendation performance was obtained.)(4)G=C1C2C3C4C5C6C111214141216C221124414C342111214C4414111212C521422112C6644421The weight of thek-th population attribute (k=1~6) is calculated on the basis of the matrix G. Thus each target random variable introduced above can be described by six weighted population attributes. The weight of each population attribute is expressed as follows.(5)Wk=∏j=16Gkj∑i=16∏j=16GijFinally, all population attributes are ranked by their weights and the corresponding prerecommendation results are generated according to the ranked attributes. In summary, the proposed HSS model for recommendation is described as in Algorithm1.Algorithm 1:Hierarchical sampling statistics model for recommendation.
Input: Results of questionnaire survey (T). Output: Recommendation list (LA) 1. Target random variables including travel season, travel interest, and travel method are used to depict the user preference. Each variable is described by six population attributes namely gender, district, age, education, job, and wage. 2. On the basis of theT, the sampling dataset is obtained by the HSS model. and the sampling number of thei-th hierarchy is obtained. which is expressed as Equation (2). 3. The proportional value of each attribute hierarchy is calculated byXW/N, which can depict the actual distribution of the corresponding attribute. 4. On the basis of the preceding proportional values, the relative importance of each attribute is determined by the subjective weighting method, and a discriminant matrix (G) is obtained, which is expressed as Equation (4). 5. The weight of each attribute hierarchy is calculated on the basis of the matrixG and Equation (5), and each target random variable is described by the six weighted previously population attributes. 6. Population attributes are ranked by their weights and recommendation results are generated according to the ranked attributes. 7. Recommendation listLA is generated by matching the above recommendation results and users’ population attributes collected from the survey.


### 3.3. SVD++ Algorithm

SVD++ [15, 16] is an improved algorithm based on the traditional SVD [17] (Singular Value Decomposition) algorithm. It regards the users’ rating matrix R as a product of two matrices P and Q. And it also maps both all users and all tourist spots into aK dimensional latent semantic space. The semantic space is made up of a group of latent factors. As described above, the users’ rating matrix R is factorized as follows:(6)RU×Z=PU×K∗QK×Z=p11,…,p1Kp21,…,p2K⋯pU1,…,pUKq11,…,q1Zq21,…,q2Z⋯qK1,…,qKZU = ( u 1 , u 2 , … , u m ) represents a user set while Z=(z1,z2,…,zn) represents a tourist spot set. pik represents the preference degree of the useri for thek-th latent factor of the tourist spots. qkj represents the distribution of thek-th latent factor among the tourist spotj. So each user is associated with a user vector pu∈RK which is a row of the matrix P. And each tourist spot is associated with a tourist spot vector qz∈RK which is a column of the matrix Q. pu describes the preference of a user. qz describes the feature space of a tourist spot. They are now located in a homogeneous data space. Hence, the traditional collaborative filtering theory can be applied here: the dot product between these two vectors is utilized to get the prediction rating r^uz which is rated by the useru for the tourist spotz:(7)r^uz=puTqz=qzTpuBy analyzing the users’ ratings matrixR, we find some users always give high ratings (or low ratings) compared with others. This means the corresponding ratings are biased. However, (7) does not consider the bias. Hence several key bias factors should be taken into account, which contributes to getting more objective ratings. The modified rating equation is shown as follows:(8)r^uz=buz+qzTpu(9)buz=μ+bz+bu(10)r^uz=μ+bz+bu+qzTpub uz represents the overall “bias information” of the useru for the spotz.μis a rating mean.  bz represents the “bias information” of the tourist spotz, which is an item offset to the rating mean.  bu represents the “bias information” of the useru, which is a user offset to the rating mean. In addition to the “bias information”, many implicit parameters are added to the SVD++ algorithm to better reflect users’ latent preference for tourist spots. Generally, users’ ratings are usually called “explicit information” while users’ behaviors are usually called “implicit information”. Finally, a novel perspective of users’ preference is acquired by combining the above-mentioned “explicit information”, “bias information”, and “implicit information” together. The final rating equation is shown as follows:(11)r^uz=μ+bz+bu+qzTpu+Nu-1/2∑j∈NuyjN u represents the behavior data of the useru. This means the useru has rated the corresponding tourist spots. Nu is the size of the behavior data. −(1/2) is the contraction factor which is an empirical value.  yj represents the implicit parameters used for describing the “implicit information” in recommendation, which indicates that the useru has rated the tourist spotj. Finally, besides “explicit information”, the SVD++ algorithm takes both the above-mentioned “bias information” and “implicit information” into account. It firstly analyzes users’ preference degree for the latent semantic factors of the tourist spots. Then it obtains the distribution of the latent semantic factors among all tourist spots. Lastly, it takes both the above-mentioned “bias information” and “implicit information” into account. Based on the above analysis, the cost functionJ of the SVD++ algorithm is shown as follows:(12)J=minbz,bu,qz,pu∑u,z∈Kruz-μ-bu-bz-qzTpu+Nu-1/2∑j∈Nuyj2+λ∑ubu2+pu2+∑zbz2+qz2+yz2The first part ofJ is the loss based on the least square method. The second part ofJ is the regularization term. The proposed SVD++ algorithm is optimized by the stochastic gradient descent method:(13)bu←bu+γeuz-λbu(14)bz←bz+γeuz-λbz(15)pu←pu+γeuzqz-λpu(16)qz←qz+γeuzpu+Nu-1/2∑j∈Nuyj-λqz(17)yj←yj+γeuzNu-1/2qz-λqz(18)euz=ruz-r^uze uz is the prediction error, γ is the learning rate, andλ is the regularization parameter.


### 3.4. The Proposed Collaborative Filtering Model

As described above, the SVD++algorithm decomposes the users’ rating matrixR into two matrices P and Q that contain a group of latent semantic factors. Each user is associated with a user vector that is a row of the matrix P. Each tourist spot is associated with a tourist spot vector that is a column of the matrix Q. By computing the inner product of these two vectors and taking both the above-mentioned “bias information” and “implicit information” into account, the corresponding ratings of users can be predicted. Algorithm 2 shows the details about the proposed SVD++ based collaborative filtering model.Algorithm 2:Proposed SVD++ based collaborative filtering model.
Input:Users’ rating matrix (R) Output:Rating prediction matrix (D) and Recommendation list (LB) 1. Compute the mean rating based on the matrixR. 2. Initialize the “bias information”bu and bz. Initialize the user vector pu. Initialize the tourist spot vectorpu. Initialize the implicit parameters yj. 3. User ratings are grouped by user ids. 4. Compute the inner product of the user vectorpu and the tourist spot vector qz by Equation (11). User’s ratings are predicted. 5. Compute the prediction erroreuz based on the real rating and the predicted rating. As shown in Equation (13)~(18), the SGD method is utilized to complete optimization. 6. Repeat the third step and fourth step to get the prediction ratingruz. Update the rating prediction matrixD. 7. Generate the recommendation listLB based on the matrix D.


### 3.5. Novel Recommendation System for Tourist Spots

As described in Section3.2, the HSS model is used to generate the recommendation list LA from the statistical perspective. As described in Section 3.4, the proposed SVD++ algorithm is used to generate the recommendation list LB from the matrix factorization perspective. On the basis of the two lists, a novel hybrid recommendation system for tourist spots is achieved, which is shown  in Algorithm 3.Algorithm 3:A novel recommendation system for tourist spots.
Input: Questionnaire results T, Users’ rating matrix R Output: Hybrid recommendation list LMix 1. Generate the recommendation listLA using Algorithm 1. 2. Generate the recommendation listLB using Algorithm 2. 3. The mix merge method is used to generate the recommendation listLMix. 4. Compute the precision, recall, and F1 values (Equations (21)–(24), respectively) of the hybrid recommendation system.


## 3.1. Fundamental Theory

The above-mentioned collaborative filtering theory has been widely used in recommendation system. As it is known, a collaborative filtering-based recommendation system has several apparent advantages: it can process unstructured objects, and it does not need any domain knowledge to discover new user preference. It can generate lots of personalized recommendation results for users. Hence, we adopt the popular collaborative filtering theory into the proposed recommendation system. It first analyzes the tourist spots other users have rated, then it predicts the ratings of the target users for all spots. Therefore, the matrix of users’ ratings is factorized into two matrices (user matrix and spot matrix). They all contain a group of latent factors. The user vector is associated with the user matrix while the spot vector is associated with the spot matrix. Dot product between these two vectors is computed to complete the final rating prediction. Meanwhile, the hierarchical sampling statistics model is used to mine users’ preference.In general, the proposed recommendation system for tourist spots has several components, user data collection, hierarchical sampling statistics, SVD++ algorithm, collaborative filtering model, and hybrid recommendation list. Figure1 illustrates the recommendation framework.Figure 1
Proposed recommendation system framework.In Figure1, travel preference is collected through a well-designed questionnaire survey because we cannot grab travelers’ personal information from web. Users’ ratings of different tourist spots are crawled from a tourist website (its URL link is http://www.ctrip.com) automatically. Then a data preprocessing strategy is designed to discretize all users’ ratings: “0~5” is used to represent users’ satisfaction. “5” means the highest positive rating while “0” means the lowest negative rating. Then, the user preference is acquired by using the hierarchical sampling statistics model. The crawled rating data (rated tourist spots) and users’ travel preference are matched automatically to create the “Smart Travel” dataset. Based on the users’ preference, a new recommendation list called LA is generated from the statistical perspective. Meanwhile, based on the preprocessed users’ ratings, SVD++ algorithm is introduced to complete matrix factorization and both a user matrix and a spot matrix are obtained in turn. The user matrix is also called users’ embedding, which represents the latent semantic information of users. The spot matrix is also called spots’ embeddings, which represents the latent semantic information of spots. With the help of these two embeddings, it is easy to predict the ratings of the target users for all spots: dot product between these them is computed to complete rating prediction. And a novel recommendation list called LB is generated on the basis of the rating prediction. Finally, a hybrid recommendation result called LMix is acquired by fusing LA and LB.


## 3.2. Hierarchical Sampling Statistics Model

The HSS model completes the sampling procedure from different hierarchies randomly on the basis of different proportions. First, the target samples (users) are divided intonumdisjoint subsets in proportion. Second, the sampling procedure is completed independently in each subset. Each subset (e.g., E1,E2,…,Enum) is called a “hierarchy.” Finally,num subsets are merged into an overall distribution of the target samples. The proposed sampling procedure is described in detail as follows.Step 1 (select target random variables).
Target random variables are introduced to reflect the differences of tourism preference among different kinds of users. They are the key factors for hierarchical sampling statistics. Several target random variables, such as travel season, travel interest, and travel method, are utilized to instruct the following sampling procedure.Step 2 (divide the target samples into different hierarchies).
On the basis of the previously selected target random variables, all target samples are divided intonum disjoint hierarchies (subsets). If Ei users exist in thei-th (i=1,…,num) hierarchy, then the overall distribution of the target samples is obtained by merging allnum hierarchies, as shown as formula (1).(1)E=∑i=1numEiStep 3 (determine the sampling number of each hierarchy).
M is defined as the overall sample size, andnum is defined as the total number of hierarchies.Ei is defined as the total number of the target users in thei-th hierarchy. On the basis of the definitions,Xi is defined as the number of sampled users in thei-th hierarchy by the proposed HSS model.(2)Xi=M∗EiE(3)s.t.i=1,…,numNow the target samples are divided into several disjoint hierarchies by the HSS model, which helps decrease the differences within a homogeneous hierarchy and increase the differences between heterogeneous hierarchies. Hence the HSS model strives to sample a certain number of target samples (Ei) to describe the feature space of the current hierarchy and construct the overall distribution of all target samples (E). All classified results are determined through a well-designed questionnaire survey, which can represent the actual tourism preference of users.On the basis of the subjective weighting method [14], the weight of each population attribute is tuned by the analytic hierarchy process, which means the relative importance of each population attribute should be compared pairwise and a discriminant matrix is established. The weight of each population attribute is illustrated in the discriminant matrix. According to experts’ suggestion, six attributes, namely, gender (C1), district (C2), age (C3), education (C4), job (C5), and wage (C6), are chosen for creating the discriminant matrix. These attributes depict users’ preference from diverse perspectives. So appropriate weight for each attribute can fit the proposed sampling results. The importance scale of each indicator A relative to index B is as follows: very important = 6, important = 4, slightly important =2, equally important = 1, slightly minor = 1/2, minor = 1/4, and very minor = 1 / 6. Then a discriminant matrix called G can be constructed as follows. (Note: other values have ever been used, but relative worse recommendation performance was obtained.)(4)G=C1C2C3C4C5C6C111214141216C221124414C342111214C4414111212C521422112C6644421The weight of thek-th population attribute (k=1~6) is calculated on the basis of the matrix G. Thus each target random variable introduced above can be described by six weighted population attributes. The weight of each population attribute is expressed as follows.(5)Wk=∏j=16Gkj∑i=16∏j=16GijFinally, all population attributes are ranked by their weights and the corresponding prerecommendation results are generated according to the ranked attributes. In summary, the proposed HSS model for recommendation is described as in Algorithm1.Algorithm 1:Hierarchical sampling statistics model for recommendation.
Input: Results of questionnaire survey (T). Output: Recommendation list (LA) 1. Target random variables including travel season, travel interest, and travel method are used to depict the user preference. Each variable is described by six population attributes namely gender, district, age, education, job, and wage. 2. On the basis of theT, the sampling dataset is obtained by the HSS model. and the sampling number of thei-th hierarchy is obtained. which is expressed as Equation (2). 3. The proportional value of each attribute hierarchy is calculated byXW/N, which can depict the actual distribution of the corresponding attribute. 4. On the basis of the preceding proportional values, the relative importance of each attribute is determined by the subjective weighting method, and a discriminant matrix (G) is obtained, which is expressed as Equation (4). 5. The weight of each attribute hierarchy is calculated on the basis of the matrixG and Equation (5), and each target random variable is described by the six weighted previously population attributes. 6. Population attributes are ranked by their weights and recommendation results are generated according to the ranked attributes. 7. Recommendation listLA is generated by matching the above recommendation results and users’ population attributes collected from the survey.


## 3.3. SVD++ Algorithm

SVD++ [15, 16] is an improved algorithm based on the traditional SVD [17] (Singular Value Decomposition) algorithm. It regards the users’ rating matrix R as a product of two matrices P and Q. And it also maps both all users and all tourist spots into aK dimensional latent semantic space. The semantic space is made up of a group of latent factors. As described above, the users’ rating matrix R is factorized as follows:(6)RU×Z=PU×K∗QK×Z=p11,…,p1Kp21,…,p2K⋯pU1,…,pUKq11,…,q1Zq21,…,q2Z⋯qK1,…,qKZU = ( u 1 , u 2 , … , u m ) represents a user set while Z=(z1,z2,…,zn) represents a tourist spot set. pik represents the preference degree of the useri for thek-th latent factor of the tourist spots. qkj represents the distribution of thek-th latent factor among the tourist spotj. So each user is associated with a user vector pu∈RK which is a row of the matrix P. And each tourist spot is associated with a tourist spot vector qz∈RK which is a column of the matrix Q. pu describes the preference of a user. qz describes the feature space of a tourist spot. They are now located in a homogeneous data space. Hence, the traditional collaborative filtering theory can be applied here: the dot product between these two vectors is utilized to get the prediction rating r^uz which is rated by the useru for the tourist spotz:(7)r^uz=puTqz=qzTpuBy analyzing the users’ ratings matrixR, we find some users always give high ratings (or low ratings) compared with others. This means the corresponding ratings are biased. However, (7) does not consider the bias. Hence several key bias factors should be taken into account, which contributes to getting more objective ratings. The modified rating equation is shown as follows:(8)r^uz=buz+qzTpu(9)buz=μ+bz+bu(10)r^uz=μ+bz+bu+qzTpub uz represents the overall “bias information” of the useru for the spotz.μis a rating mean.  bz represents the “bias information” of the tourist spotz, which is an item offset to the rating mean.  bu represents the “bias information” of the useru, which is a user offset to the rating mean. In addition to the “bias information”, many implicit parameters are added to the SVD++ algorithm to better reflect users’ latent preference for tourist spots. Generally, users’ ratings are usually called “explicit information” while users’ behaviors are usually called “implicit information”. Finally, a novel perspective of users’ preference is acquired by combining the above-mentioned “explicit information”, “bias information”, and “implicit information” together. The final rating equation is shown as follows:(11)r^uz=μ+bz+bu+qzTpu+Nu-1/2∑j∈NuyjN u represents the behavior data of the useru. This means the useru has rated the corresponding tourist spots. Nu is the size of the behavior data. −(1/2) is the contraction factor which is an empirical value.  yj represents the implicit parameters used for describing the “implicit information” in recommendation, which indicates that the useru has rated the tourist spotj. Finally, besides “explicit information”, the SVD++ algorithm takes both the above-mentioned “bias information” and “implicit information” into account. It firstly analyzes users’ preference degree for the latent semantic factors of the tourist spots. Then it obtains the distribution of the latent semantic factors among all tourist spots. Lastly, it takes both the above-mentioned “bias information” and “implicit information” into account. Based on the above analysis, the cost functionJ of the SVD++ algorithm is shown as follows:(12)J=minbz,bu,qz,pu∑u,z∈Kruz-μ-bu-bz-qzTpu+Nu-1/2∑j∈Nuyj2+λ∑ubu2+pu2+∑zbz2+qz2+yz2The first part ofJ is the loss based on the least square method. The second part ofJ is the regularization term. The proposed SVD++ algorithm is optimized by the stochastic gradient descent method:(13)bu←bu+γeuz-λbu(14)bz←bz+γeuz-λbz(15)pu←pu+γeuzqz-λpu(16)qz←qz+γeuzpu+Nu-1/2∑j∈Nuyj-λqz(17)yj←yj+γeuzNu-1/2qz-λqz(18)euz=ruz-r^uze uz is the prediction error, γ is the learning rate, andλ is the regularization parameter.


## 3.4. The Proposed Collaborative Filtering Model

As described above, the SVD++algorithm decomposes the users’ rating matrixR into two matrices P and Q that contain a group of latent semantic factors. Each user is associated with a user vector that is a row of the matrix P. Each tourist spot is associated with a tourist spot vector that is a column of the matrix Q. By computing the inner product of these two vectors and taking both the above-mentioned “bias information” and “implicit information” into account, the corresponding ratings of users can be predicted. Algorithm 2 shows the details about the proposed SVD++ based collaborative filtering model.Algorithm 2:Proposed SVD++ based collaborative filtering model.
Input:Users’ rating matrix (R) Output:Rating prediction matrix (D) and Recommendation list (LB) 1. Compute the mean rating based on the matrixR. 2. Initialize the “bias information”bu and bz. Initialize the user vector pu. Initialize the tourist spot vectorpu. Initialize the implicit parameters yj. 3. User ratings are grouped by user ids. 4. Compute the inner product of the user vectorpu and the tourist spot vector qz by Equation (11). User’s ratings are predicted. 5. Compute the prediction erroreuz based on the real rating and the predicted rating. As shown in Equation (13)~(18), the SGD method is utilized to complete optimization. 6. Repeat the third step and fourth step to get the prediction ratingruz. Update the rating prediction matrixD. 7. Generate the recommendation listLB based on the matrix D.


## 3.5. Novel Recommendation System for Tourist Spots

As described in Section3.2, the HSS model is used to generate the recommendation list LA from the statistical perspective. As described in Section 3.4, the proposed SVD++ algorithm is used to generate the recommendation list LB from the matrix factorization perspective. On the basis of the two lists, a novel hybrid recommendation system for tourist spots is achieved, which is shown  in Algorithm 3.Algorithm 3:A novel recommendation system for tourist spots.
Input: Questionnaire results T, Users’ rating matrix R Output: Hybrid recommendation list LMix 1. Generate the recommendation listLA using Algorithm 1. 2. Generate the recommendation listLB using Algorithm 2. 3. The mix merge method is used to generate the recommendation listLMix. 4. Compute the precision, recall, and F1 values (Equations (21)–(24), respectively) of the hybrid recommendation system.


## 4. Experimental Results and Discussions

### 4.1. The Dataset

All user ratings in the Smart Travel dataset is crawled fromhttp://www.Ctrip.com. approximately 5000 users’ ratings of 60 tourist spots are crawled from the website. On the basis of experts’ suggestion, we classify the 60 tourist spots into 8 categories: Seashore Island (SI), World Heritage (WH), Blessing Buddha (BB), Cruise Trip (CT), Ancient Town (AT), Family Travel (FT), Health Leisure (HL), and Folk Experience (FE). About 4000 ratings (80%) are select randomly for training while the rest 1000 ratings (20%) are selected for testing. Then a well-designed questionnaire survey is used to collect users’ preference from diverse population attributes, namely, gender, age, district, and wage. It is a very important complementary part of user ratings, which can assist the proposed model in recommending better performance. Finally, all user ratings are discretized: “0~5” represent users’ satisfaction degree, where “5” means the highest positive rating whereas “0” represents the lowest negative rating. Users’ population attributes such as gender, age, district, and wage are discretized into integer values too.Generally, some detailed information about the “Smart Travel” dataset and the well-designed questionnaire survey can be found inhttps://github.com/CVNLP/SmartTravel.


### 4.2. Results of Hierarchical Sampling Statistics Model

We randomly sent the survey table to 2170 visitors and completed the corresponding statistical analysis by the proposed HSS model. This survey can better cover the key population attributes of the interviewed visitors. In each population attribute, we took 1,000 visitors as sampling objects and got the statistics results of the corresponding preference. Three angles, namely, travel season, travel interest, and travel method, are chosen as the tourist preference. On the basis of this setting, the final HSS statistics can be computed. And several valuable conclusions can be obtained from the HSS statistics [9]. Most of them are close to people’s cognition: (1) Most interviewees prefer to travel in spring and fall. Tourist spots in spring (or fall) are more attractive than those in other seasons, given the suitable temperature and beautiful scenes; thus, people are willing to embrace nature. Meanwhile, most students (age ≤ 20) prefer to travel in summer during their vacation, which is a good opportunity for them to travel freely and extend their knowledge. (2) Most interviewees prefer to travel with their families, which is especially for the aged people (age >=40). We guess it is due to Chinese traditional culture. Chinese enjoy themselves in a family trip. Surprisingly, males prefer to travel by themselves. (3) Most middle-aged or the elder (age >=50) prefer to choose the tourist spots of “HL” since these tourist spots require less physical strength. (4) Most interviewees from the east district (or the central district) in China prefer to choose the tourist spots of “SI”, while most interviewees from the west district (or the north district) in China prefer to choose the tourist spots of “FE” and “AT”. We guess this is mainly due to the living habits of the interviewees. (5) Most interviewees with a master’s degree or above tend to travel by themselves.


### 4.3. RMSE and MAE Evaluations

We use both Root Mean Square Error (RMSE) and Mean Absolute Error (MAE) to compute the corresponding rating prediction accuracy. Small RMSE and MAE indicate good recommendation performance. RMSE and MAE are expressed as (19) and (20), respectively, whereTest is the testing dataset; Test is the number of testing data; (u, z) is a user-spot combination in the user rating matrix, wherez andu denote a spot and a user, respectively;ruz represents the actual rating value useru rated spotz in the Wisdom Tourist dataset;and r^uz is the predicted rating generated by the recommendation system.(19)RMSE=1Test∑u,z∈Testr^uz-ruz2(20)MAE=1Test∑u,z∈Testr^uz-ruzThe proposed SVD++ based recommendation system is compared with a group of traditional recommendation systems namely SVD [17], BPR [9], NMF [18], Slope One [19], KNN [20], “KNN + Zscore” [21], “KNN + means” [22], KNN (Baseline) [22], and Co-Clustering [22]. Experimental results are shown in Figure 2.Figure 2
The prediction rating comparisons with baselines.The RMSE values of the proposed SVD++ algorithm decrease about 0.8%, 1.55%, 13.97%, 5.05%, 5.52%, 5.72%, 4.91%, 6.22%, and 15.92%, respectively, compared with SVD, BPR, NMF, Slope One, KNN, “KNN + Zscore”, “KNN + means”, KNN (Baseline), and Co-Clustering. The MAE values of the proposed SVD++ algorithm decrease about 0.03%, 22.81%, 23.46%, 3.6%, 6.53%, 6.3%, 5.91%, 7.65%, and 16.73%, respectively. These indicate the proposed SVD++ algorithm can improve the rating prediction accuracy, which helps to generate a better recommendation list (LB) for users. The implicit reasons are as follows: (1) Domain knowledge of tourist spots plays an important role; all tourist spots are classified into eight categories. The idea is very close to people’s cognition. (2) The proposed SVD++ algorithm finds out the latent semantic space which is suitable for depicting the user preference. (3) The proposed SVD++ algorithm also finds out the latent semantic space which is suitable for depicting different tourist spots. (4) Both the above-mentioned “implicit information” and “bias information” also play very important roles in the recommendation procedure.As described in Section3.2, the proposed SVD++ algorithm plays the most important role in the hybrid recommendation system. So it should be tuned carefully. The SVD++ algorithm has several key parameters such as the regularization parameter (λ), the learning rate parameter (γ), and different split ratio. These parameters are tuned by cross-validation. The corresponding results are shown in Figures 3-4:Figure 3
The parameter tuning procedure of the proposed SVD++ algorithm.
(a)
Learning rate tuning (RMSE) (b)
Learning rate tuning (MAE) (c)
Regularization parameter tuning (RMSE) (d)
Regularization parameter tuning (MAE)Figure 4
Different recommendation performance by setting different split ratios.In Figures3(a)–3(d), when γ = 0.005, λ = 0.02 the proposed SVD++ algorithm achieves the best recommendation performance (its MAE = 0.7141 and its RMSE = 0.9306 in Figure 2). Second, in all subfigures, the variation trends of MAE are similar to that of RMSE, which demonstrates that the proposed SVD++ algorithm is more robust.In Figure4, different split ratios are utilized to validate the best split method (other parameters are fixed, for example γ =0.005 andλ =0.02).Obviously,when the train set accounts for 80%, the proposed SVD++ algorithm achieves the best recommendation performance.


### 4.4. Precision, Recall, and F1 Evaluations

As shown in HSS statistics result, different population attributes determine the corresponding travel preference. Based on the fact, a new model called Our_HS is created: as described in Section3.2, the weight of each attribute is set by the subjective weight evaluation method [14]: “gender” is 0.2, “district” is 0.05, “age” is 0.3, “education” is 0.05, “job” is 0.1, and “wage” is 0.3. Moreover, a new model called Our_Mix is created too: the recommendation list LA generated by the Our_HS model is fused with the recommendation list LB generated by the proposed SVD++ algorithm. Finally, a new list LMix is obtained.In addition to MAE and RMSE, Precision, Recall, and F-Score are often used to evaluate recommendation system. The type that the recommended tourist spots belong to should be determined before computing the corresponding Precision, Recall, and F-Score values. In Table1, “True-Positive(tp)” indicates the recommended tourist spots are preferred by users, “False-Positive(fp)” indicates the recommended tourist spots are not preferred by users, “False-Negative (fn)” indicates the tourist spots which are not recommended are preferred by users, and “True-Negative(tn)” indicates the tourist spots which are not recommended are not preferred by users.Table 1
The classification method of the recommended tourist spots.
User Preference Recommended Not Recommended Prefer True-Positive (tp) False-Negative (fn) Not Prefer False –Positive (fp) True- Negative (tn)Based on Table1, Precision, Recall, and F-Score are computed as follows:(21)Precision=#tp#tp+#fp(22)Recall=#tp#tp+#fn(23)F-Score=α2+1∗Precision∗Recallα2Precision+Recall# means the number. The F1 (α=1) metric (see (24)) is used to evaluate the overall recommendation performance, whenN’ tourist spots are recommended to users. A novel metric namedP’ (see (25)) is used to evaluate the mean performance.(24)F1=2∗Precision∗RecallPrecision+Recall(25)P′=∑w=1N′indexwN′Theindex (w) represents the evaluation metric described above such as Precision, Recall, and F1.N’=1~10. Precisions are listed in Table 2, Recalls are listed in Table 3, and F1 values are listed in Table 4.Table 2
Precisions of different algorithms (the best value of each row is shown as60.52, the suboptimal value of each row is shown as 59.84, and unit is %).
N’ SVD SVD++ NMF Slope One KNN KNN + Zscore KNN + means KNN Baseline Co-Clustering BPR Our_HS Our_Mix 1 59.80 59.29 58.60 59.05 57.31 58.42 60.52 58.08 58.60 37.77 5.33 60.03 2 58.91 58.82 57.86 58.24 56.43 59.20 59.80 58.96 57.66 37.58 8.62 62.52 3 60.27 60.76 57.43 58.86 57.32 59.32 60.62 58.98 58.41 39.32 7.81 63.07 4 59.51 61.75 57.96 58.93 57.68 60.35 60.60 59.36 58.80 39.77 8.62 65.86 5 59.07 60.69 57.50 59.06 57.83 60.39 59.84 60.29 58.87 40.05 8.38 65.75 6 60.38 59.21 58.59 59.73 56.10 60.28 60.39 58.67 58.65 40.49 8.77 65.99 7 58.74 61.15 58.98 59.98 57.56 60.48 60.47 60.60 59.26 40.56 9.08 66.87 8 60.07 61.15 59.06 60.02 58.15 60.67 60.51 60.69 59.57 41.28 9.01 66.98 9 61.43 61.49 59.36 60.25 58.79 60.76 60.75 60.84 59.69 41.04 8.51 67.08 10 62.16 62.33 59.40 60.32 59.42 61.15 60.83 59.98 60.03 41.67 9.08 67.69 P - 60.04 60.66 58.47 59.44 57.66 60.10 60.43 59.65 58.95 39.95 8.32 65.18Table 3
Recall values of different algorithms (the best value of each row is shown as16.13, the suboptimal value of each row is shown as 17.89, and unit is %).
N’ SVD SVD++ NMF Slope One KNN KNN + Zscore KNN + means KNN Baseline Co-Clustering BPR Our_HS Our_Mix 1 13.31 15.94 14.92 13.39 15.93 15.36 15.04 14.57 16.13 9.38 0.33 15.94 2 15.36 17.89 15.55 15.40 16.41 14.08 14.36 14.71 16.73 10.25 0.80 17.96 3 13.40 17.93 12.65 13.95 15.87 13.57 14.39 15.23 17.63 9.91 1.12 17.83 4 14.81 16.54 14.30 14.01 16.27 15.48 14.61 15.63 16.77 10.42 1.80 17.84 5 14.99 18.29 15.76 14.88 16.32 15.51 14.86 15.42 17.16 10.62 2.11 18.69 6 16.21 14.65 15.78 15.80 16.61 16.62 14.97 16.31 17.47 9.89 2.34 17.66 7 17.97 18.86 16.13 16.39 16.85 16.73 16.54 16.47 18.85 11.64 3.14 19.20 8 17.20 18.65 16.38 16.45 16.94 16.74 16.81 16.58 16.13 12.08 3.43 19.68 9 17.29 18.75 16.83 17.17 16.96 16.82 16.23 16.74 17.49 13.07 4.81 20.20 10 18.16 18.25 16.28 17.39 17.56 16.70 16.92 17.08 17.64 13.12 5.56 21.70 P - 15.87 17.57 15.46 15.48 16.57 15.76 15.47 15.88 17.20 11.04 2.54 18.67Table 4
F1 values of different algorithms (the best value of each row is shown as25.30, the suboptimal value of each row is shown as 27.44, and unit is %).
N’ SVD SVD++ NMF Slope One KNN KNN + Zscore KNN + means KNN Baseline Co-Clustering BPR Our_HS Our_Mix 1 21.77 25.13 23.78 21.83 24.93 24.32 24.09 23.30 25.30 15.03 0.62 25.19 2 24.37 27.44 24.51 24.36 25.43 22.75 23.16 23.55 25.93 16.11 1.46 27.90 3 21.93 27.69 20.73 22.55 24.86 22.09 23.26 24.21 27.08 15.84 1.96 27.80 4 23.72 26.09 22.94 22.64 25.38 24.64 23.54 24.74 26.10 16.51 2.98 28.08 5 23.91 28.11 24.74 23.77 25.46 24.68 23.81 24.56 26.57 16.79 3.37 29.11 6 25.56 23.49 24.86 24.99 25.63 26.06 23.99 25.52 26.92 15.89 3.69 27.86 7 27.52 28.83 25.33 25.74 26.07 26.21 25.98 25.90 28.60 18.08 4.67 29.83 8 26.74 28.58 25.65 25.82 26.24 26.24 26.31 26.04 25.39 18.69 4.97 30.42 9 26.98 28.74 26.22 26.72 26.33 26.35 25.62 26.26 27.05 19.83 6.15 31.05 10 28.11 28.23 25.56 27.00 27.11 26.24 26.48 26.59 27.27 19.96 6.90 32.86 P - 25.06 27.23 24.43 24.54 25.74 24.96 24.62 25.07 26.62 17.30 3.68 29.01In Table2, the “KNN + means” algorithm acquires the best Precision whenN’=1; it is better for recommending only one tourist spot. However, this cannot meet users’ personalized requirement. Except the SVD, SVD ++, NMF, and KNN algorithms, the Precision cannot obtain significant improvement when more tourist spots are recommended to users because the rating matrix R is sparse. The proposed SVD++ algorithm can obtain higher Precision and beat other baselines whenN’≥3. This indicates the proposed SVD++ algorithm is better at recommending more tourist spots. It is very close to people’s cognition and it can better meet users’ personalized requirement. However, the superiority of the SVD++ algorithm is a margin compared with the best competitor. It still has a large improvement space.As expected, the proposed Our_Mix model wins nine first places among ten results. Figure5(a) describes the precision improvement between different models with respect toN'. For example, the precision improvement of the proposed Our_Mix model is improved about 2.49% whenN'=2. Meanwhile, the precision improvements of the proposed Our_Mix model are always positive, and it has an increasing trend. On the contrary, the SVD ++ algorithm has a tortuous trend which twists and turns. More importantly, the overall improvement of the SVD++ algorithm is far less than that of the Our_Mix model. Hence, when more and more tourist spots are recommended to users, the proposed Our_Mix model is more stable than any other baseline. We conclude the proposed SVD++ algorithm plays a major role while the HSS model plays a minor role. They complement each other to obtain the best recommendation performance.Figure 5
The performance comparisons.
(a)
The precision improvements (b)
The recall improvementsIn summary, based on theP’ values, we find, compared with the best competitor, the mean precision of the proposed Our_Mix model is improved about (65.18%-60.66%)/60.66%≈7.5%. It is a larger margin, which indicates the proposed hybrid recommendation model is more practical than any other baseline. Moreover, the mean precision descend order of all models is shown as Our_Mix>SVD++>“KNN + means”> “KNN + Zscore”> SVD > “KNN Baseline”>Slope One>Co-Clustering>NMF>KNN>BPR>Our_HS.In Table3, several baselines, i.e., SVD++, Co-Clustering and KNN, obtain better recall values. Among ten results, the proposed SVD++ algorithm wins one first place and seven second places. It is better at recommending a group of tourist spots (especially forN’≥5). As expected, the proposed Our_Mix model gets the best recall values. When more spots are recommended to users, the proposed Our_Mix model is more stable and superior to any other baseline. Figure 5(b) indicates the recall improvement between different models with respect to N′. For example, the recall value of the proposed Our_Mix model is improved about 2.49% when N′=2. The recall improvements of the Our_Mix model are always positive and it has an increasing trend.In summary, based on theP’ values, compared with the best competitor, the mean recall of the proposed Our_Mix model is improved about (18.67%-17.57%)/17.57%≈6.2%, It is also a larger margin, which indicates the Our_Mix model is more practical than other models. Moreover, the mean recall descend order of all models is shown as Our_Mix >SVD++ > Co-Clustering > KNN > “KNN Baseline” > SVD > “KNN + Zscore” > Slope One > “KNN + means” > NMF > “BPR” > Our_HS.Table4 is more valuable because the F1 metric focuses on evaluating the overall recommendation performance. In Table 4, the proposed Our_Mix model acquires the best F1 values. Among ten results, it wins nine first place and one second place. When more tourist spots are recommended to users, the Our_Mix model is more stable and it has an increasing trend. Secondly, based on theP’ values, compared with the best competitor, the mean F1 of the proposed Our_Mix model is improved about (29.01%-27.23%)/27.23%≈6.5%. The value is between 6.2% (the mean recall improvement of the Our_Mix model) and 7.5% (the mean precision improvement of the Our_Mix model) because F1 is an overall evaluation matric. Moreover, the value is a larger margin compared with the best competitor, which indicates the Our_Mix model is more practical. Finally, the mean F1 descend order of all models is shown as: Our_Mix > SVD++ > Co-Clustering > KNN > SVD > “KNN + Zscore” > “KNN + means” > Slope One > NMF > “BPR” > Our_HS.All in all, the proposed Our_Mix model obtains the best recommendation performance. It also is better at recommending a group of tourist spots, which really helps to improve users’ interactive experience and enhance the influence of tourism websites.


### 4.5. Case Study

In this section, we will show the advantages of the proposed model through some quintessential examples. We provide the recommendation lists in Table5, which is built by three baselines (SVD++, Co-Clustering, and KNN. They get better performance in Table 4) and the proposed Our_Mix model. Two users are randomly selected to complete case study. The first column presents the ground-truth of the two users, and the following columns are the results of different recommendation systems.Table 5
Case study results.
Ground-truth SVD++ Co-Clustering KNN Our_Mix User id: 9 Jiuhua Mountain Sri Lanka Gulangyu islet Phuket Jiuhua Mountain √ Huanglong Jiuhua Mountain √ Kyoto Nara Fuji Bali Lijiang √ Huanglong √ Bali √ Bali √ Lijiang Shangri-la Sanya Lijiang √ Cairo Nara Guilin Wuhan Lijiang √ Hong Kong Nusa Lembongan Indonesia Kyoto  User id: 53 Terra Cotta Warriors Wutai Mountain Bali Sanya Nara √ Nara Kyoto √ Wuyuan Lijiang Kyoto √ Kyoto Cairo Shangri-la √ Tokyo Cairo Disney Jiuzhangou Terra Cotta Warriors √ Sri Lanka Nara √ Munich Haikou Terra Cotta Warriors √ Phuket Dali Disney PhuketAs shown in Table5, the proposed hybrid model predicts more positive tourist spots and more accurate tourist spots. For example, the tourist spots that the user “53” prefers to, i.e. “Terra Cotta Warriors”, “Nara” and “Kyoto”, are predicted accurately by the proposed hybrid model. We conclude that our model benefits from the hybrid mode which consists of the HSS model and the SVD++ algorithm. The proposed SVD++ algorithm finds out more valuable latent semantic space which can better describe users’ preference. Moreover, the HSS model is a good complementary to the SVD++ algorithm.


## 4.1. The Dataset

All user ratings in the Smart Travel dataset is crawled fromhttp://www.Ctrip.com. approximately 5000 users’ ratings of 60 tourist spots are crawled from the website. On the basis of experts’ suggestion, we classify the 60 tourist spots into 8 categories: Seashore Island (SI), World Heritage (WH), Blessing Buddha (BB), Cruise Trip (CT), Ancient Town (AT), Family Travel (FT), Health Leisure (HL), and Folk Experience (FE). About 4000 ratings (80%) are select randomly for training while the rest 1000 ratings (20%) are selected for testing. Then a well-designed questionnaire survey is used to collect users’ preference from diverse population attributes, namely, gender, age, district, and wage. It is a very important complementary part of user ratings, which can assist the proposed model in recommending better performance. Finally, all user ratings are discretized: “0~5” represent users’ satisfaction degree, where “5” means the highest positive rating whereas “0” represents the lowest negative rating. Users’ population attributes such as gender, age, district, and wage are discretized into integer values too.Generally, some detailed information about the “Smart Travel” dataset and the well-designed questionnaire survey can be found inhttps://github.com/CVNLP/SmartTravel.


## 4.2. Results of Hierarchical Sampling Statistics Model

We randomly sent the survey table to 2170 visitors and completed the corresponding statistical analysis by the proposed HSS model. This survey can better cover the key population attributes of the interviewed visitors. In each population attribute, we took 1,000 visitors as sampling objects and got the statistics results of the corresponding preference. Three angles, namely, travel season, travel interest, and travel method, are chosen as the tourist preference. On the basis of this setting, the final HSS statistics can be computed. And several valuable conclusions can be obtained from the HSS statistics [9]. Most of them are close to people’s cognition: (1) Most interviewees prefer to travel in spring and fall. Tourist spots in spring (or fall) are more attractive than those in other seasons, given the suitable temperature and beautiful scenes; thus, people are willing to embrace nature. Meanwhile, most students (age ≤ 20) prefer to travel in summer during their vacation, which is a good opportunity for them to travel freely and extend their knowledge. (2) Most interviewees prefer to travel with their families, which is especially for the aged people (age >=40). We guess it is due to Chinese traditional culture. Chinese enjoy themselves in a family trip. Surprisingly, males prefer to travel by themselves. (3) Most middle-aged or the elder (age >=50) prefer to choose the tourist spots of “HL” since these tourist spots require less physical strength. (4) Most interviewees from the east district (or the central district) in China prefer to choose the tourist spots of “SI”, while most interviewees from the west district (or the north district) in China prefer to choose the tourist spots of “FE” and “AT”. We guess this is mainly due to the living habits of the interviewees. (5) Most interviewees with a master’s degree or above tend to travel by themselves.


## 4.3. RMSE and MAE Evaluations

We use both Root Mean Square Error (RMSE) and Mean Absolute Error (MAE) to compute the corresponding rating prediction accuracy. Small RMSE and MAE indicate good recommendation performance. RMSE and MAE are expressed as (19) and (20), respectively, whereTest is the testing dataset; Test is the number of testing data; (u, z) is a user-spot combination in the user rating matrix, wherez andu denote a spot and a user, respectively;ruz represents the actual rating value useru rated spotz in the Wisdom Tourist dataset;and r^uz is the predicted rating generated by the recommendation system.(19)RMSE=1Test∑u,z∈Testr^uz-ruz2(20)MAE=1Test∑u,z∈Testr^uz-ruzThe proposed SVD++ based recommendation system is compared with a group of traditional recommendation systems namely SVD [17], BPR [9], NMF [18], Slope One [19], KNN [20], “KNN + Zscore” [21], “KNN + means” [22], KNN (Baseline) [22], and Co-Clustering [22]. Experimental results are shown in Figure 2.Figure 2
The prediction rating comparisons with baselines.The RMSE values of the proposed SVD++ algorithm decrease about 0.8%, 1.55%, 13.97%, 5.05%, 5.52%, 5.72%, 4.91%, 6.22%, and 15.92%, respectively, compared with SVD, BPR, NMF, Slope One, KNN, “KNN + Zscore”, “KNN + means”, KNN (Baseline), and Co-Clustering. The MAE values of the proposed SVD++ algorithm decrease about 0.03%, 22.81%, 23.46%, 3.6%, 6.53%, 6.3%, 5.91%, 7.65%, and 16.73%, respectively. These indicate the proposed SVD++ algorithm can improve the rating prediction accuracy, which helps to generate a better recommendation list (LB) for users. The implicit reasons are as follows: (1) Domain knowledge of tourist spots plays an important role; all tourist spots are classified into eight categories. The idea is very close to people’s cognition. (2) The proposed SVD++ algorithm finds out the latent semantic space which is suitable for depicting the user preference. (3) The proposed SVD++ algorithm also finds out the latent semantic space which is suitable for depicting different tourist spots. (4) Both the above-mentioned “implicit information” and “bias information” also play very important roles in the recommendation procedure.As described in Section3.2, the proposed SVD++ algorithm plays the most important role in the hybrid recommendation system. So it should be tuned carefully. The SVD++ algorithm has several key parameters such as the regularization parameter (λ), the learning rate parameter (γ), and different split ratio. These parameters are tuned by cross-validation. The corresponding results are shown in Figures 3-4:Figure 3
The parameter tuning procedure of the proposed SVD++ algorithm.
(a)
Learning rate tuning (RMSE) (b)
Learning rate tuning (MAE) (c)
Regularization parameter tuning (RMSE) (d)
Regularization parameter tuning (MAE)Figure 4
Different recommendation performance by setting different split ratios.In Figures3(a)–3(d), when γ = 0.005, λ = 0.02 the proposed SVD++ algorithm achieves the best recommendation performance (its MAE = 0.7141 and its RMSE = 0.9306 in Figure 2). Second, in all subfigures, the variation trends of MAE are similar to that of RMSE, which demonstrates that the proposed SVD++ algorithm is more robust.In Figure4, different split ratios are utilized to validate the best split method (other parameters are fixed, for example γ =0.005 andλ =0.02).Obviously,when the train set accounts for 80%, the proposed SVD++ algorithm achieves the best recommendation performance.


## 4.4. Precision, Recall, and F1 Evaluations

As shown in HSS statistics result, different population attributes determine the corresponding travel preference. Based on the fact, a new model called Our_HS is created: as described in Section3.2, the weight of each attribute is set by the subjective weight evaluation method [14]: “gender” is 0.2, “district” is 0.05, “age” is 0.3, “education” is 0.05, “job” is 0.1, and “wage” is 0.3. Moreover, a new model called Our_Mix is created too: the recommendation list LA generated by the Our_HS model is fused with the recommendation list LB generated by the proposed SVD++ algorithm. Finally, a new list LMix is obtained.In addition to MAE and RMSE, Precision, Recall, and F-Score are often used to evaluate recommendation system. The type that the recommended tourist spots belong to should be determined before computing the corresponding Precision, Recall, and F-Score values. In Table1, “True-Positive(tp)” indicates the recommended tourist spots are preferred by users, “False-Positive(fp)” indicates the recommended tourist spots are not preferred by users, “False-Negative (fn)” indicates the tourist spots which are not recommended are preferred by users, and “True-Negative(tn)” indicates the tourist spots which are not recommended are not preferred by users.Table 1
The classification method of the recommended tourist spots.
User Preference Recommended Not Recommended Prefer True-Positive (tp) False-Negative (fn) Not Prefer False –Positive (fp) True- Negative (tn)Based on Table1, Precision, Recall, and F-Score are computed as follows:(21)Precision=#tp#tp+#fp(22)Recall=#tp#tp+#fn(23)F-Score=α2+1∗Precision∗Recallα2Precision+Recall# means the number. The F1 (α=1) metric (see (24)) is used to evaluate the overall recommendation performance, whenN’ tourist spots are recommended to users. A novel metric namedP’ (see (25)) is used to evaluate the mean performance.(24)F1=2∗Precision∗RecallPrecision+Recall(25)P′=∑w=1N′indexwN′Theindex (w) represents the evaluation metric described above such as Precision, Recall, and F1.N’=1~10. Precisions are listed in Table 2, Recalls are listed in Table 3, and F1 values are listed in Table 4.Table 2
Precisions of different algorithms (the best value of each row is shown as60.52, the suboptimal value of each row is shown as 59.84, and unit is %).
N’ SVD SVD++ NMF Slope One KNN KNN + Zscore KNN + means KNN Baseline Co-Clustering BPR Our_HS Our_Mix 1 59.80 59.29 58.60 59.05 57.31 58.42 60.52 58.08 58.60 37.77 5.33 60.03 2 58.91 58.82 57.86 58.24 56.43 59.20 59.80 58.96 57.66 37.58 8.62 62.52 3 60.27 60.76 57.43 58.86 57.32 59.32 60.62 58.98 58.41 39.32 7.81 63.07 4 59.51 61.75 57.96 58.93 57.68 60.35 60.60 59.36 58.80 39.77 8.62 65.86 5 59.07 60.69 57.50 59.06 57.83 60.39 59.84 60.29 58.87 40.05 8.38 65.75 6 60.38 59.21 58.59 59.73 56.10 60.28 60.39 58.67 58.65 40.49 8.77 65.99 7 58.74 61.15 58.98 59.98 57.56 60.48 60.47 60.60 59.26 40.56 9.08 66.87 8 60.07 61.15 59.06 60.02 58.15 60.67 60.51 60.69 59.57 41.28 9.01 66.98 9 61.43 61.49 59.36 60.25 58.79 60.76 60.75 60.84 59.69 41.04 8.51 67.08 10 62.16 62.33 59.40 60.32 59.42 61.15 60.83 59.98 60.03 41.67 9.08 67.69 P - 60.04 60.66 58.47 59.44 57.66 60.10 60.43 59.65 58.95 39.95 8.32 65.18Table 3
Recall values of different algorithms (the best value of each row is shown as16.13, the suboptimal value of each row is shown as 17.89, and unit is %).
N’ SVD SVD++ NMF Slope One KNN KNN + Zscore KNN + means KNN Baseline Co-Clustering BPR Our_HS Our_Mix 1 13.31 15.94 14.92 13.39 15.93 15.36 15.04 14.57 16.13 9.38 0.33 15.94 2 15.36 17.89 15.55 15.40 16.41 14.08 14.36 14.71 16.73 10.25 0.80 17.96 3 13.40 17.93 12.65 13.95 15.87 13.57 14.39 15.23 17.63 9.91 1.12 17.83 4 14.81 16.54 14.30 14.01 16.27 15.48 14.61 15.63 16.77 10.42 1.80 17.84 5 14.99 18.29 15.76 14.88 16.32 15.51 14.86 15.42 17.16 10.62 2.11 18.69 6 16.21 14.65 15.78 15.80 16.61 16.62 14.97 16.31 17.47 9.89 2.34 17.66 7 17.97 18.86 16.13 16.39 16.85 16.73 16.54 16.47 18.85 11.64 3.14 19.20 8 17.20 18.65 16.38 16.45 16.94 16.74 16.81 16.58 16.13 12.08 3.43 19.68 9 17.29 18.75 16.83 17.17 16.96 16.82 16.23 16.74 17.49 13.07 4.81 20.20 10 18.16 18.25 16.28 17.39 17.56 16.70 16.92 17.08 17.64 13.12 5.56 21.70 P - 15.87 17.57 15.46 15.48 16.57 15.76 15.47 15.88 17.20 11.04 2.54 18.67Table 4
F1 values of different algorithms (the best value of each row is shown as25.30, the suboptimal value of each row is shown as 27.44, and unit is %).
N’ SVD SVD++ NMF Slope One KNN KNN + Zscore KNN + means KNN Baseline Co-Clustering BPR Our_HS Our_Mix 1 21.77 25.13 23.78 21.83 24.93 24.32 24.09 23.30 25.30 15.03 0.62 25.19 2 24.37 27.44 24.51 24.36 25.43 22.75 23.16 23.55 25.93 16.11 1.46 27.90 3 21.93 27.69 20.73 22.55 24.86 22.09 23.26 24.21 27.08 15.84 1.96 27.80 4 23.72 26.09 22.94 22.64 25.38 24.64 23.54 24.74 26.10 16.51 2.98 28.08 5 23.91 28.11 24.74 23.77 25.46 24.68 23.81 24.56 26.57 16.79 3.37 29.11 6 25.56 23.49 24.86 24.99 25.63 26.06 23.99 25.52 26.92 15.89 3.69 27.86 7 27.52 28.83 25.33 25.74 26.07 26.21 25.98 25.90 28.60 18.08 4.67 29.83 8 26.74 28.58 25.65 25.82 26.24 26.24 26.31 26.04 25.39 18.69 4.97 30.42 9 26.98 28.74 26.22 26.72 26.33 26.35 25.62 26.26 27.05 19.83 6.15 31.05 10 28.11 28.23 25.56 27.00 27.11 26.24 26.48 26.59 27.27 19.96 6.90 32.86 P - 25.06 27.23 24.43 24.54 25.74 24.96 24.62 25.07 26.62 17.30 3.68 29.01In Table2, the “KNN + means” algorithm acquires the best Precision whenN’=1; it is better for recommending only one tourist spot. However, this cannot meet users’ personalized requirement. Except the SVD, SVD ++, NMF, and KNN algorithms, the Precision cannot obtain significant improvement when more tourist spots are recommended to users because the rating matrix R is sparse. The proposed SVD++ algorithm can obtain higher Precision and beat other baselines whenN’≥3. This indicates the proposed SVD++ algorithm is better at recommending more tourist spots. It is very close to people’s cognition and it can better meet users’ personalized requirement. However, the superiority of the SVD++ algorithm is a margin compared with the best competitor. It still has a large improvement space.As expected, the proposed Our_Mix model wins nine first places among ten results. Figure5(a) describes the precision improvement between different models with respect toN'. For example, the precision improvement of the proposed Our_Mix model is improved about 2.49% whenN'=2. Meanwhile, the precision improvements of the proposed Our_Mix model are always positive, and it has an increasing trend. On the contrary, the SVD ++ algorithm has a tortuous trend which twists and turns. More importantly, the overall improvement of the SVD++ algorithm is far less than that of the Our_Mix model. Hence, when more and more tourist spots are recommended to users, the proposed Our_Mix model is more stable than any other baseline. We conclude the proposed SVD++ algorithm plays a major role while the HSS model plays a minor role. They complement each other to obtain the best recommendation performance.Figure 5
The performance comparisons.
(a)
The precision improvements (b)
The recall improvementsIn summary, based on theP’ values, we find, compared with the best competitor, the mean precision of the proposed Our_Mix model is improved about (65.18%-60.66%)/60.66%≈7.5%. It is a larger margin, which indicates the proposed hybrid recommendation model is more practical than any other baseline. Moreover, the mean precision descend order of all models is shown as Our_Mix>SVD++>“KNN + means”> “KNN + Zscore”> SVD > “KNN Baseline”>Slope One>Co-Clustering>NMF>KNN>BPR>Our_HS.In Table3, several baselines, i.e., SVD++, Co-Clustering and KNN, obtain better recall values. Among ten results, the proposed SVD++ algorithm wins one first place and seven second places. It is better at recommending a group of tourist spots (especially forN’≥5). As expected, the proposed Our_Mix model gets the best recall values. When more spots are recommended to users, the proposed Our_Mix model is more stable and superior to any other baseline. Figure 5(b) indicates the recall improvement between different models with respect to N′. For example, the recall value of the proposed Our_Mix model is improved about 2.49% when N′=2. The recall improvements of the Our_Mix model are always positive and it has an increasing trend.In summary, based on theP’ values, compared with the best competitor, the mean recall of the proposed Our_Mix model is improved about (18.67%-17.57%)/17.57%≈6.2%, It is also a larger margin, which indicates the Our_Mix model is more practical than other models. Moreover, the mean recall descend order of all models is shown as Our_Mix >SVD++ > Co-Clustering > KNN > “KNN Baseline” > SVD > “KNN + Zscore” > Slope One > “KNN + means” > NMF > “BPR” > Our_HS.Table4 is more valuable because the F1 metric focuses on evaluating the overall recommendation performance. In Table 4, the proposed Our_Mix model acquires the best F1 values. Among ten results, it wins nine first place and one second place. When more tourist spots are recommended to users, the Our_Mix model is more stable and it has an increasing trend. Secondly, based on theP’ values, compared with the best competitor, the mean F1 of the proposed Our_Mix model is improved about (29.01%-27.23%)/27.23%≈6.5%. The value is between 6.2% (the mean recall improvement of the Our_Mix model) and 7.5% (the mean precision improvement of the Our_Mix model) because F1 is an overall evaluation matric. Moreover, the value is a larger margin compared with the best competitor, which indicates the Our_Mix model is more practical. Finally, the mean F1 descend order of all models is shown as: Our_Mix > SVD++ > Co-Clustering > KNN > SVD > “KNN + Zscore” > “KNN + means” > Slope One > NMF > “BPR” > Our_HS.All in all, the proposed Our_Mix model obtains the best recommendation performance. It also is better at recommending a group of tourist spots, which really helps to improve users’ interactive experience and enhance the influence of tourism websites.


## 4.5. Case Study

In this section, we will show the advantages of the proposed model through some quintessential examples. We provide the recommendation lists in Table5, which is built by three baselines (SVD++, Co-Clustering, and KNN. They get better performance in Table 4) and the proposed Our_Mix model. Two users are randomly selected to complete case study. The first column presents the ground-truth of the two users, and the following columns are the results of different recommendation systems.Table 5
Case study results.
Ground-truth SVD++ Co-Clustering KNN Our_Mix User id: 9 Jiuhua Mountain Sri Lanka Gulangyu islet Phuket Jiuhua Mountain √ Huanglong Jiuhua Mountain √ Kyoto Nara Fuji Bali Lijiang √ Huanglong √ Bali √ Bali √ Lijiang Shangri-la Sanya Lijiang √ Cairo Nara Guilin Wuhan Lijiang √ Hong Kong Nusa Lembongan Indonesia Kyoto  User id: 53 Terra Cotta Warriors Wutai Mountain Bali Sanya Nara √ Nara Kyoto √ Wuyuan Lijiang Kyoto √ Kyoto Cairo Shangri-la √ Tokyo Cairo Disney Jiuzhangou Terra Cotta Warriors √ Sri Lanka Nara √ Munich Haikou Terra Cotta Warriors √ Phuket Dali Disney PhuketAs shown in Table5, the proposed hybrid model predicts more positive tourist spots and more accurate tourist spots. For example, the tourist spots that the user “53” prefers to, i.e. “Terra Cotta Warriors”, “Nara” and “Kyoto”, are predicted accurately by the proposed hybrid model. We conclude that our model benefits from the hybrid mode which consists of the HSS model and the SVD++ algorithm. The proposed SVD++ algorithm finds out more valuable latent semantic space which can better describe users’ preference. Moreover, the HSS model is a good complementary to the SVD++ algorithm.


## 5. Conclusions and Future Works

Recommendation system is an effective method to resolve the “information overload” problem and it can further promote the value of information. As a hot research topic, recommendation system for tourist spots is chosen as our research object: a new dataset named “Smart Travel” is created firstly. After that, a novel recommendation system is designed by fusing the HSS model and the SVD ++ algorithm. Experimental results demonstrated that the mean precision, mean recall, and mean F1 of the proposed hybrid model improve about 7.5%, 6.2%, and 6.5%, respectively, compared with the best competitor. The novel recommendation system is especially better at recommending a group of tourist spots. Our future works are shown as follows:( 1 ) The user preference will be modeled by spots’ images. We plan to introduce the state-of-the-art relative model [23] to describe the extent variation of users’ preference, which may contribute to characterizing users’ preference more accurately.( 2 ) Several state-of-the-art deep learning-based models such as CNN [24] and DSSM [25] will be introduced to better mine the nonlinear relationship between users and tourist spots, which also help to improve the final recommendation performance.( 3 ) The state-of-the-art IRGAN [26] model will be used to train a more robust recommendation system. It will give us some new intuitions about designing a novel recommendation system.



---

*Source: 2072375-2019-07-17.xml*