edu.stanford.nlp.maxent
Class Feature

java.lang.Object
  extended by edu.stanford.nlp.maxent.Feature
Direct Known Subclasses:
TaggerFeature

public class Feature
extends java.lang.Object

This class is used as a base class for TaggerFeature for the tagging problem and for BinaryFeature for the general problem with binary features.

Author:
Kristina Toutanova

Field Summary
 int[] indexedValues
          This will contain the (x,y) pairs for which the feature is non-zero in case it is sparse.
protected  Index<IntPair> instanceIndex
           
protected  double sum
           
 
Constructor Summary
Feature()
           
Feature(Experiments e, double[][] vals, Index<IntPair> instanceIndex)
           
Feature(Experiments e, double[] vals, Index<IntPair> instanceIndex)
          This is if we are given an array of double with a value for each training sample in the order of their occurrence.
Feature(Experiments e, int[] indexes, double[] vals, Index<IntPair> instanceIndex)
           
Feature(Experiments e, int numElems, Index<IntPair> instanceIndex)
           
 
Method Summary
 double ftilde()
           
 double getVal(int index)
          Get the value at the index-ed non zero value pair (x,y)
 double getVal(int x, int y)
          This is rarely used because it is slower and requires initHashVals() to be called beforehand to initialize the hashValues.
 int getX(int index)
           
 int getY(int index)
           
 void initHashVals()
          Creates a HashMap with keys indices from pairs (x,y) and values the value of the function at the pair; required for use of getVal(x,y)
 int len()
           
 void print()
          Prints out the points where the feature is non-zero and the values at these points.
 void print(java.io.PrintStream pf)
           
 void setSum()
           
 void setValue(int index, int key, double value)
          Used to sequentially set the values of a feature -- index is the pace in the arrays ; key goes into indexedValues, and value goes into valuesI.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

indexedValues

public int[] indexedValues
This will contain the (x,y) pairs for which the feature is non-zero in case it is sparse. The pairs (x,y) are coded as x*ySize+y. The values are kept in valuesI. For example, if a feature has only two non-zero values, e.g f(1,2)=3 and f(6,3)=0.74, then indexedValues will have values indexedValues={1*ySize+2,6*ySize+2} and valuesI will be {3,.74}


sum

protected double sum

instanceIndex

protected Index<IntPair> instanceIndex
Constructor Detail

Feature

public Feature()

Feature

public Feature(Experiments e,
               double[] vals,
               Index<IntPair> instanceIndex)
This is if we are given an array of double with a value for each training sample in the order of their occurrence.


Feature

public Feature(Experiments e,
               double[][] vals,
               Index<IntPair> instanceIndex)
Parameters:
vals - a value for each (x,y) pair

Feature

public Feature(Experiments e,
               int numElems,
               Index<IntPair> instanceIndex)

Feature

public Feature(Experiments e,
               int[] indexes,
               double[] vals,
               Index<IntPair> instanceIndex)
Parameters:
indexes - The pairs (x,y) for which the feature is non-zero. They are coded as x*ySize+y
vals - The values at these points.
Method Detail

print

public void print()
Prints out the points where the feature is non-zero and the values at these points.


setValue

public void setValue(int index,
                     int key,
                     double value)
Used to sequentially set the values of a feature -- index is the pace in the arrays ; key goes into indexedValues, and value goes into valuesI.


print

public void print(java.io.PrintStream pf)

getVal

public double getVal(int index)
Get the value at the index-ed non zero value pair (x,y)


setSum

public void setSum()

len

public int len()

getX

public int getX(int index)
Returns:
the history x of the index-th (x,y) pair

getY

public int getY(int index)
Returns:
the outcome y of the index-th (x,y) pair

getVal

public double getVal(int x,
                     int y)
This is rarely used because it is slower and requires initHashVals() to be called beforehand to initialize the hashValues.


initHashVals

public void initHashVals()
Creates a HashMap with keys indices from pairs (x,y) and values the value of the function at the pair; required for use of getVal(x,y)


ftilde

public double ftilde()
Returns:
The empirical expectation of the feature.


Stanford NLP Group