Service Recommendation with Adaptive User ... - Semantic Scholar

Report 1 Downloads 98 Views
Service Recommendation with Adaptive User Interests Modeling Cheng Zhang and Yanbo Han Research Centre for Grid and Service Computing Institute of Computing Technology, Chinese Academy of Sciences P.O. Box 2704, 100080, Beijing, China [email protected], [email protected]

Abstract. In composing and using services, user’s requirements are subject to uncertainty and changes. It can be difficult for users to maintain an overview of all available services and to make good choices among them. This paper proposes an approach to proactively recommending suitable services to users. Our major contribution is to have devised a novel user-interest model to describe user’s interests adaptively. A reasonable way is put forward for picking up suitable services timely and its key problem is defined formally. Important properties of the model are theoretically proved, and the effectiveness of recommendations is verified with prototypical implementation and tryouts in public service area.

1

Introduction

Service composition has become an important means to build integrated applications. Users may develop such an application by repeating the interactive step of selecting suitable services and then gluing them to the target application. In this process, user’s service requirements are subject to uncertainty and changes. While SOA promotes some nice features such as loosely-coupling, it may bring user’s difficulty in maintaining a good knowledge of all available services and to pick up the right ones. There exist some efforts in service retrieval and service representation, e.g. [1], [2]. Some deficiencies can be identified as follows: – Existing methods for service representations usually organize services in a certain manner. However, such previous arrangements may not suit best to user’s individual requirements. – Service retrieval techniques ask users to provide query requests explicitly and exactly. Thus the user has to frequently adjust requirements and inquire again. The complexity is augmented as a result. To deal with the above problems, one feasible approach is to proactively recommend suitable services to users in an interactive manner for each step during 

This work is supported by the National Natural Science Foundation of China (Grant No. 90412010 and No. 70673098) and China Ministry of Science and Technology 863 Program (Grant No. 2006AA12Z202).

T. Janowski and H. Mohanty (Eds.): ICDCTT 2007, LNCS 4882, pp. 265–270, 2007. c Springer-Verlag Berlin Heidelberg 2007 

266

C. Zhang and Y. Han

a service composition process. In this paper we propose such an approach, which is named Proactive Service Recommendation (PSR). PSR tries to deliver ”suitable” services, i.e. the services that are likely to be used in the current step. Major contributions of the paper include: A user-interest model is proposed. Some specific characters of this model make it good at adjusting user interests adaptively when composing services. Next, a reasonable way is proposed to select suitable services according to the user interests in each interactive step. The rest of this paper is structured as follows: Section 2 describes the major idea of PSR. Section 3 proposes the user-interest model. Section 4 designs an algorithm to select suitable services. Section 5 evaluates our work with a discussion on related works. The paper concludes in Section 6.

2

User-Interest-Based PSR

In using and composing services, the user can get some useful information from the outputs of the previously-chosen services. If we look the outputs of all the usable services as a full set, the outputs of the chosen services exhibit the user’s interests. Further, if a service can accept part of these interests as inputs, it possibly outputs more information about user’s interests. Thereby, the existed interests could form the reference points for selecting services in later step. In terms of the above opinion, we proposed an approach to the user-interest-based PSR. The Fig.1 depicts the principle of this approach. In each interactive step of the service composition the output parameters of the previously-chosen services form user’s interest nodes, each of which has a weight calculated based on a user-interest model. All such nodes make up of the user interests. Then we rank the service candidates by a weighted value, which is calculated for each service by matching its inputs with the user interests. The services with higher rank will be recommended to the user.

Fig. 1. The principle of the user-interest based proactive service recommendation

Service Recommendation with Adaptive User Interests Modeling

267

It’s worth to emphasize that we regard the basic functional units of services as the recommended elements in this paper. Let’s take the web service as an example, its operations will be recommended instead of the web service itself.

3

User Interest Model

Several characteristics about user interests can be inferred according to the discussion in Section 2. Firstly, the more an output parameter appears, the more the user is interested in it. Secondly, the previous user interests may be satisfied to a certain extent. Hence, we define the user-interest model as follows. The output parameters of the previously-chosen services constitute a set denoted by P={p1 ,...,pn }, where iterative parameters appear only once. The last interactive step in present is called the current step. A 2-tuple (t, weight ) is denoted by IN ode(t), where t ∈ P is called interest node, and weight indicates its importance. Further, UserInterest =IN ode(ti ) is called user interest if ti ∈ P and ∀(x)((x ∈ P ) → x ∈ {ti }). Aiming for the specific character of the user interest mentioned above, we propose an approach to computing the weight of the interest node as follow: weightt =

