BeamSearch (Apache OpenNLP Tools 2.5.9 API)
Description: declaration: package: opennlp.tools.ml, class: BeamSearch

# Class BeamSearch

java.lang.Object
opennlp.tools.ml.BeamSearch

All Implemented Interfaces:
  `SequenceClassificationModel`

public class BeamSearch extends Object implements SequenceClassificationModel
Performs k-best search over a sequence.

This is based on the description in Ratnaparkhi (1998), PhD diss, Univ. of Pennsylvania.

See Also:
  - `Sequence`
  - `SequenceValidator`
  - `BeamSearchContextGenerator`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `BEAM_SIZE_PARAMETER`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BeamSearch(int size, MaxentModel model)`
  Initializes a `BeamSearch` instance.
  `BeamSearch(int size, MaxentModel model, int cacheSize)`
  Initializes a `BeamSearch` instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `<T> Sequence`
  `bestSequence(T[] sequence, Object[] additionalContext, BeamSearchContextGenerator<T> cg, SequenceValidator<T> validator)`
  Computes the best sequence of outcomes based on the `MaxentModel`.
  `<T> Sequence[]`
  `bestSequences(int numSequences, T[] sequence, Object[] additionalContext, double minSequenceScore, BeamSearchContextGenerator<T> cg, SequenceValidator<T> validator)`
  Computes the best sequence of outcomes based on the `MaxentModel`.
  `<T> Sequence[]`
  `bestSequences(int numSequences, T[] sequence, Object[] additionalContext, BeamSearchContextGenerator<T> cg, SequenceValidator<T> validator)`
  Computes the best sequence of outcomes based on the `MaxentModel`.
  `String[]`
  `getOutcomes()`

  ### Methods inherited from class Object

  `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### BEAM_SIZE_PARAMETER

    public static final String BEAM_SIZE_PARAMETER
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### BeamSearch

    public BeamSearch(int size, MaxentModel model)
    Initializes a `BeamSearch` instance.
    Parameters:
      `size` - The size of the beam (k).
      `model` - The `MaxentModel` for assigning probabilities to the sequence outcomes.

  - ### BeamSearch

    public BeamSearch(int size, MaxentModel model, int cacheSize)
    Initializes a `BeamSearch` instance.
    Parameters:
      `size` - The size of the beam (k).
      `model` - The `MaxentModel` for assigning probabilities to the sequence outcomes.
      `cacheSize` - The capacity of the `Cache` to use.

- ## Method Details

  - ### bestSequences

    public <T> Sequence[] bestSequences(int numSequences, T[] sequence, Object[] additionalContext, double minSequenceScore, BeamSearchContextGenerator<T> cg, SequenceValidator<T> validator)
    Computes the best sequence of outcomes based on the `MaxentModel`.
    Specified by:
      `bestSequences` in interface `SequenceClassificationModel`
    Parameters:
      `numSequences` - The number of sequences.
      `sequence` - The input `T` sequence.
      `additionalContext` - An `Object` of additional context. This is passed to the context generator blindly with the assumption that the context are appropriate.
      `minSequenceScore` - The minimum sequence score to use.
      `cg` - The `context generator` to use.
      `validator` - The `SequenceValidator` to validate sequences.
    Returns:
      The top ranked `Sequence` of outcomes or `null` if no sequence could be found.

  - ### bestSequences

    public <T> Sequence[] bestSequences(int numSequences, T[] sequence, Object[] additionalContext, BeamSearchContextGenerator<T> cg, SequenceValidator<T> validator)
    Computes the best sequence of outcomes based on the `MaxentModel`.
    Specified by:
      `bestSequences` in interface `SequenceClassificationModel`
    Parameters:
      `numSequences` - The number of sequences.
      `sequence` - The input `T` sequence.
      `additionalContext` - An `Object` of additional context. This is passed to the context generator blindly with the assumption that the context are appropriate.
      `cg` - The `context generator` to use.
      `validator` - The `SequenceValidator` to validate sequences.
    Returns:
      The top ranked `Sequence` of outcomes or `null` if no sequence could be found.

  - ### bestSequence

    public <T> Sequence bestSequence(T[] sequence, Object[] additionalContext, BeamSearchContextGenerator<T> cg, SequenceValidator<T> validator)
    Computes the best sequence of outcomes based on the `MaxentModel`.
    Specified by:
      `bestSequence` in interface `SequenceClassificationModel`
    Parameters:
      `sequence` - The input `T` sequence.
      `additionalContext` - An `Object` of additional context. This is passed to the context generator blindly with the assumption that the context are appropriate.
      `cg` - The `context generator` to use.
      `validator` - The `SequenceValidator` to validate sequences.
    Returns:
      The top ranked `Sequence` of outcomes or `null` if no sequence could be found.

  - ### getOutcomes

    public String[] getOutcomes()
    Specified by:
      `getOutcomes` in interface `SequenceClassificationModel`
    Returns:
      Retrieves all possible outcomes.