LEARNING SERVICES BASED ON FORMAL CONCEPT REASONING Gonzalo A. Aranda-Corral Dpto. de Ingeniería Electrónica, Sistemas Informáticos y Automática-Universidad de Huelva Ctra. Huelva-Palos, s/n. 21819 Palos de la Frontera. Huelva. España gonzalo.aranda@cs.us.es Joaquín Borrego-Díaz, Antonia M. Chávez-González Dpto. de Ciencias de la Computación e Inteligencia Artificial- Universidad de Sevilla E.T.S. Ingeniería Informática, Avda. Reina Mercedes s/n. 41012-Sevilla España {jborrego,tchavez}@us.es ABSTRACT A formal foundation of automated service discovering for Semantic Web is proposed. The approach is based on the formalization of the problem using an agent oriented programming language (ConGolog), as well as on the use of the Formal Concept Analysis as a tool for knowledge extraction. KEYWORDS: ONTOLOGICAL ENGINEERING, SEMANTIC WEB SERVICES, FORMAL CONCEPT ANALYSIS, SITUATION CALCULUS, CONGOLOG. 1. INTRODUCTION A need for agent interoperability -in a MultiAgent System (MAS)- is a common domain’s conceptualization and a shared vocabulary for exchanging information, that is ontologies (Sycara and Paolucci 2004). The aim of the envisioned Semantic Web (SW) (Berners-Lee and Lassila 2001) is to satisfy these needs, including the common understanding of Semantic Web Services (SWS) in order to allow their discovery, composition and invocation (Lara et al. 2003). Several ontologies to specify SWS exist, as OWL-S (http://www.w3.org/Submission/OWL-S) or WSMO (http://www.wsmo.org). The idea is that any feature of the SWS must be logically specified, mainly properties, capabilities, interfaces and effects. Moreover, it is also necessary to provide automated reasoning technologies which are fully justified on logical soundness (Benatallah et al. 2005). 1.1 An approach to ontology evolution induced by MAS Recently, several new multiagent toolkits are oriented to strongly knowledge-based agents (see e.g. NUIN, Dickinson and Wooldridge 2005). The successful use of this kind of systems depends on the availability of robust and efficent reasoning with the logic on which they are based. Actually, the main challenge is to grant that any agent's activity has logical legitimacy. Only in this way the systems can help users (explaining why an application behaved in an unexpected manner, Horrocks 2005) and designers (finding logical errors in the system). Another important challenge that MAS could face, in the future, will be to support ontological transformations, induced by the execution of MAS itself. This is a critical issue, because ontology revision is expensive, it may even be dangerous for companies. Therefore, the provision of semi-automated ontology evolution mechanisms may be a considerable point of the field of knowledge-based MAS. Note that such evolution will depend on data stream and cognitive decisions made by engineers, among other reasons. On the one hand the MAS running can suggest, the transformation of capabilities of services, although on the other hand, the logical complexity of this revision may be very high. The aim of this paper is to propose an approach for ontology revision based on the reasoning with ontological models associated to MAS services (which is feasible when the services structure is not too complex), and under a referee supervision only to select interesting new services. The structure of the paper is as follows. Once discussed the impact of service learning in ontologies involved in MAS (subsection 1.2), the subsection 1.3 is devoted to commenting relevant issues of Web service formalization, from the point of view of automated reasoning. In section 2 a running example is presented. The method for ontology discovering is presented in section 3. The paper finishes with some comments on related work and future issues. 1.2 Structure of potentially new services In this paper we propose to describe the formal foundations for a method which extracts a simple structure, composed of potentially useful new services, as well as how to create new services from this structure. This creation can be considered as an ontology revision process and preserves some compatibility with the original ontology and certain fundamental properties. Despite such evolution may be critical (for example, when it affects to goal descriptions), current MAS do not provide tools to manage them. In fact, it could be interesting to have an agent able to offer the learned evolution. The logical specification of a method for ontology revisions might avoid some undesirable effects which ontology evolution can produce, from the point of view of automated reasoning (Alonso et al. 2006). Roughly speaking, the studied option in this paper is that the ontological engineer, assisted by a theorem prover, proposes a revision which must be accepted by the user. Generally, the changes will be based on the analysis of a given argument by theorem provers (in our case, arguments and executions are equivalent because ConGolog is interpreted by PROLOG). Finally, in order to certify logical soundness, the revision is based on a formal framework where the revision can be certified by means of a model finder and a theorem prover (Borrego-Díaz and Chávez-González 2005, Horrocks 2005). 1.3 Automated Reasoning on Services Following the approach of (Keller et al. 2004), a goal is a pair of formulae, G = ( post , ef ) describing the post-condition (information state) and the effect (on the world) of them. The capability is described by a 4-uple C = ( pre , as , post , ef ) which specifies the preconditions on input, the information about the state of the world, the output properties and the effect on the world. Finally, the dynamic nature of services makes the formal representation of state change advisable. J. McCarthy's Situation Calculus (SC) is a formalization of state change, useful to reason on rational agents (Reiter 2001). Agent oriented language ConGolog (de Giacomo et al 2000), based on SC, is useful to specify properties of SWS (McIlraith and Cao 2002, Martínez and Lespérance 2004). Examples of SC specifications are shown in figure 1. C: | s[ Holds ( , s) Holds ( ef , Do( , s))] The service provides the goal G : pre as | sHolds ( , s ) Holds ( post ef , Do ( , s)) Holds (Gpost Gef , Do ( , s )) Existence of a service that provides the goal G : | s[ Holds ( Cpre Cas , s ) Holds ( post ef , Do ( , s ))] The service pre as has the capability post Figure 1: Partial specification of provision problems in the Situation Calculus If denotes the system specifications, where the ontologies would be included, the fact that has capability C ( | C ) is formalized in the first condition of figure 1. That is, when the action term is executed, the post-condition is satisfied (in the final state), as well as the corresponding effects. The second example is similar. Finally, the existence of services is actually a planning problem in SC. SWS are closely related to our ability to operate with robust reasoners on the SW, as well as with Knowledge Representation formalisms. By representing the SWS in SC, several tasks of SWS engineering are generalized in a direct way. For example, goal provision checking usually based on matching (between effects/postconditions of the service/goal specification), can be generalized using logical entailment. Analogously, service discovering can be generalized to planning. Nevertheless, this generalization is based on backward reasoning: it starts with goal specification. A more ambitious generalization method is based on the analysis of MAS executions, in order to learn new services. Learned services have to be specified by means of high order planification methods, as in ConGolog, which is useful to learn SWS (McIlraith et al. 2001, McIlraith and Cao 2002). Since such language is based on a simple solution to the frame problem (Reiter 2001), which is interpreted by PROLOG, it is possible to identify executions with provability. The main difficulty of this approach is its logical complexity. Our approach is based on Formal Concept Analysis (FCA) (Ganter and Wille 1999), easy to use, although it will not provide ConGolog specification of the new service. 2. AN EXAMPLE We describe an example where we will carry out the basic steps to create a new service and to revise the ontologies associated, adapted from an example from (de Giacomo et al. 2000). Let it be considered a market with computers and accessories. Under the point of view of the ConGolog seller agent, there are several exogenous actions, but to reduce in complexity, we suppose that a single exogenous action exists, newClient(cid,x), which means that the client identified by cid asks for the article x . Moreover, the seller agent has the action serve(cid,x) (to supply the article x to client cid). When newClient(cid,x) is executed, the fluent ClientWaiting(cid,x) becomes true and, in this case, the system has to accept the client, acquire(cid), and to serve him the article x . Part of the seller agent code is shown in figure 2. Precondition of acquire(cid): Poss (acquire (cid ), s ) Holds (ClientWait ing (cid , x), s ). Effect of action newClient(cid,x) on ClientWaiting(cid,x): Holds(ClientWaiting(cid,x),do(a,s)) a=newClient(cid) Holds(ClientWaiting(cid,x),s) a acquire(cid). Seller agent: [ cid , x.acquire (cid , x); serve(cid , x)]|| ; cid .ClientWait ing (cid , x)? Figure 2: Part of ConGolog seller agent According to the seller agent, a non-deterministic number of processes are serving products to clients. A final state is reached when there are no more clients waiting. Some executions are depicted in figure 3 as formal context (considering executed actions as attributes). Let the articles supplied by the seller be: PC (computer), WXP (operating system), PSB (USB memory) and M (monitor). Client newClient acquire servePC serveWXP servePSB serveM Exec. 1 c1 c2 c3 X X X X X X X X X X Exec. 2 c4 c5 X X X X X X X Exec. 3 c6 c7 X X X X X c8 X X X X X X X X X X X X X Figure 3: Action traces of some executions of the MAS as a formal context 3. DISCOVERING NEW SERVICES: CONCEPT SERVICES In order to discover new services from data, we assume the cognitive principle that an implicit conceptual structure exists on data and services. Formal Concept Analysis (FCA) is a mathematical theory that allows to extract such a structure. FCA is a way to mathematize concepts and conceptual hierarchies (Ganter and Wille 1999). In Artificial Intelligence, FCA is a knowledge representation tool, useful for Intelligent Data Analysis and Knowledge Acquisition (KA). It also represents a formal framework for implication and association rules. The procedures involved in FCA have nice computer implementations as the ConExp system (http://sourceforgenet/projects/conexp) for the basics, and other advanced and specific tools exist. An interesting application of the discovering process is that an ontology can be induced from the services. The ontology induced from the formal context is given in figure 4(left). Figure 4: Lattice structure of concept services induced by executions of figure 3 (left) and the selected extension (right). Each lattice node is called a concept service. A concept service is a concept which is extracted from the formal context in FCA sense. That is, a pair (Act,Obj) where Act is a set of actions (intension of concept service) such that Obj (extent) is the set of executions in which every action of Act is executed, and the set Act is the set of common actions of every execution in Obj. Thus, concept services are sets of services, that formal context of executions suggest to integrate. The subset relation is understood as “subtask of”, that is, er sup means s1 , s2 ( s2 = Do( , s1 ) s3 s4 s2 ( s1 s3 s4 = Do ( , s3 )) That is, the execution of the first action term implies the execution of the second one. Initially, a concept service is not a new service. It is possible that the concept intension can be directly composed, or it can occur that it is unfeasible (or too expensive). Finally, the user is the one who have to decide which concept services must be considered, according to cost criterions, for example, a deep analysis of the conceptual structure can provide the learning of new services. Following this proposal, consider the formal context of figure 3 . It is possible to compute a stem basis associated to the formal context (Ganter and Wille 1999). A stem basis is, in propositional Horn logic terms, a non-redundant complete implicational set. Moreover, it is valid in every execution described in the context. From the context of figure 3, the following stem basis is obtained: newclient . acquire. newclient acquire servePSB serveWXP newclient acquire servePSB serveM newclient acquire servePC serveWXP From this stem basis, every valid implicational knowledge in the formal context can be deduced. The fifth one can be purged, based on redundancy analysis, to yielding servePC serveWXP . Suppose that orders for PC’s are made before that orders for WXP (when both articles are ordered), | Holds ( serve(u, PC ), s) Holds ( serve(u,WXP), Do ( , s)) ( † ) This fact suggests to offer a new service (to serve a PC with WXP preinstalled) that must contain [ serve(u, PC ); serve(u, WXP)] (*) It will be denoted by servePCPreins (cid ) . The precondition for the new service can be conjectured as: Poss ( servePCPreins (cid )) Holds (ClientWait ing (u, PC ), s) Holds (ClientWait ing (u,WXP), s) Next, the seller agent should be informed of the new service, as well as its specification. For example, it is possible that the seller agent accepts the new service based on cost criterions. Let us suppose that it has a functional fluent cost ( , s ) to estimate the cost of service in the state s . If it is provable, from , that the cost of the new service is lower, then the new service is accepted. However, before considering the above preconditions as definitive, it is necessary to consider another aspect: the specification of the new service should provide similar properties to other concept services. That is, it is necessary to achieve a sound ontological insertion of the new service in the concept services lattice. This is essentially a step of ontology evolution assisted by automated reasoning systems. It is necessary to use data to select the best extension by insertion of the structure, for example, evaluating the cognitive entropy of the possible extensions (BorregoDíaz and Chávez-González 2005b). The method to make the selection is fully automatized, if ontology is Lattice Categorical (L.C.) (Borrego-Díaz and Chávez-González 2005). Roughly speaking, a L.C. theory proves the lattice structure endowed by its concepts. For this running example, servePCpreinst(.) must be inserted in the concept services lattice. The insertion is obtained according to the method shown in (Borrego-Díaz and Chávez-González 2005). This is semiautomatic, with human intervention in the specification given in the last step only. We outline the main steps of the process. We suppose that is lattice categorical with respect to the ontology of figure 4(left). Step 1: Conjecture on the new ontology: servePCPreinst (cid ) serve(cid , PC) Step 2: Find extensions of the lattice. The theory above is not L.C. The model finder MACE4 (http://www-unix-mcs.anl.gov) lists three L.C. ontological extensions by insertion of the new element. Step 3: Select the extension to specify the service. Afterwards, the entropy variation between the original ontology and the new one (with respect to data of figure 3) is computed. The extension which induces lower entropy variation (estimated by Shannon's index, Borrego-Díaz and Chávez-González 2005b) is selected. In our example, the selected extension is the third one. In terms of SC: Theorem: If is lattice categorical with respect to the ontology of MAS concept services, then {( servePCpreinst (cid ) super serve(cid , x)) ( x = PC x = WXP)} is a lattice categorical extension of with respect to the third ontological extension. Step 4: High order planning of the new service. The conjecture (*) as the new service is valid if ( † )is entailed by . This strongly depends on . For example, if the sentence ( † ) is not provable from , the concept service servePCPreinst(cid) should be programmed in ConGolog as [ serve(u, PC ); serve(u,WXP)] | [ serve(u,WXP); serve(u, PC )] 4. CONCLUSION This paper is a formal approach to learning services based on FCA. Future works will be focused on the implementation of the method on a MAS platform as JADE (with limited ontological expressiveness). An advantage of ConGolog specifications of SWS is that one can use the PROLOG interpreter to obtain big sets of simulations. Since the information obtained from simulation is potentially infinite, the creation of new services from the formal context associated to big sets of executions is accurate. Finally, ontology revision can produce discrepancies if agents are not aware of changes. An important feature that has not been considered throughout this paper is the role of performatives in MAS communication. This dimension is necessary in ontologies on services oriented to SW (Gibbins et al. 2004). It is feasible to insert these features in ConGolog, although they make it more difficult to compute new commonsense knowledge generated by the MAS, that is, the revision of ontologies. ACKNOWLEDGEMENTS This work is partially supported by the project Verified Systems for Semantic Web Reasoning (TIN 200403884), Spanish Ministry of Education and Science, cofinanced by FEDER founds. REFERENCES Alonso-Jiménez J.A., Borrego-Díaz J., Chávez-González A.M. and Martín-Mateos F.J., Foundational Challenges in Automated Data and Ontology Cleaning in the Semantic Web, IEEE Intelligent Systems, 21(1):42-52 (2006). Benatallah B., Hacid B.S., Leger A., Rey C., Toumani F., On automating Web services discovery, Very Large Database Journal 14:84-96 (2005). Berns-Lee T., Hendler J. and Lassila O., The Semantic Web, Scientific American 284(5):34-43 (2001). Borrego-Díaz J. and Chávez-González A.M., Extension of Ontologies Assisted by Automated Reasoning Systems, Proc. 10th Int. Conf. on Computer Aided Systems Theory, EUROCAST'05, LNCS 3643, Springer, 2005. Borrego-Díaz J. and Chávez-González A.M., Controlling Ontology Evolution Through Cognitive Entropy, Proc. of ISWC-2005 Workshop on Uncertainty Reasoning for the Semantic Web (2005). Dickinson I. and Wooldridge M., Some Experiences with the Use of Ontologies in Deliberative Agents in Ontologies for agents: Theory and Experiences, Birkhäuser, pp.277-298 (2005). Feier C. and Domingue J., WSMO Primer, Draft, DERI Institute, http://www.wsmo.org/TR/d3/d3.1/v0.1/ Horrocks I., Applications of Description Logics: State of the Art and Research Challenges, Proc. of Int. Cong. on Conceptual Structures ICCS'05, LNAI 3596, Springer, pp. 78-90, 2005. Keller U, Lara R., Polleres A., Lausen H., Inferencing Support for Semantic Web Services: Proof Obligations, WSML Deliverable D5.1 v0.1, http://www.wsmo.org/2004/d5/d5.1/v0.1/20041112/ Ganter B. and Wille R., Formal Concepts Analysis. Mathematical Foundations Springer, Berlin (1999). de Giacomo G., Lespérance Y. and Levesque H.J., ConGolog, a concurrent programming language based on the situation calculus, Artificial Intelligence 121(1-2):109-169 (2000). Gibbins N., Harris S. and Shadbolt N., Agent-based Semantic Web Services, Journal of Web Semantics 1(2):141-154 (2004). Lara R., Lausen H., Arroyo S., de Bruijn J. and Fensel D., Semantic Web Services: Description Requirements and Current Technologies, Int. Workshop on Electronic Commerce, Agents, and Semantic Web Services (2003). McIlraith S. A. and Cao Son T. and Zeng H., Semantic Web Services, IEEE Intelligent Systems 16(2): 46-53 (2001). McIlraith S.A. and Cao Son T., Adapting Golog for Composition of Semantic Web Services, Proc. 8th Int. Conf. Principles and Knowledge Representation and Reasoning KR 2002, pp. 482-496, Morgan Kaufmann (2002). Martinez E. and Lesperérance Y., IG-JADE-PKSlib: An Agent-Based Framework for Advanced Web Service Composition and Provisioning, Proc. AAMAS'04 Workshop on Web-services and Agent-based Eng., pp. 2-10 (2004). Reiter R., Knowledge in Action: Logical Foundations for Specifying and Implementing Dynamical Systems, MIT Press, 2001. Stumme G., TaouilR., Bastide Y., Pasquier N. and Lakhal L.. Computing Iceberg Concept Lattices with Titanic. Data & Knowledge Eng. 42, 189--222 (2002). Sycara K., Paolucci M., Ontologies in Agent Architectures, in Handbook on Ontologies (S. Staab and R. Studer eds.), Springer, pp. 343-364, 2004. Bellifemine F.L., Caire G., Greenwood D.. Developing Multi-Agent Systems with JADE. Wiley Series in Agent Technology, 2007.