GODO: Goal Oriented Discovery for Semantic Web Services

11 downloads 9646 Views 207KB Size Report
natural language related to a specific domain. In this phase ... introduces a sentence the system must be able to get the concepts, attributes, values and relations ...
GODO: Goal Oriented Discovery for Semantic Web Services 1 Juan Miguel Gomez1, Mariano Rico2, Francisco García-Sanchez3, Ioan Toma4, Sung-Kook Han5 1

Universidad Carlos III de Madrid, Spain [email protected] 2 Universidad Autónoma de Madrid, Spain [email protected] 3 Universidad de Murcia, Spain [email protected] 4 Digital Enterprise Research Institute (DERI), Innsbruck, Austria [email protected] 5 Dept. of Computer Engineering, Won Kwang University, Korea [email protected]

Abstract. The Web has changed from a mere repository of information to a new platform for business transactions where organizations deploy, share and expose business processes via Web Services. New promising application fields such as the Semantic Web and Semantic Web Services are leveraging the potential of deploying those services, but face the problem of discovering and finding them. Finally, the fact of the users expressing their wishes in natural language is hindering the efficiency of the previous approach. In this paper, we present GODO, a fully-fledged solution that combines natural language analysis and semantically-empowered techniques to ascertain how the user needs can be best fit. Our approach is backed with a proof-of-concept implementation and the empirical results of a use case where the efficiency has been proved.

1

Introduction

The current Web is an environment primarily developed for human users. The need of adding semantics to the Web becomes more critical as organizations rely on the service-oriented architecture paradigm to expose and share their business processes. The Semantic Web is about adding machine-understandable and machine-processable metadata to Web resources through its key-enabling technology: ontologies [9]. Ontologies are a formal, explicit and shared specification of a conceptualization. The breakthrough of adding semantics to Web Services leads to the Semantic Web Ser1

This work is founded by the Ministry of Science and Technology of Spain under the project DAWIS (TIC2002-04050-C02-01) and Arcadia (TIC2002-1948). We also thanks FUNDESOCO for it support through the project FDS-2004-001-01. The third author is supported by the Séneca Foundation through the Séneca Program (FPI).

vices paradigm, which offers the possibility of ascertain which services could best fit the wishes and fulfill the goals of the user. Semantic Web Services can be discovered, located and accessed since they provide formal means of leveraging different vocabularies and terminologies and foster mediation. However, the problem of bridging the gap between the current Web, primarily designed for human users whose intentions are expressed in natural language, and the formalization of those wishes remains. Potential users might deter from using Semantic Web Services, since its underlying formalization and unease of use hampers its use from rich user-interaction perspective. Hence, we present in this paper our work on the Goal-oriented Service Discovery (GODO) platform, which fosters the intelligent interaction between natural language user intentions and the existing Semantic Web Services execution environments. Our contribution is an overall solution, based on a fully-fledged architecture and proof-ofconcept implementation that transforms the user intentions into semanticallyempowered goals that can be used to encompass interaction with a number of available Semantic Web Services architectures such as WSMX [1], OWL-S Virtual Machine [2] and METEOR-S [3]. The remainder of this paper is organized as follows. Section 2 describes the Goaloriented Service Discovery platform for Semantic Web services. In Section 3, the interaction between GODO and the available Semantic Web Services execution environments is introduced. Section 4 presents the proof-of-concept implementation based use case and, finally, conclusions and related work are discussed in Section 5.

2

GODO: Goal Oriented Discovery for Semantic Web Services

GODO is a two-faced software agent designed to interact with Semantic Web Services execution environments and human beings. The main goal of the system is to help users express their wishes and achieve by means of Semantic Web Services. GODO allows users to state their needs via natural language texts. It can even assist users in formulating their desires. For this, GODO makes use of ontologies about the most invoked actions that are stored in an ontology repository. Once GODO has inferred the goals derived from the users’ wishes, it sends them to the suitable execution environment. The aim of this section is to describe the functionality of the components in the architecture. Loose coupling and reusability of components have been the major intentions behind the architectural decisions and implementation. Some of these details are reflected in the particular components to make them more understandable.

