QoS‐aware web service recommendation via exploring the users' personalized diversity preferences

With the popularity and wide adoption of SOA (service‐oriented architecture), a massive amount of Web services emerge on the Internet. It is difficult for users to find the desired services from a large number of services. Thus, service recommendation becomes an effective means to improve the efficiency of using service. Considering that the users' QoS (quality of service) preferences are often unknown or uncertain, the recent QoS‐aware service recommendation methods recommend QoS‐diversified services for users to increase the probability of fulfillment of the service list with a limited number of services on users' potential QoS preferences. However, the existing QoS‐diversified service recommendation methods recommend services with a uniform diversity degree for different users, while the diversified preference requirements are not considered. To this end, this article proposes a service diversity adjustment algorithm, which selects more diversified services outside of the original service recommendation list to replace the services in the present recommendation list to approximate the QoS diversity preference of the active user. In this way, the probability of meeting the user's potential QoS preference requirements is improved. Comprehensive experimental results show that the proposed approach can not only provide personalized and diversified services but also ensure the overall accuracy of the recommendation results.

coupled Web services. 1With the rapid growth of functionally equivalent services, QoS-aware service selection optimization has gradually become the key to service selection in service composition. 2,3It is known that QoS-aware service composition optimization is an NP-hard problem, 4 which makes the problem unsolvable in the scenario of a large number of functionally equivalent Web services.Thus, QoS-aware service recommendation becomes an effective way to alleviate the problem. 58][19] The utility-based and Skyline-based methods assume that users can provide numerical QoS preferences or weights, which is difficult to hold in the real world.In fact, the user's QoS preference is difficult to express, so it is usually uncertain.Generally, users can provide clear QoS constraints, but it is difficult to provide the specific numerical expression for QoS preferences or weights. 20The other three types of methods are QoS prediction methods.The QoS prediction results can be used as a reference for QoS-aware service selection. 21,22In addition to the uncertainty of the user's QoS preference requirements, there may be a certain positive/negative relationship between QoS attributes. 23he correlation among various QoS attributes requires that the selected service should be representational, that is, there are no other services that are closer to the QoS requirement than the selected service in all the QoS attributes.Uncertainty of QoS preferences requires that the recommended services should be diverse, that is, the recommendation list should include representational services in as many QoS attributes as possible.Based on the analysis above, QoS-aware service recommendations should consider the representativeness and diversity of services in the recommendation list.Recently, Zhang et al. 24 propose several diversified QoS-centric service recommendation methods.These methods use Euclidean distance to calculate the non-functional similarity of services.Kang et al. 25 propose a diversified service recommendation method based on the service QoS similarity network by drawing from the service recommendation method with diversified functionalities. 26However, the above diversified QoS-aware service recommendation methods use a uniform degree of diversity for all users, in which the personalized diversity preference, that is, the degree of diversity of services in the service recommendation list, is not explored.
Considering that different users may have different requirements for QoS diversity, we propose to mine the user's QoS diversity preference from the user's service invocate history.Moreover, a service diversity adjustment algorithm is provided, by which the probability that the recommendation list with a limited number of services can meet the potential QoS preference of users can be improved.To summarize, the main contributions are as follows: 1. We propose to mine users' QoS diversity preferences from the users' service invocate history, by which the potential input can be derived from users for the recommendation system.2. This article is the first to consider the users' QoS diversity preferences.Based on the users' potential QoS diversity preferences, a service diversity adjustment algorithm is proposed based on accuracy-based service ranking, by which the recommended service list can satisfy the users' potential QoS diversity preferences.3. We evaluate our method by simulating the users' service invocation history with QWS dataset.Experimental results demonstrate that the proposed approach can provide personalized and diversified services while guaranteeing overall accuracy.
The rest of this paper is organized as follows: Section 2 presents the related work on QoS-aware service recommendations.Section 3 analyses the QoS-aware service recommendation scenario in that the users' QoS preference requirements are uncertain.Section 4 proposes the diversified QoS-aware service recommendation approach, including calculating dynamic Skyline services, mining users' QoS diversity preferences, and service diversity adjustment algorithm.Section 5 describes the experimental results and analysis.Section 6 presents the summarization of this work and outlines the future work.

