Class POSDictionary

java.lang.Object
opennlp.tools.postag.POSDictionary
All Implemented Interfaces:
Iterable<String>, MutableTagDictionary, TagDictionary, SerializableArtifact

public class POSDictionary extends Object implements Iterable<String>, MutableTagDictionary, SerializableArtifact
Provides a means of determining which tags are valid for a particular word based on a TagDictionary read from a file.
  • Constructor Details

    • POSDictionary

      public POSDictionary()
      Initializes an empty case sensitive POSDictionary.
    • POSDictionary

      public POSDictionary(boolean caseSensitive)
      Initializes an empty POSDictionary.
      Parameters:
      caseSensitive - true if the POSDictionary is case sensitive, false otherwise.
  • Method Details

    • getTags

      public String[] getTags(String word)
      Returns a list of valid tags for the specified word.
      Specified by:
      getTags in interface TagDictionary
      Parameters:
      word - The word.
      Returns:
      An array of valid tags for the specified word or null if no information is available for that word.
    • iterator

      public Iterator<String> iterator()
      Retrieves an Iterator over all words in the dictionary.
      Specified by:
      iterator in interface Iterable<String>
    • serialize

      public void serialize(OutputStream out) throws IOException
      Writes the POSDictionary to the given OutputStream;

      After the serialization is finished the provided OutputStream remains open.

      Parameters:
      out - the OutputStream to write the dictionary into.
      Throws:
      IOException - Throw if writing to the OutputStream fails
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • create

      public static POSDictionary create(InputStream in) throws IOException
      Creates a new POSDictionary from an InputStream.

      After creation is finished the provided InputStream is closed.

      Parameters:
      in - The InputStream used for creating the POSDictionary. The stream must be open and have bytes available to read from.
      Returns:
      A valid POSDictionary instance.
      Throws:
      IOException - Thrown if IO errors occurred during creation.
      InvalidFormatException - Thrown if the entries don't have exactly one token.
    • put

      public String[] put(String word, String... tags)
      Description copied from interface: MutableTagDictionary
      Associates the specified tags with the specified word. If the dictionary previously contained keys for the word, the old tags are replaced by the specified tags.
      Specified by:
      put in interface MutableTagDictionary
      Parameters:
      word - word with which the specified tags is to be associated
      tags - tags to be associated with the specified word
      Returns:
      the previous tags associated with the word, or null if there was no mapping for word.
    • isCaseSensitive

      public boolean isCaseSensitive()
      Description copied from interface: TagDictionary
      Whether the dictionary is case-sensitive or not.
      Specified by:
      isCaseSensitive in interface TagDictionary
      Returns:
      true if the dictionary is case-sensitive, else false.
    • getArtifactSerializerClass

      public Class<?> getArtifactSerializerClass()
      Description copied from interface: SerializableArtifact
      Retrieves the class which can serialize and recreate this artifact.

      Note: The serializer class must have a public zero argument constructor or an exception is thrown during model serialization/loading.

      Specified by:
      getArtifactSerializerClass in interface SerializableArtifact
      Returns:
      The corresponding ArtifactSerializer class.