We show how it is possible to apply the problem solving patterns from knowledge engineering to systems developed on the semantic web. This give us re-usable problem solving patterns for the semantic web, and would greatly help us to build and understand such systems.
Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web
1. Knowledge Engineering rediscovered:
Towards Reasoning Patterns
for the Semantic Web
Frank van Harmelen, Annette ten Teije,
Vrije Universiteit Amsterdam
Holger Wache
Univeristy of Applied Sciences Northwestern
Switzerland
Paper at
http://www.cs.vu.nl/~frankh/postscript/KCAP09.pdf
K-CAP2009 1
2. Knowledge Engineering rediscovered:
Towards Reasoning Patterns for the Semantic Web
Lessons from Knowledge Engineering
– How to build knowledge-based systems
out of reusable components
(CommonKADS, Generic Tasks)
– All based on Newell’s work on
Knowledge-level / Symbol-level reasoning
K-CAP2009 2
3. Knowledge Engineering rediscovered:
Towards Reasoning Patterns for the Semantic Web
• Research question:
– Can we identify reusable patterns and
components that can help designers and
implementers of SW applications?
– First step towards a methodology for building
semantic web applications out of reusable
components
• Notice:
– Existing work on reusable ontology patterns,
but little work on reusable reasoning patterns
K-CAP2009 3
4. Overview
• KE best practices: CommonKADS
• Identify Semantic Web Tasks
• Validation of those tasks
• Identify Inferences
• Quasi-validation of those inferences
K-CAP2009 4
6. Example of inference structure:
Diagnosis
hypothesis specify observable
complaint select obtain
cover hypothesis verify finding
result
K-CAP2009 6
7. Can we identify reusable semantic web
tasks and inferences?
• Seven tasks, defined by:
– Input/output types
– Definition of functionality
– Decomposed into inferences
• Five inferences, defined by:
– Input/output types
– Definition of functionality
K-CAP2009 7
8. 1. Search task (semi-formal)
Input: query concept
Knowledge: ontology = schema + instance set
Output: members of the instance set
• Search: c x O → I’
• Input: a query concept c
• Knowledge: T(O) (set of 〈ci,⊆,cj〉) and
I(O) (set of 〈i,∈,ck〉)
• Output: search(c,O) =
{〈i,∈,c〉|∃cj: 〈cj,⊆,c〉 ∈ T(O) ∧ 〈i,∈,cj〉 ∈ I(O))}
K-CAP2009 8
9. Is this the only possible
definition?
• Other definitions are possible and reasonable
• Alternative:
O |-- 〈cj,⊆, c〉 ∈ T(O) ∧ O |-- 〈i,∈,cj〉 ∈ I(O))}
• Leads to a typology of search tasks
• Helps implementers:
– Makes choices explicit
– Reusable components
K-CAP2009 9
10. Other Tasks
2. Browse:
– input: a concept
– knowledge: ontology + instance set
– output: members of the instance set or concepts
of the ontology
2. Data integration:
– input: multiple ontologies with their instance sets
– output: a single ontology and an instance set
2. Personalisation and recommending
– input: instance set plus profile
– knowledge: ontology
– output: reduced instance set
K-CAP2009 10
11. Other Tasks
5. Web-service selection:
– input: required functionality
– Knowledge: ontology + set of instances of
services
– Output:
5. Web-service composition:
– input: required functionality
– Knowledge: ontology + set of instances of
services
– output: compositions of service instances
5. Semantic Enrichment:
– input: an instance
K-CAP2009 11
– output: set of triples with the given instance as
12. Validation of tasks:
how complete are the 7 tasks?
• We classified all (38) Semantic Web
Challenge applications of 2005-2007
• 37 applications could be classified
• Often, a single application belongs to
multiple tasks
• We found no web-service selection,
but some web-service composition
K-CAP2009 12
13. question answering
web-service compo
Validation of tasks on Semantic web challenges 2005-2007
semantic enrichme
web-service selecti
data integration
Personalization
Application Use Cases
browse
search
ArnetMiner (2007) x x x
Cantabria (2007) x x x
CHIP (2007) x x
COHSE (2006) x x x
Collimator (2006) x
CONFOTO (2005) x x
Dartgrid (2006) x x
Dbin (2006) x x ~
DORIS (2007) x x
DynamicView (2005) x x
EachWiki (2007) x
EKOSS (2006) x
eMerges (2006) x
Falcon-S (2006) x x
Foafing the Music (2006) x
FungalWeb (2005) x x
Geospatial Semantic Web Services (2006) x
GroupMe (2007) x
iFanzy (2007) x x x
Int.ere.st (2007) x
JeromeDL(2007) x x
MediaWatch (2007) x x x
mle (2007) x x
MultimediaN E-Culture (2006) x x x
Notitio.us (2007) x x
Oyster (2005) x
Paperpuppy (2006) x
Personal Publication Reader (2005) x x x
Potluck (2007) x x
Revyu (2007) x x
RKB Explorer (2007) x
Semantic MediaWiki (2006) x
SemClip (2007) x
K-CAP2009
SMART (2007) x 13
swse (2007) x x
Web Services Execution Environment (2005) x
wwwatch (2007) x x
14. Five Primitive Inferences
1. Realisation:
– Given an instance, find the concepts of
which it is a member
– Instance x Ontology → concept (o |-- i ∈ c)
1. Subsumption:
– Determining whether one concept is a
subset of another
– C1 x C2 x Ontology → boolean
(Ontology |-- C1 ⊆ C2)
K-CAP2009 14
15. Five primitive inferences
3. Mapping:
– Finding correspondence relation between two concepts
– Concept x Concept → relation
3. Retrieval:
– Inverse of realisation: which instances belong to a
given concept
– Concept → instances (i ∈ c)
3. Classification:
– Determining where a given class should be placed in a
subsumption hierarchy
– Concept x hierarchy → <C1,C2>
(c1 ⊆ concept ⊆ c2)
K-CAP2009 15
16. Decomposing Tasks in
Basic Inferences
Example:
Search =
Classification: locate the query
concept in the ontology in order to find
its direct sub- or super-concepts
+
Retrieval: to determine the instances of
those sub- and super-concepts, which
form the answers to the query.
K-CAP2009 16
17. Inference structure
for Search
C Classify Subconcepts
T
Retrieve
I
Instances
K-CAP2009 17
18. Decomposing Tasks in
basic Inferences (2)
Example 2:
Personalisation (eg. based on previously bought
items) =
Realisation: to obain the concepts that
describe these items
+
Classification: to find closely related
concepts
+
Retrieval: to obtain instances of such related
concepts, since these instances might of be
interest to the user
K-CAP2009 18
19. Inference structure
for Personalisation
Iprofile realise concepts classify subconcepts
T
Retrieve
Idata
Instances
K-CAP2009 19
20. Quasi-Validation of inferences
Task types Primitive inference steps
realisation Subsumption mapping retrieval
&
classification
search x x
browse x x x
Data x x x
integration
personalisation x x x
service x x
selection
Service x
composition
Semantic
K-CAP2009 20
enrichment
21. Conclusion
• First step towards a methodology for
building semantic web applications out
of reusable components:
tasks and inferences
• Attempt at a knowledge level
description of semantic web reasoning
• Enables analysis and reuse at a higher
level of abstraction.
K-CAP2009 21
22. Next steps
• Further investigation of set of inferences
and tasks:
– E.g. Right level of inferences (too DL-driven?)
– E.g. More complex task definitions
• Model real applications as inference
structures.
K-CAP2009 22
23. Our hope is that you will...
Iprofile realise concepts classify subconcepts describe your
T
application at this level
Retrieve
of abstraction!
Idata
Instances
C Classify Subconcepts
T
Retrieve
I
K-CAP2009 Instances 23
Hinweis der Redaktion
This paper is more an idea, then technical result.
‘ 90 systematic analysis of task types and corresponding problem solving methods. (Chandrasekaran) We will use the CommonKADS terminology: Newell: shift from symbol level (implementation) to the more abstract knowledge level. Abstract knowledge level is identifying generic task-types, reusable problem solving methods, reusable inference steps, Result: libraries of reusable components for knowledge based systems CommonKADS is wide common used method for this. Most of current description of SW reasoning are on the symbol level and in this paper we try to propose knowledge-level description of SW reasoning. As we know: reusability as advantages like; quality of design decrease the costs by reusing tried-and-tested design patters and component implementations Most of current description of SW reasoning are on the symbol level and in this paper we try to propose knowledge-level description of SW reasoning.
Web has put lots of emphasis on the reusability of knowledge in the form of ontologies. This results in ontology patterns. Yesterday we had a talk about “ontology design patterns”. NOT: reasoning patterns. We try to do this. Such methodology should leads to: 1) libraries of reusable design patterns and implementations 2) also for understandig the current semantic web applications (types, and relations between them)
First: domain knowledge, then Inference knowledge, then task. Inference knowledge the primitives for the task knowledge. Reusable components: task + inferences
Inferences structure most important that we use for identifying reusable components
Task and inferences are the reusable components.
The first task that we identified is semantic search. Search: query: set of keywords (SW: query is concept description) match this concept to ontology, instance set is organised following this ontology. matching members are returned. Make choice of what you mean with search. There are other possibilities.
(KORTER) Browse: also concepts returned and then repeating the same action. Difference with search: its output can be either a se of instances (as in search), or a set of concepts (that can be used for repeating the same action (thus further browsing). Again: alternative definitions like: Returning neighbourhood of the concept (sub and super concepts) Wider neighbourhood, so indirect sub and super concepts Deducing neighbourbood, (using entailment in stead of element of (=explicitly know relations) Data integration: multiple instances sets organised in their own ontologie and construct a single merge instance set organised in a single, merged terminology. Typically: - all input instances are part of the output (again different task definitions are possibe) output terminoloy consists of all the input terminologies enriched with relationsships between elements of the different ontologies, For instance using “same-as” relation. often no perfect 1-1 matching between ontologies Personalisation: typically large instance set as input. Profile can be either set of instances (previous bought items) or set of concepts (news-casting sites typically use general categories of interest, so concepts) Returning a data set based on this profile. Here again different definitions: eg. Using Profile with instances OR Profile with concepts.
Web-service selection: searching for active components instead of static obects (text, images etc) Concept c is now a description of the functionality of a web-service. (notice relation with search) Web-service composition: more difficult then web-service selection (notice relation with search) Notice much harder, because \\elem and \\subsumption is harder to compute because now we have functionality description. Web service composition: even more difficult then web-service selection. Output is a control flow of web-services. Semantic Enrichment: This task is annotating obects (images, documents) with meta-data.
Notice: this is more validating the task types, and not the proposed definitions (many more are possible/required). Almost all application can be classified. 37 applications classified: The single missing application (SMART 2007) can best be described as “question answering”. This is indeed a valid and reusable task. We were not able to come up with a reasonably formal definition of this task. NiET NOEMEN: Single application, multiple tasks: example Multimedian: search, browsing, enrichment Also: search and browse are often together in an application. This observation is also known from the KE. To our suprise we found no webservice selection.
This table is in the paper.
Tasks will be decomposed in primitive inferences. Now, I will give the primitive inferences. Primitive we mean inference that can be used for composing a task. So a task can be decomposed into primitive inferences. (CommonKADS terminology) Notice we give five basic inferences, these could be different.
Mapping relation can be: Equivalence - subsumption - overlap - disjointness Notice: classsification and mapping can be considered as repeated subsumption checks. So these 5 basic tasks could also be chosen differently. It is more the idea of having basic inferences (not minimal set, but useful in practice) Now we have primitive inferences and tasks. I will show for two tasks how these can be decomposed into inferences.
Classification is the iterated version of subsumption. Therefore in one column. Semantic enrichment can not be defined based on these reasoning tasks. Reason: usually in reasoning the input facts are assumed to be given, while semantic enrichement deals with constructing these input facts. EVENTUEEL OVERSLAAN
Question Answering: input: query; knowledge: ontology + instance set + background knowledge; output: answer Vergelijk/gebruik van de kads-inferences