Using Ontology and User Profile for Web Services Query (information science)

INTRODUCTION

Web services have received much attention because of their potential for realizing service oriented architecture (SOA). As the number ofWeb services increase exponentially, discovering Web services that satisfy user’s specific needs has become a difficult task. In fact, the ability to find relevant Web services has been recognized as a key challenge in the realization of the potential of service oriented architectures.

The first step in the creation of system using SOA is to find relevant Web services which can be integrated or composed to provide the desired functionality (Kim & Jain, 2005). For example, developing a travel reservation application would require developers to search several Web services such as airline booking, hotel reservation, car rental, and weather forecasts. The commonly used UDDI-based Web services discovery approach is based on keyword search. Developers have to search for Web services using keywords such as “airline,” “hotel,” and “hotel” separately. This approach does not provide convenient search environment and deliver satisfactory query results to users because it does not take into account the context of the search (Zhou, Chia, & Lee, 2005). As the number of Web services grows explosively, it is almost impractical, if not impossible, for the user to efficiently analyze and combine the results with a keyword-based search approach (Matskin & Rao, 2002).


Ontology is a conceptualization of a domain into a human-understandable and machine-readable format. It consists of terms, their definitions, and axioms relating them (Gruber, 1993). Since ontology is the foundation for the semantic Web, which has been proposed as a mechanism to manage semantics and context of the World Wide Web, it can be used to improve the discovery of Web services by modifying or expanding query terms (McIlraith & Martin, 2003). However, little research has been done on the creation and use of ontology for Web services discovery. Our research seeks to address this void.

Furthermore, individual users may have unique preferences and needs even though they use seemingly similar queries to retrieve relevant Web services. User profiles can be used to capture these preferences and needs such that the queries return results that are of specific relevance to them.

We propose the development of a query system that can incorporate user profiles so that queries accurately represent user’s preferences and needs.

This chapter is organized as follows: In the next section, we discuss related research and various challenges and issues in Web services discovery. Then, we present several types of ontology and user profiles that may be used in the discovery process. Finally, we introduce a system architecture and discuss future trends and conclusions.

BACKGROUND

In this section, we provide background information about ontology and user profiles which can be used to address some of the challenges involved in Web services discovery.

Web Services

A Web service is an interface that describes a collection of operations that are network accessible through standardized XML messaging specifications such as SOAP, WSDL and UDDI. It provides open XML-based mechanisms for application interoperability, service description, and service discovery (Kim & Jain, 2005).A large number ofWeb services are already available on the internet, making Web services discovery a major task in service-oriented business application development. A widely used approach for discovering Web services is based on UDDI (Bin, Yan, Po, & Juanzi, 2005). UDDI uses a keyword based discovery feature which may not provide satisfactory query results because it does not take into account the context of the query. Recent research has proposed the use of ontology based query to improve the accuracy and relevance of search results (Bin et al., 2005; Maximilien & Singh, 2004; Zhou et al., 2005).

Ontology

The term ontology originally defines a philosophical discipline. As a branch of the philosophy, ontology deals with the nature and organization of reality. Today, ontology is not only created by philosophers but also by computer scientists. In computer science, the term ontology is defined as the explicit specification of a conceptualization (Gruber, 1993). In other words, ontology represents the knowledge related to one or more domains in a way that may be interpreted by both for humans and computer programs. Ontology can support a variety of applications including the development of common understanding, enabling the reuse of domain knowledge, information extraction and concept tagging, knowledge management and intelligent systems (Noy & McGuinness, 2001).

User Profile

In the search for relevant Web services, which takes into account the context of the search, the profile of the user can play an important role. Integrated with the user’s background and needs, a search can provide more personalized results (Storey, Sugumaran, & Burton-Jones, 2004). Such a search can exclude a large portion of irrelevant Web services by taking into account the user’s particular interests.

When a query is contextualized, it produces results that account for (1) the meaning of query terms in the context in which they are used and (2) the user’s preferences. In the development of a contextualized query, ontology can minimize the use of wrong concepts in the query whereas use profiles can help constrain the concepts requested (Storey et al., 2004) to those of interest to the user.

USING ONTOLOGY TO IMPROVE WEB SERVICE DISCOVERY

In this section we introduce several types of ontologies and propose that these ontologies may be used in a systematic manner to improve Web services query. We introduce several methodologies to create domain ontology which is a key ontology for Web services discovery.

Systematic Use of Ontology

