info.ephyra.questionanalysis.atype.minorthird.hierarchical
Class HierarchicalClassifierLearner

java.lang.Object
  extended by info.ephyra.questionanalysis.atype.minorthird.hierarchical.HierarchicalClassifierLearner
All Implemented Interfaces:
edu.cmu.minorthird.classify.ClassifierLearner, java.lang.Cloneable

public class HierarchicalClassifierLearner
extends java.lang.Object
implements edu.cmu.minorthird.classify.ClassifierLearner

Learner for hierarchical classifiers.

Version:
2008-02-10
Author:
Justin Betteridge

Field Summary
private  java.util.HashMap<java.lang.String,edu.cmu.minorthird.classify.ClassifierLearner> classifierLearners
           
private  edu.cmu.minorthird.classify.Instance.Looper instancePool
           
private  edu.cmu.minorthird.classify.ClassifierLearner[] prototypes
           
 
Constructor Summary
HierarchicalClassifierLearner(edu.cmu.minorthird.classify.ClassifierLearner[] prototypes)
           
 
Method Summary
 void addExample(edu.cmu.minorthird.classify.Example example)
           
 void completeTraining()
           
 edu.cmu.minorthird.classify.ClassifierLearner copy()
           
private  edu.cmu.minorthird.classify.ExampleSchema createSubSchema(edu.cmu.minorthird.classify.ExampleSchema mainSchema, java.lang.String prefix, int level)
          Creates an ExampleSchema (a set of class names) from the given ExampleSchema by finding all the class names in the given schema that start with the given prefix and adding their subclasses (as determined by splitting the class name on ".")
 edu.cmu.minorthird.classify.Classifier getClassifier()
           
private  java.lang.String getLabelPrefix(java.lang.String labelName, int level)
           
private  java.lang.String getSublabel(java.lang.String labelName, int level)
           
 boolean hasNextQuery()
           
 edu.cmu.minorthird.classify.Instance nextQuery()
           
 void reset()
           
 void setInstancePool(edu.cmu.minorthird.classify.Instance.Looper instancePool)
           
 void setSchema(edu.cmu.minorthird.classify.ExampleSchema schema)
           
private static java.lang.String[] toKeyArray(java.util.HashMap<java.lang.String,edu.cmu.minorthird.classify.ClassifierLearner> learnerHash)
           
private static edu.cmu.minorthird.classify.ClassifierLearner[] toValueArray(java.util.HashMap<java.lang.String,edu.cmu.minorthird.classify.ClassifierLearner> learnerHash)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

prototypes

private edu.cmu.minorthird.classify.ClassifierLearner[] prototypes

classifierLearners

private java.util.HashMap<java.lang.String,edu.cmu.minorthird.classify.ClassifierLearner> classifierLearners

instancePool

private edu.cmu.minorthird.classify.Instance.Looper instancePool
Constructor Detail

HierarchicalClassifierLearner

public HierarchicalClassifierLearner(edu.cmu.minorthird.classify.ClassifierLearner[] prototypes)
Method Detail

addExample

public void addExample(edu.cmu.minorthird.classify.Example example)
Specified by:
addExample in interface edu.cmu.minorthird.classify.ClassifierLearner

getLabelPrefix

private java.lang.String getLabelPrefix(java.lang.String labelName,
                                        int level)

getSublabel

private java.lang.String getSublabel(java.lang.String labelName,
                                     int level)

toValueArray

private static edu.cmu.minorthird.classify.ClassifierLearner[] toValueArray(java.util.HashMap<java.lang.String,edu.cmu.minorthird.classify.ClassifierLearner> learnerHash)

toKeyArray

private static java.lang.String[] toKeyArray(java.util.HashMap<java.lang.String,edu.cmu.minorthird.classify.ClassifierLearner> learnerHash)

completeTraining

public void completeTraining()
Specified by:
completeTraining in interface edu.cmu.minorthird.classify.ClassifierLearner

copy

public edu.cmu.minorthird.classify.ClassifierLearner copy()
Specified by:
copy in interface edu.cmu.minorthird.classify.ClassifierLearner

getClassifier

public edu.cmu.minorthird.classify.Classifier getClassifier()
Specified by:
getClassifier in interface edu.cmu.minorthird.classify.ClassifierLearner

hasNextQuery

public boolean hasNextQuery()
Specified by:
hasNextQuery in interface edu.cmu.minorthird.classify.ClassifierLearner

nextQuery

public edu.cmu.minorthird.classify.Instance nextQuery()
Specified by:
nextQuery in interface edu.cmu.minorthird.classify.ClassifierLearner

reset

public void reset()
Specified by:
reset in interface edu.cmu.minorthird.classify.ClassifierLearner

setInstancePool

public void setInstancePool(edu.cmu.minorthird.classify.Instance.Looper instancePool)
Specified by:
setInstancePool in interface edu.cmu.minorthird.classify.ClassifierLearner

createSubSchema

private edu.cmu.minorthird.classify.ExampleSchema createSubSchema(edu.cmu.minorthird.classify.ExampleSchema mainSchema,
                                                                  java.lang.String prefix,
                                                                  int level)
Creates an ExampleSchema (a set of class names) from the given ExampleSchema by finding all the class names in the given schema that start with the given prefix and adding their subclasses (as determined by splitting the class name on ".") to the ExampleSchema to be returned.


setSchema

public void setSchema(edu.cmu.minorthird.classify.ExampleSchema schema)
Specified by:
setSchema in interface edu.cmu.minorthird.classify.ClassifierLearner