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

java.lang.Object
  extended by info.ephyra.questionanalysis.atype.minorthird.hierarchical.HierarchicalClassifier
All Implemented Interfaces:
edu.cmu.minorthird.classify.Classifier, java.io.Serializable

public class HierarchicalClassifier
extends java.lang.Object
implements edu.cmu.minorthird.classify.Classifier, java.io.Serializable

A hierarchy of classifiers. At first, a top-level classifier is applied. Classifiers for subclasses are selected based on the outcome of previous classifications.

Version:
2008-02-10
Author:
Justin Betteridge
See Also:
Serialized Form

Field Summary
private  java.util.HashMap classifiers
           
private  int classLevels
           
private static long serialVersionUID
           
 
Constructor Summary
HierarchicalClassifier(java.util.HashMap classifiers, int classLevels)
           
 
Method Summary
 edu.cmu.minorthird.classify.ClassLabel classification(edu.cmu.minorthird.classify.Instance instance)
           
 java.lang.String explain(edu.cmu.minorthird.classify.Instance instance)
           
 edu.cmu.minorthird.classify.Explanation getExplanation(edu.cmu.minorthird.classify.Instance instance)
           
static java.lang.String getHierarchicalClassName(java.lang.String original, int levels, boolean useClassLevels)
           
private  java.lang.String getNewLabelName(java.lang.String currentClass, java.lang.String sublabel, int level)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

classifiers

private java.util.HashMap classifiers

classLevels

private int classLevels
Constructor Detail

HierarchicalClassifier

public HierarchicalClassifier(java.util.HashMap classifiers,
                              int classLevels)
Method Detail

getNewLabelName

private java.lang.String getNewLabelName(java.lang.String currentClass,
                                         java.lang.String sublabel,
                                         int level)

classification

public edu.cmu.minorthird.classify.ClassLabel classification(edu.cmu.minorthird.classify.Instance instance)
Specified by:
classification in interface edu.cmu.minorthird.classify.Classifier

explain

public java.lang.String explain(edu.cmu.minorthird.classify.Instance instance)
Specified by:
explain in interface edu.cmu.minorthird.classify.Classifier

getExplanation

public edu.cmu.minorthird.classify.Explanation getExplanation(edu.cmu.minorthird.classify.Instance instance)
Specified by:
getExplanation in interface edu.cmu.minorthird.classify.Classifier

getHierarchicalClassName

public static java.lang.String getHierarchicalClassName(java.lang.String original,
                                                        int levels,
                                                        boolean useClassLevels)