1 An Approach for Context-aware Service Discovery and Recommendation Hua Xiao School of Computing Queen’s University Kingston, Ontario, Canada huaxiao@cs.queensu.ca Ying Zou Dept. of Electrical and Computer Engineering Queen’s University Kingston, Ontario, Canada ying.zou@queensu.ca Joanna Ng, Leho Nigul IBM Toronto Lab Markham, Ontario, Canada {jwng, lnigul}@ca.ibm.com Abstract— Given the large amount of existing services and the diversified needs nowadays, it is time-consuming for end-users to find appropriate services. To help end-users obtain their desired services, context-aware systems provide a promising way to automatically search and recommend services using a user’s context. However, existing context-aware techniques have limited support for dynamic adaption to newly added context types (e.g., location, time and activity). Due to the diversity of user’s environment, the available context types may change over time. It is challenging to anticipate a complete set of context types while we design a context aware system. In this paper, we propose a context modeling approach which can dynamically handle various context types and values. More specifically, we use ontologies to enhance the meaning of a user’s context values and automatically indentify the relations among different context values. Based on the relations among context values, we capture the potential services which the user might need. A case study is conducted to evaluate the effectiveness of our approach. The results show that our approach can use contexts to find users’ needs and recommend their desired services with high precision and recall. Keywords-Context modeling; service recommenddation; service discovery I. INTRODUCTION With the growing prevalence of Service Oriented Architecture (SOA), more services become available for end users to use in their daily online experience. Due to the large number of available services, it becomes time consuming for end users to find appropriate services to satisfy their various needs. To help end-users obtain their desired services, context-aware systems provide a promising way to automate service discovery and recommendation. Specifically, a context characterizes the situation of a person, place or the interactions between humans, applications and the environment [6]. A context can be further described as a set of pairs of context types and context values. A context type describes a characteristic of the context. A context type is associated with a specific context value. For example, the context types for a user include location, identity, and time. “New York” is a context value for the context type “location”. Furthermore, a context scenario is the combination of different context types with specific values to reflect a user’s situation. To manage different context types and values captured by the context-aware system, a context model is used to specify the relations and the storage structure of various context types and values. A context-aware system is designed to react to a user’s context without their intervention. A context aware system generally consists of two parts: sensing a context scenario, and adapting the system to the changing context scenario by providing desired services for a user. Most context-aware systems require the designer of context-aware systems to manually define all the context types. Moreover, the designer needs to manually establish the relation between the sensed context scenario and the corresponding services in the form of if-then rules which specify how a system should respond to context changes. However, the context types and values may vary considerably between users. It is challenging to anticipate a complete set of context types and values to satisfy all possible users. To provide a desired service to meet a user’s context, fixed rules are not flexible enough to accommodate the changing environment and various personal interests. To recommend services for a context scenario, we propose an approach that captures dynamic changing context scenarios and formulate searching criteria to discover the desired services. Different from existing approaches which depend on context models to know the relations among context types and values, and then use predefined rules to infer user’s needs, we seek an automatic approach to recognize the relations between context values and a user’s needs. For example, luxury hotel and limited budget are two context values in conflict. Therefore, the services for booking luxury hotels are automatically filtered when a user has a limited budget. We expect that such relations can be used to express more accurate searching criteria which better reflect a user’s context. When a new context type or a new value for a user is detected, our approach can automatically compute the relations between the new context type (or value) with other context types (or values). Instead of manually defining if-then rules using specific context types or values as the traditional context-aware systems [4], our approach uses the relations among context values to infer user’s needs. Then we generate service searching criteria based on user’s needs to discover and recommend services. To facilitate the presentation of the paper, let us consider a travel scenario as an illustrative example throughout this paper. Tom is a graduate student living in Toronto. Tom is interested in watching Hollywood movies and National Basketball Association (NBA) games. Tom plans to travel to Los Angeles and spend his vacation in Los Angeles next month. When examining the context in this scenario, we find that some contextual information is useful to help Tom plan his trip. For example, as a graduate student who has low income, Tom might prefer budget hotel for the trip. As a fan