knowledge engineering rediscovered, towards reasoning patterns for the semantic web

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

Upload: frank-van-harmelen

Post on 05-Dec-2014

711 views

Category:

Documents


6 download

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

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!