1k likes | 1.33k Views
ONTOLOGY PRINCIPLES DESIGN AND DEVELOPMENT. ARASH SHABAN-NEJAD ALI TAGHIZADEH-AZARI ANIS ZARRAD ZHULIN LU WANG TAO. Outline. What is an Ontology? Why use Ontologies? Semantic web and Ontologies Description Logic and Ontologies Ontology Development Ontology Design
E N D
ONTOLOGY PRINCIPLES DESIGN AND DEVELOPMENT ARASH SHABAN-NEJAD ALI TAGHIZADEH-AZARI ANIS ZARRAD ZHULIN LU WANG TAO
Outline • What is an Ontology? • Why use Ontologies? • Semantic web and Ontologies • Description Logic and Ontologies • Ontology Development • Ontology Design • Ontology Development tools (OILED) • RACER
Ontology Definitions • Semantics – the meaning of meaning. • Philosophical discipline, branch of philosophy that deals with the nature and the organisation of reality. • Science of Being (Aristotle, Metaphysics, IV,1) • Tries to answer the question: What is being? What are the features common to all beings?
Ontologies in computer science… • An ontology is an explicit specification of a conceptualization [Gruber, 93] • An ontology is a shared understanding of some domain of interest. [Uschold, Gruninger, 96] • An ontology (in our sense) is: – a formal specification => executable – of a conceptualization of a domain => Community – of some interested part of the world => application
What is an Ontology? Studer (98) Formal,explicit specification of a sharedconceptualization Machine Consensual Readable knowledge Concepts, properties, Abstract model of functions, axioms are some phenomena explicitly defined in the world
Ontology Principle Ontologies provide a way to bring meaning to data Ontologies make different relationships explicit Ontologies allow agents to use these semantic differences
Ontology and Knowledge base • Building an Ontology is not a goal in itself • Developing an ontology is akin to defining a set of data and their structure for other programs to use • An ontology together with a set of individual instances of classes constitutes a knowledge base • In reality, there is a narrow line where the ontology ends and the knowledge base begins.
Why Use Ontologies? • Labeling: If I say “car” and you say “voiture” how do we know we mean the same thing? • Semantics: If I say “vehicle”, how do you know if this includes buses, powered motorcycles • Knowledge sharing and reuse • Need to be able to create definitions of terms in a machine-understandable format • Systematic categorisation and computation requires systematic representation • Systematic representation = an ontology
Semantic Web Powerful Semantic Query Engine Applications using RDF or XTM The role of the ontology service in the vision of the Semantic Web Computers do better here Humans do better here Ontologies
Logic and ontology (Cocchiarella 2001) Logic as language: logic must refer directly to the world, as our natural languages do. Dependent on Ontology. Logic as calculus: logic is a formal system for manipulating structures given by set theory, which are then interpreted as referring to the world. Prior to Ontology.
Ontology as logic direct reference to the world the world logic indirect reference to the world via an interpretation of symbols mathematical model
Description logic uses for building ontologies… Feature Structure Thing + feature: electric red electric Car Engine * ALWAYS partOf: Car Engine Motor * ALWAYS feature: electric Motor Structure + feature: electric + involves: Car Motor + involves: Engine + feature: electric Primitives Descriptions Definitions Reasoning Validating Thing red + partOf: Car
DL based Ontologies • More complete than humans can achieve • Faster than human • Reproducible results • Scalable in theory • Explainable • Support complex, precise and detailed modelling.
Semantic Web – Layers Cake • The Unicode and URI layers make sure that we use international characters sets and provide means for identifying the objects in Semantic Web. • The XML layer with namespace (NS) and schema definitions make sure we can integrate the Semantic Web definitions with the other XML based standards. • With RDF [RDF] and RDFSchema [RDFS] it is possible to make statements about objects with URI's and define vocabularies that can be referred to by URI's. This is the layer where we can give types to resources and links. • The Ontology layer supports the evolution of vocabularies as it can define relations between the different concepts. • The Digital Signature layeris used for detecting alterations to documents. • The top layers: Logic, Proof and Trust, are currently being researched and simple application demonstrations are being constructed. • The Logic layer enables the writing of rules while the Proof layer executes the rules and evaluates together with the Trust layer mechanism for applications whether to trust the given proof or not.
Data Model vs. ontologies Data model ontologies (in computer science) in general: formal definition of an application domain class diagram plus natural language documentation handcrafted programs automatic code generation possible ontologically non-sound modeling concepts description languages support ontological view on modelling little methodological support methodological support available (rather) aims at adequacy aims at truth (in some cases, at least)
Conclusions • We need ontologies • To index data • To express the metadata • For the benefit of the machine reading the data • Ontological reasoning is powerful • Computers better at it than humans • But computer must first be ‘taught’ • By humans…who are unreliable teachers • And scale is large • So its not going to be quick or easy • If it is quick or easy, you’ve done it wrong
Ontology Development • Why develop an ontology? • How to develop an ontology ?
Why Develop an Ontology? Why Develop an Ontology? • To share common understanding of the structure of information among people or software agents • To enable reuse of domain knowledge • To make domain assumptions explicit • To separate domain knowledge from the operational knowledge • To analyze domain knowledge
How to Develop an Ontology? • Fundamental rules in ontology development • Development criteria for an ontology • Development Steps • Development Methodologies
Fundamental Rules in Ontology Development • There is no one correct way to model a domain — there are always viable alternatives. The best solution almost always depends on the application that you have in mind and the extensions that you anticipate. • Ontology development is necessarily an iterative process.
Fundamental Rules in Ontology Development (Cont.) • Concepts in the ontology should be close to objects (physical or logical) and relationships in your domain of interest. These are most likely to be nouns (objects) or verbs (relationships) in sentences that describe your domain.
Development Criteria for Ontology • Clarity: An ontology should effectively communicate the intended meaning of defined terms. • Coherence: An ontology should be coherent: that is, it should sanction inferences that are consistent with the definitions. • Extendibility:An ontology should be designed to anticipate the uses of the shared vocabulary
Development Criteria for Ontology (Cont.) • Minimal encoding bias:The conceptualization should be specified at the knowledge level without depending on a particular symbol-level encoding. • Minimal ontological commitment: An ontology should require the minimal ontological commitment sufficient to support the intended knowledge sharing activities
Development Steps • Identify purpose and scope • defining classes in the ontology, • arranging the classes in a taxonomic (sub lass– super class) hierarchy, • defining slots and describing allowed values for these slots, • filling slots value for instances.
Ontology Development Methodologies • ENTERPRISE MODEL APPROACH • METHONTOLOGY • KBSI IDEF5
Enterprise Model Approach • Identify purpose • Identify scope • Formalization • Evaluation
Ontology Goals and Objectives Ontology Usage Specification which fully Outlines the range of information Create Code Create Formal Definitions in the specification Evaluation( Ontology Purpose Satisfaction )
METHONTOLOGY • Specification • Knowledge acquisition • Conceptualization • Integration • Implementation • Evaluation • Documentation
Ontology Purpose, Goals, Scope Experts interview results, text analyses Integration with another ontology Domain concepts, instances, relations and properties Evaluation for Completeness Consistence redundancy Ontology Implementation Documentation
KBSI IDEF5 • Organizing and Scoping • Data Collection • Data Analysis • Initial Ontology Development • Ontology Refinement and Validation
Establish the purpose, Viewpoint and context Collect raw data using interview or any documents List interested objects and relationships then find out the internal system Initial description of class, relation and property (Proto Concept) Proto Concept is iteratively refined and tested
Comments • After following all the rules and suggestions, one of the most important things to remember is the following: there is no single correct ontology for any domain. • Ontology development and design is a creative process and no two ontologies designed by different people would be the same.
Comments • The potential applications of the ontology and the designer’s understanding and view of the domain will undoubtedly affect ontology design choices.
Process of iterative design • Determine the domain and scope of the ontology; • Consider reusing existing ontologies; • Enumerate important terms in the ontology; • Define the classes and the class hierarchy; • Define the properties of classes—slots; • Define the facets of the slots; • Create instances
Determine the domain and scope of the ontology • Several basic questions: • What is the domain that the ontology will cover? • For what we are going to use the ontology? • Who will use and maintain the ontology?
Determine the domain and scope of the ontology (Cont.) One of the ways to determine the scope of the ontology is to sketch a list of questions that a knowledge base based on the ontology should be able to answer: Competency Questions.
Consider reusing existing Ontologies • Refine and extend existing sources for our particular domain and task. • There are libraries of reusable ontologies on the Web and in the literature. • - www.daml.org/ontologies/ • - www.dmoz.org/
Enumerate important terms in the ontology • Write down a list of all terms we would like either to make statements about or to explain to a user. • Get a comprehensive list of terms without worrying about overlap between concepts they represent, relations among the terms, or any properties that the concepts may have, or whether the concepts are classes or slots.
Define the classes and the class hierarchy • Three possible approaches in developing a class hierarchy: • Top-down • Bottom-up • Combination
Define the classes and the class hierarchy (Cont.) From the list created in step 3, we select the terms that describe objects having independent existence rather than terms that describe these objects. These terms will be classes in the ontology and will become anchors in the class hierarchy.
Define the classes and the class hierarchy (Cont.) A part of the class hierarchy for the Wine ontology
Define the properties of classes—slots • We have already selected classes from the list of terms we created in step 3. Most of the remaining terms are likely to be properties of these classes. • For each property in the list, we must determine which class it describes. These properties become slots attached to classes.
Define the properties of classes—slots(Cont.) • In general, there are several types of object properties that can become slots in an ontology: • “intrinsic” properties • “extrinsic” properties • parts, if the object is structured • relationships to other individuals
Define the properties of classes (Slots) The slots for the class Wine
Define the properties of classes (Slots) --------------------(Cont.) • All subclasses of a class inherit the slot of that class • A slot should be attached at the most general class that can have that property.
Define the facets of the slots • Several important facets: • Slot cardinality: Slot cardinality defines how many values a slot can have.