ontology building and its application using hozo

Post on 05-Jul-2015

894 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Tutorial in JIST2014, Chiang Mai, Thailand, 7th Sep. 2014

TRANSCRIPT

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:

kozaki@ei.sanken.oaka-u.ac.jp

101Tutorial@JIST2014

top related