Ontology Building and its Application using Hozo
-
Upload
kouji-kozaki -
Category
Technology
-
view
892 -
download
3
description
Transcript of Ontology Building and its Application using Hozo
Ontology Building and its Application using Hozo
Kouji KOZAKIThe Institute of Scientific and Industrial Research (I.S.I.R),
Osaka University, Japan
2014 Nov.9 1
Tutorial in JIST2014, Chiang Mai, Thailand, Nov. 9th 2014
Tutorial@JIST2014
Come to JAPAN for ISWC2016@KOBE!
Slideshttp://goo.gl/28ck8por http://www.hozo.jp/
Agenda
9:00-10:30 ① How to build ontologies using Hozo
(with hands-on) Basic usage of Hozo. Basic theories of ontological engineering in Hozo.
(10:30-10:50 Coffee Break) 10:50-12:00
② Some characteristic functions of Hozo Dynamic generation of is-a hierarchies Ontology Exploration
③ Developments of ontology-based application An overview of application developments Some example applications
2014 Nov.9 Tutorial@JIST2014 2
Self introduction: Kouji KOZAKI
Brief biography 2002 Received Ph.D. from Graduate School of Engineering, Osaka
University. 2002- Assistant Professor, 2008- Associate Professor in ISIR, Osaka
University. Specialty
Ontological Engineering Main research topics
Fundamental theories of ontological engineering
2014 Nov.9 3Tutorial@JIST2014
Ontological topics
Some examples of topics which I work on Role theory
What’s ontological difference among the following concepts? Person Teacher Walker Murderer Mother
Definition of disease What’s “disease” ? What’s “causal chain” ? Is it a object or process ?
2014 Nov.9 4
…. Natural type (Basic Concept)
Role (dependent concept)
Tutorial@JIST2014
Self introduction: Kouji KOZAKI
Brief biography 2002 Received Ph.D. from Graduate School of Engineering, Osaka University. 2002- Assistant Professor, 2008- Associate Professor in ISIR, Osaka University.
Specialty Ontological Engineering
Main research topics Fundamental theories of ontological engineering Ontology development tool based on the ontological theories Ontology development in several domains and ontology-based application
Hozo(法造) -an environment for ontology building/using- (1996- ) A software to support ontology(=法) building(=造) and use It’s available at http://www.hozo.jp as a free software
Registered Users:4,600+ (June 2014) Java API for application development (HozoCore) is provided. Support formats: Original format, RDF(S), OWL. Linked Data publishing support is coming soon.
2014 Nov.9 5Tutorial@JIST2014
My history on Ontology Building 2002-2007 Nano technology ontology
Supported by NEDO(New Energy and Industrial Technology Development Organization) 2006- Clinical Medical ontology
Supported by Ministry of Health, Labour and Welfare, Japan Cooperated with: Graduate School of Medicine, The University of Tokyo.
2007-2009 Sustainable Science ontology Cooperated with: Research Institute for Sustainability Science, Osaka Univ.
2007-2010 IBMD(Integrated Bio Medical Database) Supported by MEXT through "Integrated Database Project". Cooperated with: Tokyo Medical and Dental University, Graduate School of Medicine, Osaka U.
2008-2012 Protein Experiment Protocol ontology Cooperated with: Institute for Protein Research, Osaka Univ.
2008-2010 Bio Fuel ontology Supported by the Ministry of Environment, Japan.
2009-2012 Disaster Risk ontology Cooperated with: NIED (National Research Institute for Earth Science and Disaster Prevention)
2012- Bio mimetic ontology Supported by JSPS KAKENHI Grant-in-Aid for Scientific Research on Innovative Areas
2012- Ontology of User Action on Web Cooperated with: Consumer first Corp.
2013- Information Literacy ontology Supported by JSPS KAKENHI
2014 Nov.9 6Tutorial@JIST2014
JIST2014(Nov.11)
JIST2014(Nov.11)
① How to build ontologies using Hozo
What is ontology? Basic usage of Hozo
Representation of an ontology Basic operation of Hozo
Basic theories of ontological engineering in Hozo Some tips for ontology buliding Role theory
2014 Nov.9 Tutorial@JIST2014 7
2014 Nov.9 8
What is an ontology? What is an ontology?
[Mizoguchi 03] Tutorial on ontological engineering - Part 1: Introduction to Ontological Engineering New Generation Computing, OhmSha&Springer, Vol.21, No.4, pp.365-384, 2003
In philosophy, it means theory of existence. From AI point of view,
“explicit specification of conceptualization” [Gruber 93].
From knowledge-based systems point of view, “a theory(system) of concepts/vocabulary used as building blocks of an information processing system” [Mizoguchi 95].
A basic role of an ontology It clarifies “how target world are understood” and provides
vocabulary and rules to consistent modelingTutorial@JIST2014
A compositional definition of ontology
9
An ontology consists of concepts, hierarchical (is-a) organization of them, relations among them (in addition to is-a and part-of), axioms to formalize the definitions and relations. .
Content of Ontology “Concept” represented entity in target domain “Relationship” between concepts
Definition of a Concept Label(,Description)
Super/Sub concept Part concept Attribute Axiom
bicycle
saddle
handle
front wheel
is-a relation
Whole-part relation
attribute-of relation
size:26×2.3color: redgear: 24 steps
・”front wheel” in conjunction with “handle”
・ ”front wheel” ≠ “rear wheel”
Other relation
agent functional
object
physical
occurrent
entity
event
2014 Nov.9 Tutorial@JIST2014
OntologyManager
Language
Managem
ent System
Ontology ServerClients
(other agents)
Model
Ontology
Reference / Install
Onto Studio(a guide system for
ontology design)
support
Ontology/Model Developer
building
(modifying
)
browsing
Architecture of Hozo
DependencyManagement
OntologyE
ditor
TrackingPane
Information of changes
2014 Nov.9 10Tutorial@JIST2014
Ontology language of Hozo: XML-based frame language.It can be exported in OWL , and RDF(S). It also can import OWL partially.
How to get Hozo
Download Hozo is available as a free software at
http://www.hozo.jp .
Install Extract the downloaded ZIP file. You need Java Runtime Environment (JRE). If it is not installed (that is, you couldn’t run the Hozo
tool), please download and install it from http://www.java.com/en/download/ .
2014 Nov.9 11Tutorial@JIST2014
How to run Hozo1. You can run Hozo-ontology editor by clicking “oe5.bat” or
“oe5.exe” (for Windows) or “oe5.script” (for Mac OS) in the extracted folder.
2. When you run the tool, a window for initial settings is shown. Please input “user name” (arbitrary name) and press “OK” button.
2014 Nov.9 12
These settings are required when you want to manage your ontology using project manager.
Tutorial@JIST2014
How to open/create an ontologyAfter a main window of Hozo-Ontology Editor is shown.Select “File” menu
-> “open File” for open an existing ontologyor -> “new File” for creating a new ontology
2014 Nov.9 13
“File” menu
“new File” “open File” *You can also use these button.
Tutorial@JIST2014
Hozo-Ontology Editor:Editing Screen(without project manager)
2014 Nov.9 14
Browsing Panefor visualizing / editing an ontology
Navigation Panefor navigating/searching concepts in the ontology
Definition Panefor editing definition of concepts in the ontology
Tutorial@JIST2014
An overview of ontology representation in Hozo
2014 Nov.9 15
Node represents a concept(=rdfs:Class)
Is‐a link represents an is‐a relation
(=rdfs:subClassOf)
p/o slot represents a part‐of relation(=rdf:Property)
a/o slot represents an attribute‐of relation
(=rdf:Property)
cardinality(=owl:cardinality) Class restriction
represents class of its player
(=owl:allValuesFrom )
Role concept(≒property name )
Link between slotsrepresents a relation
between parts/attributes (=some axiom )
Role holder(see the latter)
Tutorial@JIST2014
Ontology representation (1)is-a hierarchy
Node represents a concept Is-a link represents is-a relation (sub-class-of)
e.g. bike is-a two-wheeled vehicle→bike is a specialized concept of two-wheeled vehicle (lower concept)→two-wheeled vehicle is a generalized concept of bike (upper concept)
2014 Nov.9 16
upper concepts
When a node is clicked, its upper/lower concepts are highlighted.
lower concepts
Is-a relationships represent a hierarchical organization of concepts (is-a hierarchy).
Tutorial@JIST2014
2014 Nov.9 17
Ex.1) Only is-a hierarchy Ex.2) With definitions of conceptsvehicle-two-wheel-vehicle
-motorbike-bike
-three-wheel-vehicle-…
It is not clear differences of semantics among concepts
Viewpoints to organize an is-a hierarchy of ontology
Is-a hierarchy is an important base of an ontologybecause it reflects how its target world are understood.
vehicle-two-wheel-vehicle→The number of wheel = 2-motorbike
→power source = engine-bike
→power source = person-three-wheel-vehicle→The number of wheel = 3
-…Their definitions show clear differences
of semantics among concepts
Definitions of concepts show clearly viewpointsto organize an is-a hierarchy of ontology.
Tutorial@JIST2014
Ontology representation (2)definitions of a concept
part-of,attribute-of relation Slot represents a relationship; p/o:part-of a/o:attribute-of It represents definitions of a concept in a machine readable
format. Representation of slots
Role concept name:name of parts/attributes Class constraint shows a restriction on which concept (class) can
be the parts/attributes*It refers other concepts defined in elsewhere.
Cardinality shows a restrictions on the number of parts/attributes n..m →more than n以上 and less than m
2014 Nov.9 18
p/o slot represents a part‐of relation(=rdf:Property)
cardinality(=owl:cardinality)
Class restrictionrepresents class of
its player(=owl:allValuesFrom )
Role concept(≒property name )
Tutorial@JIST2014
Characteristics of is-a relationInheritance / Specialization
A lower concept inherits definitions (slots in Hozo) of its upper concepts. *Inherited slots are NOT shown on the Browsing pane. e.g.) Which slots are inherited from “bike” to “city-cycle” ?
Inherited slots are sometimes specialized in the lower concepts. e.g.) “front-wheel-role” are specialized in “city-cycle”. Hozo shows specialized slots in red color. When a specialized slot is selected, its upper slots are highlighted.
2014 Nov.9 19
specialized
Information about its upper slot
inherits
Tutorial@JIST2014
Ontology representation (3)definitions pane (for concept)
When the user select a concept (node) on the Browsing pane, Definition pane shows its definitions (slots). Super shows the list of upper concepts of the selected concept.
Inherited slot shows its inherited slots from its upper concepts. Documentation shows exploration of it in natural language.
2014 Nov.9 20
working together
Tutorial@JIST2014
A basic way of thinking for ontology building
Considering “what’s in essential (characteristics of concept)”
Try to be clear“how target world are understood” What are differences among concepts
=to be clear viewpoints to classify (organize) concepts What are common characteristics of related concepts
2014 Nov.9 21Tutorial@JIST2014
Basic operation (1)Creating concepts and is-a hierarchy
Creation of a new concept (node) [add Node] Button / Menu When a node is selected, new nodes is created as its lower concept.
Change its concept name (label) Select the node and change its label in Definition pane
Organizing an is-a hierarchy Select 2 nodes (upper concept and lower concept) by clicking nodes
with SIFT key [add Link] Button / Menu to add is-a link(*please check ”is-a” is
selected in the Link list) Created is-a relation are shown as tree in Navigation pane
2014 Nov.9 22
add Node add Link
Link list (kinds of links)Tutorial@JIST2014
Creation of a part-of/attribute-of slot Select a node and [add Slot](Button/Menu)
part-of / attribute-of is chosen in the Slot list (kinds of slots)
Change definitions of a slot Select a slot and edit role concept/class constraint/ role
holder them in Definition pane *Class constraint
Undefined concept is shown in 「light yellow」
You can select it from existing concepts using [Select Class]
Basic operation (2)Creating slots(definitions of concepts)
2014 Nov.9 23
DefinedUndefined
Tutorial@JIST2014
Basic operation (3)Definitions of a slot
Definition of a slot Kind p/o:part-of a/o:attribute-of Role concept name:name of parts/attributes Class constraint :a restriction on which concept (class) can be the
parts/attributes Choosing from existing concepts(classes)
*”Any” represents the upper concepts of the all concepts Data type can be used:Integer, Float, String, Boolean, decimal, date, time
Cardinality :a restrictions on the number of parts/attributes
2014 Nov.9 24
Double click
Tutorial@JIST2014
Basic operation (4)Inheritance / Specialization
Inherited slots are shown by selecting its upper concept in the upper concept list on definition pane.
Specialization of a slot Choose “specialization…” on the Slot list (kinds of slots) and
[add Slot](Button/Menu) Choose a slot to be specialized from list of inherited slots shown on
the new dialog Edit definition of the specialized slot
*Please note that definition of the specialized slot must not be inconsistent with its uppers slot
2014 Nov.9 25Tutorial@JIST2014
Tips for definition of slots
To be clear difference/commonality among concepts Characteristics common to lower concepts should be defined as slots
of their upper concepts To be clear using specialization of slots
Differences between upper concept and its lower concepts Differences between brother concepts (concepts whose upper
concept is the same) It tend to be good that an ontology has many specialized
slots (red slot) Considering viewpoints for organization are
represented by slots
2014 Nov.9 26
Concepts are systematized using is-a hierarchy and slotsTutorial@JIST2014
Ontology representation (4)Relationships between slots
Relationships between slots can be used to represent more detailed definition of a concept e.g.)
Relationships between slots pre-defined in Hozo equal:two numbers are equal not-equal: two numbers are different larger-than: a number is larger than the other one sameAs: must be the same instance different: must be different instances
2014 Nov.9 27
In definition of “bike”, “front-wheel” and “rear-wheel” must be “different (instances)”.
Tutorial@JIST2014
Basic operation (4)Definition of relationship among slots
Define new relation concept (class) “Relation Concept” tab in Browsing pane Creating a new concept with slots The concept is defined as new “Relation
Concept” and added to [the list of links] Add a link among slots
Select slots by clicking with SHIFT key Choose a kind of link and [add Link] Check information shown in confirm
dialog and [OK]
2014 Nov.9 28Tutorial@JIST2014
2014 Nov.9 Tutorial@JIST2014 29
What is Role?
How is John conceptualized (recognized) ? In any context .............. John is an instance of Person In the high school........... John is an instance of Teacher In the married couple...... John is an instance of Husband In the Family................. John is an instance of Father In the English conversation school
..... John is an instance of Student
John (a person) is a teacher of high school. He got married five years ago (husband ), and now he is the father of two children. After school (job) he goes to a English conversation school (student ).
According to the contexts, John is recognized as different concepts (※→Role).
※
Fundamental scheme of our role model
2014 Nov.9 Tutorial@JIST2014 30
Role ConceptContext depend on Role-playing thingplaying
TeacherRole-1 John
Osaka High School
Role-Holder
Teacher-1
“In Osaka high school, John plays teacher role-1 and thereby becomes teacher-1”
“In a school, there are persons who play teacher roles and thereby becomes teachers”
Role ConceptContext
depend on
Potential Player
playable
TeacherRole Person
School
Role-HolderTeacher
Class
Instance
Distinction between role concepts and role-holders
Fundamental scheme of our role model
2014 Nov.9 Tutorial@JIST2014 31
Role ConceptContext depend on Role-playing thingplaying
TeacherRole-1 John
Osaka High School
Role-Holder
Teacher-1
“In Osaka high school, John plays teacher role-1 and thereby becomes teacher-1”
“In a school, there are persons who play teacher roles and thereby becomes teachers”
Role ConceptContext
depend on
Potential Player
playable
TeacherRole Person
School
Role-HolderTeacher
Class
Instance
Distinction between role concepts and role-holdersContext Potential Player Role Concept
When a person is actually playing a teacher role, he/she thereby becomes an individual teacher role-holder
Playeris dividedPlayer-link
is divided
playable
playing
Role Holder
A class of things to be considered as a whole. It includes entities and relations.
Role concept is defined as a class of concepts played by something within a context.
A class of things which are able to play an instance of a role concept.
Ontology representation (5)Role Concept, Role Holder, Potential Player
2014 Nov.9 32
The context which the role concept
depends on
Role concept
Role holder
Potential Player(Class Constraint)
Role concept
Role holder
Potential Player(Class Constraint)
Tutorial@JIST2014
Characteristics of Roles
Individuals of role concepts (a) They cannot exist if individuals of their contexts do
not exist because roles are externally founded[Guarino 92]. e.g. If Osaka High School does not exist, the instance of the
Teacher role (Teacher role-1) never exists. (b) Because roles are dynamic[Masolo 04], the role
concepts have two states: played and un-played. (c) A vacancy is conceptualized as an individuals of role
concept which is not played. e.g. When John quits the Teacher, the teacher role-1 becomes a
vacancy.
2014 Nov.9 Tutorial@JIST2014 33Role ConceptContext depend on Role-playing thingplaying
TeacherRole-1 John
Osaka High School
Role-Holder
Teacher-1
Characteristics of Roles
Disappearance of individuals of role-holders Individuals of role-holders disappear in the cases: (1) Its player (an individual of player) disappears.
e.g. John dies (2) Its role (an individual of role concept) disappears.
e.g. the position of the Teacher which John filled disappears (3) Its player (an individual of player) quits playing the role.
e.g. John quits the Teacher
2014 Nov.9 Tutorial@JIST2014 34
Role ConceptContext depend on Role-playing thingplaying
TeacherRole-1 John
Osaka High School
Role-Holder
Teacher-1×(2)
×(3)×(1)
2014 Nov.9
Conceptual Framework of a Role
Role-Holder
Role Concept Teacher
Subject
AgeName
TeacherRole
The length ofemployment
Height
Weight
Context
depend onPerson
Player
playable
School
Group AOnly the roleconcept has
Group BInherited from
its class constraint
Group CAre NOT referred
by the role conceptTutorial@JIST2014 35
An individual of a role-holder is composed of individuals of a role concept and its player. e.g. The individual of Teacher is the composite of individuals of a
teacher role and a person.
Definitions (slots) of role-related concepts
Ontology representation (6)Definitions (slots) of role-related concepts
2014 Nov.9 36
Group AOnly the role concept has
Group CAre NOT referred by
the role concept
Group BInherited from
its class constraint*shown with “▼” mark
Tutorial@JIST2014
Basic operation (5)Definitions (slots) of role-related concepts
2014 Nov.9 37
Group AOnly the role concept has
Group CAre NOT referred by
the role concept
Create new Slot to the role concept
Group BInherited from
its class constraint*shown with “▼” mark
Create specialized slots to the role concept
Inherited slot from its class constraint are shown with “▽” mark
Tutorial@JIST2014
Tips to define role concept
To be clear context dependency Concepts which can not be defined without contexts
(other concept) E.g. Teacher, Student, Husband, front-wheel, …
Concepts which can be defined independent to others E.g. Person, Wheel, Stone, …
Considering where slots are defined Common characteristics independent to contexts
should be defined as slots of basic concepts Characteristics dependent to some contexts
should be defined as slots of role concepts2014 Nov.9 38Tutorial@JIST2014
Ontology representation (7)A role holder can play a role
A role Holder can be referred as a class constraint to define other role concepts= A role holder can play a role
2014 Nov.9 39
Definition of Teacher role and Teacher (role-holder)
Referring Teacher (role-holder) as a class constraint* [RH] represents it is a role-holder(this mark is added automatically)
e.g.) In a school, director role can be played byonly Teacher (role-holder).
Tutorial@JIST2014
② Some characteristic functions of Hozo
Dynamic generation of is-a hierarchies
Ontology Exploration
2014 Nov.9 Tutorial@JIST2014 40
Dynamic Is-a Hierarchy Generation System based on User's Viewpoint
Kouji Kozaki, Keisuke Hirota, and Riichiro MizoguchiThe Institute of Scientific and Industrial Research,
Osaka University, Japan
JIST20115th Dec.2011, Hangzhou, China
2014 Nov.9 41Tutorial@JIST2014
Motivation: Is-a Hierarchy in Ontology
Ontology It is designed to provide systematized knowledge and machine readable
vocabularies of domains for Semantic Web applications. It clearly represents how the target world is captured by people and
systems.
Is-a hierarchies in an ontology They reflect how the ontology captures
the essential conceptual structure of the target world and form the foundation of ontologies.
In an ontological theory, an is-a hierarchy should be single-inheritance because the essential property of things cannot exist in multiple. E.g. Imagine that objects, processes, attributes, etc.
The use of multiple-inheritance for organizing things necessarily blurs what the essential property of things is.
2014 Nov.9 Tutorial@JIST2014 42
entity
abstract physical
object actionset number
Motivation: Multi-perspectives issue
Domain experts often want to understand the target world from their own domain-specific viewpoint.
In some domains, there are many ways to categorize the same kinds of concepts.
2014 Nov.9 Tutorial@JIST2014 43
infarctiondisease
stenosisdisease
Angina diabetesMyocardialinfarction Stroke
disease
hyperglucemiadisease
classification by the symptom
How diseases are named named by the major symptom
diabetes, angina… named by the abnormal object
heart disease, … named by the cause of the disease
Myocardial infarction, stroke named by the specific environment
Altitude sickness, … named by the discoverer
Grave’s disease…
disease
heartdisease
braindisease
Angina diabetesMyocardialinfarction Stroke
blooddisease
classification by the abnormal object
StrokeMyocardialinfarction diabetes Angina
disease
Several is-a hierarchies of diseases according to their viewpoints
Understanding from their own
viewpoints
Disease
One is-a hierarchy of diseases cannot cope with such a diversity of viewpoints.
Existing approaches Acceptance of multiple ontologies
based on the different perspectives Multiple-inheritance, Ontology mappingProblem If we define every possible is-a hierarchy
using multiple-inheritances or ontology mapping, they would be very verbose and the user’s viewpoints would become implicit.
Exclusion of the multi-perspective nature of domains from ontologies The OBO Foundry A guideline for ontology development stating
that we should build only one ontology in each domain.
2014 Nov.9 Tutorial@JIST2014 44
heartdisease
Myocardialinfarction
infarctiondisease
Multiple-inheritance
infarctiondisease
stenosisdisease
Angina diabetesMyocardialinfarction Stroke
disease
hyperglycemiadisease
disease
heartdisease
braindisease
Angina diabetesMyocardialinfarction Stroke
blooddisease
Ontology mapping
Our approach
2014 Nov.9 Tutorial@JIST2014 45
Ontology Viewpoints
Generation of is-a hierarchies
Dynamic Is-a Hierarchy Generation based on User's ViewpointUnderstanding
from their own viewpoints
Disease
We take a user-centric approach based on ontological viewpoint management.
Multi-perspective issue
Use single-inheritance
Our approach: Dynamic is-a Hierarchy Generation according to User’s Viewpoint
2014 Nov.9 Tutorial@JIST2014 46
abnormal state
infarction stenosis hyperglycemia
parts of human body
heart brain blood
perspective A「focus on symptoms」
perspective B「focus on abnormal objects」
various is-a hierarchiesbased on individual perspectives
(2) Reorganizing some conceptual structures from the ontology on the fly as visualizations to cope with various viewpoints.
infarctiondisease
stenosisdisease
Angina diabetesMyocardialinfarction Stroke
disease
hyperglycemiadisease
classification by the symptom
disease
heartdisease
braindisease
Stroke diabetesMyocardialinfarction Angina
blooddisease
classification by the abnormal object
StrokeMyocardialinfarction diabetes Angina
disease
(1) Fixing the conceptual structure of an ontology using single-inheritance based
on ontological theories
2014 Nov.9 Tutorial@JIST2014 47
Ontology Viewpoints
Generation of is-a hierarchies
Dynamic Is-a Hierarchy Generation based on User's ViewpointUnderstanding
from their own viewpoints
Disease
We take a user-centric approach based on ontological viewpoint management.
Multi-perspective issue
Use single-inheritance
Our approach: Dynamic is-a Hierarchy Generation according to User’s Viewpoint
We propose a framework for dynamic is-a hierarchy generation according to the interests of the user and implement the framework as an extended function of “Hozo-our ontology development tool”.
Framework for Dynamic is-a Hierarchy Generation
48
Transcription of a basehierarchical stricture
Reorganization
Originalis-a hierarchy
X
A
Is-a hierarchy
Aspect
X Target concept
Definition of thetarget concept
Base hierarchy
Generated is-a hierarchy
Transcriptional hierarchy
A
P-is-a hierarchy
A
Generatedis-a hierarchy
refer to
Viewpoint
It generates is-a hierarchies by reorganizing the conceptual structures of the target concepts selected by a user according to the user’s viewpoint.
2014 Nov.9 Tutorial@JIST2014
The same conceptual structure
p-is-a hierarchyInheritance: a special case
2014 Nov.9 Tutorial@JIST2014 49
↓ Any part of X is-a p-X
p-X = a generic concept representing all parts of X
Parts of heart
p-heart
p-heart wall
p-pulmonary valve p-artrium
p-is-a hierarchy
part-of
is-a
Application of Dynamic Is-aGeneration to a Medical Ontology
2014 Nov.9 Tutorial@JIST2014 50
The generated is-a hierarchyThe original is-a hierarchy of “disease”
We applied dynamic is-a hierarchy generation system to a medical ontology which we are developing in a project supported by Japanese government.
DEMO
Dynamic is-a Hierarchy Generation
2014 Nov.9 51Tutorial@JIST2014
Understanding an Ontology through Divergent Exploration
Kouji Kozaki, Takeru Hirota, and Riichiro MizoguchiThe Institute of Scientific and Industrial Research,
Osaka University, Japan
ESWC201130th May 2011, Heraklion, Greece
2014 Nov.9 52Tutorial@JIST2014
A method to obtain meaningful combinations using ontology exploration
2014 Nov.9 53
An ontology presents an explicit essential understanding of the target world. It provides a base knowledge to be shared among the users.
They explore the ontologyaccording to their viewpoint and generate conceptual maps as the result.These maps represent understanding from the their own viewpoints.
They can use the maps as viewpoints (combinations) to get data from multiple DBs.
Tutorial@JIST2014
(Divergent) Ontology exploration tool
Exploration of an ontology
“Hozo” – Ontology Editor
Multi-perspective conceptual chainsrepresent the explorer’s understanding of
ontology from the specific viewpoint. Conceptual maps
Visualizations as conceptual maps from
different view points
1) Exploration of multi‐perspective conceptual chains2) Visualizations of conceptual chains
2014 Nov.9 54Tutorial@JIST2014
Referring to another concept
2014 Nov.9 55
Node represents a concept
(=rdfs:Class)
slot represents a relationship
(=rdf:Property)
Is-a (sub-class-of)relationshp
Tutorial@JIST2014
562014 Nov.9 Tutorial@JIST2014
2014 Nov.9 57
Aspect dialog
constriction tracing classes
Option settings for exploration
property names
Conceptual map visualizer
Kinds of aspectsSelected relationships are traced and shown as links in conceptual map
Tutorial@JIST2014
58
Explore the focused (selected) path.
2014 Nov.9 Tutorial@JIST2014
Functions for ontology exploration
Exploration using the aspect dialog: Divergent exploration from one concept using the aspect
dialog for each step Search path:
Exploration of paths from stating point and ending points. The tool allows users to post-hoc editing for extracting
only interesting portions of the map. Change view:
The tool has a function to highlight specified paths of conceptual chains on the generated map according to given viewpoints.
Comparison of maps: The system can compare generated maps and show the
common conceptual chains both of the maps.
2014 Nov.9 59
Manual exploration
Machine exploration
Tutorial@JIST2014
2014 Nov.9 60
Ending point (1)
Ending point (3)Ending point (2)
Search Path
Starting point
Selecting of ending pointsFinding all possible paths from stating point to ending points
Tutorial@JIST2014
2014 Nov.9 61
Search Path
Selected ending points
Tutorial@JIST2014
2014 Nov.9 62
What does the result mean?
Selected ending points
Tutorial@JIST2014
Problem
Kinds of method to solve the problem
Possible combination of them
DEMO
Ontology Exploration
2014 Nov.9 63Tutorial@JIST2014
③ Developments of ontology-based application
An overview of application developments. Using Hozo Core (Hozo-API) Using Exported ontologies in RDF/OWL formats
Some example applications Using Hozo Core
Hozo OAT(Ontology Application Toolkit) Dynamic is-a generation Disease Ontology (Disease Chain) Editor
Using RDF export Disease Ontology (Disease Chain) Viewer Ontology Explorer –LOD version-
Using OWL export Abnormal State Ontology Search System
2014 Nov.9 Tutorial@JIST2014 64
Hozo Core / Hozo OAT
Hozo Core Java API for ontologies developed using Hozo
Hozo OAT(Ontology Application Toolkit) GUI library to develop ontology-based applications using
Hozo ontologies and Hozo Core Java client version
provides basic GUIs to develop Java client applications using Hozoontologies
Web system version provides basic GUI modules to develop web-based applications
using Hozo ontologies
2014 Nov.9 Tutorial@JIST2014 65
Hozo OAT-Java client version-GUI(1)
2014 Nov.9 Tutorial@JIST2014 66
Is-a hierarchybrowsing
VisualizingDefinitions of a concept
Selecting a conceptfrom is-a hierarchy
Hozo OAT-Java client version-GUI(2)
2014 Nov.9 Tutorial@JIST2014 67
Search for an ontology(Simple version)
Search for an ontology(Detailed version)
法造OAT-Web版-
2014 Nov.9 Tutorial@JIST2014 68
http://hozoviewer.ei.sanken.osaka-u.ac.jp/HozoWebXML/
Dynamic is-a generation developed using Hozo Core and OAT
2014 Nov.9 Tutorial@JIST2014 69
Dynamic is-a hierarchy generation module
Viewpoint setting dialog
HozoCore
OW
Lontology
Hozo
ontology
Hozo-ontology editor
We implemented a prototype of dynamic is-a hierarchy generation system as an extended function of Hozo and a web-service.It supports ontologies in OWL or Hozo format.
Hozo OATIs-a hierarchy viewer
Hozo OAT
Disease Ontology (Disease Chain) Editor
2014 Nov.9 Tutorial@JIST2014 70
Is-a hierarchyof disease
Definition of diseasein the ontology
Visual editor fordefinition of disease(causal chain in the disease)
Applications using exported ontologiesin RDF/OWL formats
Ontology export function of Hozo It is important for interoperability of developed ontologies Because Hozo ontologies has different semantics with
RDF(S) / OWL, we provides several kinds of export formats.
Exporting formats (simple) RDF : for publishing an ontology as LOD (coming soon!) OWL[A] : simple version → Considering new version OWL[B] : middle version → Considering new version using OWL2 OWL[C] : detailed version → will be integrated to new OWL[B]
Case studies Publishing a disease ontology in Linked Data Developing some web system using the exported ontologies
2014 Nov.9 Tutorial@JIST2014 71
Publishing a Disease Ontologies as Linked Data
Kouji Kozaki*1, Yuki Yamagata*1, Takeshi Imai*2,Kazuhiko Ohe*3 and Riichiro Mizoguchi*4
*1Osaka University *2The University of Tokyo Hospital*3The University of Tokyo
*4Japan Advanced Institute of Science and Technology
JIST2013,Nov. 29, 2013,Seoul,Korea
2014 Nov.9 Tutorial@JIST2014 72
Motivation Publishing Linked (Open) Data
Publishing open data as linked data is a significant trend. One feature of linked data is the instance-centric approach,
which assumes that considerable linked instances can result in valuable knowledge.
Ontology In the context of linked data, ontologies offer a common
vocabulary and schema for RDF graphs. However, from an ontological engineering viewpoint, some
ontologies offer systematized knowledge, developed under close cooperation between domain experts and ontology engineers.
Such ontologies could be a valuable knowledge base for advanced information systems even if it doesn’t have instances.
2014 Nov.9 Tutorial@JIST2014 73
Research Goal Publishing ontologies as Linked Data
An ontology in RDF formats such as OWL, RDFS, SKOSetc. can be published as it is as linked data OWL is not always convenient to use other
applications because of the complicated graph structures.
RDFS and SKOS does not support enough semantics for some ontologies.
Research goal To consider appropriate methods and RDF model to
publish an ontology as Linked Open Data(LOD)for facilitating efficient use of it.
As a case study, we focus on a disease ontology which are developed in our Japanese Medical Ontology project.
2014 Nov.9 Tutorial@JIST2014 74
A Framework for System Development based on the Medial Ontology
Applications based on the medical ontology Developed as Additional Functions of “Hozo”
Dynamic generations of Is-a hierarchies[Kozaki 11]
Exporting ontologies in other formats (e.g. OWL)→Exported ontologies are used
in other systems Developed using “Hozo-API”
Client based systems Disease chain editing tool Causal chain exploration tool Anatomical Connection exploration tool
Web based systems Ontology viewer on Web Medical knowledge navigator [Kou 10]
Disease chain LOD:Publishing the disease ontology as Linked Open Data
2014 Nov.9 Tutorial@JIST2014 75
Medical knowledge navigator
Causal chain exploration tool
Disease chain editing tool
Tutorial@JIST2014
Kinds of causal chain in the disease ontology
Definition of Disease:A disease is a dependent continuant constituted of one or more causal chains of (abnormal) states appearing in a human body.The kinds of causal chain in the disease ontology・General Disease Chains are all possible causal chains of (abnormal) states in a human body. They are referred to by all disease definitions. ・Core Causal Chain is a causal chain that is shown in all patients of the disease. ・Derived Causal Chains of a disease are causal chains obtained by tracing general
disease chains upstream (imply possible causes) or downstream (imply possible symptoms) from the core causal chain.
General Disease Chains
…
…
…
……
…
Derived Causal Chains
Sub-classes of a disease are defined by extending ranges focusing causal chains
Core Causal Chain
2014 Nov.9 76Abnormal state
Causalrelation
An example of causal chain constituted diabetes.
2014 Nov.9 77
Abnormal state (nodes)
Causal RelationshipCore causal chain of a disease(each color represents a disease)
Legends
loss of sight
Elevated level of glucose in the blood
Type I diabetesDiabetes‐related Blindness
Steroid diabetes
Diabetes…
…
……
…
…
…
… … …
…
possible causes and effects
Destruction of pancreatic beta cells
Lack of insulin I in the blood
Long-term steroid treatment
Deficiency of insulin
Is-a relation between diseases using chain-inclusion relationshipbetween core causal chains
Tutorial@JIST2014
Defining core causal chains /derived causal chains
2014 Nov.9 78
The core causal chain of the disease which are currently selected
Causal chains inherited from upper class of the selected disease
Derived Causal Chains
Clinicians described definitions of disease using a visual editing tool for causal chains of diseases.
Ex) Definition of “angina pectoris(狭心症)”
=They are not included in the definition (core causal chain) ofthe disease but typically observed in its patients.
Tutorial@JIST2014
Defining general disease chains
2014 Nov.9 79
The kinds of causal chain in the disease ontology・General Disease Chains are all possible causal chains of (abnormal) states in a human body. They are referred to by all disease definitions. ・Core Causal Chain is a causal chain that is shown in all patients of the disease. ・Derived Causal Chains of a disease are causal chains obtained by tracing general
disease chains upstream (imply possible causes) or downstream (imply possible symptoms) from the core causal chain.
....
It is obviously difficult to define all general causal chains in advance, because it is impossible to know all possible states in the human body and the causal relation-ships among them.
Tutorial@JIST2014
We define the general disease chains by generalizing core/derived causal chains defined by clinicians in bottom-up approach.
We can get general disease chains that represent all causal chains in which clinicians are interested when they consider all defined diseases.
We can get not only derived causal chains, defined by the clinician directly, but also causal chains, derived by tracing the general disease chains through all clinical areas.
Clinical Area The number of Abnormal states
The number of Diseases
Allergy and Rheumatoid 1,195 87
Cardiovascular Medicine 3,052 546
Diabetes and Metabolic Diseases 1,989 445
Orthopedic Surgery 1,883 198
Nephrology and Endocrinology 1,706 198
Neurology 2,960 396
Digestive Medicine 1,125 233
Respiratory Medicine 1,739 788
Ophthalmology 1,306 561
Hematology and Oncology 354 415
Dermatology 908 1,086
Pediatrics 2,334 879
Otorhinolaryngology 1,118 470
Total 21,669 6,302
Current state of the disease ontology (2013/03/11)
2014 Nov.9 Tutorial@JIST2014 80
Visualization and exploration of general causal chains
2014 Nov.9 Tutorial@JIST2014 81
From 13 medical divisionsAll 21,000 abnormal statescan be visualized with possible causal relationships
Implementing the Disease Ontology
2014 Nov.9 82
Core CausalChain
DerivedCausal Chain
Abnormal stateKinds of
causal chain
Causal relationship
Core chain
Derived chain
Kinds of causal chain
Kinds of causal chain
Core chain
Tutorial@JIST2014
Causal relationship
Causal relationship
Causal relationship
Abnormal state
Abnormal state
Disease
We developed the disease ontology using Hozo.A disease are represented by combination of abnormal states with causal relationships and kinds of chain.
Purpose to publish ontology as Linked Data
Purpose to publish ontology as Linked Data To provide common vocabulary and schema for
instances (RDF graphs) To define semantics for reasoning To use systematized knowledge base (knowledge
infrastructure) Ontology representation language
RDFS: simple schema language for ontologies which do not have many complicated class definitions.
SKOS: data model for sharing a common vocabulary such as thesauri, taxonomies etc.
OWL: many semantics to represent detailed class definitions (for reasoning)
2014 Nov.9 Tutorial@JIST2014 83
hasCause
coronary_stenosis
owl:onProperty
owl:allValuesFrom
myocardial_ischemia
rdfs:subClassOf
owl:Restrictionrdfs:type
Abnormal_State
rdfs:subClassOf
hasResultowl:onProperty
owl:allValuesFrom
rdfs:subClassOf
chest_pain
rdfs:type
OWL representation of a general causal chain
2014 Nov.9 Tutorial@JIST2014 84
coronarystenosis
myocardialischemia chest pain
Blank nodes
SPARQL to get a cause of “myocardial ischemia”PREFIX dont: <http://www.hozo.jp/ontology/DiseaseOntology#>select ?owhere { dont:myocardial_ischemia rdfs:subClassOf ?e
?e owl:allValuesFrom ?o?e owl:onProperty dont:hasCause?e rdf:type owl:Restriction }
This query is not intuitive.
Abnormal state Causal relation
hasCause
coronary_stenosis
myocardial_ischemia owl:Restriction
When we want to get a definition of disease, we need more complicated SPARQL queries.
2014 Nov.9 Tutorial@JIST2014 85
coronary stenosis
myocardialischemia
chest pain
Derived causal chain
Core causal chain
OWL representation of a definition of disease
An example of OWL representation of a definition of disease
We designed an original RDF model to publish the disease ontology as linked data, because we thought a simple RDF model was more efficient than a complicated OWL model.
RDF data model for the Disease Chain LOD
2014 Nov.9 Tutorial@JIST2014 86
We extracted information about causal chains of diseases from the disease ontology and concerted them into RDF formats as a linked data.
All classes in the ontology also are represented as instances (RDF resources) for convenience of queries.
We designed the RDF model so that the users can obtain necessary information about disease chains through simple SPARQL more intuitively than OWL representation.
AbnormalState 1
AbnormalState 2
AbnormalState 3
AbnormalState 4
AbnormalState 5
AbnormalState 6
Core causal chainof “Disease A”
Derived Causal Chainof “Disease B”
Derived Causal Chainof “Disease A”
Core causal chain of “Disease B”
Abnormalstate
Causal relationships
Legends
A comparison of SPARQL queries
Ex) A SPARQL queries to get a cause of “myocardial ischemia”
2014 Nov.9 Tutorial@JIST2014 87
In the case of the proposed modelPREFIX dont: <http://www.hozo.jp/ontology/DiseaseOntology#>select ?owhere {dont: myocardial_ischemia dont:hasCause ?o }
In the case of OWL representationPREFIX dont: <http://www.hozo.jp/ontology/DiseaseOntology#>select ?owhere {dont:myocardial_ischemia rdfs:subClassOf ?e
?e owl:allValuesFrom ?o?e owl:onProperty dont:hasCause?e rdf:type owl:Restriction }
coronarystenosis
myocardialischemia chest pain
To get a all cause of “myocardial ischemia”where {dont: myocardial_ischemia dont:hasCause* ?o }
hasCause
coronary_stenosis
owl:onProperty
owl:allValuesFrom
myocardial_ischemia
rdfs:subClassOf
owl:Restrictionrdfs:type
Abnormal_State
rdfs:subClassOf
hasResultowl:onProperty
owl:allValuesFrom
rdfs:subClassOf
chest_pain
rdfs:type
hasCause
coronary_stenosis
myocardial_ischemia owl:Restriction
coronarystenosis
myocardialischemia chest pain
hasResult
hasCause
hasResult
hasCause
coronarystenosis
myocardialischemia
Example queries to get abnormal states (a1) Get all abnormal states.
select ?abnwhere { ?abn rdf:type dont:Abnormal_State }
(a2) Get all cause of abnormal state <abn_id>.select ?owhere {<abn_id> dont:hasCause* ?o }
(a3) Get general disease chain which includes abnormal state <abn_id>.select ?owhere { {<abn_id> dont:hasCause* ?o}
UNION{<abn_id> dont:hasPosibleCause* ?o} }
2014 Nov.9 Tutorial@JIST2014 88
* “dont:” represents a prefix of the Disease Chain LOD**<abn_id> represents id of a selected abnormal state.
Example queries to get definitions of disease(1) (d1) Get all disease.
select ?diswhere {?dis rdf:type dont:Disease}
(d2) Get all super diseases of disease <dis_id>.select ?owhere {<dis_id> dont:subDiseaseOf* ?o }
(d3) Get core causal chains of disease <dis_id>.select ?owhere {<dis_id> dont:hasCoreState ?o}
(d4) Get core derived chains of disease <dis_id>.select ?owhere {<dis_id> dont:hasDerivedState ?o}
2014 Nov.9 Tutorial@JIST2014 89
* “dont:” represents a prefix of the Disease Chain LOD**<abn_id> represents id of a selected abnormal state.
Example queries to get definitions of disease(2)
(d5) Get all causal chains which appear in definitions of disease <dis_id> as a list of abnormal state.select ?owhere { <dis_id> dont:subDiseaseOf* ?dis .
{?dis dont:hasCoreState ?o }UNION{?dis dont:hasDerivedState ?o}}
(d6) Get all causal chains which appear in definitions of disease <dis_id> as list of causal relationships.select DISTINCT ?abn1 ?p ?abn2 where { <dis_id> dont:subDiseaseOf* ?dis .
?abn1 ?p ?abn2 .{?dis dont:hasCoreState ?abn1}
UNION {?dis dont:hasDerivedState ?abn1}{?dis dont:hasCoreState ?abn2}
UNION {?dis dont:hasDerivedState ?abn2}}
2014 Nov.9 Tutorial@JIST2014 90
* “dont:” represents a prefix of the Disease Chain LOD**<abn_id> represents id of a selected abnormal state.
←(d2)Get all super disease ←(d3)Get core causal chain←(d4)Get derived causal chain
Current state of the Disease Chain LOD
Summary of the dataset We extracted definitions of 2,103 diseases and
13,910 abnormal states in six major clinical areas from the disease ontology (on May 11, 2013) and published as the Disease Chain LOD.
The dataset contained 71,573 triples. System for the Disease Chain
SPARQL endpoint A supporting function to help beginners input queries A simple visualization of RDF graphs
Disease Chain LOD Viewer Search function by name of disease/abnormal state Visualization of disease chain
2014 Nov.9 Tutorial@JIST2014 91The web site http://lodc.med-ontology.jp/
SPARQL Endpoint
(c)The user can also browse connected triples by clicking rectangles that represent the objects.
(a)The user can make simple SPARQL queries by selecting a property and an object from lists.
(b) When the user selects a resource shown as a query result, triples connected the resource are visualized.
2014 Nov.9 92Tutorial@JIST2014
The Disease Chain Viewer
2014 Nov.9 Tutorial@JIST2014 93
Causal chains of a disease selected form the class hierarchy or search results are visualized.
The system collect all information needed for visualizing the selected disease chain through SPARQL queries.And, the result is shown within seconds.This system works on PCs, tablets and smart phones which support HTML5.
Prototype application with Linking to other LOD
2014 Nov.9 Tutorial@JIST2014 94
•When the user browses a disease chain, it obtains related information about the selected disease and abnormal state form two other web services. •One is DBpedia (Japanese /English). The other is BodyParts3D(http://lifesciencedb.jp/bp3d/) which provide 3D images of anatomies.
Demo:the Disease Chain Viewer
The demo system are available at http://lodc.med-ontology.jp/
2014 Nov.9 Tutorial@JIST2014 95
Generalization of the approach for publishing ontology as LOD
Ontology Explorer –LOD version- To design a simple RDF format to use ontology exploration
Development of web applications using an exported ontology in OWL A case study -Abnormal State Ontology Search System
2014 Nov.9 Tutorial@JIST2014 96
Ontology Explorer –LOD version-
2014 Nov.9 Tutorial@JIST2014 97
Show related Info.on DBpedia and Wikipedia
Show the selected path
Explore next paths
Developed using a simple RDF exported from Hozo
See. Presentation JIST2014 main conferenceSession 5A: Search and Querying [Nov.11th]
Abnormal State Ontology Search System
2014 Nov.9 Tutorial@JIST2014 98
Developed using an OWL ontology (simple version) exported from Hozo
Is-a hierarchybrowsing
Definition of the selected conceptSearch conceptsin the ontology
Concluding remarks Summary
How to build ontologies using Hozo Basic usage of Hozo. Basic theories of ontological engineering in Hozo.
Some characteristic functions of Hozo Dynamic generation of is-a hierarchies Ontology Exploration
Developments of ontology-based application using An overview of application developments Some example applications
Future plan We are developing new version of Hozo focusing;
Interoperability with Linked (Open) Data technologies such as RDF/OWL2 exprorts, SPARQL …
Development of ontology-based applications The latest version with RDF/OWL2 export will be published
SOON 2014 Nov.9 Tutorial@JIST2014 99
Acknowledgements A part of this work was supported by JSPS KAKENHI Grant
Numbers 24120002 and 22240011. A part of research on medical ontology is supported by the
Ministry of Health, Labor and Welfare, Japan, through its “Research and development of medical knowledge base databases for medical information systems” and by the Japan Society for the Promotion of Science (JSPS) through its “Funding Program for World-Leading Innovative R&D on Science and Technology (FIRST Program)”.
I’m also grateful to all collaborator of each study.
2014 Nov.9 Tutorial@JIST2014 100
Acknowledgement
2014 Nov.9
Thank you for your attention!
Hozo Support Site:
http://www.hozo.jp/Contact:
101Tutorial@JIST2014