310 likes | 510 Views
Lecture 11 Ontology Engineering. Topics Basics Representation and Reasoning of Ontology General Ontology Languages Web-centric Ontology Languages Ontology Development Applications. Basics.
E N D
Lecture 11 Ontology Engineering • Topics • Basics • Representation and Reasoning of Ontology • General Ontology Languages • Web-centric Ontology Languages • Ontology Development • Applications
Basics • An ontology is a formal, explicit specification of a shared conceptualization about important concepts and axioms of a domain • Concepts (e.g., computer_scientist) and Attributes (e.g., major) • Axioms • relationships among scientists (e.g., colleague) • logics (e.g., a computer scientist knows more of computers than others) • An ontology provides underlying semantics for intelligent systems, e.g., agents
Basics • Characteristics • Dictionary about domain concepts • Structure of domain concepts • Machine-processable • Sharing • Re-use • Reliability
Basics • Example ontology about scientist: concepts
Basics • Example ontology: relation axioms and attributes
Basics • Example ontology about query (instances)
Representation and Reasoning of Ontology • Requirements for ontology language design • Easy to understandand use (based on common KR idioms) • Formally specifiedand of “adequate” expressive power • Possible to provide automated reasoningsupport • Compatiblewith existing standards
Representation and Reasoning of Ontology • Why automatic reasoning • Querying class and instance data w.r.t. ontologies • Determine if set of facts are consistent w.r.t. ontologies – consistency problem • Determine if individuals are instances of ontology classes – classification problem • Retrieve individuals/tuples satisfying a query expression – axiom reasoning problem • Check if one class subsumes (is more general than) another w.r.t. ontology – subsumption problem
Representation and Reasoning of Ontology • Why automatic reasoning • Design and maintenance of ontologies • Check class consistency and compute class hierarchy • Integration of ontologies • Assert inter-ontology relationships • Compute integrated class hierarchy/consistency
Representation and Reasoning of Ontology • General ontology languages • FOL (First-order Logic) • DL (Description Logics) • Frame logic • Web-centric ontology languages • XML (eXtensible Markup Language, W3C) • W3C: World Wide Web Consortium • RDF (Resource Description Framework, W3C) • DAML (DARPA Agent Markup Language, US) + OIL (Ontology Inference Layer, or Ontology Infrastructure Language, European OntoKnowledge) • OWL(Ontology Web Language, W3C)
General Ontology Languages - DL • DL is a (decidable) subset of First-order logic • The basic building blocks are concepts, roles and individuals (instances). • Concepts describe the common properties of a collection of individuals and can be considered as classes, interpreted as sets of objects. • Roles are interpreted as binary relations between objects, interpreted as attributes. • A number of language constructs (such as intersection, union, role quantification, etc.) that can be used to define new concepts and roles.
General Ontology Languages - DL • Syntax and semantics of example description logic • Conceptdefinitions • Father = Man $has-child.Human • Father: concept; has-child: role • Axioms • Favourite.Brewery $ drinks.Beer • Model: a denotational semantic which satisfies all definitions and axioms • Example sentence - some happy father: Man ($ has-child.Allen) ($ has-child.Alice) (" has-child.Nice)
General Ontology Languages - DL • Reasoning of DL • Reasoning tasks: subsumption, classification, satisfiability, instance checking, role checking, etc. • Subsumption: Is concept C more general than concept D? • Classification: Which concept does an instance belong to? • Satisfiability: Is there a model for the ontology? • Consistency: Is concept C consistent with the ontology? • Role checking: Is role between concepts C and D? • Retrieval • The reasoning mechanism is decidable.
General Ontology Languages - Frame • Frame logic • Frame-based systems • Network-based natural structure • Major reasoning tasks: • Subsumption • Anchoring (Classification) • Inheritance: Finding definitions for specific concepts • Axioms reasoning: Finding relationships among concepts • Attachment procedure reasoning • Representation and reasoning can be formalized by description logics
General Ontology Languages - Frame • Example: Frame Chair1 { // Frame name: Chair1 Slot isa // Slot name: isa for taxonomy relation Value Chair // Value facet of Slot isa: Chair Slot Left-Of // Slot name: Left-Of for binary relation Value Chair2 Slot Legs // Slot name: Legs an attribute Value 4 If-modified Stability-Check // procedure attachment to Slot Legs Slot Arm Value Yes Slot Material Value Wood } Stability-Check: If Legs ≦ 2 Then Chair1 is unstable; If Legs = 3 Then do Angle-spacing-check.
General Ontology Languages - Frame • Equivalent description logics Chair1 = Chair ($ Left-Of.Chair2) ($ Legs.4) ($ Arm.Yes) ($ Material.Wood) ("Left-Of. check-on-number-restriction) • Equivalent First-order logic Isa(Chair1, Chair); Left-Of(Chair1, Chair2); Legs(Chair1, 4); Arm(Chair1, Yes); Material(Chair1, Wood); • Stability-Check: x Legs(Chair1, x)Less(x, 3)→Unstable(Chair1) x Legs(Chair1, x)EQ(x, 3)→Angle-Spacing-Check(Chair1)
Web-centric Ontology Languages - XML • HTML⊂ XML ⊂ SGML (Standard Generalized Markup Language ) • In XML, tags are not fixed - one can invent new tags to structure the information in a web page • DTD (Document type definition) defines the legal building blocks of an XML document; it defines the document structure with a list of legal elements
Web-centric Ontology Languages - XML • XML schema express shared vocabularies and allow machines to carry out rules made by people.; they provide a means for defining the structure, content and semantics of XML documents • DTD ⊂ XML schema • XSL (eXtensible Stylesheet language) for different presentation styles of XML documents • XML is considered to be the basis for all semantic web languages - the “machine code” of the new generation web
Web-centric Ontology Languages - RDF • RDF was built on URl (uniform resource identifier)+ XML • Represent information about resources in the Web in terms of subject-predicate-object • Resource: subject, e.g. http://www.example.org/index.html • Property: predicate, e.g., creator • Property value: object, e.g., John Smith • RDF schema allows anyone to write their own name-space document (a ‘schema’); this defines properties and classes in some application domain • Weak in describing Web resources in sufficient detail
Web-centric Ontology Languages - RDF • RDF example "The Author of ‘http://scom.hud.ac.uk/scomtlm/Artform/planning.html’ is Lee McCluskey.” IN RDF: <rdf:Description about= http://scom.hud.ac.uk/scomtlm/Artform/planning.html'> <Author>Lee McCluskey</Author> </rdf:Description> • Resource, Property, Values can all have URI’s
Web-centric Ontology Languages – DAML+OIL • DAML+OIL is “layered”on top of RDFS • RDFS based syntaxand ontological primitives (e.g., subclass) • Richer set of primitives (e.g., transitivity, cardinality, . . . ) • Describes structure of domain in terms of Classes and Properties • Various constructors provided for building class and axiom expressions • E.g., Person subclass ofAnimal whose parents are all Persons • Uses RDF for class/property membershipassertions (ground facts) • E.g., john instance ofPerson; <john, mary> instance of parent
Web-centric Ontology Languages – DAML+OIL • DAML+OIL supports DL-based semantics and reasoning • Formal properties well understood (complexity, decidability) • Known reasoning algorithms • Implemented systems (highly optimized) • Expressive power determined by • Kinds of constructor provided • Kinds of axiom allowed
Web-centric Ontology Languages - DAML+OIL • Examples of DAML+OIL Class Constructors Constructor DL Syntax Example intersectionOf C1 … Cn Human Male unionOf C1 … Cn Doctor Lawyer complementOf C Male oneOf {x1,… , xn} {john, mary} toClass"P.C "hasChild.Doctor hasClass$P.C $hasChild.Lawyer hasValue$P.{x} $citizenOf.{USA} minCardinalityQ ≥nP.C ≥2hasChild.Lawyer maxCardinalityQ ≤nP.C ≤1hasChild.Male cardinalityQ =nP.C =1hasParent.Female
Web-centric Ontology Languages - DAML+OIL • Examples of DAML+OIL Axiom Constructors Axiom DL Syntax Example subClassOf C1⊂C2 Human⊂AnimalBiped sameClassAs C1≡C2 Man≡HumanMale subPropertyOf P1⊂P2 hasDaughter⊂hasChild samePropertyAs P1≡P2 cost≡price sameIndividualAs {x1} ≡{x2} {President_Bush}≡ {G_W_Bush} disjointWith C1 ⊂C2 Male ⊂Female differentIndividualFrom {x1}⊂{x2} {john}⊂ {peter} inverseOf P1≡P2- hasChild≡hasParent-
Web-centric Ontology Languages - DAML+OIL • DAML+OIL example Define a product number's domain and range.. <daml:DatatypeProperty rdf:ID="productNumber"> <rdfs:label>Product Number</rdfs:label> <rdfs:domain rdf:resource="#Product"/> <rdfs:range rdf:resource= "http://www.w3.org/2000/10/XMLSchema#nonNegativeInteger"/> </daml:DatatypeProperty> ”Availability" is a sort of enumerated type.. <daml:Class ID="Availability"> <daml:oneOf parseType="daml:collection"> <daml:Thing rdf:ID="InStock"> <rdfs:label>In stock</rdfs:label> </daml:Thing> <daml:Thing rdf:ID="BackOrdered"> <rdfs:label>Back ordered</rdfs:label> </daml:Thing> <daml:Thing rdf:ID="SpecialOrder"> <rdfs:label>Special order</rdfs:label> </daml:Thing> </daml:oneOf> </daml:Class>
Ontology Development • Ontology construction, publishing, browsing, evaluation and maintenance • Ontology construction • Manually write ontology in Frame logic, XML+XML schema, RDF+RDF schema, DAML+OIL, DL, or FOL • Use tools to construct and edit ontology • Protégé 2000 (Stanford, US) – lots of plug-ins • OntoEdit (Ontoprise, Germany) - Frame logic • OilEd (Manchester, UK) for DAML+OIL
Ontology Development • Ontology construction • Automatic ontological construction • Multi-level clustering to find ontological concepts • Ontology evaluation and maintenance • Tools to do ontology V&V, customization, extension, specialization, generalization, and integration
Applications • Knowledge engineering and management • Support reasoning and learning of knowledge base • Support verification and validation of knowledge base • User modeling • Support the capture and development of user domain proficiency, mental states and interests • Multimedia search and retrieval • Facilitate the development of semantics for multimedia • Facilitate semantic-based search and retrieval
Applications • Query processing • Support the comprehension of Query intention and focus • Agent-based computing • Facilitate richer service descriptionsthat facilitate agent reasoning and learning • Facilitate knowledge level agent communication • E-learning • Facilitate the construction of student model (study progress) • Support automatic test questions generation
Applications • E-commerce • Facilitate communication among parties (e.g., buyer–seller) • Semantic Web • Support domain concepts–directed focused Web search • Semantics-based Web portal (retrieval and service) • Ubiquitous computing • Facilitate semantic level communication among all computing devices