200 likes | 378 Views
2. What is a Problem-Solving Method ?. A problem-solving method (PSM):realises the task of a KBS (planning, diagnosis)implements a reasoning process in a program (search in a tree)employs the concepts of the KB as knowledge roles (findings)PSMs cover: interpreters, rule engines, algorithmsge
E N D
1. Problem-Solving Methods in Protégé-2000 Monica Crubézy
Stanford Medical Informatics
2. 2 What is a Problem-Solving Method ?
A problem-solving method (PSM):
realises the task of a KBS (planning, diagnosis)
implements a reasoning process in a program (search in a tree)
employs the concepts of the KB as knowledge roles (findings)
PSMs cover:
interpreters, rule engines, algorithms
generic methods in AI (propose&revise)
domain-specific methods (Protean - ribosome topology identification)
3. 3 Problem-Solving in Protégé Protégé was domain-independent, but method-specific:
expert-system shell for Episodic Skeletal Plan Refinement
problem- or task-specific KBs (protocol-based advice)
Since Protégé-II, the behaviour of a KBS is:
an abstract model of problem-solving, i.e. a PSM
identifies roles of domain knowledge & ordering of inferences
composed from more primitive methods
an independent component, reusable
across tasks, with libraries of generic PSMs (Eriksson et al. 1995)
across domains, with declarative mapping relations (Gennari et al. 1994 & 1995, Park et al. 1998)
Protégé-2000 is entirely application-independent:
generic knowledge model and tools to build an ontology of classes, customize KA forms and enter specific instances
no embedded problem-solving assumptions
4. 4 What is a PSM in Protégé-2000 ? A separate component in a KBS architecture, that:
provides a function, as a “black box”
makes its interface requirements on inputs and outputs explicit
is recursively decomposed into sub-tasks, solved by sub-methods
is stored in a (conceptual) library of reusable PSMs
A piece of code:
written in any language (CLIPS, C++, Java)
applied to a KB stored in any back-end format (CLIPS, DB, XML)
run externally or within a Java tab plug-in
Examples:
Propose&Revise constraint satisfaction (elevator configuration)
board-game method (room assignment)
EON guideline interpreter (e.g. hypertension guidelines)
Eligibility Screening Tab (breast-cancer protocols)
5. 5 Designing a PSM: Important steps
6. 6 Task analysis Define real-world activity accomplished by the KBS
Specification of a functional goal:
inputs and expected outputs of problem-solving
contextual requirements, e.g. time, user interaction, flexibility
availability and form of domain knowledge
Identification of dimensions for method selection:
expressed in domain space of discourse
formal vs. informal problem characteristics
7. 7 Method selection Find a PSM to realize the task, that:
matches task specification
takes advantage of domain knowledge characteristics
Indexing criteria:
task requirements (solution quality, automation level)
I/O specification (information at run-time / part of task definition)
domain knowledge type and availability (expert reasoning)
method properties (computational & space complexity)
task and method spaces
cognitive distance in representations of problem and knowledge
method flexibility w.r.t. task specifics
8. 8 Method configuration Adapt PSM to specific application problem
Mapping PSM and domain spaces:
identify domain knowledge that fulfils PSM I/O roles
identify transformation relations
acquire extra domain knowledge if needed
Composing complex PSMs from sub-methods:
identify sub-tasks of PSM
select available sub-components that solve the sub-tasks
linkto sub-components inputs and outputs
Refining PSMs to fit task-specific needs:
narrow scope of PSM with additional ontological commitments
specialize behaviour of PSM with alternative sub-components
9. 9 Example Task analysis: elevator configuration (Sisyphus II)
set of building specifications and requirements (speed, capacity)
find a configuration of elevator components
so that no constraints are violated
large body of knowledge (elevator components, safety constraints)
Method selection: propose-and-revise
constraint satisfaction
set of parameters and run-time inputs
set of constraints that must be satisfied
set of fixes to correct violated constraints
decomposed in select, propose, verify, revise sub-methods
Method configuration:
mapping range constraints for task parameters to method fixes
using a revise method that fixes constraints locally or globally
10. 10 Building a KBS in Protégé-2000
11. 11 A PSM description ontology A semi-formal language to describe PSMs uniformly:
unifies experience in KA and SE:
Unified Problem-Solving Method Description Language (UPML, IBROW3 project, Fensel et al. 1999)
Initial method description language (Gennari et al. 1998)
makes knowledge and know-how about PSM components explicit
enables PSM indexing, retrieval and integration
provides domain experts with access to libraries of reusable PSMs
Concepts to describe PSM properties and interface:
Nature: Complex or Primitive
Pragmatics: author, references, success history
Method Ontology: input/output interface and terms
Competence: goal, input/output conditions, sub-tasks
Operational specification: inference structure, knowledge roles
Related concepts: Tasks, Domain Model, Bridges, Refiners
12. 12
13. 13 A PSM Tab for informed PSM selection A Protégé Tab:
takes advantage of Protégé API and UI (forms, diagram widget)
interfaces a domain KB with external PSM KBs
provides improved navigation through PSM instances
Browsing PSM libraries from a domain ontology:
view PSM descriptions in a guided way (with +/- details)
focus attention on function and requirements of PSMs
Expressing queries centered on the application problem:
allow to use task specification as a guide for selection
suggest related PSMs, appropriate to domain requirements
Annotating PSM descriptions with practical feedback:
add pragmatic information (see also Gennari & Ackerman, 1999)
indicate successful vs. ineffectual application cases
14. 14 PSM Tab: Preliminary version
15. 15
16. 16 PSM configuration tools Mapping PSM requirements to domain concepts:
use the method ontology, that explicits I/O interface
identify mapping relations between PSM and domain ontologies (Gennari et al. 1994, Park&Musen 1998)
ontology of mapping relations (from simple renaming to complex combination or addition of knowledge)
mapping interpreter generates a “virtual knowledge base”
use typical cases of applying PSMs to suggest mapping
Adapting PSM for the application at hand:
replace sub-components, via PSM-task bridges that map sub-methods together in complex PSMs
define specific refinements of PSMs
via PSM refiners (Fensel et al. 1998) to solve domain task
by specialization (Eriksson et al. 1995) to match a class of tasks
17. 17 Work in progress… Next steps (http://smi-web.stanford.edu/projects/protege/protege-2000/tabs/index.html) Test the PSM ontology:
create PSM instances
search
propose&revise, cover&differentiate, board-game method, chronological backtracking, etc.
Protean and other methods used in molecular biology
identify missing or redundant distinctions
Improve the PSM Tab:
enhance browsing
relationships between different PSMs, or PSMs and tasks
method input/output ontology, conditions on knowledge roles
develop query possibilities
focus editing for annotation
Integrating mapping tool support
18. 18 Conclusions KBS development is a continuous modeling activity:
revises task analysis as more insight is gained on domain/methods
leads to the refinement of generic PSMs
defines the scope and use of domain knowledge
PSMs are components which are complex to describe:
integrate modeling of declarative and procedural knowledge
must explicit an interface to map to domain knowledge
clearly defined in a PSM ontology
PSMs can be reused more easily if:
cognitive distance from method to task space is minimal
underlying conceptual model is understandable
mapping relations are explicit and principled
Protégé-2000 enables to handle PSMs in those respects
19. 19 References: PSM libraries, reuse, mapping Eriksson, H., Shahar, Y., Tu, S.W., Puerta, A.R., and Musen, M.A. (1995). Task modeling with reusable problem-solving methods. Artificial Intelligence 79. SMI-92-0434
Gennari, J.H., Tu, S.W., Rothenfluh, T.E. and Musen, M.A. (1994). Mapping domains to methods in support of reuse. International Journal of Human-Computer Studies 41. SMI-93-0497
Gennari, J.H., Altman, R.B. and Musen, M.A. (1995). Reuse with Protege-II: From Elevators to Ribosomes. ACM-SigSoft 1995 Symposium on Software Reusability, Seattle. SMI-94-0549
Gennari, J.H., Stein, A.R., and Musen, M.A. (1996). Reuse for Knowledge-Based Systems and CORBA Components. In: 10th Knowledge Acquisition for Knowledge-Based Systems Workshop, Banff, Canada. SMI-96-0629
Park, J.Y., Gennari, J.H. and Musen, M.A. (1998). Mappings for Reuse in Knowledge-Based Systems. In: 11th Workshop on Knowledge Acquisition, Modeling, and Management, Banff, Canada. SMI-97-0697
Park, J.Y., and Musen, M.A (1998). VM-in-Protege: A Study of Software Reuse. In: Medinfo '98: Ninth World Congress on Medical Informatics, Seoul, South Korea, IOS Press. SMI-98-0756
20. 20 References: Method ontology, UPML Gennari, J.H., Grosso, W.E., and Musen, M.A. (1998). A Method-Description Language: An initial ontology with examples. In: 11th Workshop on Knowledge Acquisition, Modeling, and Management, Banff, Canada. SMI-97-0695
Fensel, D., and Motta, E. (1998). Structured Development of Problem Solving Methods. In: 11th Workshop on Knowledge Acquisition, Modeling, and Management, Banff, Canada. ksi.cpsc.ucalgary.ca/KAW/KAW.html
Fensel, D., Benjamins, V.R., Motta, E., and Wielinga, B. (1999). UPML: A Framework for knowledge system reuse. In: Proceedings of the International Joint Conference on AI (IJCAI-99), Stockholm, Sweden. www.cs.vu.nl/~dieter/
Fensel, D., Benjamins, V.R., Decker, S., Gaspari, M., Groenboom, R., Grosso, W., Motta, E., Musen, M.A., Plaza, E., Schreiber, G., Studer, R., and Wielinga, R. (1999). The Unified Problem-solving Method Development Language, UPML. www.cs.vu.nl/~dieter/
Benjamins, V.R., Plaza, E., Motta, E., Fensel, D., Studer, R., Wielinga, B., Schreiber, G., Zdrahal, Z., and Decker, S. (1998). IBROW3: An intelligent brokering service for knowledge-component reuse on the World-Wide Web. In: 11th Workshop on Knowledge Acquisition, Modeling, and Management, Banff, Canada. www.swi.psy.uva.nl/projects/IBROW3/home.html
Gennari, J.H., and Ackerman, M. (1999), Extra-Technical Information for Method Libraries. In: Proceedings of the 12th Workshop on Knowledge Acquisition, Modeling and Management, Banff, Canada. ksi.cpsc.ucalgary.ca/KAW/KAW.html