RELATED WORK
There are some service recommendation methods proposed to reduce the difficulty of QoS-aware service selection in the past decade. 2,7,8,27The search space for service selection can be effectively reduced by means of service recommendation so that ordinary users or software developers do not need to enumerate all possible candidate service combinations.
The key to selecting an appropriate service for each task in the process is to find the services that satisfy the user's personalized QoS constraints and QoS preferences as much as possible at first. 4,27As the user's QoS preference refers to the weights on each dimension's QoS attribute, and a larger weight indicates that the user expects a better quality for the corresponding QoS attribute.[18][19] The default assumption of the utility-based and Skyline-based methods is that users can provide numerical QoS preferences or weights. In fat, it is difficult for users to provide specific numerical QoS preferences, even for professional users. Basedon this observation, we argue that the users' QoS preferences are difficult to obtain or uncertain.Generally, users can provide explicit QoS constraints instead.However, neither the utility-based methods nor Skyline-based methods consider the personalized QoS constraints.And other methods mainly focus on QoS prediction, while how to perform service recommendations based on QoS prediction is not explored in detail.21,22,29 To consider the users' QoS constraints (i.e., Response Time, Failure Rate, Availability, etc.) for service recommendation, Wang et al. 30 proposed a method based on locality-sensitive hashing and cover tree to select items and use their topic information to optimize the final recommended list.Zhang et al. 31 propose a method based on KNN and dynamic Skyline service to recommend services close to the QoS constraints.However, this approach does not take the correlation of the users' QoS preferences over QoS attributes and the uncertain QoS preferences into account.32 The correlation among QoS attributes requires that the recommended services should be representative, while the uncertainty of QoS preferences requires that the recommended services should be diversified.Therefore, personalized QoS-aware service recommendations should consider both the representativeness and diversity of services in the recommendation list.To solve this problem, Zhang et al. 24 proposed a diversified QoS-centric service recommendation method.Given a user's QoS constraints s r and of the candidate service set S, the method first finds all undominated services in S.Then, K-Means algorithm is used for service clustering based on QoS.Finally, one service is selected from each category to generate the final diversified service recommendation list.This method uses Euclidean distance to calculate service similarity and does not consider the consistency of the QoS vectors of two services in the direction.Moreover, k is determined according to top-k, which may be not consistent with the number of categories in the actual dataset.Finally, the recommended services are not ranked, so an effective service ranking strategy is also needed.To this end, Kang et al. 25 proposed a method based on a service QoS similarity network.The diversified QoS-aware service recommendation is performed on the network by balancing accuracy and diversity.The proposed diversity metric is related to all the services in the service network rather than the services in the service recommendation list.
To summarize, the existing diversified QoS-aware service recommendation methods use a uniform degree of diversity for all users.As a result, the same diversified service recommendations will be given to the users, if they provide the same QoS constraints and the same functional requirements.However, different users may have different potential QoS diversity.Thus, personalized diversity preferences should be considered, which is the motivation of our work.

PROBLEM DESCRIPTION
This section uses an example to analyze the problem to be solved in this work, as shown in Figure 1.Given a user's QoS constraints s r defined as follows: s r = {latency ≤ 50ms, failure_rate ≤ 0.3}, which means the user's QoS constraint delay (latency) should be less than or equal to 50 ms and the failure rate should be less than or equal to 0.3.It is assumed that all the QoS attributes are negative.The quality expressed by the QoS constraints can represent a dummy reference service [24].However, since it is difficult for users to express numerical QoS preferences, this work does not consider the preference weights for different QoS attributes, that is, QoS preferences.Instead, user can provide specific QoS constraints, for example, s r .In such a requirement scenario, suppose that three services are needed to be selected from S = {s 1 , s 2 , • • • , s 9 } to form a recommendation result R. QoS-diversified service recommendation scenario is to recommend three representative and diversified services.
In the existing methods, 24,25,31 the unrepresentative services are usually pruned by identifying the services that are not dynamically dominated, that is, dynamic Skyline services.In Figure 1, S DSL = {s 1 , s 2 , s 3 , s 4 , s 5 , s 7 , s 8 } corresponds to the Skyline service set, which is represented by the gray circle in another space.The concepts of Skyline services and dynamic Skyline services will be introduced in detail in Section 4.1.In Figure 1, s 6 and s 9 are both pruned out as they are dynamically dominated by at least one service in the S DSL .Although s 6 has the lowest latency and failure rate, it is not a representative one with respect to the QoS constraints s r .Table 1 shows the main notations used in this work.

