Abstract

More and more Web services raise the demands of personalized service recommendation; there exist some recommendation technologies, which improve the qualities of service recommendation by using service ranking and collaborative filtering. However, privacy and security are also important issues in service scheduling process; social relationships have been the key factors of interpersonal communication; service selection based on user preferences has become an inevitable trend. Starting from user demand preferences, this paper analyzes social topology and service demand information and obtains trusted social relationships; then we construct the fusion model of service historical preferences and potential ones; according to social service recommendation demands, TSRSR algorithm has completed designing. Through experiments, TSRSR algorithm is much better than the others, which can effectively improve potential preferences’ learning. Furthermore, the research results of this paper have more significance to study the security and privacy of service recommendation.

1. Introduction

Web service recommendation is an important research topic in today’s world with more and more Internet resources. In recent years, social networking platform and electronic transaction process have made new breakthroughs; in particular, cloud computing and big data applications are more deeply and fully implemented, which blooms the diversified demands of service recommendation process [13]. From the mass services, we choose the suitable candidate services and find the potential demand preferences so as to meet the functional and nonfunctional requirements. In many cases, the users do not know in advance the potential preferences of their own and do not know the multisources to recommend services. Therefore, it is very important to find and recommend effective services [4].

At present, the recommendation system is applied in various fields, and the system performances are mainly affected by recommendation algorithms [5]. There are two kinds of traditional recommendation algorithms: influence ranking and collaborative filtering. With recommended technology based on the influence ranking recommended services with more audiences to the demanded users [6], they were needed to survey and analyze the relevant influences, such as reputation, HITS (Hyperlink-induced Topic Search) [7], and PageRank [8]. Collaborative filtering was widely used in service recommendation and helped the demand users to find similar users. Secondly, similar users recommended services with better evaluation parameters to demand users that considered two aspects, user-based and item-based [9]. Although the recommendation technology has not been fully applied, it achieved good results, while there are still some problems about its research and demonstration: the existing recommendation technology does not take into account the trusted user social relationships; cold start problem still exists.

This paper pays attention to seeking the effective trusted friend relationships and builds service demand conditions to drive effective service scheduling and strategy optimizing. So our work is as follows. The first part of this paper is an introduction, the second part is the related work, the third defines the trusted service location and incentive rules, the fourth argues trust relationships based calling mechanism, the fifth designs the corresponding novel algorithms, the sixth part expends the experiment implementation and simulation evaluation, and the last summarizes the whole paper.

In the process, we will analyze the histories of services and capture the potential demands of users. Secondly, normally users will tend to consider the recommendation of his trusted users, based on the demand characteristics; the recommendation process could calculate trusted friend relationships and recommended conditions. The user feature vector is constructed to calculate the similarities between users and other users. Meanwhile, we will select Top- users for the current demands, calculate the ranking of candidate services, and recommend the ranking of Top- service. In the experiments, we decide to select WSDream-QoS Dataset, which consists of 98701 users, 74012 potential credible demand preference relationships, 105199 use evaluation or feedback remarks, and a total of 352048 services. We will find that the proposed schemes are better than other algorithms and get better performances with accuracy and reliability.

There are more and more service resources on the network; how to find suitable Web services for the users is becoming more and more difficult. The traditional service discovery and selection methods rely heavily on explicit user demand description; this approach for large specification of services and the increasing demands is inefficient, which is not useful for potential demands. Therefore, service recommendation strategies and algorithm optimization have great influences on the accuracy and reliability of service recommendation. There have been a lot of research results related to service recommendation [10, 11].

Since Rich proposed collaborative filtering (CF), a large number of scholars and industrial applications have been fully focusing on its effectiveness [12]. Shao et al. proposed a user-based CF algorithm; Pearson correlation coefficient was used to calculate the similarities between users [13]. Users with similar historical services have the same potential demand preferences. For a demand user, by considering the characteristics of the similar demand preferences, we can add or inspire the current incomplete demand preferences. According to the prediction of Web services, [14] designed a hybrid collaborative filtering algorithm, which realized the combination of Pearson correlation coefficient and user parameters [14]. However, the design and improvement of these algorithms cannot solve the cold start problem. If a user does not have the experience of services, these methods are inefficient for the service recommendation of new users.

