POSTaggerFactory (Apache OpenNLP Tools 1.9.5 API)
Date: 2026-06-18

opennlp.tools.postag

## Class POSTaggerFactory

- java.lang.Object
- - opennlp.tools.util.BaseToolFactory
  - - opennlp.tools.postag.POSTaggerFactory

-     public class POSTaggerFactory
      extends BaseToolFactory

  The factory that provides POS Tagger default implementations and resources

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `POSTaggerFactory.POSDictionarySerializer`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `POSTaggerFactory()` Creates a `POSTaggerFactory` that provides the default implementation of the resources.
    `POSTaggerFactory(byte[] featureGeneratorBytes, Map<String,Object> resources, TagDictionary posDictionary)`
    `POSTaggerFactory(Dictionary ngramDictionary, TagDictionary posDictionary)` Deprecated. this constructor is here for backward compatibility and is not functional anymore in the training of 1.8.x series models

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `static POSTaggerFactory` | `create(String subclassName, byte[] featureGeneratorBytes, Map<String,Object> resources, TagDictionary posDictionary)`
    `static POSTaggerFactory` | `create(String subclassName, Dictionary ngramDictionary, TagDictionary posDictionary)` Deprecated.
    `Map<String,Object>` | `createArtifactMap()` Creates a `Map` with pairs of keys and objects.
    `Map<String,ArtifactSerializer>` | `createArtifactSerializersMap()` Creates a `Map` with pairs of keys and `ArtifactSerializer`.
    `TagDictionary` | `createEmptyTagDictionary()`
    `AdaptiveFeatureGenerator` | `createFeatureGenerators()` Creates the `AdaptiveFeatureGenerator`.
    `TagDictionary` | `createTagDictionary(File dictionary)`
    `TagDictionary` | `createTagDictionary(InputStream in)`
    `Dictionary` | `getDictionary()` Deprecated. this will be reduced in visibility and later removed
    `POSContextGenerator` | `getPOSContextGenerator()`
    `POSContextGenerator` | `getPOSContextGenerator(int cacheSize)`
    `SequenceValidator<String>` | `getSequenceValidator()`
    `TagDictionary` | `getTagDictionary()`
    `void` | `setDictionary(Dictionary ngramDict)` Deprecated.
    `void` | `setTagDictionary(TagDictionary dictionary)`
    `void` | `validateArtifactMap()` Validates the parsed artifacts.

    - ### Methods inherited from class opennlp.tools.util.BaseToolFactory

      `create, create, createManifestEntries`

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

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

- - ### Constructor Detail

    - #### POSTaggerFactory

          public POSTaggerFactory()

      Creates a `POSTaggerFactory` that provides the default implementation of the resources.

    - #### POSTaggerFactory

          @Deprecated
          public POSTaggerFactory(Dictionary ngramDictionary,
                                              TagDictionary posDictionary)

      Deprecated. this constructor is here for backward compatibility and is not functional anymore in the training of 1.8.x series models
      Creates a `POSTaggerFactory`. Use this constructor to programmatically create a factory.
      Parameters:
        `ngramDictionary` -
        `posDictionary` -

    - #### POSTaggerFactory

          public POSTaggerFactory(byte[] featureGeneratorBytes,
                                  Map<String,Object> resources,
                                  TagDictionary posDictionary)

  - ### Method Detail

    - #### createFeatureGenerators

          public AdaptiveFeatureGenerator createFeatureGenerators()

      Creates the `AdaptiveFeatureGenerator`. Usually this is a set of generators contained in the `AggregatedFeatureGenerator`. Note: The generators are created on every call to this method.
      Returns:
        the feature generator or null if there is no descriptor in the model

    - #### createArtifactSerializersMap

          public Map<String,ArtifactSerializer> createArtifactSerializersMap()

      Description copied from class: `BaseToolFactory`
      Creates a `Map` with pairs of keys and `ArtifactSerializer`. The models implementation should call this method from `BaseModel#createArtifactSerializersMap`

      The base implementation will return a `HashMap` that should be populated by sub-classes.

      Overrides:
        `createArtifactSerializersMap` in class `BaseToolFactory`

    - #### createArtifactMap

          public Map<String,Object> createArtifactMap()

      Description copied from class: `BaseToolFactory`
      Creates a `Map` with pairs of keys and objects. The models implementation should call this constructor that creates a model programmatically.

      The base implementation will return a `HashMap` that should be populated by sub-classes.

      Overrides:
        `createArtifactMap` in class `BaseToolFactory`

    - #### createTagDictionary

          public TagDictionary createTagDictionary(File dictionary)
                                            throws IOException

      Throws:
        `IOException`

    - #### createTagDictionary

          public TagDictionary createTagDictionary(InputStream in)
                                            throws IOException

      Throws:
        `IOException`

    - #### setTagDictionary

          public void setTagDictionary(TagDictionary dictionary)

    - #### getTagDictionary

          public TagDictionary getTagDictionary()

    - #### getDictionary

          @Deprecated
          public Dictionary getDictionary()

      Deprecated. this will be reduced in visibility and later removed

    - #### setDictionary

          @Deprecated
          public void setDictionary(Dictionary ngramDict)

      Deprecated.

    - #### getPOSContextGenerator

          public POSContextGenerator getPOSContextGenerator()

    - #### getPOSContextGenerator

          public POSContextGenerator getPOSContextGenerator(int cacheSize)

    - #### getSequenceValidator

          public SequenceValidator<String> getSequenceValidator()

    - #### validateArtifactMap

          public void validateArtifactMap()
                                   throws InvalidFormatException

      Description copied from class: `BaseToolFactory`
      Validates the parsed artifacts. If something is not valid subclasses should throw an `InvalidFormatException`. Note: Subclasses should generally invoke super.validateArtifactMap at the beginning of this method.
      Specified by:
        `validateArtifactMap` in class `BaseToolFactory`
      Throws:
        `InvalidFormatException`

    - #### create

          @Deprecated
          public static POSTaggerFactory create(String subclassName,
                                                            Dictionary ngramDictionary,
                                                            TagDictionary posDictionary)
                                                     throws InvalidFormatException

      Deprecated.
      Throws:
        `InvalidFormatException`

    - #### create

          public static POSTaggerFactory create(String subclassName,
                                                byte[] featureGeneratorBytes,
                                                Map<String,Object> resources,
                                                TagDictionary posDictionary)
                                         throws InvalidFormatException

      Throws:
        `InvalidFormatException`

    - #### createEmptyTagDictionary

          public TagDictionary createEmptyTagDictionary()

Copyright © 2026 The Apache Software Foundation. All rights reserved.