S
The set of candidate services The set of mapped candidate services in the new space s r The user's QoS constraints, that is, the reference service The i th service in S in the new space q p (s i ) The p th QoS attribute dimension of s i d The dimension of QoS attribute vector

S SL
The set of Skyline services

S DSL
The set of dynamic Skyline services The rank similarity between s i and s j Similarity ( s i , s j ) QoS similarity between s i and s j

Diversity(I)
The diversity degree of service list I RMSDE Root-mean-square diversity error The accuracy rank number of s i in the descending order The diversity rank number of s i in the ascending order The number of services in S In practice, the number of Skyline services may be still largely due to a large number of service candidates.To solve this problem, Zhang et al. 31 propose a method, named DSL-KNN.In this method, the nearest k service to s r are selected from S DSL , that is, {s 3 , s 4 , s 7 }.However, the selected services are not diversified with respect to QoS.When a user prefers lower latency but tends to accept a high failure rate, services s 1 and s 2 maybe more desirable to the user.Likewise, when a user prefers a lower failure rate but tends to accept a high latency, services s 5 and s 8 maybe more desirable.Therefore, to further reduce the number of services in S DSL without affecting the diversity of the recommendation results, Zhang et al. 24 proposed a diversified QoS-centric service recommendation method, named DQCSR, in which the services in S DSL are clustered into k classes, then one service is selected from each class to generate a top-k diversified service list.However, the number of classes k in the DQCSR method may be inconsistent with the actual dataset.Moreover, the recommended services are not ranked.Therefore, Kang et al. 25 propose a method based on a service QoS similar network to balance accuracy and diversity.To summarize, these methods use a uniform degree of diversity for different users.However, different users may have different diversity preferences in the real world.Thus, this drawback of the existing works motivates us to consider mining users' potential QoS diversity preferences, and recommend diversified services in accordance with the users' QoS diversity preferences for users in this work.

PERSONALIZED DIVERSIFIED WEB SERVICE RECOMMENDATIONS
This section describes how the problem mentioned in Section 3 is solved.The framework of the proposed approach, named PDiQoS (Personalized Diversified QoS-centric Service Recommendation), is shown in Figure 2. Given a user's QoS constraints s r , PDiQoS will go through three phases to achieve the final diversified service list: dynamic Skyline service calculation, the user's diverse preference mining, and service diversity adjustment algorithm.Firstly, QoS vectors of candidate services are mapped into a new space, and then the dynamic Skyline services are derived.Meanwhile, the user's diversity preference is mined based on the service invocate history.The dynamic Skyline services are ranked to get an initialized recommendation list.Finally, the diversity adjustment algorithm is used to adjust the service recommendation list to generate the final diversified service recommendation result.

Dynamic Skyline service calculation
The identification of dynamic Skyline services is based on the concept of Skyline services.In the service recommendation scenario, the set of candidate services can be taken as a set of points on a d-dimensional space where a service is

User Preference Mining
Phase 1 Phase 2 Phase 3 represented by a point based on the value of QoS attributes.The recommended service should be not dominated by any other points, that is, they should belong to the set of Skyline services.
QoS attributes are divided into positive ones and negative ones.For positive attributes, the larger the better.For instance, higher throughput means better quality.For negative attributes, the smaller the better.For instance, a longer response time means worse quality.To eliminate the differences between QoS metrics, the values of QoS attributes should be normalized by transforming their values into [0,1].So, the larger value means better quality for all the QoS attributes after transformation.In this article, the data of QoS attributes are normalized using the max-min normalization technique, as shown in Equation (1) and Equation (2), where Equation ( 1) is used for negative attributes, Equation ( 2) is used for positive attributes, q is the value of the original QoS attribute, q ′ are the value of the QoS attribute after transformation, and q max and q min are the maximum and minimum values of the QoS attribute respectively.
The concepts of domination, dynamic domination, Skyline services, and dynamic Skyline services can be also referred to. 24,25Definition 1 defines the domination relationship between two services.Based on Definition 1, the Skyline services can be defined as shown in Definition 2. Definition 1. (Domination).Given two services s i , s j ∈ S, represented by two points in the d-dimensional space, s i dominates s j is denoted as s i ⊳ s j , indicating that s i is not worse than s j in all QoS attribute dimensions but better than s j in at least one QoS attribute dimension, that is, ) .
Definition 2. (Skyline services).The Skyline services consist of services that are not dominated by any other services, that is, , where S SL is called the set of Skyline services of a candidate service set S.
Skyline services are the ones with better quality.However, the user expects to get the dynamic Skyline services of S in terms of the QoS constraints s r .Therefore, the points from the original space should be transformed into a new space.Specifically, for s ∈ S, it is mapped to s Then, we can get the corresponding dynamic Skyline services of S by calculating the Skyline services in the new space.Next, the concepts of dynamic domination and dynamic Skyline services will be given in Definitions 3 and 4.

