opennlp.tools.util
Class BeamSearch<T>

java.lang.Object
  extended by opennlp.tools.util.BeamSearch<T>

public class BeamSearch<T>
extends Object

Performs k-best search over sequence. This is based on the description in Ratnaparkhi (1998), PhD diss, Univ. of Pennsylvania.

See Also:
Sequence, SequenceValidator, BeamSearchContextGenerator

Field Summary
protected  BeamSearchContextGenerator<T> cg
           
protected  opennlp.model.MaxentModel model
           
protected  int size
           
 
Constructor Summary
BeamSearch(int size, BeamSearchContextGenerator<T> cg, opennlp.model.MaxentModel model)
          Creates new search object.
BeamSearch(int size, BeamSearchContextGenerator<T> cg, opennlp.model.MaxentModel model, int cacheSize)
           
BeamSearch(int size, BeamSearchContextGenerator<T> cg, opennlp.model.MaxentModel model, SequenceValidator<T> validator, int cacheSize)
           
 
Method Summary
 Sequence bestSequence(T[] sequence, Object[] additionalContext)
          Returns the best sequence of outcomes based on model for this object.
 Sequence[] bestSequences(int numSequences, T[] sequence, Object[] additionalContext)
           
 Sequence[] bestSequences(int numSequences, T[] sequence, Object[] additionalContext, double minSequenceScore)
          Returns the best sequence of outcomes based on model for this object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

size

protected int size

cg

protected BeamSearchContextGenerator<T> cg

model

protected opennlp.model.MaxentModel model
Constructor Detail

BeamSearch

public BeamSearch(int size,
                  BeamSearchContextGenerator<T> cg,
                  opennlp.model.MaxentModel model)
Creates new search object.

Parameters:
size - The size of the beam (k).
cg - the context generator for the model.
model - the model for assigning probabilities to the sequence outcomes.

BeamSearch

public BeamSearch(int size,
                  BeamSearchContextGenerator<T> cg,
                  opennlp.model.MaxentModel model,
                  int cacheSize)

BeamSearch

public BeamSearch(int size,
                  BeamSearchContextGenerator<T> cg,
                  opennlp.model.MaxentModel model,
                  SequenceValidator<T> validator,
                  int cacheSize)
Method Detail

bestSequences

public Sequence[] bestSequences(int numSequences,
                                T[] sequence,
                                Object[] additionalContext)

bestSequences

public Sequence[] bestSequences(int numSequences,
                                T[] sequence,
                                Object[] additionalContext,
                                double minSequenceScore)
Returns the best sequence of outcomes based on model for this object.

Parameters:
numSequences - The maximum number of sequences to be returned.
sequence - The input sequence.
additionalContext - An Object[] of additional context. This is passed to the context generator blindly with the assumption that the context are appropiate.
minSequenceScore - A lower bound on the score of a returned sequence.
Returns:
An array of the top ranked sequences of outcomes.

bestSequence

public Sequence bestSequence(T[] sequence,
                             Object[] additionalContext)
Returns the best sequence of outcomes based on model for this object.

Parameters:
sequence - The input sequence.
additionalContext - An Object[] of additional context. This is passed to the context generator blindly with the assumption that the context are appropiate.
Returns:
The top ranked sequence of outcomes or null if no sequence could be found


Copyright © 2010. All Rights Reserved.