Figure 1. The GODO Architecture. Figure 1 depicts the main components of GODO. The core component is the Control Manager, which supervises all the process and act as intermediary among the other components. The GUI is placed between the user and the Control Manager. The users have two possibilities: they can either introduce a text in natural language or use the ontology-guided tool, which assists them in expressing their goals. When the Control Manager has extracted the user intention, it invokes the Goal Loader. The Goal Loader retrieves all the possible goals from the repository and the Goal Matcher infers which goals are needed to achieve the users’ requests. Finally, the Control Manager sends separately these goals to the Goal Sender, which is responsible for dispatching them to the suitable execution environment. In the following subsections, a concise description of each of these components will be presented.

2.2.1 Ontology-guided Input In the architecture of the system there are two components that deal with the users’ input: the Ontology-guided Input and the Language Analyzer. While the Language Analyzer processes texts in natural language as it will be described in the next subsection, the Ontology-guided Input assists the users in composing their. For this purpose, the Ontopath System has been used [4]. The Ontology-guided Input offers the user a set of possible words to be inserted in a particular statement. Specifically, it offers the users different recommendations to complete the statements expressing their goals. These recommendations are based on knowledge extracted from an external ontology repository. The ontologies of the repository contain the feasible actions. An example of an ontology-guided input can be spotted in Figure 2.

Figure 2. Example of an ontology-guided input.

2.2.2 Language Analyzer The task of the Language Analyzer is to filter and process the input introduced by the user in natural language and determine the concepts (attributes and values) and relations included in it. The Language Analyzer used in this work, namely KAText, is based on the methodology presented in [5] to get knowledge from text. This methodology, which uses ontologies and one incremental knowledge acquisition technique termed MCRDR [6], is based on the idea that relationships between concepts are usually associated to verbs in natural language. This methodology uses the mentioned technique and the grammar category of the words in the current sentence to infer other knowledge entities (e.g., concept, attributes and values) in order to create an ontology from a text fragment. A previous phase of training is necessary in which the experts establish all the patterns that will use the analyzer to get the concepts and relations within the sentence introduced by the user. This training process is based on the study of a set of texts in natural language related to a specific domain. In this phase, the experts indicate the concepts, concepts’ attributes, attributes’ values and relations among concepts, and the system stores all this information in the database. After this, when a real user introduces a sentence the system must be able to get the concepts, attributes, values and relations within this sentence taking into account all what it has learned in the training process. This knowledge acquisition process is divided into three sequential phases, namely the “POS-Tagging”, “Concept search” and “inference” phases. The main objective of the POS-Tagging phase is to obtain the grammatical category of each word in the current sentence; for this purpose, the POS-tagger described in [7] is used. In the Concept search phase, linguistic expressions representing concepts are identified. The associations between linguistic expressions and concepts have been stored in a conceptual knowledge base obtained in the (previous) training

phase of the system. As a result of this phase we obtain all the expressions of the fragment, which are already in the conceptual knowledge base. The last phase, inference, is based on the idea that, in natural language, relationships between concepts are usually associated to verbs. The MCRDR component used to obtain the relationships between concepts is formed by a knowledge base containing linguistics expressions representing generic conceptual relationships, and by a subsystem that infers the participants in these relationships. The modus operandi of this process is as follows. Firstly, the verb in the current sentence is identified. Then, the system searches for the type of semantic relationship associated to that verb. Once the type of relation associated to the main verb in the current sentence has been found, the MCRDR sub-system is applied to extract knowledge by means of the grammatical category of the words, their position in the current sentence, and the type of relation associated to the verb, if any. We will include the following example for further clarification. Suppose that the Language Analyzer component receives a sentence in natural language as a parameter and returns the concepts (attributes and values) within this sentence and the relations among these concepts (a lightweight ontology). As a result, the ontology resulting from the sentence “I want to buy a plane ticket from Galway to Madrid, then book a hotel in the center and rent a C class car” would be like the one shown in Figure 3.

Figure 3. The resulting ontology. In this figure we can distinguish four concepts (“Subject”, “Planet ticket”, “Hotel” and “Car”) and three relations (“buy”, “book” and “rent”). The concept “Subject” is a

