23
K-CAP2009 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

Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

Embed Size (px)

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.

Citation preview

Page 1: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

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

Page 2: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

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

Page 3: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

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

Page 4: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

K-CAP2009 4

Overview

• KE best practices: CommonKADS

• Identify Semantic Web Tasks

• Validation of those tasks

• Identify Inferences

• Quasi-validation of those inferences

Page 5: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

K-CAP2009 5

Task Knowledge• Goal + method• Decomposition• Control

Inference knowledge• Functions• Roles• Domain mapping

Domain Knowledge• Scheme• Knowledge• Facts

Knowledge Categories

Page 6: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

K-CAP2009 6

Example of inference structure: Diagnosis

complaint

cover

specify

select obtain

hypothesis

observable

finding

hypothesis

verify

result

Page 7: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

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

Page 8: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

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

Page 9: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

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

Page 10: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

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

Page 11: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

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

Page 12: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

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

Page 13: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

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

Page 14: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

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)

Page 15: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

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)

Page 16: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

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.

Page 17: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

K-CAP2009 17

Inference structure for Search

C

T

I

Classify Subconcepts

Retrieve

Instances

Page 18: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

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

Page 19: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

K-CAP2009 19

Inference structurefor Personalisation

Iprofile

T

Idata

realise concepts

Retrieve

Instances

classify subconcepts

Page 20: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

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

Page 21: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

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.

Page 22: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

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.

Page 23: Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

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!