A Library of Components for Classification Problem Solving
Embed Size (px)
description
Transcript of A Library of Components for Classification Problem Solving
-
A Library of Components for Classification Problem SolvingWenjin Lu and Enrico MottaKnowledge Media Institute
-
Four Main GoalsTo carry out a knowledge-level analysis of classificationTo develop a practical resource to support the development of classification applicationsTo provide a concrete set of components to act as a test case for IBROW brokering system and IRSTo evaluate the UPML framework and the OCML modelling language on a non-trivial test-case
-
UPML Framework
-
Detailed Modelling in OCMLSupports domain, task and PSM specificationLarge Library (>90 Ontologies)Extensive experience (~20 projects, 5 years)Robust Infrastructure Both web-based and vanilla development environmentsIntg. of specification and operationalization is a good thing!Rapid development and validationResult = both analytical and engineering resource
-
Amalgamating UPML and OCMLOCML Base Ontology was revised to comply with UPMLTasks and PSMs become assumption-based
-
ClassificationClassification can be seen as the problem of finding the solution (class), which best explains a set of known facts (observables), according to some criterionObservablesCandidate Sols.CriterionClassificationSolution
-
ExampleObservablesCandidate Sols.CriterionClassificationSolution{background=green; area=china...}Complete-coverage-criterion(every observable has to be explained){chinese-granny, dutch-granny, etc..}{chinese-granny}
-
ObservablesObservables = set_of (Observable);Observable = {feature, value}.
Well defined Observables (obs): ({f1, v1} obs {f1, v2} obs) -> v1 = v2
({f1, v1} obs) -> legal_feature_value (f1, v1 )
-
SolutionsSolution = set_of (Feature_Spec);Feature_Spec = {Feature, Feature_value_spec}Feature_value_spec = Unary_Relation
Well defined Solution (sol):{f1, s1} sol holds (s1, v1 ) -> legal_feature_value (f1, v1 )
-
MatchingObservable={f1, v1} matches Solution=sol iff:{f1, c} sol holds (c, v1 )
-
Matching Sets of Obs to a SolutionSol: {{fsol1, c1}...{fsolm, cm}}; Obs: {{fob1, v1}...{fobn, vn}}Four possible cases: {fj, cj} sol {fj, vj} obs holds (cj, vj) -> Explained (fj){fj, cj} sol {fj, vj} obs not holds (cj, vj) -> Inconsistent(fj){fj, vj} obs {fj, cj} sol -> Unexplained (fj){fj, vj} obs {fj, cj} sol -> Missing (fj)
-
Default Match CriterionMatch Score:Vector: Match Comparison RelationS1 = (i1, e1, u1, m1); S2 = (i2, e2, u2, m2)S1 better_score than S2 iff: (i1 < i2) (i2 = i1 e2 < e1) (i2 = i1 e2 = e1 u1 < u2) (i2 = i1 e2 = e1 u2 = u1 m1 < m2)
-
Possible Solution CriteriaPositive CoverageSome feature is explained and none is incosistentComplete CoverageAll features are explained and none is incosistent
-
Hierarchy of CriteriaMatch CriterionMatch Score Comparison RelMacro Score MechanismFeature Score MechanismMatch Score Mechanism
-
Observables(def-class observables (set) ?obs "This is simply a set of observables. An important constraint is that there cannot be two values for the same feature in a set of observables" :iff-def (every ?obs observable) :constraint (not (exists (?ob1 ?ob2) (and (member ?ob1 ?obs) (member ?ob2 ?obs) (has-observable-feature ?ob1 ?f) (has-observable-feature ?ob2 ?f) (has-observable-value ?ob1 ?v1) (has-observable-value ?ob2 ?v2) (not (= ?v1 ?v2))))))
-
Solutions(def-class solution () ?x "A solution is a set of feature definitions" :iff-def (every ?x feature-definition))
(def-class feature-definition () ?x ((has-feature-name :type feature) (has-feature-value-spec :type unary-relation)) :constraint (=> (and (has-feature-name ?x ?f) (has-feature-value-spec ?x ?spec)) (=> (holds ?spec ?v) (legal-feature-value ?f ?v))))
-
Solution Criterion(def-class solution-admissibility-criterion () ?c ((applies-to-match-score-type :type match-score-type) (has-solution-admissibility-relation :type unary-relation)) :constraint (=> (and (solution-admissibility-criterion ?c) (has-solution-admissibility-relation ?c ?r) (domain ?r ?d)) (subclass-of ?d match-score)))
-
Monotonicity of Admissibile Solutions(def-axiom admissibility-is-monotonic "This axiom states that the admissibility criterion is monotonic. That is, if a solution, ?sol, is admissible, then any solution which is better than ?sol will also be admissible" (forall (?sol1 ?sol2 ?obs ?criterion) (=> (and (admissible-solution ?sol1 (apply-match-criterion ?criterion ?obs ?sol1) ?criterion) (better-match-than ?sol2 ?sol1 ?obs ?criterion)) (admissible-solution ?sol2 (apply-match-criterion ?criterion ?obs ?sol2) ?criterion))))
-
Complete Coverage(def-instance complete-coverage-admissibility-criterion solution-admissibility-criterion ((applies-to-match-score-type default-match-score) (has-solution-admissibility-relation complete-coverage-admissibility-relation)))
(def-relation complete-coverage-admissibility-relation (?score) "a solution should be consistent and explain all features" :constraint (default-match-score ?score) :iff-def (and (= (length (first ?score)) 0) ;;no inconsistency (= (length (third ?score)) 0))) ;;no unexplained
-
Classification Task Ontology42 DefinitionsProvides both a theory of classification and a vocabulary to describe classification problemsOntology is separated from task specifications
-
Generic Classification TaskInput rolesCandidate Solutions, Match Criterion, Solution Criterion, ObservablesPreconditionBoth observables and candidate solutions have to be providedGoalTo find a solution from the candidate solutions which is admissible with respect to the given observables, solution criterion and match criterion
-
Specific Classification TasksSingle-Solution Classification TaskSingle-solution assumptionOptimal Classification TasksGoal requires optimality
-
Problem Solving LibraryBased on heuristic classification modelSupports both data-directed and solution-directed classificationBased on search paradigmSupported by a method ontology
-
Method Ontology: Main ConceptsAbstractorsMechanism for performing abstraction on observablesAbstractor: Obs* -> ObsRefinersMechanism for specialising a solutionRefiner: Sol -> Sol*Candidate Exclusion CriterionA criterion which is used to decide when a search path is a dead-endDefault criterion rules out inconsistent solutions
-
Monotonicity of Exclusion Criterion(def-axiom exclusion-is-monotonic (forall (?sol1 ?sol2 ?obs ?criterion) (=> (and (ruled-out-solution ?sol1 (the-match-score ?sol1) ?criterion) (not (better-match-than ?sol2 ?sol1 ?obs ?criterion))) (ruled-out-solution ?sol2 (the-match-score ?sol2)?criterion))))
-
Axiom of Congruence(def-axiom CONGRUENT-ADMISSIBILITY-AND-EXCLUSION-CRITERIA (forall (?sol ?task) (=> (member ?sol (the-solution-space ?task)) (not (and (admissible-solution ?sol (the-match-score ?sol) (role-value ?task 'has-solution-admissibility-criterion)) (ruled-out-solution ?sol (the-match-score ?sol) (role-value ?psm 'has-solution-exclusion-criterion)))))))
-
Three Heuristic Classification PSMsTwo Data-directedAdmissible Solution ClassifierFinds one admissible solution according to the given criteriaUses backtracking hill climbingOptimal ClassifierPerforms complete search looking for optimal solutionUses best-first strategyUses candidate exclusion criterion to prune search spaceOne Solution-directedGoes down the solution hierarchy, acquiring observables as neededAsk for observables with max discrimination power
-
Four Assumptions in Main PSMsNo cycles in abstraction hierarchyNo cycles in refinement hierarchyAt least one class in the solution space is an admissible solutionThe solution refinement hierarchy is consistent with the candidate exclusion criterion. That is if sol is ruled out, all refinements of sol can also be ruled out
-
Task-Method Hierarchy
_1029740221.doc
classification
basic-heuristic-match
heuristic-classification-psm
refinement
abstraction
rank-solutions
rank-solutions-psm
select-abstractor
one-step-abstraction
collect-refiners
apply-refiners
abstraction-psm
refinement-psm
-
ExampleApple DomainOriginally developed in AmsterdamSolutions = Apple Types = {granny, noble, delicious...}Hierarchy of Apple TypesFeatures = {bkg-colour, fg-colour, rusty....}Pretty trivial really!
-
Classification Task
Ontology
Heuristic Classification
Ontology
Apple Heuristic Classification
Application
Classification Task
Specification
Classification-to-Class-Representation
Mapping Ontology
Apple
Domain Model
Heuristic Classification
PSMs
-
Mapping Solutions and Obs to Apples(def-relation-mapping solution :up ((solution ?x) if (or (= ?x apple) (subclass-of ?x apple))))
(def-relation-mapping observable :up ((observable ?x) if (or (== ?X (?f ?v ?obs)) (== ?x (?f ?v)))))
-
More Relation Mappings(def-relation-mapping has-observable-feature :up ((has-observable-feature ?x ?f) if (or (== ?X (?f ?v ?obs)) (== ?x (?f ?v)))))
(def-relation-mapping has-observable-value :up ((has-observable-value ?x ?v) if (or (== ?X (?f ?v ?obs)) (== ?x (?f ?v)))))
(def-relation-mapping directly-abstracts-from :up ((directly-abstracts-from ?ob ?obs) if (== ?ob (?f ?v ?obs))))
- Sample Abstractor(def-instance sugar-abstractor abstractor ((has-body '(lambda (?obs) (in-environment ((?v . (observables-feature-value ?obs 'sugar))) (cond ((>= ?v 70) (list-of 'sweet-level 'high (list-of (list-of 'sugar ?v)))) ((and (< ?v 70) (> ?v 40)) (list-of 'sweet-level 'medium (list-of (list-of 'sugar ?v)))) ((
-
Generic (reusable) Refiner(def-instance refinement-through-subclass-of-links refiner "If the solution space is specified by means of classes arranged in a subclass-of hierarchy, then this is a good refiner to use" ((has-body '(lambda (?sol) (setofall ?sub (direct-subclass-of ?sub ?sol)))) (applicability-condition (kappa (?sol) (and (class ?sol) (exists ?sub (direct-subclass-of ?sub ?sol)))))))
-
Evaluation/ResultsAll PSMs successfully tested on the apple domainAssumptions also successfully tested in the domainLibrary available online in WebOnto
-
Next TasksStart work on Internet Reasoning ServiceApproach: Ever increasing levels of intelligent supportBrowsing/Navigation/Manual PSM ConfigurationIntelligent AssistantSemi-automated component selection/configurationIntelligent BrokerMultiple libraries/multiple platforms/symbol-level interoperabilityApplication to more complex domainsScientific Classification, Selection of Manufacturing Tech.
-
Possible Platforms for IRSSpecialized WebOnto ConfigurationProtgIntg. Protg with OCML Library Collaboration with Stanford (i.e., Monica)Dedicated Tabs to support PSM selection/reuseNew Java/Lisp ToolJava Applets interfaced with library sitting on Lisp server
-
Classification Library in OCML (at the end of IBROW 1)Task spec (TaskSpec1) Flat classification PSM (GenPSM1) Applied to apple and Rocky-III domains