knowledge engineering rediscovered, towards reasoning patterns for the semantic web
DESCRIPTION
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.TRANSCRIPT
K-CAP2009 1
Knowledge Engineering rediscovered:
Towards Reasoning Patterns for the Semantic Web
Frank van Harmelen, Annette ten Teije, Vrije Universiteit Amsterdam
Holger WacheUniveristy of Applied Sciences Northwestern
Switzerland
Paper at http://www.cs.vu.nl/~frankh/postscript/KCAP09.pdf
K-CAP2009 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 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 4
Overview
• KE best practices: CommonKADS
• Identify Semantic Web Tasks
• Validation of those tasks
• Identify Inferences
• Quasi-validation of those inferences
K-CAP2009 5
Task Knowledge• Goal + method• Decomposition• Control
Inference knowledge• Functions• Roles• Domain mapping
Domain Knowledge• Scheme• Knowledge• Facts
Knowledge Categories
K-CAP2009 6
Example of inference structure: Diagnosis
complaint
cover
specify
select obtain
hypothesis
observable
finding
hypothesis
verify
result
K-CAP2009 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 8
1. Search task (semi-formal)
• 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))}
Input: query conceptKnowledge: ontology = schema + instance setOutput: members of the instance set
K-CAP2009 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 10
Other Tasks2. Browse:
– input: a concept– knowledge: ontology + instance set– output: members of the instance set or concepts of the ontology
3. Data integration: – input: multiple ontologies with their instance sets– output: a single ontology and an instance set
4. Personalisation and recommending– input: instance set plus profile– knowledge: ontology– output: reduced instance set
K-CAP2009 11
Other Tasks
5. Web-service selection:– input: required functionality– Knowledge: ontology + set of instances of services– Output:
6. Web-service composition:– input: required functionality– Knowledge: ontology + set of instances of services– output: compositions of service instances
7. Semantic Enrichment: – input: an instance– output: set of triples with the given instance as subject
K-CAP2009 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 13
Application
search
brow
se
data in
teg
ratio
n
Person
alizatio
n
web
-servic
e sele
ctio
n
web
-servic
e com
positio
n
qu
estio
n an
sw
erin
g
sem
an
tic
en
ric
hm
en
t
ArnetMiner (2007) x x xCantabria (2007) x x xCHIP (2007) x xCOHSE (2006) x x xCollimator (2006) xCONFOTO (2005) x xDartgrid (2006) x xDbin (2006) x x ~DORIS (2007) x xDynamicView (2005) x xEachWiki (2007) xEKOSS (2006) xeMerges (2006) xFalcon-S (2006) x xFoafing the Music (2006) xFungalWeb (2005) x xGeospatial Semantic Web Services (2006) xGroupMe (2007) xiFanzy (2007) x x xInt.ere.st (2007) xJeromeDL(2007) x xMediaWatch (2007) x x xmle (2007) x xMultimediaN E-Culture (2006) x x xNotitio.us (2007) x xOyster (2005) xPaperpuppy (2006) xPersonal Publication Reader (2005) x x xPotluck (2007) x xRevyu (2007) x xRKB Explorer (2007) xSemantic MediaWiki (2006) xSemClip (2007) xSMART (2007) xswse (2007) x xWeb Services Execution Environment (2005) xwwwatch (2007) x x
Use Cases
Validation of tasks on Semantic web challenges 2005-2007
K-CAP2009 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)
2. Subsumption:– Determining whether one concept is a
subset of another– C1 x C2 x Ontology boolean
(Ontology |-- C1 C2)
K-CAP2009 15
Five primitive inferences
3. Mapping:– Finding correspondence relation between two concepts– Concept x Concept relation
4. Retrieval: – Inverse of realisation: which instances belong to a given concept– Concept instances (i c)
5. Classification:– Determining where a given class should be placed in a
subsumption hierarchy– Concept x hierarchy <C1,C2>
(c1 concept c2)
K-CAP2009 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 17
Inference structure for Search
C
T
I
Classify Subconcepts
Retrieve
Instances
K-CAP2009 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 19
Inference structurefor Personalisation
Iprofile
T
Idata
realise concepts
Retrieve
Instances
classify subconcepts
K-CAP2009 20
Quasi-Validation of inferences
Task types Primitive inference steps
realisation Subsumption & classification
mapping retrieval
search x x
browse x x x
Data integration
x x x
personalisation x x x
service selection
x x
Service composition
x
Semantic enrichment
K-CAP2009 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 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 23
Our hope is that you will...
Iprofile
T
Idata
realise concepts
Retrieve
Instances
classify subconcepts
C
T
I
Classify Subconcepts
Retrieve
Instances
describe your application at this level of abstraction!