edu.stanford.nlp.tagger.maxent
Class TestSentence

java.lang.Object
  extended by edu.stanford.nlp.tagger.maxent.TestSentence
All Implemented Interfaces:
SequenceModel

public class TestSentence
extends Object
implements SequenceModel

Author:
Kristina Toutanova

Constructor Summary
TestSentence()
           
TestSentence(LambdaSolve prob, String s)
           
TestSentence(LambdaSolve prob, String[] s, String[] correctTags, PrintFile pf, Dictionary wrongWords)
           
TestSentence(LambdaSolve prob, String s, PrintFile pf)
           
 
Method Summary
 void addUnknown(Dictionary uDict)
          This method should be called after the sentence has been tagged.
static String[] append(String[] tags, String word)
           
 double[] getHistories(History h)
           
 int[] getPossibleValues(int pos)
          0...leftWindow-1 etc are null, leftWindow...length+leftWindow-1 are words, length+leftWindow...length+leftWindow+rightWindow-1 are null;
 double[][][] getProbs()
           
 String getTaggedNice()
          Returns a string representation of the sentence.
 Sentence<TaggedWord> getTaggedSentence()
           
 boolean known(String w)
           
 int leftWindow()
          How many positions to the left a position is dependent on.
 int length()
           
static void main(String[] args)
          Tags a test sentence.
 void printProbs()
           
 void printTop(PrintFile pfu)
          This method should be called after a sentence has been tagged.
 void printUnknown(int numSent, PrintFile pfu)
          This method should be called after the sentence has been tagged.
 boolean reliable(int current)
           
 int rightWindow()
          How many positions to the right a position is dependent on.
 double scoreOf(int[] sequence)
          Computes the score assigned by this model to the whole sequence.
 double scoreOf(int[] tags, int pos)
          Computes the unnormalized log conditional distribution over values of the element at position pos in the sequence, conditioned on the values of the elements in all other positions of the provided sequence.
 double[] scoresOf(int[] tags, int pos)
          Computes the unnormalized log conditional distribution over values of the element at position pos in the sequence, conditioned on the values of the elements in all other positions of the provided sequence.
 String[] stringTagsAt(int pos)
           
 Sentence<TaggedWord> tagSentence(LambdaSolve prob, Sentence<? extends HasWord> s)
          Tags the sentence s by solving prob.
 Sentence<TaggedWord> testTagInference()
          Test using (exact Viterbi) TagInference.
 void testTagInference(PrintFile pf, Dictionary wrongWords)
          Test using (exact Viterbi) TagInference.
static String toNice(String s)
           
 void writeProbs()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TestSentence

public TestSentence()

TestSentence

public TestSentence(LambdaSolve prob,
                    String s)

TestSentence

public TestSentence(LambdaSolve prob,
                    String s,
                    PrintFile pf)

TestSentence

public TestSentence(LambdaSolve prob,
                    String[] s,
                    String[] correctTags,
                    PrintFile pf,
                    Dictionary wrongWords)
Method Detail

tagSentence

public Sentence<TaggedWord> tagSentence(LambdaSolve prob,
                                        Sentence<? extends HasWord> s)
Tags the sentence s by solving prob. Returns a sentence of TaggedWord objects.

Parameters:
prob -
s -
Returns:

getTaggedNice

public String getTaggedNice()
Returns a string representation of the sentence.

Returns:

getTaggedSentence

public Sentence<TaggedWord> getTaggedSentence()

toNice

public static String toNice(String s)

writeProbs

public void writeProbs()

testTagInference

public void testTagInference(PrintFile pf,
                             Dictionary wrongWords)
Test using (exact Viterbi) TagInference.


testTagInference

public Sentence<TaggedWord> testTagInference()
Test using (exact Viterbi) TagInference.

Returns:
The tagged sentence

known

public boolean known(String w)

reliable

public boolean reliable(int current)

append

public static String[] append(String[] tags,
                              String word)

getHistories

public double[] getHistories(History h)

getProbs

public double[][][] getProbs()

printProbs

public void printProbs()

addUnknown

public void addUnknown(Dictionary uDict)
This method should be called after the sentence has been tagged. For every unknown word, this method adds the 3 most probable tags to the dictionary uDict


printUnknown

public void printUnknown(int numSent,
                         PrintFile pfu)
This method should be called after the sentence has been tagged. For every unknown word, this method prints the 3 most probable tags to the file pfu.

Parameters:
numSent - The sentence number
pfu - The file to print the probable tags to

printTop

public void printTop(PrintFile pfu)
This method should be called after a sentence has been tagged. For every word token, this method prints the 3 most probable tags to the file pfu except for

Parameters:
pfu - File to print top tags to

length

public int length()
Specified by:
length in interface SequenceModel
Returns:
the length of the sequences modeled by this SequenceModel

leftWindow

public int leftWindow()
Description copied from interface: SequenceModel
How many positions to the left a position is dependent on.

Specified by:
leftWindow in interface SequenceModel
Returns:
the size of the left window used by this sequence model

rightWindow

public int rightWindow()
Description copied from interface: SequenceModel
How many positions to the right a position is dependent on.

Specified by:
rightWindow in interface SequenceModel
Returns:
the size of the right window used by this sequence model

getPossibleValues

public int[] getPossibleValues(int pos)
Description copied from interface: SequenceModel
0...leftWindow-1 etc are null, leftWindow...length+leftWindow-1 are words, length+leftWindow...length+leftWindow+rightWindow-1 are null;

Specified by:
getPossibleValues in interface SequenceModel
Parameters:
pos - the position
Returns:
the set of possible int values at this position, as an int array

stringTagsAt

public String[] stringTagsAt(int pos)

scoreOf

public double scoreOf(int[] tags,
                      int pos)
Description copied from interface: SequenceModel
Computes the unnormalized log conditional distribution over values of the element at position pos in the sequence, conditioned on the values of the elements in all other positions of the provided sequence.

Specified by:
scoreOf in interface SequenceModel
Parameters:
tags - the sequence containing the rest of the values to condition on
pos - the position of the element to give a distribution for
Returns:
the log score of the token at the specified position in the sequence

scoreOf

public double scoreOf(int[] sequence)
Description copied from interface: SequenceModel
Computes the score assigned by this model to the whole sequence. Typically this will be an unnormalized probability in log space (since the probabilities are small).

Specified by:
scoreOf in interface SequenceModel
Parameters:
sequence - the sequence to compute a score for
Returns:
the score for the sequence

scoresOf

public double[] scoresOf(int[] tags,
                         int pos)
Description copied from interface: SequenceModel
Computes the unnormalized log conditional distribution over values of the element at position pos in the sequence, conditioned on the values of the elements in all other positions of the provided sequence.

Specified by:
scoresOf in interface SequenceModel
Parameters:
tags - the sequence containing the rest of the values to condition on
pos - the position of the element to give a distribution for
Returns:
the scores of the possible tokens at the specified position in the sequence

main

public static void main(String[] args)
Tags a test sentence.

Parameters:
args - A single argument giving the filename of the model file. If none is provided, a default tagger in /u/nlp/data is used.


Stanford NLP Group