View
213
Download
0
Tags:
Embed Size (px)
Citation preview
ProtégéProtégéAn Environment for An Environment for
Knowledge-Based Systems Knowledge-Based Systems DevelopmentDevelopment
Haishan LiuHaishan Liu
Outline
Things will be covered The evolution of Protégé and the
underlying driven idea Major features of different versions of
Protégé Things will not be covered
The detailed mechanisms and algorithms of the implementation
What is Protégé
The Protégé system is an environment for knowledge-based systems development
From a single tool to reduce the knowledge-acquisition bottleneck to a general-purpose environment for knowledge modeling
The classical model of expert system development
Difficulties in the classic model
The knowledge engineer is involved in all phases of system construction characterize the reasoning tasks identify the major domain concepts categorize the type of knowledge identify the reasoning strategies used by experts, define an inference structure for the resulting application, and formalize all this knowledge in a generic and reusable
way. domain experts are seen simply as resources for
knowledge engineers to draw upon.
An early view: expert system shell
Reuse of knowledge Base
•Knowledge acquisition is carried out by the knowledge engineer.•The introduction of a knowledge engineer in between could lead to errors and misunderstandings. •Time-consuming
Domain expert
Protégé Ancestry: Oncocin and Opal
Information-partitioning hypothesis
structural domain concepts ① domain knowledge ② case data ③
① ②
③
Advantage of Opal/Oncocin architecture
Actual tools developed for knowledge acquisition
The domain experts directly build the knowledge base reduce the likelihood of errors Streamline knowledge base construction
Protégé-I
generalization of the Oncocin/Opal architecture
Assumptions of Protégé-I
Problem specific KB Only works well on certain PSMs
Problem-solving method (PSM) provides semantics of KB No formalization of the knowledge model
Atomic PSM and KB Self-contained KB (no reference to the others) Single monolithic PSM
Summary of Protégé-I
Generating knowledge-acquisition tools from structured meta-knowledge
Neither reusable nor general purpose Problem-specific KB Lacking formal semantics
Protégé-IIreusable problem-solving methods.
A problem-solving method could be developed independently from the knowledge base.
PSMs were generic algorithms that could be used with different knowledge bases to solve different real-world tasks. constraint satisfaction Classification Planning Bayesian inference
Problem-solving knowledge automates specific tasks
Domain knowledge + Problem-solving method
Intelligent behavior
Protégé-IIReusable problem-solving methods
Developing Knowledge-based Systems with Protégé-II
Developing or reusing a problem-solving method
Defining an appropriate domain ontology Generating a knowledge-acquisition tool Building a knowledge base using the tool Integrating these components into a
knowledge-based system defining mappings between problem-solving
methods and specific knowledge bases.
Three classes of ontologies
Domain ontologies (reusable) define the concepts related to an application
domain (e.g., different symptoms, anomalies, and remedies)
Method ontologies (reusable) specify the data requirements of the problem-
solving methods (i.e., the input and output structure of each method)
Application ontologies (application specific) define the concepts that are specific to a
particular application or implementation.
Protégé-II components for building knowledge bases.
“Downhill Flow” Model
Knowledge engineer
Domain Expert
Integrating the Components of a Knowledge-Based System—Mappings
KB and PSM are developed separately PSM may not match KB
Use mapping relations to connect KB and PSM Marble – a special KA tool to build mapping
relations A generic mapping interpreter producing
adapted view of KB to PSM
Summary of Protégé-II
Reusable PSMs as components Adoption of ontology Generation of KA-tools from any
ontology “Downhill Flow” assumption of class
over instance
Protégé/WinBesides the re-implementation
The use of modular ontologies, via an ontology inclusion mechanism build large knowledge bases by “gluing” together
a set of smaller, modular ontologies scale to large problems better than monolithic
ontologies A more integrated, streamlined set of tools A more custom-tailoring knowledge-
acquisition tool
Protégé-2000significant augmentations
Underlying knowledge model A single unified application A plug-in architecture
The Protégé-2000 Knowledge Model
Protégé-I hand-coded Lisp object
Protégé-II and
Protégé/Win
a simple frame-based model provided by CLIPS
Protégé-2000 OKBC protocol
Retrospect
Open Knowledge Base Connectivity (OKBC)
Standard mechanism to access knowledge bases stored as “frames” of classes and attributes
Adopted by several well-known knowledge-representation systems (Ontolingua, LOOM)
Will allow Protégé-2000 to be used as an ontology- and knowledge-editing system for any OKBC-compliant server
OKBC – cont’d
OKBC specifies a knowledge model of KRSs with KBs, classes, individuals, slots, and facets
It also specifies a set of operations based on this model find a frame matching a name enumerate the slots of a frame delete a frame
An application uses these operations to access and modify knowledge stored in a OKBC-compliant KRS.
The OKBC Knowledge Model
Constants Frames Slots Facets Classes Individuals knowledge bases
Frames, slots and facets
Frame primitive object that represents an entity in the
domain of discourse Class Frame, Individual Frame
Slot Binary relation associate to a frame (describing
the property of the frame) Facet
Constraints on the slot
The plug-in architecture of Protégé-2000
The OntoViz tab plug-in
A Protégé-2000 KA tool for entering rules for monitoring nuclear power plants
Elements of Protégé-2000
Slots as first-class
objects
Slots as first-class
objects
Classes andclass
hierarchy
Classes andclass
hierarchy
Facetsstandard anduser-defined
Facetsstandard anduser-defined
InstancesInstances
Customizableinstance
forms
Customizableinstance
forms
Easybrowsing
Easybrowsing
Means to
viewlargedata sets
Means to
viewlargedata sets
CustomwidgetsCustomwidgets
Domain-specific
tabs
Domain-specific
tabsComponentsfor building
knowledge-basedapplications
Componentsfor building
knowledge-basedapplications