Web services search can be improved by expanding users’ original query with ontology (Storey et al., 2004). Different types of ontologies that can help improve queries are shown in Table 1 with examples. ResearchCyc is a general ontology that can handle terms which are independent of specific domains. In a similar fashion, existing upper-level ontologies such as SUMO or the Cyc Top-Level Vocabulary can be used for handling universal concepts such as time and space (Niles & Pease, 2001).

Linguistic ontology can handle a synonym in a query. Users may employ different terms to describe the same concept. In Web services discovery, a query system has to consider synonyms of terms used in a query as well as in the description of the Web services specified in the WSDL. For example, WordNet can be used as a thesaurus to cover extensive number of synonyms. Similarly, application ontologies can play a major role of improving users’ query. Finally, search results can be improved with the use of domain ontology (Bin et al., 2005).

When there are a huge number of Web services, a query may return a large number of Web services which provide basically the same functions. Then, these results need to be organized by some criterion such as the quality of service (QoS). QoS ontology can help a query system rank order Web services according to the QoS level specified by user (Zhou et al., 2005). Although QoS typically represents nonfunctional requirements such as reliability and scalability, a QoS ontology can help formulate a more comprehensive assessment of quality (Maximilien & Singh, 2004; Zhou et al., 2005). Maximilien and Singh (2004) distinguish three ontologies for QoS: upper, middle, and lower. The QoS upper ontology describes general quality concepts such as quality measurement and relationships, whereas the QoS middle ontology captures several domain independent quality concepts such as availability, interoperability, and security. Domain-specific quality requirements are specified in the lower QoS ontology.

In summary, ontologies identified in Table 1 may be used to modify a user’s query in Web services discovery. The user of such an ontology enhanced discovery process may provide feedback on whether the modifications to the query are appropriate. Through such an interactive process, a more comprehensive and appropriate query may be created.

Ontology Development

Existing ontologies shown in Table 1 are an excellent starting point for the development of an ontology based query system. Creating and using the first three ontologies in Table 1 is relatively easy compared with the rest of ontologies. Domain ontologies such as DAML ontology are also being developed as a part of large common-sense ontology. In fact, several ontologies which capture the same domain knowledge with different perspectives may be developed. Domain ontology needs to capture and represent concepts and their relationships shared among users. Therefore, the creation of domain ontologies is considered a time-consuming and difficult task (Cristani & Cuel, 2005; Noy & McGuinness, 2001). To reduce time and effort required to develop ontology, several methodologies have been proposed.

Cristani and Cuel (2005) classify ontology creation methodologies (such as DOLCE, OTK, TOVE, etc.) as top-down and bottom-up. Top-down methods start with an abstract view of domain and expand it with detailed specifications. Bottom-up methodologies start from the specification of a certain task and obtain generalization. The choice of a methodology is dependent on the specific context and the needs of the application (Cristani & Cuel, 2005). For Web services discovery, the choice of methodology is influenced by the whether the Web services is in public UDDI or private UDDI. With a public UDDI, top-down methodology for ontology development is appropriate because public UDDI has to cover a broad range of topics. On the other hand, a bottom-up methodology is appropriate for a private UDDI because an organization running a private UDDI dedicated to specific domains may have very specific and detailed requirements from users. The bottom-up approach has been successfully used to develop ontology from text documents (Maedche & Volz, 2001; Shamsfard & Barforoush, 2004). Applying this methodology to Web services, we can create domain ontology from a collection of documents such as WSDL specifications. However, a challenge to this approach is the lack of adequate text documents. The amount of information available in WSDL specifications of Web services might be limited because developers tend to express the features of Web services succinctly. The other challenge is the time and effort required for the creation of a domain ontology.

Table 1. Types of ontology

Type Task Ontology
General ontologies Represent general knowledge, independent of specific domain ResearchCyc
Linguistic ontologies Represent linguistic knowledge: different meanings of a given word, synonymy and antonym relationships between terms. WordNet
Upper-level ontologies Related to universal concepts like time and space SUMO or Cyc Top-Level Vocabulary
Domain ontologies Reflect a specific domain, independent of tasks
Application ontologies Imbedded in application, driven by tasks The logical schema of a database
QoS ontology Represent the level of non-functional requirements DAML-QoS Ontology

Given these challenges involved in domain ontology creation for Web services query improvement, we propose two methodologies. Following Storey and Kim (2006), we propose a semi-automatic methodology. As this methodology uses World Wide Web as its resources, it can be easily applied to create a domain ontology for Web services. The proposed methodology shown in table 2 includes six steps: (1) Identification of category, (2) specification of target domain keywords, (3) crawling and scanning relevant Web pages, (4) extraction of concepts, (5) clustering extracted concepts, and 6) construction of domain ontology.