To improve the accuracy of service recommendation, a lot of improved algorithms are constructed. In [10], probability decomposition achieved social service demands of classified features. To find similar users for one user, it was no longer necessary to consider all the users; we can mine initial similar users. But this approach did not take into account the geographical location. Reference [15] considered the influences of personalized services. Reference [16] suggested learning the overall experiences in recommending services, environmental factors, and user input data. Reference [17] designed an efficient public auditing protocol with novel dynamic structure for cloud data that could effectively improve the qualities of cloud service recommendation. Reference [18] proposed a self-adaptive ABC algorithm based on the global best candidate, which would have a good reference significance for global demands. With the help of semantic ontology WordNet, [19] built a user interest model for individual user by analyzing the demand histories. Reference [20] proposed a novel K+-isomorphism method to achieve K-anonymization state among subgraphs or detected communities in a given social network. Reference [21] designed a recommended method of social network service based on the consideration of the user’s historical service trigger behavior, user preferences, and trusted relationship.

But the user’s trusted relationship is based on the existing relationships [4, 5]; starting from the social attributes of users, the cold start problem is not solved; for users and services with not many historical data, adaptive recommendation is still difficult [7, 22]. In this paper, the trusted service relationship is settled on the basic situation of services; self-organization of trusted relationships is captured and measured for the service users.

3. Trusted Service Location and Incentive Rules

To illustrate the trusted relationship between services and demand preferences, to calculate the influences of service recommendation, we give an example, in Figure 1; there are 5 services, as well as their historical record information trigger.

Table 1 shows statistics of the call records of Figure 1. Service 1 is called, respectively, by and for 6 times and 4 times, and have called Service 2, and and call service 3. and call service 4, and call service 5, and the historical information is as shown in Table 1. For example, it is necessary to recommend potential services to , which need to calculate the service calling similarity between and other four users. and have service calling similarity with ; has only called Service 4; in addition to Service 2, also calls service 3; the potential service for is firstly to consider Service 3. Furthermore, and have the service calling similarity; the historical records of include Service 1, Service 3, and Service 5; the calling frequencies were, respectively, 6, 3, and 7; the potential service recommendation for would consider Service 5, Service 1, and Service 3. Based on the similarity of service calling, we can capture similar users and then select the candidate services by the user’s service calling records.

New users are needed to refer two indicators, one is the recommended service calling ranking, and the other is user ranking; select the Top- users and services of candidate users; then complete sorting. For new services, we consider three indicators (one is user ranking about the overall frequency of service calling) and complete Top- user ranking (another is service calling frequency), through the service calling condition of users; we achieve the candidate users’ Top- ranking.

According to the internal relationship of the trusted service calling, it is not sufficient to establish the service relationships among users. In the above example, this is more important for the relevance of the services and the evaluation of service users. In the popularity of social networks, people like sharing their social experiences. Based on the users’ social relationships, we will define the calling and optimizing strategies of candidate services, not only from the users’ social relationships while taking into account the user history service calling behaviors and user relationships.

4. Trust Relationships Based Calling Mechanism

About the service recommendation framework based on social relationships, the whole business flow is shown in Figure 2. First of all, according to the histories of service calling and the trust relationships among users, the service preferences of current active users would be learned. Second, the similarities between the current users and other users are calculated, and other users with similar preferences are selected to serve the neighboring users. Third, according to the service calling of neighboring users, the ranking of the candidate services could be calculated. Finally, higher ranking services are recommended to the current active users.

4.1. Related Definitions

Before starting the work of this paper, here we show several related definitions.

Definition 1 (service history record). In one service recommendation system, there are users and services, which are represented as and . When one user is calling a service, according to the demand target, he completes the classification of services, so about a service calling historical records can be represented as ; the user’s service historical records are shown as . means that has called ; represents the functional category of service; represents the evaluation rate of about .

Definition 2 (trusted relationship of users). There are two types of trust relationships between users: explicit and implicit. Explicit trusted relationships mean that the user can clearly recognize the trusted relationship between users, because stable cooperative relationships in a certain period of time and social relationships could be trusted and expressed as , which means trusts ; there is mutual trust between and , expressed as . For the implicit trusted relationships, through mining service calling similarities or the historical calling records, we determine that provides a good reference for . The combination of implicit trust and explicit trust can be used to characterize the trusted relationships among users.

Definition 3 (user service preference vector). The service preference vector of is used to represent the user’s preference classification for service calling, which is represented as , and is the number of classification.

4.2. Construct Service Preference Vector

Based on the above, we can initialize the service preference vector, that is, to initialize the classification of services. Given , modeling includes the following steps: first, search all historical calling services, obtain the historical calling records of , learn , and get of , until realizing all of . Second, of is increased by 1, iteratively. Third, if there is no user calling information, but trusted service preference vector and are needed to merge together, the calculation formula is expressed as is a balancing factor used to balance the influences of the user’s service preference vector; is a collection of other users trusted by .