Definition 3. (Dynamic domination). Given two services s
, then s i dynamically dominates s j , denoted as s i ≻ s j .Definition 4. (Dynamic Skyline services).The dynamic Skyline services of a candidate service set S to consist of the services which are not dynamically dominated by any other services, that is, Figure 1 illustrates the identification of the set of dynamic Skyline services S DSL .Firstly, the original points are mapped into a new space.The reference service s r is the origin point in the new space.The absolute value of the distance from s r is taken as the mapping function.Consequently, s 1 , s 2 , s 3 , s 4 , s 5 , s 6 , s 7 , s 8 are mapped into s ′ 1 , s ′ 2 , s ′ 3 , s ′ 4 , s ′ 5 , s ′ 6 , s ′ 7 , and s ′ 8 , respectively, in the new space.Especially, s 9 is already in the first quadrant of the new space, so it does not need to be mapped.The set of all the services in the new space is denoted as S ′ .The identification of S DSL is equivalent to calculating the Skyline services in the new space, that is, if holds in the new space, then S DSL = {s 1 , s 2 , s 3 , s 4 , s 5 , s 7 , s 8 } holds in the original space correspondingly.

User QoS diversity preference mining
To explore the potential QoS diversity preference of a user, the user's service invocation history is considered.The QoS diversity degree of the services invoked by the users in the past is taken as the potential QoS diversity preference at present.To this end, a metric for calculating QoS diversity degree for a set of services is defined.Since dissimilarity is usually taken as the opposite of similarity, the diversity degree of services can be measured based on the similarity between services. 33he diversity degree proposed used in this paper is shown in Equation (3), which is the average of dissimilarities of each pair of services in the service set.
where in Equation ( 3), N is the number of services in the service set I and Dissimilarity ( s i , s j ) is the dissimilarity between s i and s j .According to Equation (3), the diversity of I is the average dissimilarity of N × (N − 1)∕2 pairs of elements in I. Similarly, Ziegler et al. 34 proposed to utilize the average similarity of each pair of elements in a list to measure the diversity of the list.Besides, there are other aggregation methods such as the sum of similarity or dissimilarity, maximum similarity, minimum similarity, etc.All of them can be used to measure diversity.Note that the similarity function and dissimilarity function between two items is additively invertible, as shown in Equation (4).

Dissimilarity
( From Equations ( 3) and ( 4), we draw on the improved method in 25 to calculate the similarity between services s i and s j , as shown in Equation ( 5), where dis is the Euclidean distance between s i and s j , KRCC ( s i , s j ) is the ranking similarity between s i and s j , and  is a weight parameter for the trade-off.Thus, Equation ( 6) combines the Euclidean distance and the consistency in the vector direction of two service QoS vectors.In this work, we set  = 0.5.dis ( s i , s j ) and KRCC ( s i , s j ) are defined as in Equation ( 6) and (7).In Equation ( 6), d is the dimension of QoS vectors, q p (s i ) is the value of the QoS attribute of s i in the p th dimension, q p (s i ) ∈ [0, 1] and dis ].In Equation (7), C is the number of consistency pairs of two ranks, D is the number of inconsistency pairs of two ranks.As for a d dimensional QoS vector, there are d(d − 1)∕2 element pairs.

