Package opennlp.tools.ml

## Class BeamSearch<T>

- java.lang.Object
- - opennlp.tools.ml.BeamSearch<T>

- All Implemented Interfaces:
    `SequenceClassificationModel<T>`

      public class BeamSearch<T>
      extends Object
      implements SequenceClassificationModel<T>

  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 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

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Sequence` | `bestSequence​(T[] sequence, Object[] additionalContext, BeamSearchContextGenerator<T> cg, SequenceValidator<T> validator)` | Computes the best sequence of outcomes based on the `MaxentModel`.
    `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`.
    `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 java.lang.Object

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

- - ### Field Detail

    - #### BEAM_SIZE_PARAMETER

          public static final String BEAM_SIZE_PARAMETER

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### 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 Detail

    - #### bestSequences

          public 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<T>`
      Parameters:
        `numSequences` - The number of sequences.
        `sequence` - The input `BeamSearch` 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 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<T>`
      Parameters:
        `numSequences` - The number of sequences.
        `sequence` - The input `BeamSearch` 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 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<T>`
      Parameters:
        `sequence` - The input `BeamSearch` 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<T>`
      Returns:
        Retrieves all possible outcomes.