The six-step methodology has been used to create domain ontologies with less time and effort compared with manual development proposed by Storey and Kim (2006).

The second involves the pruning of a large common-sense ontology such as Cyc. Using keywords used in the domain, we can gather information related to those terms from a common-sense ontology, thereby creating relatively large domain ontology. Because this domain ontology is usually large and may contain unnecessary concepts, pruning methodologies proposed by Kim, Caralt, and Hilliard (2007) may be used to create a smaller domain ontology by removing irrelevant concepts. Then, developers can modify the domain ontology to suit their needs.

Tools for Creating and Managing Ontology

For ontology development and management, several tools and standards are available. Various tools for ontology editing and management include Protege-2000, SWOOP, KAON, WSMX, OWL-S Editor, and OntoManager (Cristani & Cuel, 2005). The domain-independent languages used to specify ontologies in these tools include RDF(S), DAML+OIL, OWL, and KIF. Among these, OWL is considered a de facto standard for the semantic Web. OWL enables users to richly express ontologies and reason with this knowledge because it provides more comprehensive vocabulary for expressing meaning and semantics when compared to other standards such as RDF. For example, to more richly describe classes and properties, relations between classes and characteristics of properties are included in OWL. Ontology development tools can be used with the two approaches for domain ontology creation proposed in the previous section.

Using User Profiles to Improve web Services Discovery

The role of user profile in improving the quality of search has long been investigated (Korfhage, 1984). The interactive development of a query can be made more effective by taking into account user’s different preferences that are specified in a user profile.

Several types of user profiles and methods to create them have been proposed in the literature. Two types of categorization of user profiles have been commonly used in prior research. One divides user profiles as knowledge-based or behavior based (Kuflik, Shapira, & Shoval, 2003). User’s knowledge in the form of semantics is reflected in knowledge-based profiles whereas records of user’s actions are used to create behavior-based user profiles (Middleton, Shadbolt, & De Roure, 2004). Knowledge-based profiling employs static models of users and dynamically matches each user to the closest model. To obtain the knowledge required for such matching, questionnaires and interviews are often used. Behavior-based profiling captures the user’s behavior as a model. Machine learning techniques are employed to discover meaningful patterns in user’s behavior (Kobsa, 1993).

Table 2. Six-step methodology for ontology creation tools for creating and managing ontology

Steps Activity
1. Identification of category Identify category of target Web site using DMOZ or Clusty.
2. Specification of target domain keywords Specify target domain (or Web sites) with initial domain keywords.
3. Crawling and scanning relevant Web pages Collect Web pages identified relevant from step 2.
4. Extraction of concepts Retrieve and organize words according to criteria such as frequency and TFIDF.
5. Clustering extracted concepts Analyze the relation among concepts and cluster them.
6. Construction of a domain ontology Create a domain ontology.

User profiles may also be classified according to the level at which preferences are aggregated: (1) personal, (2) stereotype (i.e., held by a class of individuals), or (3) community (i.e., held by an entire community) (Middleton et al., 2004).

As community level profile is less likely to be useful for a specific user and context, we recommend the use of individual and stereotype level profile for query improvement. Further, depending on the expertise level of user, a query system can decide which level of group profile is appropriate (Storey et al., 2004). Queries of domain experts tend to be very stable and accurate. Therefore the query system should use only query terms provided by domain experts. In contrast, initial queries created by novices tend to be obscure and unstable. Therefore, the query system should use the expert stereotype profile first and then use the personal stereotype later. User profiles can be collected by both directly and indirectly depending on the user’s expertise in a domain (Storey et al., 2004). When user is an expert in a certain field, direct method can provide accurate user profile information. However when user has little expertise in a certain field, it is difficult to collect profile information. To cope with this challenge, a novice profile can be created indirectly by using practice queries in a given topic.

A METHODOLOGY FOR THE CREATION AND USE OF USER PROFILES

We introduce a five-step methodology for the creation and use of user profiles that takes into account the recommendations made above. This methodology has been adapted from related research on the use of user profiles to improve search on the World Wide Web (Storey et al., 2004). Table 3 shows the five steps and relevant activities.

The five step methodology described above canbe readily used in conjunction with the approach for the creation and use of domain ontology described in the previous section. Together, they synergistically help improve the retrieval of appropriate Web services.

System Architecture and Scenario

