1 / 90

Developing Medical Informatics Ontologies with Protégé

Developing Medical Informatics Ontologies with Protégé. Kokkinaki Alexandra Lab of Medical Informatics alko@med.auth.gr. Tutorial materials. The Protégé application: copy the Protégé-2000 directory into your “Program Files” or “Applications” folder

adelio
Download Presentation

Developing Medical Informatics Ontologies with Protégé

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. Developing Medical Informatics Ontologies with Protégé • Kokkinaki Alexandra • Lab of Medical Informatics • alko@med.auth.gr

  2. Tutorial materials • The Protégé application:copy the Protégé-2000 directory into your “Program Files” or “Applications” folder • The tutorialexample:copy the “Wine” folder on your hard disk • Examples of Medical Informatics ontologiescopy the “Medical Informatics” examples on your disk • Slides from the tutorial (AMIA2003-Protege-Tutorial.ppt)

  3. Outline • Ontology development basics • What is an ontology and why do we need one? • The ECG vs wine ontology will be analyzed • A step-by-step guide to ontology development • An overview of Protégé • Medical Informatics ontologies • Hands on: Design part of ECG ontology in Protégé.

  4. Γνώση και οντολογίες • Τι είναι γνώση: • Ένα σύνολο από δεδομένα με σημασιολογικόπεριεχόμενο • Οι οντολογίες χρησιμοποιούνται για την αναπαράσταση γνώσης

  5. Οντολογία (Ορισμός) • Στη φιλοσοφία • Η επιστήμη της ύπαρξης (Αριστοτέλης) • Στην επιστήμη και στην τεχνητή νοημοσύνη • Αποτελείται από τις ρητές προδιαγραφές της αντίληψης για τον κόσμο (Gruber) • “an explicit specification of conceptualisation” • H τυπική προδιαγραφή μίας κοινής αντίληψης για τον κόσμο (Borst) • “a formal specification of a shared conceptualisation

  6. What Is An Ontology • An ontology is an explicit description of a domainconsisting of: • Concepts (Classes) • Classes are the focus of most ontologies. Classes describe concepts in the domain. Forexample, a class of ECGs represents all ECGs. Specific ECGs are instances of this class. • Class/subclass hierarchy • A class can have subclasses that represent concepts that are more specific than the superclass. For example, we can divide the class of Heart Diseases in: • Atrial abnormalities, Cardiac arrhythmia, Cardiac hyperthtophy, Cardiomyopathies….

  7. What Is An Ontology • An ontology also consists of: • properties and attributes of concepts (slots) • Slots describe properties of classes and instances: Patient with patientId =XXXX who is a 40 year old Male • Instances of the class Patient will have slots describing their age, address, race, sex etc • constraints on properties and attributes • age <100, race {Caucasian, Black, Oriental) • Individuals (often, but not always) • PatientXXX, Amiodarone etc

  8. Ontology Examples • Taxonomies on the Web • Yahoo! Categories • The Yahoo! Directory is a catalog of sites organized into subject-based categories and sub-categories. All of the site listings in the Directory are contained 14 main categories on Yahoo! Directory: • Domain-specific standard terminology • SNOMED Clinical Terms – terminology for clinical medicine • covering most areas of clinical information such as diseases, findings, procedures, microorganisms, pharmaceuticals

  9. Ontology Examples • UMLS Unified Medical Language System • The UMLS integrates and distributes key terminology, classification and coding standards, and associated resources to promote creation of more effective and interoperable biomedical information systems and services, including electronic health records (http://umlsks.nlm.nih.gov/uPortal/frame.jsp?umlsks-frame=http://www.nlm.nih.gov/research/umls/documentation.html)

  10. What Is “Ontology Engineering”? • Ontology Engineering: Defining terms in the domain and relations among them • Defining concepts in the domain (classes) • Arranging the concepts in a hierarchy (subclass-superclass hierarchy) • Defining which attributes and properties(slots) classes can have and constraints on their values • Defining individuals and filling in slot values

  11. Why Develop an Ontology? • To share common understanding of the structure of information among people and among software agents • Web sites containing medical information publish the same underlying ontology of the terms they all use • To enable reuse of domain knowledge • to avoid “re-inventing the wheel” • to introduce standards to allow interoperability

  12. More Reasons • To make domain assumptions explicit • easier to change domain assumptions (consider a genetics knowledge base) • easier to understand and update legacy data • To separate domain knowledge from the operational knowledge • re-use domain and operational knowledge separately (e.g., configuration based on constraints)

  13. An Ontology Is Often Just the Beginning Databases Declare structure Ontologies Knowledge bases Provide domain description Domain-independent applications Software agents Problem-solving methods

  14. Ontology-Development Process determine scope consider reuse enumerate terms define classes define properties define constraints create instances determine scope consider reuse enumerate terms consider reuse define classes enumerate terms define classes define properties define classes define properties define constraints create instances define classes create instances consider reuse define properties define constraints create instances • In this tutorial: In reality - an iterative process:

  15. Οντολογίες vs Βάσεις Δεδομένων • Μία βάση δεδομένων είναι ένα σύνολο από πίνακες και σχέσεις • Μία οντολογία περιέχει συντακτικά και σημασιολογικά πλουσιότερηπληροφορία από τις βάσεις δεδομένων • Οι βάσεις δημιουργούνται κυρίως για την αποθήκευση πληροφοριών. Οι οντολογίες για την περιγραφή μιας ολόκληρης θεματικής περιοχής • Μία οντολογία πρέπει να είναι δικτυακής αρχιτεκτονικής γιατίχρησιμοποιείται για το διαμοιρασμό της πληροφορίας.

  16. Preliminaries - Tools • Protégé-2000 • is a graphical ontology-development tool • supports a rich knowledge model • is open-source and freely available • Some other available tools: • Ontolingua and Chimaera • OntoEdit • OilEd

  17. Determine Domain and Scope determine scope consider reuse enumerate terms define classes define properties define constraints create instances • 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 (competency questions)? • Answers to these questions may change during the lifecycle

  18. French wines and wine regions Which wine should I serve with seafood today? California wines and wine regions A shared ONTOLOGY of Wine and food

  19. Find arrhythmia ECG’s, of men >40 taking Aldomet PhysioNet ECGs and accompanying data UMLS Drugs & diseases

  20. Competency Questions • 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 flavor or body of a specific wine change with vintage year? • What were good vintages for Napa Zinfandel?

  21. Ερωτήσεις αρμοδιότητας Ι • Ποιες παραμέτρους πρέπει να καταγράψω για κάθε ένα από τα χαρακτηριστικά του ΗΚΓ? • Τι χαρακτηριστικά πρέπει να καταγράψω για τους ασθενείς? • Ποια φάρμακα και ποιες ασθένειες θα καταγράψω? • Ποια χαρακτηριστικά του ΗΚΓ είναι abnormal κατά την εμφάνιση αρρυθμίας? • Ποια τα χαρακτηριστικά (δημογραφικά) των ασθενών με κολπική μαρμαρυγή? • Τι εύρος διαγνώσεων παρέχεται από το ηλεκτροκαρδιογράφημα?

  22. Ερωτήματα Αρμοδιότητας ΙΙ • Θέλω ΗΚΓ ασθενών με αρρυθμίες? • Ποια τα χαρακτηριστικά της αρρυθμίας στο ΗΚΓ? • Τι φάρμακα έχουν χορηγηθεί σε ασθενείς με αρρυθμίες? • Θέλω τα ΗΚΓ ασθενών με αρρυθμία που ταυτόχρονα έπαιρναν Antiarryhtmic drugs? • Θέλω τα ΗΚΓ ασθενών αρρένων με ηλικία >40 και Ιατρικό Ιστορικό διαβήτη?

  23. Consider Reuse consider reuse determine scope enumerate terms define classes define properties define constraints create instances • Why reuse other ontologies? • to save the effort • to interact with the tools that use other ontologies • to use ontologies that have been validated through use in applications

  24. What to Reuse? • Ontology libraries • Protégé ontology library (protege.stanford.edu/ontologies.html) • DAML ontology library (www.daml.org/ontologies) • Ontolingua ontology library (www.ksl.stanford.edu/software/ontolingua/) • Upper ontologies • IEEE Standard Upper Ontology (suo.ieee.org) • Cyc (www.cyc.com)

  25. What to Reuse? (II) • General ontologies • DMOZ (www.dmoz.org) • WordNet (www.cogsci.princeton.edu/~wn/) • Domain-specific ontologies • UMLS Semantic Net • GO (Gene Ontology) (www.geneontology.org) • GLIF • HL7

  26. Enumerate Important Terms enumerate terms • What are the terms we need to talk about? • What are the properties of these terms? • What do we want to say about the terms? consider reuse determine scope define classes define properties define constraints create instances

  27. Enumerating Terms - The Wine Ontology • wine, grape, winery, location, • wine color, wine body, wine flavor, sugar content • white wine, red wine, Bordeaux wine • food, seafood, fish, meat, vegetables, cheese

  28. Enumerating Terms - The ECG Ontology • ECG, Patient, Drug, Disease, ECG Characteristics, Acquiring Device, Lead • Measurement, Diagnosis, Medical History, Blood Pressure, V1,V2, aVL • Antiarrhythmic, Amiodarone, Dilantin, Lorcainide, • ACE-Inhibitors, Captopril

  29. Define Classes and the Class Hierarchy define classes consider reuse enumerate terms determine scope define properties define constraints create instances • A class is a concept in the domain • a class of wines • a class of wineries • a class of red wines • A class is a collection of elements with similar properties • Instances of classes • a glass of California wine you’ll have for lunch

  30. Class Inheritance • Classes usually constitute a taxonomic hierarchy (a subclass-superclass hierarchy) • A class hierarchy is usually an IS-A hierarchy: • an instance of a subclass is an instance of a superclass • If you think of a class as a set of elements, a subclass is a subset

  31. Class Inheritance - Example • Cardiac Drug is a subclass of Drug • Antiarrhytmic is a subclass of Cardiac Drug • Every Antiarrythmic drug is a Cardiac Drug • Amiodarone drug is a subclass of Antiarrhythmic drugs • Every Amiodarone Drug is an Antiarrhythmic drug

  32. Levels in the Hierarchy Top level Middle level Bottom level

  33. Modes of Development • top-down – define the most general concepts first and then specialize them • bottom-up – define the most specific concepts and then organize them in more general classes • combination – define the more salient concepts first and then generalize and specialize them

  34. Documentation • Classes (and slots) usually have documentation • Describing the class in natural language • Listing domain assumptions relevant to the class definition • Listing synonyms • Documenting classes and slots is as important as documenting computer code!

  35. Define Properties of Classes – Slots define properties determine scope consider reuse enumerate terms define classes define constraints create instances • Slots in a class definition describe attributes of instances of the class and relations to other instances • Each wine will have color, sugar content, producer, etc.

  36. Define Properties of Classes – Slots define properties determine scope consider reuse enumerate terms define classes define constraints create instances • Enumerate ECG slots • Patient (patientID, sex, race, age….) • ECGCharacteristics (onset, offset, duration) • Recording Device (Device Type, Manufacturer, serial Number.. )

  37. Properties (Slots) • Types of properties • “intrinsic” properties: flavor and color of wine • “extrinsic” properties: name and price of wine • parts: ingredients in a dish • relations to other objects: producer of wine (winery) • Simple and complex properties • simple properties (attributes): contain primitive values (strings, numbers) • complex properties: contain (or point to) other objects (e.g., a winery instance)

  38. Slots for the Class Wine

  39. Slot and Class Inheritance • A subclass inherits all the slots from the superclass • If a wine has a name and flavor, a red wine also has a name and flavor • If a class has multiple superclasses, it inherits slots from all of them • Port is both a dessert wine and a red wine. It inherits “sugar content: high” from the former and “color:red” from the latter

  40. Property Constraints define constraints determine scope consider reuse enumerate terms create instances define classes define properties • Property constraints (facets) describe or limit the set of possible values for a slot • The name of a wine is a string • The wine producer is an instance of Winery • A winery has exactly one location • Race {Caucasian, Asian, Black, Unspecified} • Age<150 • The Id of a patient is String • PatientName is an instance of Patient

  41. Create Instances create instances determine scope consider reuse enumerate terms define classes define constraints define properties • Create an instance of a class • The class becomes a direct type of the instance • Any superclass of the direct type is a type of the instance • Assign slot values for the instance frame • Slot values should conform to the facet constraints • Knowledge-acquisition tools often check that

  42. Creating an Instance: Example

  43. Outline • Ontology development basics • What is an ontology and why do we need one? • A step-by-step guide to ontology development • An overview of Protégé • Advanced issues in knowledge modeling • Medical Informatics ontologies: examples and design decisions • Additional resources: Protégé plugins and applications

  44. Where to go for help • Protégé user’s guide • http://protege.stanford.edu/doc/users_guide/index.html • Protégé user’s guide • http://protege.stanford.edu/publications/ontology_development/ontology101.html • FAQ • http://protege.stanford.edu/faq.html

  45. Outline • Ontology development basics • What is an ontology and why do we need one? • A step-by-step guide to ontology development • An overview of Protégé • Advanced issues in knowledge modeling • Medical Informatics ontologies: examples and design decisions • Additional resources: Protégé plugins and applications

  46. define constraints define properties define classes Going Deeper determine scope consider reuse enumerate terms define classes define properties define constraints create instances determine scope consider reuse enumerate terms create instances • Breadth-first coverage Depth-first coverage

  47. Defining Classes and a Class Hierarchy • Things to remember: • There is no single correct class hierarchy • But there are some guidelines • The question to ask: • “Is each instance of the subclass an instance of its superclass?”

  48. Siblings in a Class Hierarchy • All the siblings in the class hierarchy must be at the same level of generality • Compare to section and subsections in a book

  49. The Perfect Family Size • If a class has only one child, there may be a modeling problem • If the only Red Burgundy we have is Côtes d’Or, why introduce the subhierarchy? • Compare to bullets in a bulleted list

More Related