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:
  • Constructor Details

  • 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