1 / 51

Ontologies

Ontologies. Angela Maduko. Acknowledgements. Ontology Development 101: A Guide to Creating Your First Ontology Borrowed slides from http://www.ifnet.it/elag2002/papers/pap9.ppt http://www.ccs.neu.edu/home/kenb/pub/2003/02/public.ppt. Outline. Background on ontologies Ontology development

manasa
Download Presentation

Ontologies

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ontologies Angela Maduko

  2. Acknowledgements • Ontology Development 101: A Guide to Creating Your First Ontology • Borrowed slides from • http://www.ifnet.it/elag2002/papers/pap9.ppt • http://www.ccs.neu.edu/home/kenb/pub/2003/02/public.ppt

  3. Outline • Background on ontologies • Ontology development • Requirements and Analysis • Design and Implementation • Testing and Validation • Maintenance

  4. What is an ontology? Most of available definitions are of little help to the layman: “An ontology is an explicit specification of a conceptualization” Thomas R. Gruber “An ontology is a logical theory accounting for the intended meaning of a formal vocabulary” Nicola Guarino “A theory concerning the kinds of entities and specifically the kinds of abstract entities that are to be admitted to a language system” Webster’s Third New International Dictionary

  5. What is an Ontology? Some definitions sound a bit more familiar: “An ontology is a formal explicit description of concepts in a domain of discourse (classes […]), properties of each concept […] (slots […]), and restrictions on slots (facets […])” Natalya F. Noy & Deborah L. McGuinness “An ontology is a formal definition of a body of knowledge” James Hendler “An ontology is a catalog of the types of things that are assumed to exist in a domain of interest D from the perspective of a person who uses a language L for the purpose of talking about D” John F. Sowa

  6. What general features can we draw from all of these definitions? • A given field/domain of interest within the boundaries of which “things” are assumed to exist, to “be” and about which we wish to “talk” in a formalized, explicit, and semantically consistent way Onto- logy To talk about what is:

  7. Ontologies • Defines a common vocabulary for researchers who need to share information in a domain. • It includes machine-interpretable definitions of basic concepts in the domain and relations among them.

  8. Ontologies • Ontology: What exists in a domain and how they relate with each other. • Formal ontology: Formal treatment of the concepts and relationships in a domain. • Simple Example: • Employees work for Companies • Employees report to Employees

  9. Statements An object is an instance of the Employee class. George is an employee. An object in the Employee class is linked with an object in the Company class via the works_for relationship. George works for Sony. An object in the Employee class is linked with another object in the same class via the reports_to relationship. George reports to Adam. Fred works for a company. George says that Fred works for Toyota. Fred reports to two other employees. Fred must report to another employee.

  10. Purposes of Ontologies • Basis for communication • Between people (may be informal) • Between agents (formal ontologies) • Some Applications • Representing and storing data (e.g., DB schema) • Knowledge sharing within and between domains • Search and retrieval • Classification and organization of data resources

  11. Logic: Open versus Closed • Open (monotonic) logic gives different answers to queries than a closed logic. • Suppose that Fred is just an employee: • Closed world: violates constraint • Open world: Fred works for a company, but the company is not known.

  12. Logic: Open versus Closed • Suppose that Fred works for both Sony and IBM: • Closed world: violates constraint • Open world: Sony and IBM are the same company!

  13. Outline • Background on ontologies • Ontology development • Requirements and Analysis • Design and Implementation • Testing and Validation • Maintenance

  14. 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

  15. Ontology Development • Phases of Ontology Development • Requirements and Analysis • Determine domain and scope of ontology • What is the domain that the ontology will cover? • For what are we going to use the ontology? • To what types of questions will the information in the ontology provide answers? • Design and Implementation • Testing and Validation • Maintenance • Who will use and maintain the ontology?

  16. Requirements and Analysis • Least understood of all phases • Direct involvement by stakeholders is essential, but how? • Specifying the scope is important, but not all languages support it. • Point of view is also relevant. • These phases offer significant opportunities for new methodologies and processes.

  17. Ontology Design • Tasks involved in designing an ontology include • Defining classes in the ontology • Arranging the classes in a taxonomic (subclass–superclass) hierarchy • Defining slots (relationships) and describing allowed values for these slots • Filling in the values for slots for instances.

  18. Fundamental Rules in Ontology Design • 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. • 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.

  19. Example • Which wine characteristics should I consider when choosing a wine? • Is Bordeaux a red or white wine? • Does Cabernet Sauvignon go well with seafood? • What is the best choice of wine for grilled meat? • Which characteristics of a wine affect its appropriateness for a dish? • Does a bouquet or body of a specific wine change with vintage year? • What were good vintages for Napa Zinfandel?

  20. Step 3. Enumerate important terms in the ontology • What are the terms we would like to talk about? • What properties do those terms have? • What would we like to say about those terms? • Example - • wine, grape, winery, location, • a wine’s color, body, flavor and sugar content; • different types of food, such as fish and red meat; • subtypes of wine such as white wine, and so

  21. Step 4. Define the classes and the class hierarchy • Methods • Top-down • Bottom-up • Combination

  22. Step 4. Define the classes and the class hierarchy • Hierarchical arrangements of concepts • If a class A is a superclass of class B, then every instance of B is also an instance of A • This implies “In other words, the class B represents a concept that is a “kind of” A.”

  23. Step 4. Define the classes and the class hierarchy • Top-down • Food and Wine -- followed by White, Blush and Red • Bottom-up • define specific wine class first and then work your way up • Combination

  24. Step 5. Define the properties of classes—slots • Types of properties • “intrinsic” properties such as the flavor of a wine; • “extrinsic” properties such as a wine’s name, and area it comes from; • parts, if the object is structured; these can be both physical and abstract “parts” (e.g., the courses of a meal) • relationships to other individuals; these are the relationships between individual members of the class and other items (e.g., the maker of a wine, representing a relationship between a wine and a winery, and the grape the wine is made from.)

  25. Step 5. Define the properties of classes—slots • Examples • a wine’s • color, • body, • flavor • sugar content • location of a winery.

  26. Step 6. Define the facets of the slots • Slot cardinality • defines how many values a slot can have. • Slot-value type • what types of values can fill in the slot. • common value types: • String • Number • Boolean • Enumerated

  27. Step 6. Define the facets of the slots • value type • allowed values • the number of the values (cardinality) • other features of the values the slot can take.

  28. Step 6 - rules slot Domain and Ranges • When defining a domain or a range for a slot, find the most general classes or class that can be respectively the domain or the range for the slots . • On the other hand, do not define a domain and range that is overly general: all the classes in the domain of a slot should be described by the slot and instances of all the classes in the range of a slot should be potential fillers for the slot. • Do not choose an overly general class for range (i.e., one would not want to make the range THING) but one would want to choose a class that will cover all fillers

  29. Step 6 - rules slot Domain and Ranges • If a list of classes defining a range or a domain of a slot • includes a class and its subclass, remove the subclass. • contains all subclasses of a class A, but not the class A itself, the range should contain only the class A and not the subclasses. • contains all but a few subclasses of a class A, consider if the class A would make a more appropriate range definition.

  30. Step 7 - Creating Instances • Body: Light • Color: Red • Flavor: Delicate • Tannin level: Low • Grape: Gamay (instance of the Wine grape class) • Maker: Chateau-Morgon (instance of the Winery class) • Region: Beaujolais (instance of the Wine-Region class) • Sugar: Dry

  31. Step 8 - Defining classes and a class hierarchy • Ensuring that the class hierarchy is correct • An “is-a” relation • A subclass of a class represents a concept that is a “kind of” the concept that the superclass represents. • A single wine is not a subclass of all wines • Transitivity of the hierarchical relations

  32. Step 8 - Defining classes and a class hierarchy • Evolution of a class hierarchy • distinction between classes and their names • hence synonyms of concept name do not represent different classes • Avoid class hierarchy cycles • All the siblings in the hierarchy (except for the ones at the root) must be at the same level of generality.

  33. Step 8 - Defining classes and a class hierarchy • How many is too many and how few are too few? • If a class has only one direct subclass there may be a modeling problem or the ontology is not complete. • If there are more than a dozen subclasses for a given class then additional intermediate categories may be necessary. (may not always be possible)

  34. Step 8 - Defining classes and a class hierarchy • Multiple Inheritance • When do you introduce a new class • Subclasses of a class usually • (1) have additional properties that the superclass does not have, or • (2) restrictions different from those of the superclass, or • (3) participate in different relationships than the superclasses

  35. Step 8 - Defining classes and a class hierarchy • A new class or a property value? • Class White Wine or simply property of class Wine that takes value White • Depends on how important a concept White Wine is in the domain • An instance or a class? • starts with deciding what is the lowest level of granularity in the representation. • Individual instances are the most specific concepts represented in a knowledge base.

  36. Step 8 - Limiting the scope • The ontology should not contain all the possible information about the domain: you do not need to specialize (or generalize) more than you need for your application (at most one extra level each way). • The ontology should not contain all the possible properties of and distinctions among classes in the hierarchy.

  37. Combined Ontology Ontology1 Ontology2 Common Features Design and Implementation: Patterns and Reuse • Reuse existing ontologies if they exist. • Transform another ontology • Alignment: inter-ontological relationships • Composition: Transform and combine many smaller ontologies

  38. Design and Implementation: Refactoring • Move methods from one class to another (for example, from subclasses to superclasses). • Reification and unreification: changing relationships into classes or vice versa. • Refactoring is useful at the design, implementation and maintenance phases.

  39. Example of Refactoring

  40. Example of Reification

  41. Testing and Validation • Validation of requirements • Consistency checking • incompatible domain and range definitions for transitive, symmetric, or inverse properties • cardinality properties • requirements on property values can conflict with domain and range restrictions

  42. In order to better understand what an ontology is, let’s make one. "Bring me a cup of tea, please"

  43. What is the specific goal of our ontology? • To describe the process of making tea, in order to have it automated? • To evaluate the quality of a specific cup of tea? • To evaluate the skills of an apprentice tea-maker? • To choose the best type of cup of tea according to time and meal? • To allow tea-houses to share differently structured data? • &c… The scope of an ontology must be precisely defined

  44. What is required in order to make a cup of tea? • Ingredients: tea, water, milk or lemon, sugar… • Utensils: kettle, tea-pot, tea strainer, cup, spoon… • Actions: boiling the water, pouring the boiling water into the tea-pot, pouring the water out of the tea-pot, simmering some fresh water… • Measurements: temperature of water, duration of the infusing process… • &c… All of these are the “things” assumed to exist in our domain of interest: “the making of a cup of tea”

  45. Is there a hierarchy among these “things”? Ingredients Utensils Actions Measurements Required ingredients Optional ingredients Kettle Tea-potetc. Boilingthe wateretc. Temperatureof water Duration ofthe infusingprocess Tea Water Milk Lemon Sugar

  46. Are we sure all of us understand these “things” the same way? • What is an “ingredient”?Please define: … • What is a “required ingredient”?Please define: … • What is an “optional ingredient”?Please define: …

  47. How can we describe each of these “things”? Sugar origin: beet? maple? cane? colour: brown? white? form: caster? lumps? liquid? candy? granulated? …

  48. What about fructose and Aspartam? Let’s create new classes and sub-classes: Sweeteners Naturalsweeteners Dietsweeteners Artificialsweeteners Sugar origin: … colour: … form: … Fructose Aspartam The development of an ontology is an iterative process:an ontology needs to be evaluated, revised, evaluated, revised, evaluated…

  49. Do we really need all these refinements about sweeteners? • Not necessarily: depends on our purposes • Perhaps we might be just as happy with: Sweeteners type: cane sugar, beet sugar, fructose, Aspartam… form: lumps, granulated… “weightwatchingcally correct?”: Yes or No “There is no one correct way to model a domain — there are always viable alternatives”(N. F. Noy & D. L. McGuinness)

  50. How are these “things” interrelated? Water Boilingthe water Kettle is passive participant in  has passive participant has as tool  is tool of Are we sure all of us understand these relationships the same way? • What does “is passive participant in / has passive participant” mean?Please define: … • What does “has as tool / is tool of” mean?Please define: …

More Related