calhoun.analysis.crf
Class CompositeFeatureManager

java.lang.Object
  extended by calhoun.analysis.crf.AbstractFeatureManager
      extended by calhoun.analysis.crf.CompositeFeatureManager
All Implemented Interfaces:
FeatureManager, FeatureManagerEdge, FeatureManagerEdgeExplicitLength, FeatureManagerNode, FeatureManagerNodeExplicitLength, java.io.Serializable
Direct Known Subclasses:
BeanModel, ConstrainedFeatureManager

public class CompositeFeatureManager
extends AbstractFeatureManager
implements FeatureManagerEdge, FeatureManagerNode, FeatureManagerEdgeExplicitLength, FeatureManagerNodeExplicitLength

a feature manager that combines feature types together.

See Also:
Serialized Form

Constructor Summary
CompositeFeatureManager()
           
 
Method Summary
 void addFeatureManager(FeatureManager fm)
           
 void addFeatureManager(java.lang.String name, java.lang.String inputParams, FeatureManager fm)
           
 void evaluateEdge(InputSequence seq, int pos, int prevState, int state, FeatureList result)
          Evaluates the set of features managed by this object for the given arguments.
 void evaluateEdgeLength(InputSequence seq, int pos, int length, int prevState, int state, FeatureList result)
           
 void evaluateNode(InputSequence seq, int pos, int state, FeatureList result)
          Evaluates the set of features managed by this object for the given arguments.
 void evaluateNodeLength(InputSequence seq, int pos, int length, int state, FeatureList result)
           
 CacheStrategySpec getCacheStrategy()
          caching strategy that the CacheProcessor should use to cache values for this feature.
 java.util.List<FeatureManager> getComponentFeatures()
           
 java.lang.String getFeatureName(int featureIndex)
          Returns a human identifiable name for the feature referenced by a given index.
 int getFeatureOffset(int featureIndex)
           
 int getNumFeatures()
          Returns the number of features maintained by this FeatureManager.
 void setComponentFeatures(java.util.List<FeatureManager> components)
           
 void train(int startingIndex, ModelManager modelInfo, java.util.List data)
          Provides access to the entire training set so that FeatureManager can compute global properties and assign feature indices.
 
Methods inherited from class calhoun.analysis.crf.AbstractFeatureManager
getInputComponent, setInputComponent
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface calhoun.analysis.crf.FeatureManager
getInputComponent, setInputComponent
 
Methods inherited from interface calhoun.analysis.crf.FeatureManager
getInputComponent, setInputComponent
 
Methods inherited from interface calhoun.analysis.crf.FeatureManager
getInputComponent, setInputComponent
 
Methods inherited from interface calhoun.analysis.crf.FeatureManager
getInputComponent, setInputComponent
 

Constructor Detail

CompositeFeatureManager

public CompositeFeatureManager()
Method Detail

getComponentFeatures

public java.util.List<FeatureManager> getComponentFeatures()

setComponentFeatures

public void setComponentFeatures(java.util.List<FeatureManager> components)

addFeatureManager

public void addFeatureManager(FeatureManager fm)

addFeatureManager

public void addFeatureManager(java.lang.String name,
                              java.lang.String inputParams,
                              FeatureManager fm)

getNumFeatures

public int getNumFeatures()
Description copied from interface: FeatureManager
Returns the number of features maintained by this FeatureManager. This number must be fixed after the call to trainFeatures is complete.

Specified by:
getNumFeatures in interface FeatureManager
Returns:
number of features managed by this FeatureManager

getFeatureName

public java.lang.String getFeatureName(int featureIndex)
Description copied from interface: FeatureManager
Returns a human identifiable name for the feature referenced by a given index. Used for display purposes only.

Specified by:
getFeatureName in interface FeatureManager
Parameters:
featureIndex - the index of this feature
Returns:
the human readable name of this feature

getFeatureOffset

public int getFeatureOffset(int featureIndex)

train

public void train(int startingIndex,
                  ModelManager modelInfo,
                  java.util.List data)
Description copied from interface: FeatureManager
Provides access to the entire training set so that FeatureManager can compute global properties and assign feature indices. This will be called before any evaluations are requested. If the FeatureManager can have a variable number of features, this must be fixed within this method.

Specified by:
train in interface FeatureManager
Parameters:
startingIndex - the feature index of the first feature owned by this FeatureManager. Each FeatureManager must use up consecutive indexes, so the last index used will be startingIndex + numFeatures - 1.
modelInfo - the model that contains this feature
data - the full list of training sequences to use to train the feature

evaluateNode

public void evaluateNode(InputSequence seq,
                         int pos,
                         int state,
                         FeatureList result)
Description copied from interface: FeatureManagerNode
Evaluates the set of features managed by this object for the given arguments.

Specified by:
evaluateNode in interface FeatureManagerNode

evaluateEdge

public void evaluateEdge(InputSequence seq,
                         int pos,
                         int prevState,
                         int state,
                         FeatureList result)
Description copied from interface: FeatureManagerEdge
Evaluates the set of features managed by this object for the given arguments.

Specified by:
evaluateEdge in interface FeatureManagerEdge

evaluateNodeLength

public void evaluateNodeLength(InputSequence seq,
                               int pos,
                               int length,
                               int state,
                               FeatureList result)
Specified by:
evaluateNodeLength in interface FeatureManagerNodeExplicitLength

evaluateEdgeLength

public void evaluateEdgeLength(InputSequence seq,
                               int pos,
                               int length,
                               int prevState,
                               int state,
                               FeatureList result)
Specified by:
evaluateEdgeLength in interface FeatureManagerEdgeExplicitLength

getCacheStrategy

public CacheStrategySpec getCacheStrategy()
Description copied from interface: FeatureManager
caching strategy that the CacheProcessor should use to cache values for this feature. This is only a hint, the cache processor is not required to use this (or any) caching strategy. This base class defaults to the UNSPECIFIED cache strategy.

Specified by:
getCacheStrategy in interface FeatureManager
Overrides:
getCacheStrategy in class AbstractFeatureManager
Returns:
cache strategy specification appropriate for this feature.