Package opennlp.tools.namefind

# Class ThreadSafeNameFinderME

java.lang.Object
opennlp.tools.namefind.ThreadSafeNameFinderME

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

@ThreadSafe public class ThreadSafeNameFinderME extends Object implements TokenNameFinder, Probabilistic, AutoCloseable
A thread-safe version of `NameFinderME`. 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:
  - `NameFinderME`
  - `Probabilistic`
  - `TokenNameFinder`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ThreadSafeNameFinderME(TokenNameFinderModel model)`
  Initializes a `ThreadSafeNameFinderME` with the specified `model`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `clearAdaptiveData()`
  Forgets all adaptive data which was collected during previous calls to one of the find methods.
  `void`
  `close()`
  `Span[]`
  `find(String[] tokens)`
  Generates name tags for the given sequence, typically a sentence, returning `token spans` for any identified names.
  `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

  - ### ThreadSafeNameFinderME

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

- ## Method Details

  - ### find

    public Span[] find(String[] tokens)
    Description copied from interface: `TokenNameFinder`
    Generates name tags for the given sequence, typically a sentence, returning `token spans` for any identified names.
    Specified by:
      `find` in interface `TokenNameFinder`
    Parameters:
      `tokens` - An array of the tokens or words of the sequence, typically a sentence.
    Returns:
      An array of `spans` for each of the names identified.

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

  - ### clearAdaptiveData

    public void clearAdaptiveData()
    Description copied from interface: `TokenNameFinder`
    Forgets all adaptive data which was collected during previous calls to one of the find methods.

    Note: This method should typically be called at the end of the processing of a document.

    Specified by:
      `clearAdaptiveData` in interface `TokenNameFinder`

  - ### close

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