Figure 1 shows the architecture of our proposed system for ontology and user profile driven Web services query. It consists of three modules and two repositories: (a) interface and query parser module, (b) inference module, (c) query constructor module, (d) ontology repository, and (e) user profile repository. The interface and query parser module interacts with a user to receive user’s original query and deliver the result to the user. In addition, this module parses the user’s original query. The inference module receives the terms from the interface and parse module. Interacting with ontology repository, the inference module tries to find synonyms and relationships between terms. Then, it uses the user profile information to further expand the query. The expanded query is used to search the Web services repository located in UDDI. Finally, the interface and parse module presents the selected Web services to the user.

Table 3. Five-step methodology for query development using profile

# Steps
1 Identify approach: UDDI determines user s domain knowledge level from either interaction with user or previous records. Depending on user’s level of domain knowledge, UDDI may suggest a delegated or user-driven query development.
2 Identify appropriate type of user profile: In case of a delegated query, UDDI determines a type of user profile (e.g., personal, stereotype, community). In case of a user-driven query, UDDI determines a type of user profile if a user is a novice.
3 Identify terms from profile to increase query: Unless user is an expert and chooses a delegated query, UDDI provides semantically relevant terms so that user can expand his/her query to increase accuracy of query.
4 Execute query: UDDI executes the query developed in step 3.
5 Obtain feedback: UDDI receives a feedback from user. When user is not satisfied with the query result, a new query creation procedure will be started.

Figure 1. System architecture

System architecture

We illustrate the use of the system with the following scenario in which ontology and user profile information are used to develop intelligent query. Suppose the user is interested in renting a GPS equipped car and creates a query which simply includes the terms “renting a GPS.” When this incomplete query is used to search travel related Web services, if the UDDI does not have a specific Web services for renting a GPS, the query system will return no useful results. In contrast, our system establishes that (1) it does not find any Web service for renting a GPS, (2) it finds that GPS is part of a car from the domain ontology, and (3) it find that there is a Web service for renting cars. It will, therefore, return Web services that are relevant for renting a car.

The system selects the car reservation Web service by using the heuristic “if a specific Web service that describes an action A (reserve) for a concept C (GPS) does not exist, then such an action tends to be specified in the Web service that describes the same action A (reserve) over a concept C’ (car) that includes C (GPS).

User profile information can be used to further improve query results. If the user profile information shows that the user lives in Atlanta and prefers discounted services, then the system presents only Web services from companies which are located in Atlanta and which offer a discount.

FUTURE TRENDS

For better support in Web services discovery, Web services need to be annotated in a semantically accurate manner. WSDL which is commonly used for this purpose is not descriptive enough to richly describe Web services. New standards such as Web Services Agent Framework (WSAF) (Maximilien & Singh, 2004) and Web Services Modeling Framework (WSMF) (Fensel & Bussler, 2002) offer much promise.

Ontology can be used in Web services matchmaking to support composition (Zhou et al., 2005). For matchmaking, QoS ontology such as those focused on availability, interoperability, and security are promising.

A query may potentially be expanded with several domain ontologies. Research on ontology pruning and refactoring (Conesa & Olive, 2004) can support ontology expansion while creating accurate queries.

Further research on the appropriate ways to categorize user profiles is needed. Also, the relative effectiveness of knowledge-based orbehavior-based user profile in improving Web services discovery needs to be empirically examined. In addition we are currently investigating the effectiveness of different levels of aggregation of user (e.g., individual, stereotype, and community) in the context of search for Web services.

CONCLUSION

Ontology and user profile can be used to improve Web services search by expanding query with more relevant terms which accurately represent context and user’s preferences and needs. We identify several types of ontologies which capture different level of contextual information. The use of these ontologies in a systematic manner can help represent the context of a search in a query. While domain ontology may be very effective in improving queries, their creation requires a lot of time and effort. We introduce two methodologies to help create domain ontology with minimal effort. In addition, user profiles can further improve query results by capturing user’s preferences and needs. We introduce a five-step methodology for the effective use of user profiles in the search for appropriate Web services. Finally, we propose an architecture for a system that incorporates our approach using ontology and user profile. The approach and system described here are aimed at achieving effective and efficient search for Web services.

KEY TERMS

Ontology: A conceptualization of a domain. It is consisted of entities, attributes, relationships and axioms in a format which is human understandable and machine-readable.

Ontology Pruning: A method used to delete the elements of an ontology that are irrelevant.

SOA: An architectural style whose goal is to achieve loose coupling among interacting software agents. A service is a unit of work done by a service provider to achieve desired end results for a service consumer.

SOAP: An XML-based protocol to access objects from Web services.

TFIDF: A value to evaluate how important a selected term is within documents.

UDDI: An XML-based registry for businesses to publish and search Web services.

User Profile: User information representing his or her preferences and needs.

WSDL: An XML-based language used to describe Web services

Next post:

Previous post: