Title: KBS Development on the Semantic Web
1KBS Development on the (Semantic) Web
- David Corsar
- Derek Sleeman
- Department of Computing Science
- University of Aberdeen
2Overview
- Introduction
- Building Knowledge Based Systems from components
- Related Work
- Our Approach
- Example
- Applying Approach on the (Semantic) Web
- Summary
3Knowledge Based System (KBS)
- A KBS is
- An A.I. System
- Which uses domain knowledge
- Combined with some intelligent reasoning
- To solve typically a nondeterministic task which
requires significant human resources
4Building KBSs
- Building everything from scratch every time
proved to be very expensive - Cheaper to build by reusing existing components
- Domain Knowledge (instantiated ontologies)
- Generic Reasoning Algorithms (Problem Solving
Methods (PSMs)) - Configured to work together as required
5Challenge
- Various projects looked at building KBSs by using
reusable components from repositories - These projects produced good theoretical results
- However, for various reasons, dream still to be
fully realised - We aimed to develop a methodology and
implementing tool which aids the user in creating
new executable KBSs from components
6Related Research - CommonKADS
- Major European project
- Complete KBS development methodology (c.f.
software engineering) - Construction of various models of organisation (6
in total) - Expertise model descriptions of 11 PSMs
- Little supporting implementation developer uses
descriptions as a guide for implementing domain
model and reasoning algorithm
7Related Work - PSM Librarian
- KBS development by
- Selecting a PSM/method ontology from a repository
- Selecting a domain ontology
- Mapping domain ontology to method ontology, using
mapping ontology - Implemented as PSMTab for Protégé
- No specific support for defining mappings
- No support for executing the configured KBS
8Shortcomings
- These projects made several significant
theoretical contributions - However, implementations were often inadequate
- Each developed different formalisms for defining
ontologies, PSMs, etc - Based on false believe that domain ontology
from one KBS would meet the requirements of a new
KBS - Domain ontology developed for one particular
application contains procedural knowledge
required by that application, and so is unlikely
to meet the requirements of a different
application, which will require different
procedural knowledge
9Technical Developments
- OWL
- SWRL, RIF
- Protégé
- Mature environment for building, editing,
instantiating and using ontologies - JessTab plug-in for reasoning with instantiated
ontologies - Semantic Web (Berners-Lee et al 2001)
- Natural language text conveys knowledge to humans
- Corresponding (instantiated) ontologies provide a
form of easily accessible knowledge - Ontologies associated with mapping rules
Mapping Rules
10Our Approach
- Two stage methodology for building KBSs through
reuse - Perform automatically as much as possible, while
supporting user when he/she needs to make
decisions/selections - Ontology mapping for reuse of domain knowledge
- Directed KA to acquire the rules which are
required by a generic PS to reason in domain
11Illustrative Example
- Elevator Diagnosis
- Elevator components
- Diagnostic algorithm
- Faults
- Symptoms
- Repairs
?
- Elevator Configuration
- Elevator components
- Propose and Revise
- Configuration Rules
- Constraints
- Fixes
12Methodology Initial Components
KBS(diag, elevator) PS(diag, elevator)
ONT(elevator, diag)
ONT(elevator, diag)
- Select the generic propose and revise Problem
Solver (PS) - Composed of
- Ontology describing PS rules
- Some generic PS code
- Extract the elevator domain ontology from
existing KBS
13Problem Solvers
- A generic problem solver is
- A domain independent description of a particular
type of reasoning (e.g. diagnosis, propose and
revise) - Provided by an ontology, PS-ONT which describes
- The rules the PS uses to work in a domain
- The form of the domain knowledge it requires
- Also contains, an implementation of any generic
PS code (PS-RS)
14Methodology Stage 1Mapping
ONT(elevator, diag)
KBS(diag, elevator) PS(diag, elevator)
ONT(elevator, diag)
Mapping
15Ontology Mapping
- The generic PS requires domain knowledge
- To provide the context in which domain rules are
acquired in Stage 2 - To provide domain knowledge for the final KBS to
reason with - User assisted in defining mappings between the
domain ontology ONT(elevator, diag) and the PS
ontology PS-ONT(pnr, -) - Mappings executed adds domain knowledge to PS
ontology to give PS-ONT(pnr, elevator)
16Methodology Stage 1Mapping
ONT(elevator, diag)
KBS(diag, elevator) PS(diag, elevator)
ONT(elevator, diag)
Mapping
PS-ONT(pnr, elevator)
- After mapping is completed we have
- The PS ontology
- Enhanced with (elevator) domain knowledge
17Methodology Stage 2Focused Knowledge
Acquisition
ONT(elevator, diag)
KBS(diag, elevator) PS(diag elevator)
ONT(elevator, diag)
Mapping
PS-ONT(pnr, elevator)
Knowledge Acquisition
18Methodology Stage 2Focused Knowledge
Acquisition
- PS-ONT describes the structure of the rules that
the PS uses to reason in a domain - Rule descriptions based on SWRL
- Rule description consists of
- Rule name
- The valid types of antecedents and consequents
- How rules are related e.g. pnr a constraint
rule is associate with fix rule
19Example Interaction Defining new Constraint
Fix Rules
Constraint
- SYS What are values that define a violation
related to total-cab-weight? - USER total-cab-weight gt motor-supported-weight
- SYS What is the name of this violation?
- USER Cab too heavy for motor
- SYS What actions should be performed if this
constraint violation is present? - USER Replace the motor with one thats
supported-weight gt total-cab-weight -
- paraphrased version of the user/system
interaction
Fix
20Methodology Stage 2Focused Knowledge
Acquisition
ONT(elevator, diag)
KBS(diag, elevator) PS(diag, elevator)
ONT(elevator, diag)
Mapping
PS-ONT(pnr, elevator)
PS-ONT(pnr, elevator)
Knowledge Acquisition
21Methodology Generating Executable KBS
ONT(elevator, diag)
KBS(diag, elevator) PS(diag, elevator)
ONT(elevator, diag)
Mapping
PS-ONT(pnr, elevator)
PS-ONT(pnr, elevator)
Knowledge Acquisition
Rule Generation
PS-RS(pnr, elevator)
22Implementation
- MAKTab a Protégé plug-in
- Generic PSs for diagnosis and propose and revise
- Currently have rule generators which produce
executable JessTab KBSs - System has been used to build elevator diagnosis
and pnr KBS by developer and by users to build
computer hardware diagnosis and pnr KBS
23KBS Development on the Semantic Web
- The Semantic Web will potentially
- Provide access to many more ontologies
- Provide details of how to map between these
ontologies - These can be used to provide an improved
implementation of our approach - Developing a Web based system should also make
KBS development (and execution) more accessible
24Related Work
- IBROW3
- Intelligent broker for KBS development on the Web
- Prototype broker developed
- No longer available today
- Internet Reasoning Service 3
- Semantic broker for developing applications of
Semantic Web Services
25Considerations
- Finding components
- Domain ontologies
- Problem solvers
- Storing PSs
- Mapping
- Generating and executing KBSs
26Domain ontologies
- Finding
- Ontologies should be much more prevalent on the
Semantic Web than they are today - Ontologies from Semantic Web sites could be used
- Ontology search engines and repositories
(ONTOSEARCH2) could also be used - Evaluating and fixing ontologies
- CleOn and RepairTab could be used to improve the
quality of an ontology before it is used in KBS
development
27Online PSs and KBS
- MAKTab
- PS accessed by loading PS ontology
- Easy for developers to add new PSs associated
rule generators MAKTab automatically uses these
to generate KBS - User runs KBS by copy and pasting into JessTab
(which is bundled with Protégé)
- Online
- PS selected from a centralised collection
- Online system could provide open PS repository
and generate KBS, but must then trust contributed
rule generators - Can not rely on user having any specialised
software online system must run KBS
28PS on Web - Possibilities
- Central Repository
- Stores all generic PSs
- Responsible for generating and running KBSs
- Enforces developers to generate KBSs in
predetermined languages
- Registry
- PSs as Web Services
- Maintain registry of PS WSs
- WS responsible for providing ontology, generating
and executing KBS - Allows developers to choose KBS execution
language
Tool Interface
Tool Interface
PS1
PS Repository
PS Registry
PS1
PSn
PSn
29Mapping
- Ontologies on Semantic Web are associated with
mapping rules - Online system will store defined mappings, making
it possible to build a repository of mappings - Both of these can be used to potentially improve
the suggestion of mappings provided to the user
30Supporting Mapping - 1
Associated Mappings
31Supporting Mapping - 2
Mapping Repository
32Supporting Mapping - 3
BuildingParts.com
Human Pages
Parts Ontology
2
1
Mapping Repository
33Supporting Mapping - 3
BuildingParts.com
Human Pages
n-1 Ontologies
Parts Ontology
.
2
n-1
1
Semantic Web Site n
Human Pages
Ontology n
Mapping Repository
n
34Summary
- We have developed a methodology and supporting
tool for KBS development - Propose a (Semantic) Web based implementation of
methodology that supports KBS development using
(reusable) components available on (Semantic) Web - Semantic Web should provide wealth of new
components that can be used for KBS development - Potential to further automate and improve our
tool for KBS development, making it more
accessible
35Acknowledgements
- The Protégé team
- Mark Musen and colleagues for making available
their version of the Sisyphus-VT code - Henrik Eriksson (JessTab)
- MAKTab work was supported by the Advanced
Knowledge Technologies (AKT) IRC.