Title: IBROW Progress Report - OU
1IBROW Progress Report - OU
- Enrico Motta
- Knowledge Media Institute
2Classification Library in OCML (at the end of
IBROW 1)
- Task spec (TaskSpec1)
- Flat classification PSM (GenPSM1)
- Applied to apple and Rocky-III domains
3Current work
- Revision of TaskSpec1
- Revision of GenPSM1
- Definition of new problem solving models (e.g.,
heuristic classification) - Work still in very draft form!
4Task Spec
Observables
Classification
Solutions
Solution_Space
5(No Transcript)
6(No Transcript)
7(No Transcript)
8(No Transcript)
9(No Transcript)
10Task Spec (revised)
Observables
Classification
Solutions
Solution_Space
Criterion
11Classification
Simple-Classification-PSM
Match-Candidate-Solution
Compare-Match-Scores
Basic-Match-Candidate-PSM
Basic-Compare-Match-Scores-PSM
Match-Feature
Basic-Match-Feature-PSM
12Classification
Heuristic-Classification-PSM
Abstraction
Match--Compare
Refine-Solution
Refine-Solution-PSM
MatchCompare-PSM
Abstraction-PSM
Match-Candidate-Solution
Compare-Match-Scores
Basic-Match-Candidate-PSM
Basic-Compare-Match-Scores-PSM
Match-Feature
Basic-Match-Feature-PSM
13Problem Solving Knowledge
- Abstraction Knowledge needed to construct the
partial order given by the abstraction_of
relation - Refinement Knowledge normally follows the
subclass-of hierarchy - Matching mechanism uses a 4-dimensional vector
- Inconsistent features
- Explained features
- Unxplained features (in obs. but not in solution)
- Missing features(in solution but not in obs.)
14Back to OCML....
15(def-class classification-task (goal-specification
-task) ?task ((has-input-role value
has-solution_space value
has-observables value
has-criterion) (has-output-role value
best-matching-solutions) (has-solution_space
type solution_space) (has-criterion type
match_criterion) (has-observables type
observables) (best-matching-solutions type
solution_space) (has-precondition value
(kappa (?task) (and (exists
?obs (member-of
?obs
(role-value ?task has-observables)))
(exists ?sol
(member-of ?sol
(role-value ?task
has-solution_space)))
(match_criterion (role-value ?task
has-criterion)))))
(has-goal-expression the goal is
to find the best matching classes value
(kappa (?task ?solutions)
(forall ?sol (gt
(member ?sol ?solutions)
(best-match ?sol
(role-value ?task
has-solution_space)
(role-value ?task has-observables)
(role-value ?task has-criterion)
)))))))
16(def-class TASK () ?task "An OCML task is
characterised by its input roles, output role,
and goal. The goal expression is a kappa
expression which takes as argument the task
itself and a value (which is meant to be a
possible result from carrying out the task.
The goal is satisfied if the kappa expression
holds for its two arguments. A role is a
slot of a task. Tasks divide into two main
subclasses goal-specification-task and
executable-task. The former provides only a
goal specification, while the latter provides
also an 'organic' method for achieving the
task ((has-input-role type role)
(has-output-role type role) (has-precondition
type unary-kappa-expression)
(has-goal-expression type legal-task-goal-express
ion)) constraint (gt (has-role ?task ?role)
(and (slot-of ?role ?task)
(functional-relation ?role)))
axiom-def (exhaustive-subclass-partition
task (set-of
goal-specification-task
executable-task)))
17(def-class UNARY-KAPPA-EXPRESSION
(kappa-expression) ?rel "Relations defined by
means of the kappa operator" iff-def (and
(kappa-expression ?rel) (
(length ?schema) 1)))
(def-class TERM (ocml-expression) ?x "The
class of OCML functional terms" iff-def (or
(string ?x) (variable ?x)
(constant ?x)
(quote-expression ?x)
(findall-expression ?x)
(the-expression ?x)
(setofall-expression ?x) (if-term
?x) (cond-term ?x)
(in-env-term ?x)
(eval-expression ?x)
(call-expression ?x)
(apply-expression ?x)
(defined-function-expression ?x)))
18Conclusions
- Need for an object-level language for UPML
- key task for IBROW!!!
- These issues have already been discussed in depth
by Dieter - Planning to use OCML
- at least in the short term
- Will investigate changes to OCML base ontology
required to reflect the UPML architecture - e.g., definitions of classes Task, PSM, etc.
- Also planning to experiment with Protégé