In order to reduce the cost of building domain ontologies manually, in this paper, we propose a method and a tool named DODDLE-OWL for domain ontology construction reusing texts and existing ontologies extracted by an ontology search engine: Swoogle. In the experimental evaluation, we applied the method to a particular field of law and evaluated the acquired ontologies.
Integrating a Domain Ontology Development Environment and an Ontology Search Engine
1. Integrating a Domain Ontology
Development Environment and
an Ontology Search Engine
Takeshi MORITA a,b
, Noriaki IZUMI c
, and Takahira YAMAGUCHI a
a
Graduate School of Science and Technology, Keio University, Japan
b
Research Fellow of the Japan Society for the Promotion of Science
c
National Institute of Advanced Industrial Science and Technology, Japan
8th Joint Conference on Knowledge - Based Software Engineering 2008
( JCKBSE 08 ) , August 25-28, 2008, Piraeus, Greece
2. Table of Contents
• Motivation
–Backgrounds, Issues, Goal
• System Overview
• Implementation
• Case Studies
• Conclusions
3. Backgrounds:
Semantic Web and Domain Ontology
Web Resources
Metadata
Domain Ontologies
People Software Agents
understanding and inference
common
understanding
Large Cost
with building up
manually !
Ontologies on the web
have increased
(over 10,000 as of 2007)
Ontology Search Engines
search ontologies,
classes, properties
texts
Ontology Construction Tools
(semi-) automatic
construction
General
Ontologies
4. (semi-) automatic
construction
Issues
texts
Ontology Construction Tools
(Text2Onto, OntoLT,
DODDLE-OWL, etc)
General
Ontologies Initial
Domain Ontology
Domain Ontology
Refinement
Knowledge Engineering Techniques
Natural Language Processing
Data-mining Method
Existing
Ontologies
Large Cost with refining
initial domain ontology
Ontology Search Engines
http://xmlns.com/foaf/0.1/Person
http://xmlns.com/wordnet/1.6/Person
http://swrc.ontoware.org/ontology#Person
http://www.w3.org/2000/10/swap/pim/contact#Person
http://www.aktors.org/ontology/portal#Person
http://ebiquity.umbc.edu/ontology/person.owl#Person
http://www.w3.org/2002/03owlt/imports/support003-A#Person
http://inferenceweb.stanford.edu/2004/03/iw.owl#Person
・・・・・
Ranking ontologies
by their popularity
Ontologies on the web
Not all popular ontologies are reusable
5. Goal
Texts
DODDLE-OWL:
A Domain Ontlogy rapiD
DeveLopment Environment
Web Ontology Language
extension
DODDLE-OWL:
A Domain Ontlogy rapiD
DeveLopment Environment
Web Ontology Language
extension
Taxonomic
Relationships
Other
Relationships
Domain OntologyDomain Ontology
Previous Work
WordNet EDR
Refer
General OntologiesGeneral Ontologies
Proposal
Ontology Alignment Existing
Ontologies
Acquiring Ontologies
Ranking Ontologies
Extracting Elements
6. System Overview
Ontology Alignment
Ontology Refinement
Domain Ontology
Input Term Selection
Ranking Ontologies
Reference
Ontologies
Input Concept
Selection
Extracting Elements
Acquiring Ontologies
Ontology Construction
Texts
7. Acquiring and Ranking Ontologies
Input Terms
Existing Ontologies
Step5: Removing the unnecessary properties
Step6: Extracting Elements
Step7: Ranking Ontologies
URIs of
Classes
Step2: Acquiring the properties
rdfs:domain
rdfs:range
Property
Class
Class
URIs of
Properties
Step3: Acquiring the classes
rdfs:domain
rdfs:range
Property
Class
Class
rdfs:label
Step1: Acquiring the classes and properties
Property “Input Term”
Class “Input Term”
rdfs:label
Step4: Acquiring the ontologies
URIs of
Classes
8. Step6: Extracting Elements
A existing ontology
described in OWL
Concepts
(classes and properties)
Labels of Concepts
Descriptions of
Concepts
Super-subrelations
Other relations
Ontological Elements
Finding concepts
related to input terms
Word sense
disambiguation
Constructing
Taxonomic
relationships
Constructing
Other relationships
Essential for
ontologies
9. Step7: Ranking Ontologies
• Ranking measure
–The ratio of input concept in the
ontology (Main)
• Proposed
–OntoRank (Complementary)
• used by Swoogle
• Ranking by popularity
10. Implementation
• Java Language
• Using Library
– Jena: a Java framework for building Semantic Web
applications
• Exporting ontology in OWL format
• Extracting elements with SPARQL
– JWNL: Java WordNet Library
– SS-Tagger: English Tagger
– GoSen: morphological analysis library for Japanese
• Extended Modules
– Acquiring Ontologies Module
– Extracting Elements Module
11. Acquiring Ontologies Module
Type Swoogle Web Service Input Output
(1) Search ontology search keyword
List of SWO which relates to
the input search keyword
(3) Search terms search keyword
List of SWT which relates to
the input search keyword
(4)
Digest
semantic web document
SWD
Swoogle Metadata
for the input SWD
(13)
List documents
using term
SWT
List of SWD defining/referencing/
populating the input SWT
(16)
List domain classes
of a property
property
List of classes which are used as
the rdfs:domain of the input property
(17)
List properties
of a domain class
class
List of properties which use
the input class as their rdfs:domain
(18)
List range classes
of a property
property
List of classes which are used as
the rdfs:range of the input property
(19)
List properties
of a range class
class
List of properties which use
the input class as their rdfs:range
The selected Swoogle web services and their inputs and outputs
[1] Search ontology
[2] Search documents
[3] Search terms
[4] Digest semantic web document
[5] Digest semantic web term
[6] Digest semantic web namespace
[7] list document out-links
[8] list document in-links
[9] list terms in document
[10] list namespaces used by document
[11] list terms using namespace
[12] list documents using namespace
[13] list documents using term
[14] list term definition
[15] list definition dependency
[16] list domain classes of a property
[17] list properties of a domain class
[18] list range classes of a property
[19] list properties of a range class
Swoogle provides 19 types of search services using REST interface
Selecting 8 types of REST web-service interfaces,
which can be used for acquiring existing ontologies
12. An Example of Swoogle Web Service
http://logos.cs.umbc.edu:8080/swoogle31/q?
& queryType=search_swt
& searchString=(label:person) (type:owl.class OR type.rdfs.class)
&key=demo
A REST query for searching person classes
service URI
parameters
<rdf:RDF>
<swoogle:QueryResponse>...
<swoogle:hasResult>
<rdf:Seq>
<rdf:li>
<wob:SemanticWebTerm rdf:about="http://xmlns.com/foaf/0.1/Person">
<swoogle:hasTermRank>16848.3765738951</swoogle:hasTermRank>
<swoogle:usesNamespace>
<wob:SemanticWebNamespace rdf:about="http://xmlns.com/foaf/0.1/"/>
</swoogle:usesNamespace>
<swoogle:hasLocalname>Person</swoogle:hasLocalname>
</wob:SemanticWebTerm>
</rdf:li>
<rdf:li><wob:SemanticWebTerm rdf:about="http://xmlns.com/wordnet/1.6/Person"> ..... </rdf:li>
<rdf:li><wob:SemanticWebTerm rdf:about="http://swrc.ontoware.org/ontology#Person"> .....</rdf:li>
</rdf:Seq>
</swoogle:hasResult>
</swoogle:QueryResponse>
</rdf:RDF>
Output: person classes and their attributes
http://xmlns.com/foaf/0.1/Person
http://xmlns.com/wordnet/1.6/Person
http://swrc.ontoware.org/ontology#Person
http://www.w3.org/2000/10/swap/pim/contact#Person
http://www.aktors.org/ontology/portal#Person
http://ebiquity.umbc.edu/ontology/person.owl#Person
http://www.w3.org/2002/03owlt/imports/support003-A#Person
http://inferenceweb.stanford.edu/2004/03/iw.owl#Person
・・・・・
Extracting classes using Jena
13. Acquiring Ontologies Module
Input Terms
URIs of
Classes
URIs of
Properties
Existing Ontologies
Step2: Acquiring the properties
rdfs:domain
rdfs:range
Property
Step3: Acquiring the classes
rdfs:domain
rdfs:range
Property
Step4: Acquiring the ontologies
Step5: Removing the unnecessary properties
Step6: Extracting Elements
Step7: Ranking Ontologies
rdfs:label
Step1: Acquiring the classes and properties
Property “Input Term”
Class “Input Term”
rdfs:label
Class
Class
Class
Class
URIs of
Classes
(3) Search terms
(17)
List properties
of a domain class
(19)
List properties
of a range class
(16)
List domain classes
of a property
(18)
List range classes
of a property
(1) Search ontology
(4)
Digest semantic
web document
(13)
List documents
using term
Step1
Step2
Step3
Step4
14. Extracting Elements Module
PREFIX rdfs: http://www.w3.org/2000/01/rdf-schema#
SELECT ?label ?description
WHERE {
{ rdfs:label ?label} UNION { rdfs:comment ?description}
}
An extracting labels and descriptions template for RDFS and OWL
The five types of templates described in SPARQL:
classes, properties, labels and descriptions,
super-subrelations, and other relations
URI1 rdfs:label goods
URI2 rdfs:label payment
URI3 rdfs:label price
URI4 rdfs:label party
URI5 rdfs:label person
Ontology
goods, payment, price, party, person
URI1 rdfs:label goods
URI2 rdfs:label payment
URI3 rdfs:label price
URI4 rdfs:label party
URI5 rdfs:label person
Ontology
price
?concept ?conceptURI3 URI3
15. Case Studies
Target Domain A particular field of law
Input Document CISG (Contract for the International
Sale of Goods) Part-II
Language English
# of Input Terms 46
Specification
We evaluated our proposed method
especially for the acquiring and ranking
of existing ontologies.
16. Results
Rank
# of Input Concepts
(OntoRank)
URL of Ontology
1 15 (0.881) http://www.loa-cnr.it/ontologies/OWN/OWN.owl
2 15 (0.881) http://www.w3.org/2001/sw/BestPractices/WNET/wnNounsyn_v7.owl
3 12 (642.815) http://morpheus.cs.umbc.edu/aks1/ontosem.owl
4 12 (0.860) http://www.cs.umbc.edu/~aks1/ontosem.owl
5 11 (0.735) http://rhizomik.net/ontologies/2005/07/FrameNet_1.1_inferred.owl
6 11 (0.726) http://rhizomik.upf.edu/ontologies/2005/07/FrameNet_1.1.owl
7 11 (0.726) http://rhizomik.net/ontologies/2005/07/FrameNet_1.1.owl
8 10 (0.875) http://athena.ics.forth.gr:9090/RDF/VRP/Examples/DCD100.rdf
9 10 (0.875) http://139.91.183.30:9090/RDF/VRP/Examples/DCD100.rdf
10 9 (1.701) http://www.cyc.com/2004/06/04/cyc
Coverage Rate of Input Terms 0.717(33/46)
# Acquired Ontologies 120
# Acquired Classes 331
# Acquired Properties 558
The top 10 existing ontologies acquired
using Swoogle Sorted by ratio of input concept
General Ontologies
(WordNet, FrameNet, Cyc)
E-Commerce Ontologies
17. 46 Input Terms
acceptance act addition address
assent circumstance
communication
system
conduct
contract counteroffer day delay
delivery discrepancy dispatch effect
envelope goods holiday indication
intention invitation letter modification
offer offeror offeree party
payment person place of business price
proposal quality quantity rejection
reply residence revocation silence
speech act telephone telex time
transmission withdrawal
Red colored input terms were included
in the E-commerce ontology.
18. Conclusions
• Integrating DODDLE-OWL and
Swoogle
• Reusing existing ontologies for domain
ontology construction
• Acquiring Ontologies
• Ranking Ontologies
• Extracting Elements
• Case Studies
• Acquiring and ranking of existing
ontologies for a particular field of law
• Acquired E-commerce ontologies which
included several legal concepts
19. Future Works
• Putting similar ontologies together
– Different versions of the same ontology
– Same ontologies, but with a different URL
• Constructing Domain Ontology using
ontology alignment from several
existing ontologies
20. Thank you for your attention
DODDLE-OWL has been released.
Please visit this web site, if you like it.
http://doddle-owl.sourceforge.net