Similarity
( ) The average similarity within a list provides an assessment of the overall diversity level of the service list, but it does not evaluate the recommender system's success in satisfying the user's diverse preferences.A high average diversity or similarity does not mean that the recommender system does or does not identify and meet the user's preferences.Each user should have an individualized diversity level.Some users may have high diversity preferences, while others may have narrower diversity preferences.Therefore, a more desirable approach would be to recommend diverse results for users with high diversity preferences, and more similar results for users with low diversity preferences.Recent studies have reported that it has a greater potential to improve overall user satisfaction. 35Based on the above analysis, the user's potential diversity preference should be taken into account rather than only considering the average diversity of the recommended results.Therefore, the difference between a user's diversity preference and the diversity of the recommendation results should be evaluated.To this end, we use root mean square diversity error to measure the consistency between the diversity of recommendation results and the diversity preference of the user, defined in Definition 5. Definition 5. (RMSDE, root-mean-square diversity error).Suppose that U is the set of users.For a user u ∈ U, RMSDE is the error between the diversity preference Diversity(I(u)) and the diversity Diversity(R(u)) of the recommendation results, as shown in Equation (8).
where I(u) is the set of historical services invoked by u, R(u) is the set of services in the recommendation list to u, and the average diversity of the list (i.e., Diversity(⋅)) is calculated by Equation (3).A low RMSDE indicates that the recommendation result is close to the user's diversity preference.

Service diversity adjustment algorithm
To recommend accurate services to a user, the accuracy scores of the candidate services should be obtained first.In this paper, accuracy is defined as the similarity to the reference service s r , that is, accuracy (s i ) = Similarity (s i , s r ), indicating that a service closer or more similar to s r has higher accuracy.Therefore, services with high accuracy should be ranked at the top in a diversified recommendation list.
To deal with the uncertainty of user QoS preferences, diversified service recommendation can increase the diversity of results and improve overall user satisfaction.Diversified service recommendation should deal with the trade-off between accuracy and diversity.Generally, the weighted summation is used for a tradeoff.Although the level of diversity could be controlled by adjusting the weights, it is too subjective to conclude that the level of diversity is appropriate for the user.Moreover, a uniform level of diversity is given to all users.Thus, weighted summation-based methods do not take the personalized diversity preferences of users into account.Based on the above analysis, we consider the current potential QoS diversity preferences of users and propose a diversity adjustment algorithm, as shown in Alg. 1. Firstly, n*top-k services are discovered based on accuracy, where the first top-k services are used as the initial recommendation result of the algorithm, as shown in step 1. Step 2 calculates the user's QoS diversity preference and the diversity of the initial recommendation list.Then, steps 3-4 show that a similar service in top-k services is replaced with a dissimilar service from the following (n-1) * k services, The diversity of the top-k services is adjusted in turn until it is close to the user's preferred diversity level.The top-k services are then used as the final diversified service recommendation list after adjustment, which is shown in step 5 (Algorithm 1).

Algorithm 1. Diversity adjustment algorithm
Input: Candidate service set S C , user u ′ s service invocation history I(u).

