edu.stanford.nlp.international.morph
Class MorphoFeatures

java.lang.Object
  extended by edu.stanford.nlp.international.morph.MorphoFeatures
All Implemented Interfaces:
Serializable

public class MorphoFeatures
extends Object
implements Serializable

Holds a set of morphosyntactic features for a given surface form

Author:
Spence Green
See Also:
Serialized Form

Field Summary
protected  String altTag
           
protected  Map<MorphoFeatureSpecification.MorphoFeatureType,String> fSpec
           
static String KEY_VAL_DELIM
           
 
Constructor Summary
MorphoFeatures()
           
 
Method Summary
 void addFeature(MorphoFeatureSpecification.MorphoFeatureType feat, String val)
           
 MorphoFeatures fromTagString(String str)
          Assumes that the tag string has been formed using a call to getTag().
 String getAltTag()
          An alternate tag form than the one produced by getTag().
 String getTag(String baseTag)
          Build a POS tag consisting of a base category plus inflectional features.
 String getValue(MorphoFeatureSpecification.MorphoFeatureType feat)
           
 boolean hasFeature(MorphoFeatureSpecification.MorphoFeatureType feat)
           
 int numActiveFeatures()
           
 int numFeatureMatches(MorphoFeatures other)
           
 void setAltTag(String tag)
           
 String toString()
          values() returns the values in the order in which they are declared.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

KEY_VAL_DELIM

public static final String KEY_VAL_DELIM
See Also:
Constant Field Values

fSpec

protected final Map<MorphoFeatureSpecification.MorphoFeatureType,String> fSpec

altTag

protected String altTag
Constructor Detail

MorphoFeatures

public MorphoFeatures()
Method Detail

addFeature

public void addFeature(MorphoFeatureSpecification.MorphoFeatureType feat,
                       String val)

hasFeature

public boolean hasFeature(MorphoFeatureSpecification.MorphoFeatureType feat)

getValue

public String getValue(MorphoFeatureSpecification.MorphoFeatureType feat)

numFeatureMatches

public int numFeatureMatches(MorphoFeatures other)

numActiveFeatures

public int numActiveFeatures()

getTag

public String getTag(String baseTag)
Build a POS tag consisting of a base category plus inflectional features.

Parameters:
baseTag -
Returns:
the tag

setAltTag

public void setAltTag(String tag)

getAltTag

public String getAltTag()
An alternate tag form than the one produced by getTag(). Subclasses may want to use this form to implement someone else's tagset (e.g., CC, ERTS, etc.)

Returns:
the tag

fromTagString

public MorphoFeatures fromTagString(String str)
Assumes that the tag string has been formed using a call to getTag(). As such, it removes the basic category from the feature string.

Note that this method returns a new MorphoFeatures object. As a result, it behaves like a static method, but is non-static so that subclasses can override this method.

Parameters:
str -
Returns:

toString

public String toString()
values() returns the values in the order in which they are declared. Thus we will not have the case where two feature types can yield two strings: -feat1:A-feat2:B -feat2:B-feat1:A

Overrides:
toString in class Object


Stanford NLP Group