Class ThreadSafeChunkerME

java.lang.Object
opennlp.tools.chunker.ThreadSafeChunkerME
All Implemented Interfaces:
AutoCloseable, Chunker, Probabilistic

@ThreadSafe public class ThreadSafeChunkerME extends Object implements Chunker, Probabilistic, AutoCloseable
A thread-safe version of the ChunkerME. 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

    • chunk

      public String[] chunk(String[] toks, String[] tags)
      Description copied from interface: Chunker
      Generates chunk tags for the given sequence returning the result in an array.
      Specified by:
      chunk in interface Chunker
      Parameters:
      toks - an array of the tokens or words of the sequence.
      tags - an array of the pos tags of the sequence.
      Returns:
      an array of chunk tags for each token in the sequence.
    • chunkAsSpans

      public Span[] chunkAsSpans(String[] toks, String[] tags)
      Description copied from interface: Chunker
      Generates tagged chunk spans for the given sequence returning the result in a span array.
      Specified by:
      chunkAsSpans in interface Chunker
      Parameters:
      toks - an array of the tokens or words of the sequence.
      tags - an array of the pos tags of the sequence.
      Returns:
      an array of spans with chunk tags for each chunk in the sequence.
    • topKSequences

      public Sequence[] topKSequences(String[] sentence, String[] tags)
      Description copied from interface: Chunker
      Computes the top k chunk sequences for the specified sentence with the specified pos-tags.
      Specified by:
      topKSequences in interface Chunker
      Parameters:
      sentence - The tokens of the sentence.
      tags - The pos-tags for the specified sentence.
      Returns:
      the top k chunk sequences for the specified sentence.
    • topKSequences

      public Sequence[] topKSequences(String[] sentence, String[] tags, double minSequenceScore)
      Description copied from interface: Chunker
      Computes the top k chunk sequences for the specified sentence with the specified pos-tags.
      Specified by:
      topKSequences in interface Chunker
      Parameters:
      sentence - The tokens of the sentence.
      tags - The pos-tags for the specified sentence.
      minSequenceScore - A lower bound on the score of a returned sequence.
      Returns:
      the top k chunk sequences for the specified sentence.
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
    • 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.