INT J COMPUT COMMUN, ISSN 1841-9836 9(3):356-369, June, 2014. A Feedback-corrected Collaborative Filtering for Personalized Real-world Service Recommendation S. Zhao, Y. Zhang, B. Cheng, J.-L. Chen Shuai Zhao*, Yang Zhang, Bo Cheng, Jun-liang Chen State Key Laboratory of Networking and Switching Technology Beijing University of Posts and Telecommunications Beijing, 100876, China *Corresponding author: zhaoshuaiby@bupt.edu.cn Abstract: The emergence of Internet of Things (IoT) integrates the cyberspace with the physical space. With the rapid development of IoT, large amounts of IoT services are provided by various IoT middleware solutions. So, discovery and selecting the adequate services becomes a time-consuming and challenging task. This paper proposes a novel similarity-measurement for computing the similarity between services and introduces a new personalized recommendation approach for real-world service based on collaborative filtering. In order to evaluate the performance of proposed recommendation approach, large-scale of experiments are conducted, which involves the QoS-records of 339 users and 5825 real web-services. The experiments results indicate that the proposed approach outperforms other compared approaches in terms of accuracy and stability. Keywords: Internet of Things, service recommendation, similarity measurement, collaborative filtering. 1 Introduction 1.1 Background Internet of Things (IoT) seamlessly integrates user requirement, cyberspace and physical space, which enables the dynamic cooperation of Ą°human-machine-thingĄą. As the adopting of SOA (service oriented architecture) paradigm in IoT environment [1], real-world devices will be able to offer their functionality via service interfaces, which enable other components to interact with them dynamically. The functionalities provided by these devices ( e.g. the provisioning of online sensing data) are referred to as real-world services because they are provided by embedded systems that are directly related to the physical world [2]. With the developments of IoT, lots of middleware solutions like OpenIoT [3], GSN [4], COSM [5] are proposed which act as service pro- vision platforms. These platforms access real-world resources around the world and provide their capability in form of millions of real-world services, which enable sharing, monitoring and con- trolling environmental data on the web. However, these existing platforms only provide limited functions for service selecting and recommendation. As the rapid increase of available services, selecting the appropriate services becomes challenging and time-consuming [6]. Therefore, ser- vice discovery becomes the critical issues of IoT development. Other than web-service discovery based on functional property which has been deeply studied [7], the studies of discovery based on non-functional property are far from mature, i.e. it is difficult to differentiate services with similar or identical functions. As the user-received performance of service is tightly related to the personalized information of specific users, identifying the optimal one for service users is difficult and costly in the case of many services with equivalent functions. Effective personalized service selection and recommendation based on non-functional property become more and more important [8]. Quality of Service (QoS) (e.g. observation-accuracy, round-trip time (RTT), etc.) Copyright © 2006-2014 by CCC Publications A Feedback-corrected Collaborative Filtering for Personalized Real-world Service Recommendation 357 is served as key non-functional property, which acts as important element considered when dis- covering and selecting services [9, 10]. The values of QoS are usually influenced by the specific environment (such as network quality) of users and tend to vary with each user. Because con- ducting actual service invocation is time and resource consuming, it is unpractical to evaluate the QoS of all candidate services for every user [11]. So, the idea of making personalized QoS prediction for users using a small amount of available QoS value is extremely useful. Based on the predicted QoS values, personalized service recommendation is available for service-users. It enables users to select the service with optimal QoS from a number of services which are function-equivalent. 1.2 Motivation Collaborative filtering (CF) are widely used in recommender systems [12]. The algorithms of CF can be divided into two categories: memory based and model based. Cosine-based approach (COS) [14, 15] and Pearson Correlation Coefficient (PCC) [12, 13] are two of the most popular memory-based approaches [16] to calculate the similarity between items. A number of works that employ COS-CF (Cosine based Collaborative-filtering) or PCC-CF (Pearson Correlation Coefficient based Collaborative filtering) for QoS based service recommendation and selection have been proposed recently [11] [17–19]. However, the performance that using PCC and COS to measure similarity leaves much to be desired and the prediction accuracy of these works cannot satisfy the requirement of practical application. Moreover, the experiments of these existing works are not convincing enough. The existing service recommendation [17, 19] approaches are short of sufficient-scale and systematic evaluation to verify their recommendation results. Some of them employ item dataset (such as MovieLens [20]) instead of real service dataset to evaluate their approaches. In order to address these issues, this paper proposes a novel similarity-measurement for com- puting the similarity between service users and introduces a new personalized recommendation approach for real-world service based on collaborative filtering, which named feedback-corrected Tan-NED (Tanimoto Normalized Euclidean Distance). The contributions of this paper are sum- marized as the following aspects: • This paper proposes a novel similarity measurement for memory based CF, which avoids the shortcomings of existing approaches for service recommendation and takes the char- acteristics of real-world service QoS into account. Therefore, it finds similar users more accurately and obtains more accurate QoS-prediction. • A feedback-corrected CF approach is proposed, which significantly improves the perfor- mance of service recommendation in comparison with existing approaches. • To evaluate the performance of proposed approach, we conduct comprehensive evaluative experiments based on a large-size real-service QoS dataset which includes 5825 real web- services and 339 users. The following parts of this paper are organized as follows. In section 2, we review exist- ing similarity measurement approaches for memory-based CF. Section 3 presents the proposed feedback-corrected Tan-NED CF approach. The experiment results of proposed approach are discussed in section 4. Section 5 concludes the work and discusses the future work. 358 S. Zhao, Y. Zhang, B. Cheng, J.-L. Chen 2 Existing Similarity Measurement The service similarity measurements are divided into two types, namely, functional-measurement and non-functional-measurement. Our previous work [21] focuses on measuring the functional similarity between real-world services based on semantic model. Other than functional similarity, this paper focuses on non-functional similarity, i.e. QoS similarity. The idea of memory-based CF is inspired by the fact that users trust the recommendations from the one who have similar context and preference. These methods predict the QoS of a particular service for a user based on the QoS obtained from users who have similar context and preference. In memory-based CF, Cosine-based approach (COS) [14,15] and Pearson Correlation Coefficient (PCC) [12,13] are two of the most popular algorithms to measure the similarity. Assuming that a service recommender system includes N services and M users, then we obtain an M ×N user-service matrix, in which the entry rm,n denotes the QoS value of service n observed by user m. If the entry rm,n = ∅, it indicates that user m has never invoked service n. PCC-CF can be used to calculate the similarity between user u and user v by following formula: Sim(u, v) = ∑ i∈I(ru,i − ru)(rv,i − rv)√∑ i∈I(ru,i − ru)2 √∑ i∈I(rv,i − rv)2 (1) Where I = Iu ∩ Iv is the set of services that are co-invoked by users u and v, ru,i denotes the quantized QoS value of service i observed from the view of user u, and ru is the average value on the QoS of services in I observed by user u. The values of PCC range from −1 to 1 according to the definition of equation (1). In COS CF, the similarity between users can be measured by calculating the cosine similarity of the vectors between them: sim(u, v) = ∑ i∈I ru,irv,i√∑ i∈I r 2 u,i √∑ i∈I r 2 v,i (2) Table 1: An example of user-service QoS matrix service1 service2 service3 service4 service5 user1 2 4 2 4 5 user2 1 2 1 2 5 user3 2 4 2 ∅ ∅ user4 2 2 2 1 4 user5 5 5 5 4 ∅ user6 3 2 3 3 1 user7 3 2 3 4 ∅ user8 3 1 ∅ ∅ ∅ Table 1 is an example of QoS matrix which contains 5 services (service1 to service5) and 8 users (user1 to user8). The values from 1 to 5 are the minimum to the maximum QoS-values of the user-service matrix. ∅ denotes the user has never invoked the corresponding service before. We calculate similarity value adopting COS approach (Eq. (2)), and get the following arith- metic expression: Sim(user3, user1) = Sim(user3, user2) A Feedback-corrected Collaborative Filtering for Personalized Real-world Service Recommendation 359 It indicates that user1 is similar to user3 as much as user2 is. Actually, user1 is more similar to user3 than user2 , which can be easily observed according to the values in Table 1. Hence, calculation results and facts are contradictory. We can also compute the similarity between user4 and user5: Sim(user4, user5) = 0.9885 We can draw conclusion that user4 and user5 are very similar according to this computation result. However, this is in conflict with the fact shown in Table 1, since user4 and user5 almost have the opposite QoS-values. user5’s QoS-values are approximated to the maximum QoS-value 5 in the user-service matrix while user4’s values are approximated to the minimum QoS-value 1 of the matrix. This contradiction arises from that when measuring the similarity between two vectors, COS only considers the angle between two vectors and does not consider the length of vector. LetĄŻs consider another example. If we employ PCC defined in Eq.(1) to measure the similarity between users, we can get the following result: Sim(user7, user6) < Sim(user7, user8) It indicates that user6 is less similar to user7 than user8 is. Actually, user6 is more similar to user7 than user8, because there are the same value in three dimensions and a difference of 1 in one dimension for user7 and user6, and there are the same value in one dimension and a difference of 1 in one dimension for user7 and user8. Therefore, the calculation results are in conflict with the facts. This contradiction arises from that PCC does not consider the number of services co-invoked which implies the similarity of selection preference and style between users. In addition to above mentioned approaches, some other similarity measurements are also proposed such as rated-item pools (RIPs) user similarity [22], proximity impact popularity (PIP) measure [13], and mean squared difference [14], which are either for special purposes, or for special situations, or not used widely. Among the traditional similarity measurement approaches, the approaches that we elaborated above are strongly representative. 3 Feedback-corrected Tan-NED CF 3.1 Tan-NED Similarity Measurement In order to address the issues of existing similarity measurement, this paper proposes a novel similarity measurement named Tanimoto [23] Normalized Euclidean Distance (Tan-NED). Compared with the traditional similarity measurement approaches, our approach measures the similarity based on normalized Euclidean distances of difference multidimensional vector spaces. Although Euclidean-distance approach can also be employed to measure similarity, Tan-NED is completely different from it. Since the number co-invoked services is different deal with different couples of users in a recommender system, the Euclidean distances of different couples of users tend to compute in the different dimensions of vector spaces. Moreover, the maximal values of Euclidean distances in different vector spaces are usually very different. A value which denotes the maximal value in one vector space may be a very small Euclidean distance in another vector space. Therefore, putting them together to measure similarity is meaningless. For instance, if users a, b both invoked the same 10 services while users c, d both invoked the same 300 services, dist(a, b) is the Euclidean distance between the two users a and b, dist(c, d) is the Euclidean distance between the two users c and d, then it will be meaningless to mention dist(a, b) and dist(c, d) in the same breath, because dist(a, b) is calculated in 10-dimension vector space, and 360 S. Zhao, Y. Zhang, B. Cheng, J.-L. Chen dist(c, d) is computed in 300-dimension vector space. Therefore, to measure the similarity of vectors we should consider the difference of dimension-number. Our NED normalizes the QoS values of different users to the same range in order to address the different maximal-value issue. Then, it unifies the similarity metrics of different vector spaces. Before measuring the similarity between users, it uses the maximal and minimal QoS-value of each row to normalize every value of the same row in the original matrix M. After that, the QoS-values of each row are normalized to [0, 1]. In consequence, the original QoS value matrix M is mapped into a row-normal matrix Mnu. Assuming that the number of co-invoked services by user u, v is num, and user u, v have the observed QoS-value vectors u⃗, v⃗ respectively in matrix Mnu. Then, the Euclidean distance between vector u⃗ and v⃗ in the num dimensions can be calculated by dist(u, v). Besides, the maximal Euclidean distance of the num dimensions are calculated by distmax. Since the matrix Mnu has been normalized, each dimension ranges from 0 to 1, and the maximal distance of each dimension is 1. In Mnu, nr(u,i), nr(v,i) are the QoS-value of service i towards user u, v respectively. The similarity between user u and v can be calculated by NED as follows: nru,i = ru,i − rumin rumax − rumin , nrv,i = rv,i − rvmin rvmax − rvmin dist(u⃗, v⃗) = √∑ i∈I (nru,i − nrv,i)2 Simned(u, v) = 1 − dist(u⃗, v⃗) distmax = 1 − √∑ i∈I( ru,i−rumin rumax−rumin − rv,i−rvmin rvmax−rvmin )2√∑|I| k=1(1 − 0)2 i.e., Simned(u, v) = 1 − √∑ i∈I( ru,i−rumin rumax−rumin − rv,i−rvmin rvmax−rvmin )2√ |I| (3) Where I = Iu ∩Iv is the set of services which is co-invoked by user u and v; |I| is the number of I; rumin and rumax are the minimal and the maximal QoS-values of user u in the original matrix M, r(u,i) denotes the QoS-value of service i towards user u in M. The results of Eq.(3) range from 0 to 1, i.e., Simned(u, v) ∈ [0, 1], where Simned(u, v) = 0 represents that two users are dissimilar and Simned(u, v) = 1 indicates that these two user are exactly similar even the same. Further, in order to use more information of the two users, we also take the number of invoked services by each user and that by both users which implies the QoS preference and style of users into account. We propose Tan-NED which combines Tanimoto similarity coefficient [23] with NED. The formula of Tan-NED is as follow: Sim(u, v) = |I| |Iu| + |Iv| − |I| × Simned(u, v) i.e., Sim(u, v) = |I| |Iu| + |Iv| − |I| × (1 − √∑ i∈I( ru,i−rumin rumax−rumin − rv,i−rvmin rvmax−rvmin )2√ |I| ) (4) All the contractions mentioned in section 2 can be eliminated by our Tan-NED. Adopting Eq.(4) we get the following results which are consistent with the facts: A Feedback-corrected Collaborative Filtering for Personalized Real-world Service Recommendation 361 Sim(user3, user1) > Sim(user3, user2) Sim(user4, user5) = 0.3381 Sim(user7, user6) > Sim(user7, user8) 3.2 Feedback-corrected Tan-NED Collaborative Filtering Tan-NED can calculate the similarity between two users, based on it, a novel memory-based CF approach named Tan-NED CF is proposed. Tan-NED CF predicts the unknown QoS-value r(u,i)′ of service i towards user u based on the already available QoS-values of service i towards other users that are similar with user u. The more similar user v to user u is, the greater user v’s QoS-value influences on r(u,i)′. The normalized predicting value r̂(u,i)′ can be calculated by Eq.(5), and then we recovers the normalized value to the original scale of user u by the maximal and minimal values of user u. The QoS-value predicted by Tan-NED CF is defined as follow: r̂(u,i)′ = ∑ v∈U Sim(u, v) × nrv,i∑ v∈U Sim(u, v) (5) r(u,i)′ = rumin + (rumax − rumin)r̂(u,i)′ (6) U is the set that contains the similar users to user u. Each element v ∈ U has also invoked service i. nrv,i denotes the normalized QoS-value of user v on service i in matrix Mnu which is row-normal. Sim(u, v) can be calculated by Eq.(4), and rumax and rumin are the maximal and minimal QoS-values of user u in the original matrix M. Then we employ the feedback (i.e., the difference value between prediction QoS value and real QoS value of invoked services) to correct the following prediction. The correction is a continuous process, so uncertain abnormal real QoS values may appear which cause "dirty" feedback to the correction process. For example, if a users router is congested then the RTT of service invoked by this user will become very long, which will not response the real QoS of service. In order to reduce the impact of "dirty" feedback, we adopt a Gaussian distribution coefficient to control the correction efforts of feedback. The QoS value prediction of feedback corrected Tan-NED is as follow: ru,i = ∆r · 1 √ 2π e − (∆r− ∆rmin+∆rmax 2 )2 2σ2 + ru,i′ (7) Where ∆r denotes the difference value between real QoS and prediction QoS of the previous service invoked by user u, i.e., ∆r = rreal − rpred. ∆rmin is the minimum value of historical ∆r and ∆rmax is the maximum value of historical ∆r. σ is the standard deviation of Gaussian distribution which determines the amplitude of distribution, and an appropriate σ value will be obtained by experiments. The feedback correction is a continuous recursive process along with every service invoking. 3.3 Feedback-corrected Tan-NED CF for Service Recommendation In the case of candidate services having equivalent functions, the predicted QoS-values which are calculated by Feedback-corrected Tan-NED can be used for service recommendation, and the service that has the best predicted QoS performance will be recommended to the corresponding user. Then, our approach enables personalized service recommendation using a small amount of available QoS value without the time-consuming and costly actual service invocation. In service recommender system, either services or users may be remotely distributed in different 362 S. Zhao, Y. Zhang, B. Cheng, J.-L. Chen location. Besides, the network performances which influence the QoS of services are highly dynamic. Hence, the QoS styles and preferences of user are quite different from each other. Since the proposed approach considers the diversity of QoS style and preference and adopts the information of similar users to make the prediction, it is applicable to a variety of environments. 4 Evaluative Experiments 4.1 QoS Dataset In order to has sufficient data to evaluate our approach, we use the web-service QoS set [24] which contains 1873838 real RTT (route trip time) records on 5825 real web-services from 339 distributed service users. To our knowledge, this is the largest dataset in the domain of service-computing. In order to collect the data, Zheng et al. monitor 5825 web-services using 339 distributed planet-lab computers. Assuming that a M × N user-service matrix contains N services, M users and T non-null records, then the density of this matrix can be defined as density = T (M×N) . According to this concept, the density of user-service matrix used for evaluation is 94.9%. 4.2 Evaluation Metric We adopt the MAE (Mean-Absolute-Error) metric to evaluate the prediction accuracy of pro- posed approach. MAE denotes the average-absolute-deviation between the ground-truth values and the predictions values. It is defined as follow: MAE = ∑ u,i |r̄u,i − ru,i| N (8) ru,i is the prediction RTT of web-service i towards user u, r̄u,i is the real RTT of i observed by u, N is the number of predicted RTTs. The less the value of MAE is, the better the accuracy of prediction is. 4.3 Experimental Setup The experiments are divided into three parts, namely, performance of similarity measures, impact parameters of prediction, and performance of prediction approaches. First, we compare the performance of our Tan-NED with other similarity measures. In this experiment, we use the original user-service matrix. The RTT records of matrix are divided into two parts: 80% of the records as the training set and 20% of the records as the test set. Then, we measure the impact of σ (controls the correction effort of feedback), neighbour size k (top-k similar users to calculate the prediction QoS value), and density of matrix. In the third part, we compare the performance of our feedback-corrected Tan-NED with other prediction approaches. In order to evaluate the accuracy of RTT value prediction by different prediction algorithms, the user-service RTT records in the original matrix is removed randomly to generate ten sparse matrices. As Section 4.1 defined, the densities of these ten matrices are incremental with the step-size of 2%, their densities range from 2% to 20%. We adopt these small density matrices in order to get closer to the practical situation that a user may only invokes limited number of services in large amount of available services. So, the real user-service matrix is generally very sparse. We divide each of the ten matrices into three parts: 70% of the RTT records as the training set, 10% as the feedback set, 20% as the test set. A Feedback-corrected Collaborative Filtering for Personalized Real-world Service Recommendation 363 4.4 Performance Evaluation of Similarity Measurements In order to validate the validity of proposed Tan-NED similarity measurement (Eq.(4)), we compare its performance with other two well-known similarity measurements: COS (Eq.(2)) and PCC (Eq.(1)). Then, we combine Tan-NED, COS, and PCC with formula Eq.(6) to predict the missing RTT values respectively. Figure 1 presents the accuracy of predictions by different similarity measurements. As Figure 1 shows, the proposed Tan-NED consistently outperforms other compared approaches under different k-values; even the worst-case of Tan-NED still over- match the best cases of the compared approaches. Therefore, compared with COS and PCC, the proposed Tan-NED significantly improves the accuracy of prediction. Figure 1: Performance comparison of similarity measures 4.5 Impact of Parameters Impact of σ The parameter σ determines the amplitude of distribution which controls the correction efforts of feedback. The higher the value, the more flat the distribution, which means that the probability distribution of ∆r (rreal −rpred) is dispersive. Then, the correction efforts of different ∆r value are approximate. Whereas, the lower the value, the steeper the distribution. It means that a few values which close to the median of ∆r have strong efforts, however, other values have relatively weak efforts. In this experiment, we increase the parameter σ from 0.1 to 1.0 with the step-size of 0.1 in order to study the impact of ŚŇ on the prediction result. The original user-service matrix is adopted, and the neighbour size k is set to 30. The influence of parameter σ on prediction is presented in Figure 2. As it shows, the values of MAE first slightly decline and then sharply rise. When σ = 0.4, it hits the bottom. This experiment result indicates that the prediction accuracy can be improved by adjusting the amplitude of correction-effort distribution. Impact of neighbour size k In the proposed Tan-NED approach, the neighbour size k determines the number of similar users used for missing value prediction. It acts an important role in the prediction performance. If the value of k is too low, many similar users will be filtered out. If the value of k is too high, dissimilar usersĄŻ records will be considered to calculate the prediction QoS value. The neighbor size k is increased from 10 to 100 with the step-size of 10 in order to study the impact 364 S. Zhao, Y. Zhang, B. Cheng, J.-L. Chen Figure 2: Impact of Sigma of k. The original user-service matrix is employed, and the parameter σ is set to 0.4. The impact of k on the prediction of Tan-NED is presented in Figure 3. As it shows, the value of MAE first slightly declines and then slightly rises, indicating that our Tan-NED achieves best performance for this dataset when k = 50. The deviation between the highest value and the lowest value is only 0.041, which means that our approach is not sensitive to the neighbour size. It is because that our approach uses the value of similarity degree to restrict the effects of each similar user when calculating the prediction QoS value (shown in Eq.(5)). Figure 3: Impact of neighbour size Impact of User-service Matrix Density Matrix density denotes the proportion of non-null records that can be used for missing value prediction in the matrix. This section studies the impact of the matrix density on the accuracy of Tan-NED. In this experiment, the density is increased from 0.04 to 0.2 with the step-size of 0.02. The parameter σ is set to 0.4 and k is set to 50. The impact of matrix density on the accuracy of Tan-NED prediction is presented in Figure 4. As it shows, the value of MAE declines as the density increase. The result of this experiment denotes that the prediction of Tan-NED becomes more accuracy as the matrix density increase. The reason is that a more intensive A Feedback-corrected Collaborative Filtering for Personalized Real-world Service Recommendation 365 matrix provides more reference information for Tan-NED to predict missing value. Figure 4: Impact of user-service matrix density 4.6 Performance Evaluation of Prediction Approaches We compare the proposed feedback corrected Tan-NED with other three prediction ap- proaches: UPCC (User-based CF adopting PCC), UMEAN (User-Mean) and WSRec (Web- services recommender) in order to validate its effectiveness. UPCC refers the information of similar users to predict the missing value [7, 19]. WSRec [11] is a novel memory-based CF for web-service recommendation, which achieves a relatively good performance. UMEAN uses the average RTT values of other web-services from the same user to make missing value prediction. The predictions of these four approaches are influenced by the neighbour size k. The neighbour size is increased from 10 to 50 with the step-size of 20 in this experiment. The parameter σ of Tan-NED is set to 0.4 and the confidence weight of WSRec is set to 0.11. Figure 5 presents the prediction accuracy measured by MAE of the evaluated approaches. The three subfigures of Figure 5 correspond to the neighbour-size of 10, 30, and 50 respectively. We increase the density of matrix from 0.02 to 0.2 with the step-size of 0.02. Each subfigure shows the value of MAE with the matrix density changes. As shown in Figure 5, our feedback corrected Tan-NED is significantly superior to other compared approaches. When the density of user-service matrix becomes sparser, the co-valued dimensions between vectors decrease. It means that the number of available values used for missing value prediction is limited, which expands the gap of performance between Tan-NED and compared approaches. As the increase of density, the improvement rate of Tan-NED declines due to each approach has enough available values for prediction. However, in practical situation, the user-service matrix is usually very sparse. Moreover, as each subfigure shows, the deviation between the maximum MAE and the minimum MAE of tan-NED is small. It means that Tan-NED keeps a stable MAE performance under the different density of user-service matrix. The results of this experiment indicate two features of Tan-NED: 1) compared with other existing approaches, the sparser the user-service matrix is, the more superior of Tan-NED is; 2) the performance of Tan-NED is insensitive to the decrease of matrix density, namely, even with limited available QoS records Tan-NED can also make relatively accurate prediction. These two features of Tan-NED are suitable for the actual situation of real-world service environment. In 1The confidence weight in WSRec denotes the impact of user-based method on the final prediction result. As [11] discussed, when confidence weight is set to 0.1, it achieves the best performance. 366 S. Zhao, Y. Zhang, B. Cheng, J.-L. Chen (a) Set the number of neighbour to 10 (b) Set the number of neighbour to 30 (c) Set the number of neighbour to 50 Figure 5: The Performance of compared prediction approaches A Feedback-corrected Collaborative Filtering for Personalized Real-world Service Recommendation 367 real-world service recommendation, the density of matrix is generally very sparse. Therefore, compared with existing approaches, our approach can make more accurate and stable prediction for QoS-value. 5 Conclusion This paper proposes a feedback corrected Tan-NED approach to solve the issue of real-world service personalized recommendation. It studies the features of the QoS-values of real-world services, and proposes a novel similarity measurement which seeks similar users more accurately and provides a basis for accurate QoS-value prediction. Then, the proposed approach can use a small number of available QoS-values from similar users to predict the service QoS-value for the user according to his personalization. In the service recommender system, the proposed approach assists service users to select the service with optimal QoS from a number of function- equivalent services instead of conducting the costly actual service invocation. In order to evaluate the performance of feedback corrected Tan-NED, this paper conducted comprehensive evaluative experiments using a real-world web-service dataset which has sufficient QoS records. Experiment results indicate that compared with existing approaches the proposed approach improves the accuracy of QoS-value prediction significantly. Since dynamic is a new feature of IoT environment, the QoS of real-world service changes with time frequently. In the future work, we will focus on enhancing the efficiency of our approach to handle the dynamic QoS issue. It may be addressed by using the latest advanced technologies of machine learning. Acknowledgement This study is supported by 973 program of National Basic Research Program of China (Grant No. 2011CB302704 and 2012CB315802). National Natural Science Foundation of China (Grant No. 61001118, 61171102); Program for New Century Excellent Talents in University (Grant No. NECT-11-0592); Project of New Generation Broadband Wireless Network under Grant (Grant No.2010ZX03004-001). Bibliography [1] Gustafaason, J. (2011); Integration of wireless sensor and actuator nodes with IT infrastruc- ture using service-oriented architecture, IEEE Trans Industrial Informatics, ISSN 1551-3203, 6(1): 1-10. [2] Guinard, D.; Trifa, V. (2010); Interacting with the SOA-Based Internet of Things: Discov- ery, Query, Selection, and On-Demand Provisioning of Web Services, IEEE Trans Services Computing, ISSN 1939-1374, 3(3): 223-235. [3] ICT FP7 OPEN IoT Project. Open source solution for the internet of things into the cloud, (2011). http://vmusm03.deri.ie/. [4] EPFL GSN project (2009). http://sourceforge.net/apps/trac/gsn/. [5] Cosm. Cosm platform, (2007). https://cosm.com/. 368 S. Zhao, Y. Zhang, B. Cheng, J.-L. Chen [6] Perera, C.; Zaslavsky, A.; Christen, P. (2013). Context-aware sensor search, selection and ranking model for internet of things middleware. 14th IEEE International Conference on Mobile Data Management, 314–322. [7] Sreenath, R.M.; Singh, M.P. (2003); Agent-based service selection, J Web Semantics, ISSN 1570-8268, 1(3): 261-279. [8] Zhang, L.J.; Zhang, J.; Cai, H. (2007) Services computing, Springer and Tsinghua University Press, ISSN 0895-4852. [9] Moser, O.; Rosenberg, F.; Dustdar, S. (2008). Non-intrusive monitoring and service adapta- tion for ws-bpel, 17th Intl Conf. on World Wide Web, 815–824. [10] Papazoglou, M; Georgakopoulos, D. (2003). Service-oriented computing, Communications of the ACM, ISSN 0001-0782, 46(10): 25–28. [11] Zheng, Z.; Ma, H.; Lyu, M.R.; King, I. (2009). Wsrec: A collaborative filtering based web service recommender system, 7th Intl Conf. Web Services, 437–444. [12] Resnick, P.; Iacovou, N.; Suchak, M.; Bergstrom, P.; Riedl, J. (1994). Grouplens: An open architecture for collaborative filtering of net news, ACM Conf. Computer Supported Cooperative Work, 175–186. [13] Shardanand, U.; Maes, P. (1995). Social information filtering: Algorithms for automating word of mouth, SIGCHI Conf. Human Factors in Computing Systems, 210–217. [14] Sarwar, B.; Karypis, G.; Konstan, J.; Riedl, J. (2001). Item-based collaborative filtering recommendation algorithms, 10th Intl Conf. World Wide Web, 285–295. [15] Breese, J.; Heckerman, D.; Kadie, C. (1998). Empirical analysis of predictive algorithms for collaborative filtering, 14th Intl Conf. on Uncertainty in artificial intelligence, 43–52. [16] Adomavicius, G.; Tuzhilin, A. (2005). Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions, IEEE Trans on Knowledge and Data Engineering, ISSN: 1041-4347, 17: 734–749. [17] Chen, X.; Zheng, Z.; Liu, X.; Huang, Z.; Sun, H. (2013). Personalized qos-aware web service recommendation and visualization, IEEE Trans on Service Computing, ISSN: 1939-1374, 6(1):35-47. [18] Karta, K. (2005). An investigation on personalized collaborative filtering for web service selection. Honours Programme thesis, University of Western Australia. [19] Shao, L.S.; et al. (2007). Personalized qos prediction forweb services via collaborative filter- ing. Intl Conf. on Web Services, 439–446. [20] Miller, B.; Albert, I.; Lam, S.; Konstan, J.; Riedl, J. (2003). MovieLens unplugged: Experi- ences with an occasionally connected recommender system. 8th International Conference on Intelligent User Interfaces, 263–266. [21] Zhao, S.; Zhang, Y.; et al. (2013). A multidimensional resource model for dynamic resource matching in internet of things. Concurrency and Computation: Practice Experience. [22] Thio, N.; Karunasekera, S. (2005). Automatic measurement of a qos metric for web service recommendation, Australian Software Engineering Conference, 202–211. A Feedback-corrected Collaborative Filtering for Personalized Real-world Service Recommendation 369 [23] Lipkus, A.H. (1999). A proof of the triangle inequality for the Tanimoto distance, Journal of Mathematical Chemistry, ISSN: 0259-9791, 263-265. [24] Zheng, Z.; Ma, H.; Lyu, M.R.; King, I. (2011). QoS-aware Web service recommendation by collaborative filtering, IEEE Trans on Service Computing, ISSN: 1939-1374, 4(2): 140-152.