4.3. Similarity between Users

About the key step to calculate the demand preferences between users, we use Euclidean distance to measure the similarity; the calculation formula isEuclidean distance is a common distance definition function that can approach the real distance between points in -dimensional space. represents the current demand user, are the other trusted users of , .

4.4. Ranking of Candidate Services

After the calculation of the similarity of the demand preferences between the current user and other users, it is necessary to calculate the ranking of the candidate services; the corresponding services’ scores are needed for calculating In order to calculate the similarity of demand preferences, we first retrieve the history service calling records of each similar user and select the services that the current user has not yet called. Second, using formula (3) calculates the ranking: , is the trusted friend set of the current user, is the user set that calls , and is the evaluation rate of by . Third, the classification of the candidate services is completed according to the demand preference category of services, and the service with high ranking is recommended to the current user.

By learning the history records of services, we can obtain the trusted user social relationships and establish sensitive service preferences. Because different users have different preferences, which have different tolerance, we need to consider the social relationship intensity of users.

In this part, we integrate the trusted social relationships and the service recommendation algorithm by introducing the trusted social relationships into the recommendation process. To verify the effectiveness of the proposed algorithm, recall, precision, -Measure, and ranking are as the evaluation parameters, and we select UserCF, ItemCF, Hits, Reputation, and PageRank as the compared algorithms.

We select WSDream-WSDL Dataset that comes from a famous business platform and could provide reliable consumer goods records, valuable user opinions, suggestions, and profound product evaluation and personalized recommendation. In the experiment, we capture the relevant records of the data set, including the users’ trusted social relationships, user comments, and feedback.

Trusted social relationships of other users are constructed based on the trusted records of the active users, including service reviews and rankings, which are captured through the continuous search and demonstration. According to the trusted social network, the service platform predicts which records are useful. Therefore, users can easily find the services they need on the service platform. About WSDream-WSDL Dataset, we crawled 100809 services and 788904 relationships, in the establishment of the topological relationships, service is corresponding nodes, and the relationships are corresponding edges.

Users review services that are purchased and used, so the users can provide more valuable service records that are generally divided into four types: very useful, useful, and basically useful, useless, given four grades: 3, 2, 1, and 0.

5.1. Metrics

Service recommendation is to produce a ranking list of Top-; recommendation results are based on service hit rate and the ranking; the metrics include recall rate, precision, -Measure, and ranking.

(1) Recall Rate. Service recommendation involves two types of service resources: commented and not commented; these two types are also involved in the activities of the recommendation of the two categories: recommended and not recommended (that is shown in Table 2). Recall rate (RR) means that the correct hit ratio of services is commended by users and expressed as

(2) Precision. Precision is the percentage of correct hit service and all predictable candidate services, including new candidate services and services that had the historical comments that cannot care whether or not the services are recommended. Precision rate (PR) is expressed as

(3) -Measure. -Measure is the measure accuracy of data statistics. It considers recall rate and precision rate; that is to say, it is the weight average of recall rate and precision, the best value is 1, and the worst is 0. Its formula is shown as

Recall that precision and -Measure are used to measure the correlation and coverage of recommending services to potential users; recall and precision are indicators of potential competition, -Measure is the harmonic mean of recall and precision and can provide the performance of a single index measure to balance the defects of recall and precision.

(4) Ranking. There are a number of ways to evaluate the ranking of service recommendation, which is used to evaluate the recommended weight of the candidate services. For one service demand user, there are two service lists that have similar recommended set and the same recommended performances (such as recall, precision, and -Measure); if the subscript of recommended service is smaller than others in another list, we will recommend the service with smaller subscript, because smaller subscript means the high ranking. The ranking is calculated by the following formula: is the subscript of ranking, is a balance coefficient, is the service demand user, , and is the max ranking of the recommended services list for .

6. Experiment Implementation and Simulation Evaluation

In the experiment, user comments and feedback of service set are divided into training set and validation set according to time stamp. The time stamp is based on the rule that the training set scale is equal to the scale of the validation set. So two data sets are tested, respectively. The balance coefficient is introduced into the calculation process of recall, precision, -Measure, and ranking, in order to test the effect of service calling. We define this balance coefficient for arithmetic distance which is 0.2; if Top- of service recommendation is set to 10, the number of users with similar services is 50; the experimental result is shown in Figure 3; the abscissa stands for ; we can see that the four algorithm performance metrics will increase with the balance coefficient increased, when the reaches 1, four performance parameters basically reach the maximum, and the historical service calling will affect the parameters, the more the historical service calling is, the better the parameters will be. Our service recommendation optimization algorithm is based on the historical preferences and potential preferences, so in the following experiments, will be set as 1.