more general concept than “I” and is directly inferred by the system. The other three concepts have attributes such as “from”, “to” and values for these attributes (“Galway”, “Madrid”). This lightweight ontology stemming from unstructured natural language will be used to be matched with a goal template or a goal description.

2.2.3 Goal Loader This component looks for goal templates in the Goal Template Repository where different types of goals are stored. Actually, the Goal Loader retrieves all the goal templates and transmits them to the Control Manager. Since in this version of GODO there is no fixed Semantic Web Services execution environment, different types of goal repositories are taken into account. This issue will be further discussed in Section 3.2. The repository is outside the architecture so that anybody may plug in his/her own goal repository.

2.2.4 Goal Matcher Matching is a widely-used term, which, in our case, encompasses a syntactic and semantic perspective. The Goal Matcher compares the ontology elements obtained from the analysis of the user’s wishes to the description of the goal templates extracted from the repository. From this matching, several goals are selected that are composed by the Control Manager in order to build up the sequence of execution.

2.2.5 Goal Sender This component sends the different goals to the execution environment, which returns the results obtained from the execution of the services. Its functionality is quite simple since the sequence of execution is predefined in the GODO Control Manager. The sending of goals is sequential, without taking into account any other workflow constructs.

2.2.6 GUI This is the component that interacts with the user. It collects the users request and presents the results obtained to them. Two different input methods are envisaged. The user can either use the ontologyguided natural language input (as explained in section 2.2.1) how it is depicted in Figure 4 or write natural language text, as shown in Figure 5.

Figure 4. Ontology-guided Input

Figure 5. Simple natural language Input

2.2.7 Control Manager This is the main component of the architecture. It manages the different interactions among the components. Firstly, it accepts the users input through the GUI. It can be

either natural language text or a structured sentence written with the assistance of the Ontology-guided Input. If the input is in natural language, then it instructs the Language Analyzer to attempt the recognition of the major concepts in the text and communicates with the Goal Loader and the Goal Matcher to orchestrate the different goals that will be sent to the execution environment through the Goal Sender. Then, it communicates with the GUI so that the users receive a view of the selected goals and decides if they are correct and comply with their expectations. Finally, if the user approves them, they are sequentially sent.

3

Needle in a haystack: Dealing with Semantic Web Services

One of the most important features of the system is its capability to interoperate with different Semantic Web Services execution environments. Several approaches dealing with the Semantic Web Services have emerged. As the process to find a common standard for this technology has not yet finalized, it is important not to obviate any of them. Therefore, GODO has been designed to support and interact with some of these approaches (those incorporating an execution environment). In this section, the whole set of approaches submitted to the W3C (World Wide Web Consortium) are briefly described, and the way GODO deals with them is detailed. 3.1

Semantic Web Services approaches

The W3C is currently examining various approaches with the purpose of reaching a standard for the Semantic Web Services technology. At this point in time, there are four submissions to be considered: OWL-S, WSMO, SWSF, and WSDL-S. The first approach to be submitted was OWL-S (OWL Web Ontology Language for Services). OWL-S is an ontology for services that makes possible for agents to discover, compose, invoke, and monitor services with a high degree of automation. It is composed of three main parts: the service profile for advertising and discovering services; the process model, which gives a detailed description of a service’s operation; and the grounding, which provides details on how to interoperate with a service, via messages [8]. WSMO Submission comprises three different elements: Web Service Modeling Ontology (WSMO), Web Service Modeling Language (WSML), and Web Service Execution Environment (WSMX). WSMO provides a conceptual framework for semantically describing all relevant aspects of Web Services in order to facilitate the automation of discovering, combining and invoking electronic services over the Web [1]. It is based on the Web Service Modeling Framework (WSMF) [9], which consist of four main elements: ontologies, which provide the terminology used by other elements; goals that define the problems that should be solved by Web Services; Web Services descriptions that define various aspects for a Web Service (functional and behavioral); and mediators, which bypass interoperability problems. WSML provides

