Semantic Web Technology and Ontology Engineering at KMUTNB Seminar (15052014) by Dr.Krich Intratip (Peakmaker) : https://www.facebook.com/groups/zimmaticlab/
1. Semantic Web and Ontology Engineering :
Seminar and Workshop
Dr.Krich Intratip (Peakmaker): PhD. in IT
IT Seminar on 15/05/2014
2. Agenda
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
Fundamental of Semantic Web
Technology
Semantic Web application :
Development and Challenging
Research trend on Semantic Web
An Ontology Engineering :
GT Approach and Tools
5. Semantic Web was introduced
Berners-Lee at the Home Office,
London, 2010
T. Berners Lee, J. Hendler and O. Lassila.
The Semantic Web. Scientific American, May 2001.
”The Semantic Web is an extension of the
current web in which information is given
Well-defined meaning, better enabling
computers and people to work in
cooperation.”
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
6. Semantic Web was introduced
Berners-Lee at the Home Office,
London, 2010
The semantic web : an interview with Tim Berners Lee, Consortium
Standard Bulletin, 2005.
http://www.consortiuminfo.org/bulletins/semanticweb.php
“The semantic web is designed to
smoothly interconnect personal
information management, enterprise
application integration, and the global
sharing of commercial, scientific and
culture data. We are talking about data
here, not human documents.”
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
7. 7
What Is An Ontology?
• Ontology (Socrates & Aristotle 400-360 BC)
• The study of being
• Word borrowed by computing for the
explicit description of the conceptualization of a domain:
– concepts
– properties and attributes of concepts
– constraints on properties and attributes
– Individuals (often, but not always)
• An ontology defines
– a common vocabulary
– a shared understanding
http://www.co-ode.org/resources/tutorials/iswc2005
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
8. Why Develop an Ontology?
• To share common understanding of the
structure of descriptive information
– among people
– among software agents
– between people and software
• To enable reuse of domain knowledge
– to avoid “re-inventing the wheel”
– to introduce standards to allow interoperability
http://www.co-ode.org/resources/tutorials/iswc2005
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
10. 2.0 VS 3.0
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
11. Database App. VS Semantic Web App.
Transaction
•Table & Data
•Relationship for join data
•Query
•Can’t separate domain knowledge
from programming code
•Intelligence by human
Semantic
•Concept & Instance
•Relationship create meaning
•Inference
•Domain knowledge independence
•Intelligence by machine
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
12. Triple makes a semantic
Meaning
Subject
Predicate
Object
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
14. Structural Relations
Class roles Ontology
Super
class
Sub
class
Is-a
Part-of
Attribute
-of
RDF/OWL
Relations
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
16. Ontology
OWL
Knowledge Relation of Things
Logic
Database
Data
represents
represents
implemented by
is
is
SWRL
implemented by
applied with
Intelligence
introduces
Semantic Web Technology
is a kind of
is a kind of
Semantic Web Concept
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
17. Group of entities
ClassInterested topics Relations
is a
captures from represented by
has
Knowledge
has a
Logic
Rules of the knowledge
Knowledge powerful
(Intelligence)
is a
increases
has a
Instances
Data items of the
concepts or entities
URI
are
referred bystored in
has
referred by
Semantic Web
Domain concept
used by
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
18. http://semanticweb.org/id/Denny_Vrandecic
URIs / IRIs
• URIs are “Uniform Resource Identifiers”
– IRI: Unicode-based “Internationalized Resource Identifiers”
• Every URI identifies one entity
• Semantic Web URIs usually use HTTP
– HyperText Transfer Protocol
– Can be resolved to get more data (ideally)
– Linked data
Protocol
Domain Local name
thing:Denny_Vrandecic
Prefix
Namespace
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
24. Web 3.0, Semantic Web, Ontology, Linked data
• Web 3.0 เป็นยุคของเว็บจะเข้าใจเรื่องยุคของเว็บต้องไปดูความเป็นมาจาก Web
1.0(Hyperlink-Web of documents) -> Web 2.0(Social,
Collaborative, Networking Web) ->Web 3.0(Intelligent Web,
Web of linked data) ซึ่งแต่ละยุคก็เน้นประโยชน์การใช้งานเว็บไปคนละอย่าง
• Semantic Web เป็นเทคโนโลยีหนึ่งของ Web 3.0 ที่ว่าด้วยเว็บเชิงความหมายที่
คอมพิวเตอร์สามารถอ่านแล้วรับรู้ได้(machine readable) เทียบเคียงคล้ายกับ SOA ที่
เป็นเทคโนโลยีหนึ่งของ Web 2.0
• Ontology เป็น main component ของ Semantic Web หมายความว่าหาก
ไม่มี ontology แล้วก็จะไม่เกิด Semantic Web นั่นเอง แต่ ontology ไม่ใช่
ทั้งหมดของ Semantic Web แค่องค์ประกอบหลักเท่านั้น
• Linked data เป็นลักษณะหนึ่งหรือแนวทางหนึ่งในการ implement ตัว
Semantic Web แน่นอนที่สุดแล้วสิ่งที่อยู่เบื้องหลังมันก็คือ ontology นั่นเอง
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
30. Some of ontology (re)-engineering processes
(Knowledge extraction)
• Define topic area
– หัวข้อที่สนใจคืออะไร?
• Define domain specific
– ประเด็นที่สนใจในหัวข้อนั้นที่ต้องการให้ความหมายหรือการอธิบายคืออะไร?
• Define intend to use (Domain expert)
– การให้ความหมายหรือการอธิบายนั้นเพื่อวัตถุประสงค์ใด?
• Breakdown into sub-domains/concepts
– กลุ่มแนวความคิดย่อยหรือความหมายกลุ่มย่อยคืออะไรบ้าง?
– Review literature (Consider reuse)
• Define indicators in each concept
• Define indicator measurement
• Define scale of the measurement
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
31. Instrument & Ontology design
Domain
Intend to use
Concept
1
Concept
2
Att. 1 Att. 2 Att. 3 Att. 4 Att. 5
StringInt
ตัวบ่งชี้นามธรรม
ตัวบ่งชี้สังเกตได้
มาตรวัด
ขอบเขต
ให้ความหมาย
ในสิ่งที่ต้องการ
อธิบาย
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
32. Principle of defining class and its relation
• Class (นามธรรมที่ต้องการการอธิบาย)
– มี class node อยู่ 2 ประเภท
• Concept node ควรต้องได้รับการอธิบายเพิ่มเติมจาก node อื่น
– กฎ : ไม่สามารถเป็นที่อยู่ของ Instance ได้
• Attribute node ควรต้องได้รับการอธิบายเพิ่มเติมด้วยการใส่ Instance
– กฎ : เป็นที่อยู่ของ Instance
– มีความสัมพันธ์ระหว่าง concept node ได้สองแบบ
• Is-a, Part-of
– มีความสัมพันธ์ระหว่าง concept node กับ Attribute node ได้
แบบเดียว คือ Attribute-of
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
33. Principle of defining instance and its relation
• Instance (data item)
– กฎ : ต้องถูกบรรจุอยู่ใน Attribute node
• One fact in one place
• Atomic value
• Relation
– กับ Attribute node เป็น Instance-of
– ระหว่าง Instance อื่นใน Attribute node อื่นจะเป็น Has_???
• เข้าใจธรรมชาติของ Instance ว่าสามารถเจริญเติมโตไปเป็น Node ได้เมื่อ
มีการเปลี่ยนแปลงจาเป็นต้อง re-structure ontology
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
34. Class/Instance and their relations
concept
concept
concept
concept
concept
attribute
Is-a Part-of Att-of
Ins-of
parent
child
Intrinsic/Concrete VS Extrinsic/Logical
instance
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
35. INFERENCE ?
QUERY & RULE
35
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
38. หลักการสาคัญในการออกแบบ Ontology
• พิจารณาความละเอียดหยาบของสิ่งที่ต้องการอธิบาย และให้แต่ละระดับของการ
อธิบายมีความละเอียดหยาบพอๆกัน (Generic VS Specific)
• ปกติแล้ว Ontology ใช้หลักการจัดกลุ่มจัดประเภทข้อมูลหรือกลุ่มแนวคิด
เป็นหมวดหมู่ (Taxonomy) เป็น Hierarchy แล้วใช้ First order
logic ในการอนุมานความหมาย ซึ่งความหมายจะไม่คลุมเครือถ้าหากข้อมูล
หรือกลุ่มแนวคิดนั้นมีอยู่ที่เดียว(Unique) ในโครงสร้าง Ontology
• จะเพิ่มความสามารถในการ Reuse ให้กับ Ontology ได้ โดยทาให้
Ontology นั้นมีความหมายชัดเจนอย่างใดอย่างหนึ่งตามเจตนารมณ์การใช้
งาน
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
39. Ontology quality attributes
• Business (Usage) Objectives and scope must
be clearly identified
• Knowledge must be reliable
• Knowledge must be accessible and available
• Knowledge must be shared and integrated
seamlessly
intention
reliable
sources/processes
Web technology
and triple
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
40. IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
41. Knowledge & Ontology development life cycle
Describe
domain and
intend to use
Instrument
development
Gather
information
Build up
domain
knowledge
Practice
based
ontology
design
Inference
over
ontology
meaning
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
42. Maintenance and performance problems
Hard to
maintenance
Domain knowledge
is in both its
ontology and its
programming code
One fact is in many
places
Lack of
performance
Ontology is
too big
Unnecessary
nodes or
instances
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
44. Domain knowledge is in both the ontology and
its programming code
• Not only programming problem but also
ontology design problem
• Domain knowledge should be in ontology and
should not be in programming code
• Hard to maintain the ontology (adding,
deleting, removing, modifying)
• Blur in domain and range of the attribute
• Cause to composite value
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
45. Example of composite value
Black color Label
Black Label Red Label
Black box, color of box is black
Red Box, color of box is red
Black t-shirt,
color of t-shirt is black
Product name
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
46. Example of composite value
Black color Label
Black Label Red Label
Black box, color of box is black
Red Box, color of box is red
Black t-shirt,
color of t-shirt is black
Product name
Composite value Non-composite value
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
47. Example of composite value
Black color Label
Black Label Red Label
Black box, color of box is black
Red Box, color of box is red
Black t-shirt,
color of t-shirt is black
Product name
It is a design problem issue, not only programming problem issue.
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
48. Some domain knowledge are thrown
in Programming area
Composite value
Ontology area
Programming area
“Blackbox”
“Black box”
Black
Box
Separateto
What does it mean?
What is the box color?
What is the item?
for
for
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
49. Optimizing Rules
• Step-wise approach for improving for ontology
design
– 4 optimizing rules
• Remove composite-values to optimize the
maintenance
• Remove one fact in many places to optimize the
maintenance
• Remove unused class to optimize the performance
• Remove unnecessary class to optimize the
maintenance and performance
“Optimize both the maintenance and performance”
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
50. Research trend on Semantic Web
Berners-Lee says the next big thing for changing and
understanding the world, and the next big thing for the
internet, is the ability to access whatever data we need,
whenever we need it. By connecting our data together
we can solve world problems and make life easier.
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
61. 7 ontology design problems
(150 samples from in-depth interview)
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Structure
Redundancy
Composite value
InferencePerformance
Reusablility
Maintainablility
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
62. Ontology building problems
(150 samples from in-depth interview)
7
problems
Design Knowledge
acquisition
87% 100%
Solved 67% Solved 7%
Design
principle
SourcesExtraction
method
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
63. Research problems
• Ontology is not reliable
Problems
Mistake on ontology
design
Ontology is not fit
Mistake on knowledge
extraction process
Semantic Web
development
Semantic Web application
performance
Reliabilityon
Semantic Web application
Impact
ImpactImpact
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
64. An example of relevance theory
56/20 หมู่ 5 ต.ปลายบาง อ.บางกรวย จ.นนทบุรี 11130
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
66. Business rule approach
• List business rules using If-Then format and
align them
• Identify nodes(concept and attribute) and
their relations
• Group rules within nodes
• Identify Usecase
• Create procedure
• Create OWL using nodes and their relations
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
67. Scenario
• Case : OO-Programming expert
• Need to know who are the expert in OO-
Programming though, the system has no
related information about OO in
knowledgebase
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
68. List business rules
• If the man know C++ then imply that the man knows OO
• If the man know C# then imply that the man knows OO
• If the man know Java then imply that the man knows OO
• If the man know C then imply that the man knows Structure programming
• If the man know Pascal then imply that the man knows Structure
programming
• If the man know VB then imply that the man knows .Net framework
• If the man know C# then imply that the man knows .Net framework
• If the man know PHP then imply that the man knows web programming
• If the man know ASP then imply that the man knows web programming
• If the man know JSP then imply that the man knows web programming
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
69. Identify nodes(concept and attribute)
• Concept nodes
– Person
• Attribute nodes
– Name
– Programming skills
• Instances
– C++
– C#
– Java
– C
– Pascal
– PHP
– ASP
– JSP
– IT Knowledge
• OO
• .Net framework
• Structure programming
• Web programming
• Relation
– Name (att-of) Person
– Programming skills (att-of) Person
– Name (has_Skills) Programming skills
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
70. Group rules and nodes
• G#1 : Who knows OO (Name has_skills Programming skills)
– If the man know C++ then imply that the man know OO
– If the man know C# then imply that the man know OO
– If the man know Java then imply that the man know OO
• G#2 : Who knows structure programming (Name has_skills Programming
skills)
– If the man know C then imply that the man know Structure programming
– If the man know Pascal then imply that the an know Structure programming
• G#3 : Who knows .Net framework (Name has_skills Programming skills)
– If the man know VB then imply that the man know .Net framework
– If the man know C# then imply that the man know .Net framework
• G#4 : Who knows web programming (Name has_skills Programming skills)
– If the man know PHP then imply that the man know web programming
– If the man know ASP then imply that the man know web programming
– If the man know JSP then imply that the man know web programming
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip
71. Identify Usecase
List person who knows structure
programming
List person who kows OO
List persone who knows .Net
framework
User
List person who knows web
programming
IT Seminar on 15/05/2014 @ KMUTNB : Dr.Krich Intratip