Package opennlp.tools.lemmatizer

# Class ThreadSafeLemmatizerME

java.lang.Object
opennlp.tools.lemmatizer.ThreadSafeLemmatizerME

All Implemented Interfaces:
  `AutoCloseable`, `Lemmatizer`, `Probabilistic`

@ThreadSafe public class ThreadSafeLemmatizerME extends Object implements Lemmatizer, Probabilistic, AutoCloseable
A thread-safe version of the `LemmatizerME`. Using it is completely transparent. You can use it in a single-threaded context as well, it only incurs a minimal overhead.

Note:
This implementation uses a `ThreadLocal`. Although the implementation is lightweight because the model is not duplicated, if you have many long-running threads, you may run into memory problems.

Be careful when using this in a Jakarta EE application, for example.

The user is responsible for clearing the `ThreadLocal` via calling `close()`.

See Also:
  - `Lemmatizer`
  - `LemmatizerME`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ThreadSafeLemmatizerME(LemmatizerModel model)`
  Initializes a `ThreadSafeLemmatizerME` with the specified `model`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  `String[]`
  `lemmatize(String[] toks, String[] tags)`
  Generates lemmas for the word and postag.
  `List<List<String>>`
  `lemmatize(List<String> toks, List<String> tags)`
  Generates lemma tags for the word and postag.
  `double[]`
  `probs()`
  Retrieves the probabilities of the last decoded sequence.

  ### Methods inherited from class java.lang.Object

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

- ## Constructor Details

  - ### ThreadSafeLemmatizerME

    public ThreadSafeLemmatizerME(LemmatizerModel model)
    Initializes a `ThreadSafeLemmatizerME` with the specified `model`.
    Parameters:
      `model` - A valid `LemmatizerModel`.

- ## Method Details

  - ### lemmatize

    public String[] lemmatize(String[] toks, String[] tags)
    Description copied from interface: `Lemmatizer`
    Generates lemmas for the word and postag.
    Specified by:
      `lemmatize` in interface `Lemmatizer`
    Parameters:
      `toks` - An array of the tokens
      `tags` - an array of the pos tags
    Returns:
      An array of possible lemmas for each token in the `toks` sequence.

  - ### lemmatize

    public List<List<String>> lemmatize(List<String> toks, List<String> tags)
    Description copied from interface: `Lemmatizer`
    Generates lemma tags for the word and postag.
    Specified by:
      `lemmatize` in interface `Lemmatizer`
    Parameters:
      `toks` - An array of the tokens
      `tags` - An array of the pos tags
    Returns:
      A list of every possible lemma for each token in the `toks` sequence.

  - ### probs

    public double[] probs()
    Description copied from interface: `Probabilistic`
    Retrieves the probabilities of the last decoded sequence.
    Specified by:
      `probs` in interface `Probabilistic`
    Returns:
      An array with the same number of probabilities as tokens were sent to the computational method when it was last called.

  - ### close

    public void close()
    Specified by:
      `close` in interface `AutoCloseable`