a formal syntax and semantics for WSMO and is based on different logical formalism (Description Logics, First-Order Logic and Logic Programming). Finally, WSMX defines a Semantic Web Services architecture and provides an initial implementation based on the conceptual model of WSMO. It enables discovery, selection, mediation, invocation and interoperation of Semantic Web Services. The goal is both to provide a test-bed for WSMO and to demonstrate the viability of using WSMO as a model for achieving dynamic interoperation of Semantic Web Services. The Semantic Web Services Framework (SWSF) is a proposal composed by the Semantic Web Services Language (SWSL) and the Semantic Web Services Ontology (SWSO). Fundamentally, SWSL presents two variants, SWSL-FOL based on FirstOrder Logic (FOL) and SWSL-Rules based on the “logic programming” paradigm. SWSO is a conceptual model for Semantic Web Services. Two formal characterizations of that model have been realized: FLOWS (First-Order Logic Ontology for Web Services) based on SWSL-FOL, and ROWS (Rules Ontology for Web Services) based on SWSL-Rules [10]. The most recent submission is WSDL-S (Web Service Semantics). It defines a mechanism to associate semantic annotations with Web Services that are described using Web Service Description Language (WSDL). The semantic information added by WSDL-S over WSDL includes definitions of precondition, input, output and effects on Web Service operations. Besides, the operation element can be annotated by a concept in a semantic model which provides a high level description of the operation. On the other hand, WSDL-S also presents a mechanism to add categorization information to services which could be used to narrow the range of candidate services in service discovery [11].

3.2 Dealing with Semantic Web Services Along with some of the W3C submissions for Semantic Web Services, execution environments have also been defined to automate the execution of Web Services semantically annotated. Therefore, WSMX for example, as we pointed out before, is an execution environment aimed at serving as reference implementation for WSMO. It enables automatic discovery, selection, mediation, invocation and interoperation of Semantic Web Services by accepting goals in a specified format as input and returning the Web Services invocation results. Another example is the OWL-S Virtual Machine [2] for OWL-S annotated Web Services. It uses OWL-S description of Web Services and OWL ontologies to control the interaction between Web Services. Similarly to WSMX, OWL-S Virtual Machine is a complete framework for Semantic Web Services that starts from parsing an OWL-S description, and executes the process model consistently with the OWL-S operational semantics. Besides, it uses the OWL-S Grounding to transform the abstract description of the information exchanges between the provider and the requester into WSDL operations. Finally, METEOR-S [3] can be associated with WSDL-S. The METEOR-S project attempts to add semantics to the complete Web process lifecycle. Particularly, four categories of semantics are identified: Data Semantics (semantics of inputs/outputs of

Web Services), Functional Semantics (what does a service do?), Execution Semantics (correctness and verification of execution), and QoS Semantics (performance and cost parameters associated with service). The main advantage of this approach is that it is built upon existing service oriented architecture and Semantic Web standards if possible, thus adding semantics to current industry standards. GODO is able to interact with these three execution environments. It possesses a goal template repository that contains a different set of goal templates for each execution environment. When GODO obtains the knowledge representing the user goals, it tries to match it with the whole set of goal templates. It can be the case that goal templates of these three different execution environments are needed in order to achieve the user goals. If so, GODO sends the goals to the different execution environments sequentially as needed. It is also possible that all the goals can be accomplished from the same execution environment, thus being easier for GODO to achieve the user expectation. The way it works is depicted in the Figure 6.

Figure 6. GODO dealing with Semantic Web Execution Environments

4

Using GODO in Semantic Web Services Discovery