6.1. Trusted Service Recommendation Algorithm

Based on trusted service calling, adaptive recommendation is effectively realized. Here we give the relevant definitions and algorithm process; our algorithm is named TSRSR (trusted service relationship based service recommendation). First, the parameters of the algorithm are given, as shown in Notations.

Through several iterations, TSRSR algorithm gets the recommendation results, TSRSR gets a target user in the first iteration, the th iteration, and implementation process will arrive at a node . If has the ranking of , the ranking of for is final result; in other cases, the iterative process has the following characteristics.

TSRSR algorithm will end at whose probability is , based on ; it selects from . The ranking of for is the iterative result. is calculated by is the similarity formula of and . The Sigmoid function of can provide values between 0 and 1. The similarity of two services is calculated asThe probability formula that is selected and recommended to is represented as

On the contrary, based on the probability of , TSRSR algorithm will carry on the corresponding iterations. A user is selected from the user set as the target node for the next iteration, and the user is directly trusted by the current user . In a trusted relationship, whether or not is selected, similar demand users can be calculated according to the formulaAmong them, is the trust correlation degree between users [8]; the trust correlation degree ensures that each iteration of the algorithm can select other trusted users whose demands are similar to the current user.

The implementation process segment of TSRSR algorithm is described as Algorithm 1.

Input: //User set
//Service set
//Rating Matrix
//weighted User Social Network
//Target User
// to be recommended target service
Output: // predicted Rating
Set ; // Number of iterations for service selection
Set // as the initial node
Set //The maximum number of iterations is set 7
Set
While ()
//According to , in is selected as the next the next iterative target
If ( has rated )
Return
Else
If ()
// Stop at current node
//According to , is selected from
Return
Else
Return

Figure 4 is an implementation result of TSRSR algorithm; there are seven user nodes in the graph; the weight of each edge represents . Assume is recommended to . In the first step, if is relatively large, may be selected as the target user node. If the ranking of is for , is the result of the algorithm implementation. Otherwise, as long as the conditions of the algorithm are not satisfied, it would continue to iterate. In the second step, is selected; the process of selection will retrieve whether or not the ranking of is denoted by . If the iterations end, but has no complete ranking of , highest similar services are selected from the service ranking top of . The probability of each service is obtained according to , and the ranking of the selected service will be the output of TSRSR.

6.2. Algorithm Performance Comparison

In order to measure the performances of TSRSR, in this section, we will select five compared approximate service recommendation algorithms, respectively, UserCF, ItemCF, Hits, Reputation, and PageRank, and the scale of Top- is set to 5, 10, 15, and 30. Figure 5 shows the experimental simulation results; we can see that the TSRSR is superior to other algorithms, and the ranking verification shows that the TSRSR is more conducive to the current demand users to trigger the recommended services.

Figures 58 show the results of the five algorithms on the performances, from which we can get the performances of TSRSR. At the same time, Figure 8 indicates that the social trust model can be triggered and invoked earlier by the current demand users.

7. Conclusion

This paper proposes a recommendation algorithm TSRSR; before algorithm is constructed, the trusted service relationships are modeled and calling rules were designed, which realized the integration of historical preferences and potential preferences that is used in WSDream-QoS Dataset with a large scale; then we complete the comparison of approximate algorithms. Through a series of experiments, TSRSR in service recommendation achieved good performances and had obvious advantages in the recall rate, precision, -Measure, and ranking.

In the following work, we will focus on the following questions: integration of explicit and implicit trust social relationship model; construction of the autonomous learning model of service user preferences and application.

Notations

:Ranking of for
:Potential recommended ranking of for
:Probability of in of recommended list for
:Other user sets trusted by
:Probability of as the candidate approximate user in for
:Similarity between and
:Historical service set recommended to
:Recommended probability of in .

Conflicts of Interest

The authors declare that they have no conflicts of interest.

Acknowledgments

The authors thank Lianyong Qi (Qufu Normal University) for helpful comments on earlier drafts of this manuscript. This work is supported by the National Natural Science Foundation of China (61672321, 61373027, and 61402258) and the Natural Science Foundation of Shandong Province of China (ZR2016FM45, ZR2012FQ011).