• No results found

Chapter 3: Ontologies – A technical review

3.4. Ontology Development

Since ontologies can be considered as approximations of reality, their development is a modelling process and several issues need to be considered before starting this process. For example, a decision needs to be made whether an ontology is to be built from scratch or if it should be constructed based on an already existing ontology, what methodology and

language should be used for its development, how should the compatibility issues be resolved and most importantly what should it be able to answer. Figure 3.3 (on the next page) gives a comparison of a few of the commonly quoted ontology development

methodologies in the literature. There seems to be a consensus on some typical steps which include

1. Identification of scope and purpose of the ontology,

2. Definition of concepts and terms fundamental to the domain to which the ontology belongs,

3. Formalization and codification of the ontology in a suitable language, 4. Population of the ontology, and

5. Evaluation of the ontology.

One of the most important and critical issues, when starting to construct an ontology, is to determine what things exist in the domain which are to be modelled (Masolo et al, 2001). A good way of defining the scope of an ontology is to ask some competency questions

(Gruninger and Fox, 1995). These competency questions are not only asked in the beginning

39 Uschold & Gruninger (1996)

1- Identify purpose and scope

2- Build the ontology

Identification of the key concepts and relationships in the domain of interest

Production of precise unambiguous text definitions for such concepts and relationships

Identification of terms to refer to such concepts and relationships

2a – Ontology Capture

3- Evaluation

Technical judgement of the ontologies, their associated software environment, and documentation with respect to the requirements specification, competency questions and real world

4 - Documentation 2b – Ontology Coding

Develop a meta-ontology (define classes, entities and relationships)

Choose a representation language capable of supporting the meta ontology

Minimal ontological commitment

Minimum encoding bias

METHONTOLOGY (Fernendez et al, 1997)

1- Specification

Identify similar terms and entities

Asses similarity of semantics and syntax

Consider using translators

5- Implementation

Use a meta-ontology supporting environment, which should include:

a lexical and syntactic analyze, a translators to guarantee portability, a browser for inspection of ontologies, a searcher, and an evaluator

1- Determine the domain & scope of the ontology

What is the domain that the ontology will cover?

For what we are going to use the ontology?

For what types of questions the information in the ontology should provide answers?

Who will use and maintain the ontology?

2- Consider reusing existing ontologies

Ontology Libraries (DAML ontology library www.daml.org/ontologies, Ontolingua library

www.ksl.stanford.edu/software/ontoling ua/)

Publicly available commercial ontologies (UNSPSC, RosettaNet, DMOZ, WordNet) 3- Enumerate important terms in the ontology

4- Define the classes and the class hierarchy

Top-down development process (starting from most general)

Bottom-up development process (starting from most specific)

Combination development process (starting from most important)

5- Define the properties of classes – slots

Intrinsic properties

Extrinsic properties

Physical or abstract part

Relationships

6- Define the facets of the slots

Slot cardinality (how many values?)

Slot-value type (string, number, Boolean, enumerated, instance etc.)

Domain and Range of slots

7- Create instances

Fig 3.3: Comparison of some ontology development methodologies

40

to determine the scope and purpose but should also be asked at the formalization stage.

They are named as formal competency questions and are asked to ensure consistency between the planned ontology in natural language and the one developed formally. Once these questions are decided, the ontology should be designed keeping in mind the answers to these questions. When defining terms and conceptualizations in class hierarchies, three different approaches can be followed (Noy and McGuinness, 2001).

1. A top-down approach in which the ontology is started from the most general classes.

2. A bottom-up approach where the most specific terms are defined first and

3. Middle-out approach where the most important terms in the middle are the starting point.

The last approach is recommended (Uschold, 1996) because it prevents the ontology becoming too specific with high level of granularity and thus reduces the chances of

inconsistencies. This is, more or less, the way experimental ontologies in this research have been constructed by.

In addition to the common ontology development steps stated above there are some steps which exist in every ontological development process but are not explicitly mentioned by every author. For example, (Uschold and Grüninger, 1996) and (Fernandez et al, 1997) emphasize the need for ontology documentation. It is argued that documentation of each and every step of the development process is very important for future modifications and more importantly for the sharing of ontologies. The processes of knowledge acquisition, evaluation of ontologies and its documentation are considered to be an ongoing process (Fernandez et al, 1997). (Li et al, 2007) and (Fernandez et al, 1997) believe that after the ontology has been developed, it is also necessary to evaluate and maintain it from time to time (on an ongoing basis). Maintenance involves the modification and evolution of

ontologies as the need arises. (Uschold and Grüninger, 1996) give some general guidelines for the entire ontology development process. They define the parameters of clarity, coherence, extensibility, minimum ontological commitment, and minimum encoding bias. Clarity refers to the quality of an ontology to effectively communicate the intended distinctions.

Coherence is the internal logical consistency of an ontology. Extensibility reflects the provision in an ontology to extend it with new definitions and hierarchies in the future.

41

Minimum ontological commitment helps in increasing the extensibility of an ontology.

Making as few claims as possible about the world being modelled gives freedom to the committed parties to instantiate and specialize the ontology as needed. And finally, minimum encoding bias means that the conceptualizations in the ontology should be defined at the knowledge level without depending upon a specific symbol-level encoding.

(Noy and McGuinness, 2001) and (Fernandez et al, 1997) also recommend that existing ontologies are used with the new ones through integration. Ontology libraries like the Ontolingua library and DAML ontology library can be used to browse for suitable ontologies.

Furthermore, some commercially available ontologies like UNSPSC, Cyc ontology, WordNet, RosettaNet, DMOZ can also be used for integration.

A more generalized view of the ontology development process can be taken from an approach called the model driven architecture. A closer look at its steps reveals that it covers all of the ontology development steps discussed above in a more structured and organized way. Following is a brief introduction to this approach and its comparison with ontology development processes.

Related documents