In this section, we subsequently present a real-world based use case scenario in order to show the advantages provided by GODO from the user perspective. First of all, our system is fully accessible by any user using a standard Web browser and typing a regular URL (such as http://nets.ii.uam.es/godo). Subsequently, we will call from now on our potential user, Alice. Firstly, Alice types the mentioned URL and access the page shown in Figure 4. In such page she expresses her goals using natural language. By default, the guided

option box is selected, so Alice gets a guided typing. Actually, she is not necessarily forced to type anything, since she is highly assisted and encouraged to simply select one of the items from the list depicted. Once the selection is accomplished, the selected text is added and new items appear, and so on and so forth. The process is iterative and it might be repeated an unlimited number of times. Alice might also toggle off the guided option box, whether she does not want a guided typing. In that case she can write any text in the input box. Narrowing down the scope of the used language, she fundamentally expresses her goals as sentences with the structure “subject-verb-predicate”. Some refinements as "and" for expressing more properties for the subject, and "." for ending phases allow her the construction of longer sentences. The order of the phrases indicates how the sequence of execution evolves over time. Finally, once she had clearly stated her goals, she presses the "Send" button. If Alice typed a guided text, she will be returned sentences that probably will get the correct results. But, if she typed freely, without guidance, GODO will have to analyze the text and find goals matching Alice's goals. Anyway she will get a confirmation page as show in Figure 7. In that page, GODO shows to Alice which will be the execution order and the goals that will be sent to the different execution platforms. All this management details are invisible to Alice and she does not know what platform(s) routed her goals or which Web Services were to be invoked. Our experience shows that users prefer guided typing when they begin using GODO. This is because free typing becomes frustrating for novel users when GODO is not able to match user' goals with goals in the repository. According to our experience, when users acquire enough experience they move to free typing. However, guided typing is not so easy when the number of options increase. Critical mass in goals repositories and more available services hamper the efficiency of the selection criteria. A potential solution is dividing the list in a hierarchical manner in order to avoid hoarding of an excessive number of elements to the user.

Figure 7. Matching goals found.

5

Conclusions and Related Work

As the use of Semantic Web Services grows, the problem for searching, interacting and integrating relevant services is becoming increasingly a hurdle for the leverage of existing Semantic Web technologies which have reached a certain level of maturity. In this paper, we have proposed a solution and a proof-of-concept and effective implementation to integrate the user goals expressed in natural language with existing Semantic Web Services and discussed a real world scenario based use case. The forthcomings of our approach are mainly two, namely: striving for a rich and ease-ofuse interaction to understand the user goals and the ability to encompass with the existing Semantic Web Services execution environments. There are several related approaches to the ones presented in this paper. The idea of using agents for taking advantage of the machine-processable metadata provided by the Semantic Web or the Semantic Web Services has been studied previously. In [12], the author points out how the ontology languages of the Semantic Web can lead to more powerful agent-based approaches for using services offered on the Web. The importance of the use of ontologies in agent-to-agent communication has also been highlighted. A similar application is described in [13]. This is an e-commerce system where a user agent uses a natural language processing tool to analyze sentences provided by users expressing their goals. In [14], the authors outline their experiences of building semantically rich Web Services based on the integration of OWL-S [8]

based Web Services and an agent communication language (it is done to separate the domain-specific and the domain-independent aspect of communication). A more practical approach is shown in [15]. The authors describe an application where intelligent agents, aided by context information provided by Semantic Web Services, assist their users with different sets of tasks. There is also significant related work with regards to NLP resources transforming natural language text into semi-ontological structures. TextoToOnto[16] supports semi-automatic creation of ontologies by applying text mining algorithms. Currently it includes a term extraction algorithm, a concept association extraction algorithm and an ontology pruning algorithm. This tool aids users in creating and maintaining ontologies through the application of text-mining algorithms in such a way that it helps detecting concepts and relationships that the ontology engineer has initially missed, but that may be inferred from texts about the domain being modeled. ASIUM [17] is a clustering and cooperative methods-based system, which takes the syntactic analysis of sentences as the input such that the phrases are identified ASIUM creates an ontology given a text as input and a set of case frames where the semantic features are filled by ontology concepts. Also, it uses a graphic interface to allow the user to inspect, validate and refine the knowledge learned at each step of the learning process. There are some other efforts to combine interactive extraction and extension of ontologies from text, like OntoLT [18]. This application provides a Protégé plugin and an environment for the integration of linguistic analysis in ontology engineering through the definition of mapping rules that map linguistic entities in annotated text collections to concept and attribute candidates (i.e. Protégé classes and slots). A relevant work in this area is the OntoText Knowledge Information Management (KIM) [19] platform. KIM enables Semantic annotation of text. It also allows automatic ontology population and open-domain dynamic semantic annotation of (unstructured or semi-structured) content for Semantic Web and Knowledge Management applications where indexing, retrieval, query and exploration of formal knowledge is feasible. Finally, our future work will focus on finding more use cases and real-world scenarios to validate the efficiency of our approach and determine the feasibility of the semantic match of lightweight ontologies extracted from natural language text and ontologies defining goals in particular domains. This work is related to existing efforts about ontology merging and alignment. Future version of GODO will be oriented towards that direction.

References 1. WSMO W3C Submission (2005). Web Service Modeling Ontology. Available at: http://www.w3.org/Submission/2005/06/ 2. Paolucci, M., Ankolekar, A., Srinivasan, N., and Sycara, K. (2003). The DAML-S Virtual Machine. In Proceedings of the Second International Semantic Web Conference (ISWC), 2003, Sandial Island, Fl, USA, October 2003, pp. 290-305. 3. METEOR-S (2005). METEOR-S: Semantic Web Services and Processes. Available at: http://lsdis.cs.uga.edu/projects/meteor-s/index.php?page=1

4. Ontopath (2005). Ontopath System. Available at: http://oogl.snu.ac.kr/desc/index.html 5. Valencia-García R., Ruiz-Sánchez J.M., Vivancos-Vicente P.J., Fernández-Breis J.T., and Martínez-Béjar R. (2004) An incremental approach for discovering medical knowledge from texts. Expert Systems with Applications 26 (3): 291-299. 6. Kang, B (1996). Multiple classification ripple down rules. PhD Thesis, University of New South Wales. 7. Ruiz-Sánchez, J. M., Valencia-García, R., Fernández-Breis, J. T., Martínez-Béjar, R., and Compton, P. (2003). An approach for incremental knowledge acquisition from text. Expert Systems with Applications, 25, 77-86. 8. OWL-S W3C Submission (2004). OWL Web Ontology Language for Services. Available at: http://www.w3.org/Submission/2004/07/ 9. Fensel, D. and Bussler, C. (2002). The Web Service Modeling Framework WSMF. Electronic Commerce Research ad Applications, 1(2). 10. SWSF W3C Submission (2005). Semantic Web Service Framework. Available at: http://www.w3.org/Submission/2005/07/ 11. WSDL-S W3C Submission (2005). Web Service Semantics. Available at: http://www.w3.org/Submission/2005/10/ 12. Hendler, J. (2001). Agents and the Semantic Web. IEEE Intelligent Systems, 16(2): 30-37, March/April 2001. 13. García-Sánchez, F., Valencia-García, R., and Martínez-Béjar, R. (2005). An integrated approach for developing e-commerce applications. Expert Systems with Applications, 28(2): 223-235. 14. Gibbins, N., Harris, S., Shadbolt, N. (2003). Agent-based Semantic Web Services. In Proc. of the 12th Int. World Wide Web Conference, May 2003. 15. Gandon, F. and Sadeh, N. (2004). Semantic Web Technologies to Reconcile Privacy and Context Awareness. Web Semantics Journal, 1(3), 2004. 16. TextToOnto. (2004).Available at: http://kaon.semanticweb.org/Members/rvo/Module.2002-08-22.4934 17. Faure D. and Nédellec C. (1999). Knowledge acquisition of predicate argument structures from technical texts using Machine Learning: the system ASIUM. In Dieter Fensel Rudi Studer, editor, 11th European Workshop EKAW'99, pages 329-334, Springer-Verlag, May 1999. 18. Buitelaar, P., Olejnik, D., and Sintek, M. (2004). Protégé Plug-In for Ontology Extraction from Text Based on Linguistic Analysis. In Proceedings of the 1st European Semantic Web Symposium (ESWS), Heraklion, Greece, May 2004. 19. Popov, B., and Kiryakov, A. (2003). Towards Semantic Web Information Extraction. Human Language Technologies Workshop at the 2nd International Semantic Web Conference (ISWC2003). Florida,USA.

Suggest Documents