Output: Top-k diversified service recommendation list R(u)
Step 1: Calculate the accuracy of S C , find n × top − k candidate services R(u) with the highest accuracy, and the top-k services are taken as the initial service recommendation list R(u Step 2: Calculate the user's QoS diversity preference Diversity(I(u)) and the diversity of the recommendation list Step 3: For each service s i in R(u), use Equation ( 9) to calculate its diversity distance.use Equation (10) to calculate  i based on the accuracy rank number and diversity rank number of s i .
Step 4: Sequentially select the service with the lowest For example, if a user prefers more diversified recommendation results, then the service with the lowest accuracy in top-k but most similar to the other services is replaced with the service with lower accuracy and less similar to the current recommendation results from the following (n-1) * k services (i.e., the unrecommended services).The average similarity (i.e., diversity distance) of a service to a list of services is defined as Equation (9).The more similar a service is to the set of services in the list, the greater the diversity distance is in Alg. 1,  i is defined as Equation (10), where  ∈ [0, 1] is the diversity factor, R a i is the accuracy rank number of s i in descending order, and R d i is the diversity rank number of s i in ascending order.A large  means a large weight for diversity distance.Under such a situation, the service with a large diversity distance is more likely to be selected for replacement.

Dataset description
To evaluate the effectiveness of our approach, the publicly available QWS dataset is used.*QWS dataset is widely used to evaluate QoS-aware service selection or service recommendation methods. 36It contains real QoS data for 2507 Web services, and the QoS information contains eight dimensions of QoS attributes, such as response time, availability, reliability, etc.Specifically, the data characteristics of the QWS dataset are shown in Table 2.
It is worth noting that the dataset does not involve user invocation history.Therefore, to simulate the actual user history information, we simulate 10 users and select random 5-15 services as their historical invocations, and the QoS value of a randomly selected service for each user is used as the QoS constraint for their service requirements.To verify the stability of the proposed method, we assume that the distribution of these QoS attributes obeys a normal distribution.Based on the data ranges in Table 2, we also simulate a new dataset, named SQWS dataset for more experiments.In our experiments, the parameters involved in the service recommendation method are set by default as follows: n = 3,  = 0.6, | S |= 1600, d = 4, and top-k = 5.

Evaluation metrics
We measure the effectiveness of the service recommendation method by three metrics: accuracy, diversity, and consistency to the diversity preference.The accuracy is related to the ranking, so we use DCG (discounted cumulative gain) value to evaluate the accuracy, as defined in Equation (11), where Accuracy (s i ) is the accuracy of the service s i , p i is the rank number of s i .Thus, DCG evaluates the accuracy of the entire recommendation list.The diversity of the services in the recommendation list has been defined in Equation (3) in Section 4.2.The consistency between the diversity of the recommended services and the user's diversity preference can be evaluated by RMSDE, as defined in Equation ( 9) in Section 4.2.

Performance comparison
To compare the performance of PDiQoS with other existing QoS-diversified recommendation methods, the following QoS-diversified recommendation methods are explored and taken as baselines in experiments.Since the utility-based service recommendation methods and the Skyline-based service recommendation methods are not suitable for diversified service recommendation scenario, they are not considered as based methods in the comparison experiments.

DSL-RS:
This method randomly selects k services from S DSL .2. DSL-KNN 31 : This method selects k services that are nearest to s r from S DSL .
3. DQCSR-CC 24 and DQCSR-CR 24 : DQCSR uses K-Means for services clustering in S DSL , and then uses two strategies to select one service from each category to generate the final diversified recommendation list.Among them, DQCSR-CC selects the service closest to the clustering center from each category, and DQCSR-CR selects the service with the minimum coverage radius from each category.4. DiQoS 25 : Based on a QoS similarity network, this method uses a greedy strategy to select k services from the network to maximize the objective function by weighted summation of diversity and accuracy.
Based on the evaluation metrics in Section 5.2, a series of experiments are conducted to compare the proposed method with the baselines.The experimental results are analyzed from the perspectives of accuracy, diversity, and root mean square diversity error.
1. Accuracy comparison.Figure 3 and Figure 4 show the comparison of DCG values (i.e., accuracy) of all recommendation methods.It can be seen from Figure 3 (a), (b), and (c) that the accuracy of the PDiQoS method is above the middle level.Specifically, the DSL-KNN method and DiQoS method have the best performance, while the DSL-RS method is the next, and DQCSR-CC method and DQCSR-CR method have low accuracy.From Figure 4 (a)-(c), the accuracy of PDiQoS method is between DSL-KNN and DiQoS.Specifically, DSL-KNN has the highest accuracy, DiQoS is medium, and DSL-RS method has low accuracy.DQCSR-CC method and DQCSR-CR method have the worst performance.To sum up, the DSL-KNN and DiQoS have high performance, because the DSL-KNN method selects the top-k services with the highest accuracy in turn, while the DiQoS method uses a Greedy algorithm to select the high-accuracy services which are not similar to the selected services in turn.DSL-RS has medium accuracy, because it uses a random selection strategy; DQCSR-CC and DQCSR-CR have low accuracy, because they focus on diversity and ignore the accuracy indicators.
2. Diversity comparison.Figures 5 and 6 show the diversity comparison of the recommendation results of each method.
It can be seen that the recommendation results of PDiQoS methods have a moderate level of diversity.DQCSR-CC method and DQCSR-CR method have high diversity, DSL-RS has medium to high diversity, and the DSL-KNN method has the lowest diversity.Compared with the accuracy results in Figures 3 and 4, the diversity results in Figures 5 and  6 are substantially opposite, because accuracy and diversity are the opposite of each other, a reasonable balance is required.The recommended results of the PDiQoS method have a good balance effect.3. RMSDE Comparison. Figure 7 and 8 show the comparison result of the RMSDE for all methods.From Figures 7 and 8, the results of PDiQoS have the lowest RMSDE in most cases.As shown in Figure 7 a, when n is 2200, the performance of PDiQoS is slightly higher than the DiQoS; as shown in Figure 8b, when d is 5 or 8, its RMSDE is not the lowest.This is because few dynamic Skyline services can be found in dataset and there are not enough candidate services for diversified adjustment algorithms to replace services.When the top-k is 3 or 4, the number of recommended services is too small, and the adjustment algorithm can only be adjusted within a limited range when the user has a high diversity of preferences.Since the user's invoking history is random, some methods may be more in line with the users' diverse preferences, but PDiQoS is still optimal under most conditions and can adjust the parameters according to the specific datasets to achieve better performance.In Figure 7 and Figure 8, the change of RMSDE is not a fixed trend, and the specific error is associated with the user invoking history.In general, when the number of candidate services increases, DSL-KNN, DQCSR-CC, and DQCSR-CR have larger RMSDE; when the attribute dimension of QoS increases, DSL-RS, DQCSR-CC, and DQCSR-CR have a larger RMSDE; when top-k increases, DSL-KNN has larger RMSDE.
In summary, PDiQoS can better balance accuracy and diversity and the results have a lower RMSDE.In other words, the recommendation results are consistent with the user's diversified preferences, so PDiQoS is more likely to meet the user's potential QoS preference needs, which indicates the effectiveness.

Parameter impact analysis
This section analyses the impact of n and  in PDiQoS.The larger n can provide more candidate service options for diverse adjustment algorithms, while the larger  can get a greater impact on the diversity distance of the services.In this paper, experiments are designed for analysis with the parameter n in {2, 2.5, 3, 3.5, 4} and  in {0.5, 0.6, 0.7, 0.8, 0.9}.Due to the small size of the dataset and the small number of its candidate Skyline services, we take 4 as top-k in the experiment to facilitate the calculation and make the result of n*top-k an integer.The impact of n and  on the performance of PDiQoS is shown in Figure 9.The overall trend of accuracy decreases as n increases.This is because the diversity adjustment algorithm selects services with low accuracy and high diversity to achieve the replacement, and a larger n can provide services with lower accuracy and smaller diversity distances.The overall trend of accuracy decreases as  increases because the diversity distance weights increase leading to a decrease in accuracy.Diversity changes in the opposite trend to accuracy, as shown in (a) and (b), (d) and (e) in Figure 9.For RMSDE, it fluctuates with increasing n, which is related to the number of dynamic Skyline services and the QoS diversity preferences.Whereas an increase of  raises the impact of diversity distance, the replacement cost increases and leads to lower diversity results, and it is difficult to approach the diversity preferences of users with a limited number of replacements, which leads to an increase in RMSDE.According to the experimental results and the analysis above, when n = 2 and  = 0.6, there is balanced accuracy, diversity, and RMSDE.

CONCLUSION
This paper analyses the issue of uncertain user QoS preference.We consider diverse service recommendations to meet the potential QoS preference needs of users.The existing diverse service recommendation methods recommend a uniformly diverse recommendation list without considering the user's personalized diverse preferences.We propose to mine the user's potential QoS diversity preference from service invocation history and recommend a diverse service list consistent with the user's diversity preference.Specifically, in order to make the recommendation results meet the diverse preferences of users, we propose a diversity adjustment algorithm to get a diverse service recommendation list with high accuracy and consistency with their potential diverse preferences.The experimental results show that PDiQoS can recommend services that meet the potential diverse preferences of users, and the results will be more likely to meet the potential QoS preferences of users.
In the future work, we will investigate personalization-based user classification, synchronized updates as usage history increases, and real-time personalization balancing accuracy and diversity in service recommendation for different groups of users, thus improving the efficiency of diverse web service recommendation methods in production practice.

F I G U R E 1
Recommending representative and diversified Web services.
Characteristics of QWS dataset.