Fuzzy Ontologies Building Method: Fuzzy OntoMethodology Hanen GHORBEL
Afef BAHRI
Rafik BOUAZIZ
Miracl Laboratory FSEGS, Route de l’Aéroport B.P. 1088, 3018 Sfax - Tunisie Tel. + 216 22 67 33 31
[email protected]
Miracl Laboratory FSEGS, Route de l’Aéroport B.P. 1088, 3018 Sfax - Tunisie Tel. + 216 94 14 23 09
Miracl Laboratory FSEGS, Route de l’Aéroport B.P. 1088, 3018 Sfax - Tunisie Tel. + 216 97 63 64 42
[email protected]
[email protected]
Abstract — Building ontologies is very important for diverse domains and especially for semantic Web. We find in the literature many methods and tools for this building. However, the fuzzy aspect is not enough studied in these methods and tools, whereas information systems can include uncertainties and imperfections. The goal of the definition of fuzzy ontologies is to integrate these characteristics. So, we must be able to modulate uncertainties, on the one hand, and to product representations accessible and understandable by machines, on the other hand. If we find actually many building methods and editors for classic ontologies (i.e., crisp or exact), we do not find such methods for fuzzy ontologies. Then, this paper defines our work for fuzzy ontologies building. It presents our fuzzy ontologies building method “Fuzzy OntoMethodology”. Keywords-component; Fuzzy Ontologies; Fuzzy Ontologies Model; Fuzzy Ontologies Building Method; Fuzzy OntoMethodology.
I.
INTRODUCTION
In the semantic Web, the manipulation of Web resources by machines requires the description of these resources. Several languages have been defined for that purpose. They can express data and metadata. With this intention, we can use RDF Schema (variously abbreviated as RDFS, RDF(S), RDF-S, or RDF/S) which represents an extensible knowledge representation language. RDFS provides basic elements for the description of ontologies with Resource Description Framework (RDF) vocabularies, intended to structure RDF resources [1]. We can also use it to describe services and give an abstract model of a domain through the use of ontologies [2]. Informally, ontology consists of a hierarchical description of the concepts of a particular domain, along with the description of the properties instances of each concept. Web content is then annotated by relying on the concepts defined in specific domain ontology. However, ontology description languages become less suitable in all those domains in which the concepts to be represented have not a precise definition. If we take into account that we have to deal with Web content, then it is easily verified that this scenario is, unfortunately, likely the rule rather than an exception. For instance, just consider the case we would like to build ontology about "Management of employee’s
competences". Then we may encounter the problem of representing ideas like "Hakim acquires the competence – know how to interpret a message – with a good level". As it becomes apparent such notions hardly can be encoded into concepts in ontology, as they involve so-called fuzzy or vague concepts, like "Acquire", and "LevelAcquisition" (cf. Figure 1) for which a clear and precise definition is not possible. The problem to deal with imprecise concepts has been addressed several decades ago by L. Zadeh [3], who gave bird in the meanwhile to the so-called fuzzy set and fuzzy logic theory and a huge number of real life applications are based on it. Unfortunately, despite the popularity of fuzzy set theory, relative little work has been carried out in extending ontology description languages towards the representation of imprecise concepts [4]. Person Is-a
Is-a
YoungPerson
MiddleAgedPerson
Acquire
Competence
Is-a OldPerson
LevelAcquisition (property)
Figure 1. Exemple of a fuzzy ontology
In this paper we consider a fuzzy extension of classic ontologies (i.e., precise ontologies), the corresponding of fuzzy ontologies, and we present the problems relative of fuzzy ontology building. We will proceed to present our motivations in our research domain and some related work. In section 3, we extend the description of classic ontologies to the fuzzy case and discuss some properties of it. Section 4 presents our solution for fuzzy ontologies building: our method Fuzzy OntoMethodology. In section 5, we conclude and present some topics for further research. II.
MOTIVATIONS AND RELATED WORK
A. Motivations Fuzzy ontology building may be a difficult task, especially if it is done by hand. Some classic ontologies
exist, such as WordNet, exhibiting different kinds of relations between concepts. For some extents, these relations can be mapped to degrees of membership values. For instance, relations such as synonymy and hyponymy (i.e., specialization) yield degrees of membership, as already discussed. Other semantic relations like “Acquire”, in the example of figure 1, can be interpreted in terms of degrees of membership. A degree of membership may reflect the category of the relation that it comes from. Another approach (e.g., [5]) can use corpus analysis and statistical occurrence of terms to establish relations. Ontologies should be checked and tuned by experts, even if their draft versions are automatically generated. This is necessary not only because of the limitations of the automatic generation process, but also because ontologies are application-dependent and often include pragmatic information. The goal of the definition of fuzzy ontology building methods consists to solving these problems. B. Related work In [6], a fuzzy relational model for ontologies is introduced. However, it is only very simple, with no proper semantics generally applicable in other domains. Gottgtroy [7] focuses on mining knowledge from databases and uses fuzzy rules to refine the resulting ontologies. But his concrete approach to this topic is rather unclear and the formal semantics is lacking again. Moreover, there is an indirectly related research in Fuzzy OWL [8] and Fuzzy DL reasoning [9]. However, these approaches still exploit the “traditional” logics based knowledge representation, which we find inappropriate for reasoning with learned ontologies. Artificial Intelligence (AI) methods of heuristic [10] or analogical [11] reasoning present alternative paradigms that have, however, not been connected to a mechanism of automatic real-world knowledge acquisition. Several Fuzzy Description Logics can be found in the literature (some examples are enumerated in [9]), including a fuzzy extension of OWL [8]. Fuzzy ontologies are not part of the W3C 1 (World Wide Web Consortium) standards: there is a forsaken interesting instrument. So, to recover, new tools would be necessary to be developed. As mentioned, thanks to the results in [12; 13], a fuzzy ontology can be reduced to an equivalent crisp one (in OWL) and reason with it using existing inference engines. We appreciate too the work of Thanh Tho Quan et al in [16] which developed automatic framework of generation of fuzzy ontologies for the semantic Web FOGA (Fuzzy Ontology Generation FrAmework). However, we notice in all these works the absence of a clear definition of the concept of fuzzy ontologies; they do not have to try to even specify its basic components. Finally, which there does not exist for fuzzy ontologies is persisting process and tools of storage and interrogation and also of building and operationnalisation. This is a 1
W3C is an international community that develops standards to ensure the long-term growth of the web.
practical disadvantage our approach aims to tackle (among other things). III.
FUZZY ONTOLOGIES
A. What is a crisp ontology? "The short answer for this question is: A crisp ontology is a precise (i.e., binary) specification of a conceptualization" The word "Ontology" seems to generate a lot of controversy in discussions about AI. It has a long history in philosophy, in which it refers to the subject of existence. It is also often confused with epistemology, which is about knowledge and knowing. In the context of knowledge sharing, we use the term crisp ontology to mean a precise specification of a conceptualization [17]. That is, a crisp ontology is a description (like a formal precise specification of a program) of the precise concepts and precise relationships that can exist for information systems. This definition is consistent with the use of crisp ontology as a set of precise concept definitions, but more general. And it is certainly a different sense of the word than its use in philosophy. A crisp ontology (noted O) organizes domain knowledge in terms of concepts (noted C), properties (noted P), relations (noted R) and axioms (noted A), and can be formally defined as follows. Definition 1: A crisp ontology is a 4-tuple O = (C, P, R, A), where: 1. C is a set of concepts defined for the domain. A concept is often considered as a class in ontology. 2. P is a set of concept properties. 3. R is a set of binary semantic relations defined between concepts in C. 4. A is a set of axioms. An axiom is a real fact or reasoning rule. B. What is a fuzzy ontology? Fuzzy ontologies are an extension of the domain of crisp ontologies for solving the uncertainty problems. Current fuzzy ontological models [18] do not focus on essential semantic relationships between fuzzy concepts, which lead difficulty in ontology integrating. To represent formally the fuzzy knowledge, we apply the fuzzy logic and we propose an appropriate model. 1) A quick look to fuzzy logic The fuzzy logic is based on two fundamentals proposed by L. Zadeh [3]: fuzzy linguistic variable and membership function. • Fuzzy linguistic variable: is a non-numeric variable and can be formally defined as follows. Definition 2: A fuzzy linguistic variable is a 3-tuple (X, T, M), where:
1. X is a name of fuzzy linguistic variable, e.g., “age” or “speed”. 2. T is a set of terms which are the values of the fuzzy linguistic variable, e.g., T= {young, middle aged, old} for the variable “age” or T = {fast, middle, slow} for the variable “speed”. 3. M is a mapping rule which map every term of T to a fuzzy set. • Membership function: is a graphical representation of the magnitude of participation of each input. It associates a weighting with each of the inputs that are processed, define functional overlap between inputs, and ultimately determines an output response. The rules use the input membership values as weighting factors to determine their influence on the fuzzy output sets of the final output conclusion. Once the functions are inferred, scaled, and combined, they are defuzzified into a crisp output which drives the system. There are different memberships functions associated with each input and output response. Some features to note are: trapezoidal function, triangular function, l-function and r-function. The trapezoidal function, trz(x;a,b,c,d), is defined as follows: let a < b ≤ c < d be rational numbers then
⎧x − a ⎪ b − a if ⎪ ⎪ 1 if b trz (x;a,b,c,d) = ⎨ ⎪− x + d ⎪ d − c ⎪ ⎩ 0 if x