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 knowledgelevel 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 nontrivial testcase

UPML Framework

Detailed Modelling in OCMLSupports domain, task and PSM specificationLarge Library (>90 Ontologies)Extensive experience (~20 projects, 5 years)Robust Infrastructure Both webbased 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 assumptionbased

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...}Completecoveragecriterion(every observable has to be explained){chinesegranny, dutchgranny, etc..}{chinesegranny}

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(defclass 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" :iffdef (every ?obs observable) :constraint (not (exists (?ob1 ?ob2) (and (member ?ob1 ?obs) (member ?ob2 ?obs) (hasobservablefeature ?ob1 ?f) (hasobservablefeature ?ob2 ?f) (hasobservablevalue ?ob1 ?v1) (hasobservablevalue ?ob2 ?v2) (not (= ?v1 ?v2))))))

Solutions(defclass solution () ?x "A solution is a set of feature definitions" :iffdef (every ?x featuredefinition))
(defclass featuredefinition () ?x ((hasfeaturename :type feature) (hasfeaturevaluespec :type unaryrelation)) :constraint (=> (and (hasfeaturename ?x ?f) (hasfeaturevaluespec ?x ?spec)) (=> (holds ?spec ?v) (legalfeaturevalue ?f ?v))))

Solution Criterion(defclass solutionadmissibilitycriterion () ?c ((appliestomatchscoretype :type matchscoretype) (hassolutionadmissibilityrelation :type unaryrelation)) :constraint (=> (and (solutionadmissibilitycriterion ?c) (hassolutionadmissibilityrelation ?c ?r) (domain ?r ?d)) (subclassof ?d matchscore)))

Monotonicity of Admissibile Solutions(defaxiom admissibilityismonotonic "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 (admissiblesolution ?sol1 (applymatchcriterion ?criterion ?obs ?sol1) ?criterion) (bettermatchthan ?sol2 ?sol1 ?obs ?criterion)) (admissiblesolution ?sol2 (applymatchcriterion ?criterion ?obs ?sol2) ?criterion))))

Complete Coverage(definstance completecoverageadmissibilitycriterion solutionadmissibilitycriterion ((appliestomatchscoretype defaultmatchscore) (hassolutionadmissibilityrelation completecoverageadmissibilityrelation)))
(defrelation completecoverageadmissibilityrelation (?score) "a solution should be consistent and explain all features" :constraint (defaultmatchscore ?score) :iffdef (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 TasksSingleSolution Classification TaskSinglesolution assumptionOptimal Classification TasksGoal requires optimality

Problem Solving LibraryBased on heuristic classification modelSupports both datadirected and solutiondirected 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 deadendDefault criterion rules out inconsistent solutions

Monotonicity of Exclusion Criterion(defaxiom exclusionismonotonic (forall (?sol1 ?sol2 ?obs ?criterion) (=> (and (ruledoutsolution ?sol1 (thematchscore ?sol1) ?criterion) (not (bettermatchthan ?sol2 ?sol1 ?obs ?criterion))) (ruledoutsolution ?sol2 (thematchscore ?sol2)?criterion))))

Axiom of Congruence(defaxiom CONGRUENTADMISSIBILITYANDEXCLUSIONCRITERIA (forall (?sol ?task) (=> (member ?sol (thesolutionspace ?task)) (not (and (admissiblesolution ?sol (thematchscore ?sol) (rolevalue ?task 'hassolutionadmissibilitycriterion)) (ruledoutsolution ?sol (thematchscore ?sol) (rolevalue ?psm 'hassolutionexclusioncriterion)))))))

Three Heuristic Classification PSMsTwo DatadirectedAdmissible Solution ClassifierFinds one admissible solution according to the given criteriaUses backtracking hill climbingOptimal ClassifierPerforms complete search looking for optimal solutionUses bestfirst strategyUses candidate exclusion criterion to prune search spaceOne SolutiondirectedGoes 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

TaskMethod Hierarchy
_1029740221.doc
classification
basicheuristicmatch
heuristicclassificationpsm
refinement
abstraction
ranksolutions
ranksolutionspsm
selectabstractor
onestepabstraction
collectrefiners
applyrefiners
abstractionpsm
refinementpsm

ExampleApple DomainOriginally developed in AmsterdamSolutions = Apple Types = {granny, noble, delicious...}Hierarchy of Apple TypesFeatures = {bkgcolour, fgcolour, rusty....}Pretty trivial really!

Classification Task
Ontology
Heuristic Classification
Ontology
Apple Heuristic Classification
Application
Classification Task
Specification
ClassificationtoClassRepresentation
Mapping Ontology
Apple
Domain Model
Heuristic Classification
PSMs

Mapping Solutions and Obs to Apples(defrelationmapping solution :up ((solution ?x) if (or (= ?x apple) (subclassof ?x apple))))
(defrelationmapping observable :up ((observable ?x) if (or (== ?X (?f ?v ?obs)) (== ?x (?f ?v)))))

More Relation Mappings(defrelationmapping hasobservablefeature :up ((hasobservablefeature ?x ?f) if (or (== ?X (?f ?v ?obs)) (== ?x (?f ?v)))))
(defrelationmapping hasobservablevalue :up ((hasobservablevalue ?x ?v) if (or (== ?X (?f ?v ?obs)) (== ?x (?f ?v)))))
(defrelationmapping directlyabstractsfrom :up ((directlyabstractsfrom ?ob ?obs) if (== ?ob (?f ?v ?obs))))
 Sample Abstractor(definstance sugarabstractor abstractor ((hasbody '(lambda (?obs) (inenvironment ((?v . (observablesfeaturevalue ?obs 'sugar))) (cond ((>= ?v 70) (listof 'sweetlevel 'high (listof (listof 'sugar ?v)))) ((and (< ?v 70) (> ?v 40)) (listof 'sweetlevel 'medium (listof (listof 'sugar ?v)))) ((

Generic (reusable) Refiner(definstance refinementthroughsubclassoflinks refiner "If the solution space is specified by means of classes arranged in a subclassof hierarchy, then this is a good refiner to use" ((hasbody '(lambda (?sol) (setofall ?sub (directsubclassof ?sub ?sol)))) (applicabilitycondition (kappa (?sol) (and (class ?sol) (exists ?sub (directsubclassof ?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 AssistantSemiautomated component selection/configurationIntelligent BrokerMultiple libraries/multiple platforms/symbollevel 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 RockyIII domains