Nt + f(h) Ntotal

(1)

t is an interest node whose weight is denoted by weightt , and Nt is the total numbers it appeared until the current step. Ntotal records the total numbers of appearances of all interest nodes at that time. f (h) is a function defined by: nh (2) k n is the total number of interactive steps up to the current step, and h is the last step that t appears, briefly denoted by position later. k denotes the distance from the position of t to the current step. We define that k = n + 1 − h. Clearly, f (h) is a monotonic increasing function of q, and weightt is not only monotonic increasing with Nt when q is fixed but also monotonic increasing with q when Nt is fixed. Consequently, we can easily prove that weightt holds the closer-priority property. Namely, let t1 and t2 be interest nodes, h1 and h2 denote the position of t1 and t2 respectively. If h1 is more than h2 , then weightt1 is more than weightt2 . The proof is omitted in this paper because of the page limit. f (h) =

4

Service Selection

As mentioned above we will discover the suitable services by parameter matching between the services’ inputs and the user interests. Let p be an input parameter of a service and q be an interest node, if q can be assigned to p as its input, we say q is able to match with p. In order to improve the matching accuracy we

268

C. Zhang and Y. Han

reference some related works, e.g. [1], [3], to describe services with the ontologybased methods. As well known, the IsA relation demonstrates the inheritance between two concepts in the ontology. And the polymorphism principle tells us that the super-class concept can receive values from its sub-concepts. So we can compute the matching degree of two parameters according to their relationships in the ontology. Let M atch denote the matching degree of two parameters p and q, the semantics of which are respectively mapping to the concept c1 and c2 in the ontology. Match can be defined as follows:  1/(d + 1) < c1 , c2 >∈ IsA M atch(p, q) = (3) 0 < c1 , c2 > ∈ / IsA Where d is the path length between c1 and c2 in the ontology. The above definition may potentially produce the many-to-many relations between the interest nodes and the service’s input parameters. That is, the value of one interest node could be assigned to many input parameters and one input parameter can receive the value from different interest nodes. This paper only considers the one-to-one element matching between the interests set and the inputs set. In order to precisely define this problem, we introduce the matching matrix which is denoted by C. Assume that the number of current interest nodes and the inputs of service S are respectively m and n, and then Cs is a nm matrix. Each row of Cs indicates one input of S and each column indicates one interest node. We also set Cs [i, j] = match(pi , qj ) ∗ weight(qj ), where pi is the input parameter which corresponds with the ith row, and qj is the interest node which corresponds with the jth column. We use the matching matrix as a tool to formally define the matching problem mentioned above as follows: M ax S.t.

z= 

n  m 

cij xij

i=1 j=1

xij

j = 1, 2, ..., m

xij

i = 1, 2, ..., n

(4)

i=1

 j=1

xij = 1

or

0

When selecting suitable services in a certain interactive step, the maximal value of z will be calculated for each service candidate and the services with a bigger outcome will take priority of recommendation. Well, how to calculate the maximal value of z becomes the key problem. The above definition tells us that it is a kind of assignment problems, so we can effectively solve it by the Hungarian method [4].

5

Discussion

The benefit of service recommendation consists in reducing the number of times for service retrieving from the whole service directory. In this section we will

Service Recommendation with Adaptive User Interests Modeling

269

evaluate its effect based on the applied instances in the public service domain. Let RSi be the set of recommended services in the ith interactive step, and ESi be the set of services which are actually used in the ith step, and | S | express the number of the element of the set S. Then, we define benchmarks for quantifying the effect of the recommendation as follows: N Stfstepi | RSi ∩ ESi | , where Stfstepi = (5) Stfapp = i=1 N | ESi | Clearly, | RSi ∩ ESi | is the number of the recommended services which is contained in the set ESi . Thereby, Stfstep is the proportion of recommended services to the actual used services in one step, and it states the satisfying degree of one recommendation. Similarly, Stfapp depicts the user’s satisfactory degree for the whole composition. Currently, VINCA tool is only applied in a small scope, it is hardly to collect test datum from a mass of samples. So we randomly choose forty applications from the system logs of five users, and then calculate the satisfactory degree of each application. In the end we compute the average of all satisfactory degrees. The result is 40.39%. This value explains that about 40 percent of the used services can be obtained from the set of recommended services. Namely, the times for looking up services from the whole service directory is reduced by 40%. It is convenient for users to discover suitable services.

6

Related Works

There are some related works on service recommendation. For example, the paper [5] adopts recommender system to dynamically selecting services, but it asks users to rate the executed services. The paper [6] uses both the user’s requests and users’ experiments to discover fitter services. These existed works are universally to retrieving services according to the requirements offered by the user. In order to discover suitable services timely and present them to users actively, some efforts, e.g. [7], [8], make use of the context information to arrange services and reduce the complexity of service discoveries. These works are well done but do not care about user’s business requirements in the services composition. A lot of research works have been done about the service matching. In the paper [9] the authors assume that there have been one-to-one mapping relations between the inputs of one service and the outputs of another, yet do not consider how to produce this mapping. Similarly, the paper [10] adopts the same assumption. Some other works, e.g. [11], allow the many-to-many relation between the parameters of services. Other works are similar with them such as [12] and more. We mainly concern about the one-to-one matching under many-to-many mapping relations, and formally define the problem of how to produce such matching.

7

Conclusion

This paper proposed an approach to proactively recommending suitable services to users. A user model adaptively depicting user’s interests was proposed and

270

C. Zhang and Y. Han

a sound way for timely selecting suitable services was proposed. The paper discussed the properties of the user model in detail and the key problem of selecting services had been formally defined. Furthermore, experiments were carried out and evaluation was done on the basis of some practical cases. Our further work will focus on two aspects: Firstly, we will concern about various approaches to service recommendation in a systematical way and consider how to use and combine them comprehensively. Secondly, we will further clarify the benchmark of the service recommendation.

References 1. Paolucci, M., Kawamura, T., et al.: Semantic Matching of Web Services Capabilities. In: Proceedings of the 1st International Semantic Web Conference, Sardinia, pp. 318–332 (2002) 2. Klein, M., Bernstein, A.: Searching Services on the Semantic Web Using Process Ontologies. In: Proceedings of the Int’l. Semantic Web Working Symp., Amsterdam, pp. 159–172 (2001) 3. Li, L., Horrocks, I.: A Software Framework for Matchmaking Based on Semantic Web Technology. In: Proceedings of the WWW 2003 Conference, Budapes, pp. 331–339 (2003) 4. Pazzani, M., Billsus, D.: Learning and Revising User Profiles: The Identification of Interesting Web Sites. Machine Learning 27, 313–331 (1997) 5. Umardand, S.M., Prabhakar, T.V.: Dynamic Selection of Web Services with Recommendation System. In: Proceedings of the International Conference on Next Generation Web Services Practices, Seoul, pp. 117–121 (2005) 6. Natallia, K., Aliaksandr, B., Vincenzo, D.A.: Web Service Discovery Based on Past User Experience. In: Proceedings of the International Conference on Business Information Systems, Poznan, pp. 95–107 (2007) 7. Maamar, Z., Mosterfaoui, S.K., et al.: Toward an Agent-Based and ContextOriented Approach for Web Services Composition. IEEE Transactions on Knowledge and Data Engineering 17(5), 686–697 (2005) 8. Dey, A., Slaber, D., et al.: The Conference Assistant: Combining ContextAwareness with Wearable Computing. In: Proceedings of the 3rd International Symposium on Wearable Computers, San Francisco, pp. 21–28 (1999) 9. Medjahed, B., Bouguettaya, A., et al.: Composing Web Services on the Semantic Web. The VLDB Journal 12(4), 333–351 (2003) 10. Fang, J., Hu, S., et al.: A Service Interoperability Assessment Model for Service Composition. In: Proceeding of the IEEE International Conference on Services Computing, pp. 153–158 (2004) 11. Arpinar, I.B., Zhang, R., et al.: Ontology-driven Web Services Composition Platform. Information Systems and E-Business Management 3(2), 175–199 (2005) 12. Casati, F., Ilnicki, S., et al.: Dynamic and Adaptive Composition of E-Services. Information Systems 26(3), 143–162 (2001)