edu.northwestern.at.morphadorner.corpuslinguistics.partsofspeech

## Class AbstractPartOfSpeechTags

- java.lang.Object
- - edu.northwestern.at.utils.IsCloseableObject
  - - edu.northwestern.at.morphadorner.corpuslinguistics.partsofspeech.AbstractPartOfSpeechTags

- All Implemented Interfaces:
    PartOfSpeechTags, IsCloseable
  Direct Known Subclasses:
    BasePartOfSpeechTags, NUPOSPartOfSpeechTags, PennTreebankPartOfSpeechTags

      public abstract class AbstractPartOfSpeechTags
      extends IsCloseableObject
      implements PartOfSpeechTags, IsCloseable

  AbstractPartOfSpeechTags: Base class for PartOfSpeechTags implementations.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.util.Map<java.lang.String,java.lang.String>` | `generalTagNames` Tag to general tag name map.
    `protected java.util.Map<java.lang.String,PartOfSpeech>` | `partOfSpeechData` Stores information about part of speech tags.
    `protected char` | `tagSeparator` Character separating multiple part of speech tags.
    `protected java.lang.String` | `tagSeparatorString`

    - ### Fields inherited from interface edu.northwestern.at.morphadorner.corpuslinguistics.partsofspeech.PartOfSpeechTags

      `ADJECTIVE, ADVERB, CARDINAL_NUMERAL, DESCRIPTION_INDEX, ENGLISH_WORD, FOREIGN_WORD, FRENCH_WORD, GENERAL_TAG_NAME_INDEX, GERMAN_WORD, GREEK_WORD, HEBREW_WORD, INTERJECTION, ITALIAN_WORD, LATIN_WORD, MAJOR_WORDCLASS_INDEX, NONE, ORDINAL_NUMERAL, PLURAL_NOUN, PLURAL_PROPER_NOUN, POSSESSIVE_NOUN, POSSESSIVE_PLURAL_NOUN, POSSESSIVE_PLURAL_PROPER_NOUN, POSSESSIVE_SINGULAR_NOUN, POSSESSIVE_SINGULAR_PROPER_NOUN, PROPER_NOUN, PUNCTUATION, SINGULAR_NOUN, SINGULAR_PROPER_NOUN, SPANISH_WORD, SYMBOL, TAG_INDEX, UNDETERMINED, VERB, VERB_PAST, VERB_PAST_PARTICIPLE, VERB_PRESENT_PARTICIPLE, WORDCLASS_INDEX`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractPartOfSpeechTags()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addPartOfSpeech(PartOfSpeech partOfSpeech)` Add a part of speech.
    `void` | `addTag(java.lang.String tag, java.lang.String wordClass, java.lang.String majorWordClass, java.lang.String lemmaWordClass, java.lang.String generalTagName, java.lang.String description)` Add a part of speech tag.
    `int` | `countTags(java.lang.String tag)` Get number of tags comprising this tag.
    `java.lang.String` | `getAdjectiveTag()` Get the part of speech tag for an adjective.
    `java.lang.String` | `getAdverbTag()` Get the part of speech tag for an adverb.
    `java.lang.String` | `getCardinalNumberTag()` Get the part of speech tag for a cardinal number.
    `java.lang.String` | `getCorrespondingCommonNounTag(java.lang.String tag)` Convert proper noun tag to common noun tag.
    `java.lang.String` | `getDescription(java.lang.String tag)` Get the description for the part of speech.
    `java.lang.String` | `getForeignWordTag(java.lang.String language)` Get the part of speech tag for a specified foreign language
    `java.lang.String` | `getInterjectionTag()` Get the part of speech tag for an interjection.
    `java.lang.String` | `getLemmaWordClass(java.lang.String tag)` Get lemma class for a tag.
    `java.lang.String` | `getMajorWordClass(java.lang.String tag)` Get major word class for a tag.
    `java.lang.String` | `getOrdinalNumberTag()` Get the part of speech tag for an ordinal number.
    `protected PartOfSpeech` | `getPartOfSpeechData(java.lang.String tag)` Get part of speech data for a tag.
    `java.lang.String` | `getPastParticipleTag()` Get the part of speech tag for a verbal past participle
    `java.lang.String` | `getPluralNounTag()` Get the part of speech tag for a plural noun.
    `java.lang.String` | `getPluralProperNounTag()` Get the part of speech tag for a plural proper noun.
    `java.lang.String` | `getPossessivePluralNounTag()` Get the part of speech tag for a possessive plural noun.
    `java.lang.String` | `getPossessivePluralProperNounTag()` Get the part of speech tag for a possessive plural proper noun.
    `java.lang.String` | `getPossessiveSingularNounTag()` Get the part of speech tag for a possessive singular noun.
    `java.lang.String` | `getPossessiveSingularProperNounTag()` Get the part of speech tag for a possessive singular proper noun.
    `java.lang.String` | `getPresentParticipleTag()` Get the part of speech tag for a verbal present participle
    `java.lang.String` | `getSingularNounTag()` Get the part of speech tag for a singular noun.
    `java.lang.String` | `getSingularProperNounTag()` Get the part of speech tag for a singular proper noun.
    `java.lang.String` | `getSymbolTag()` Get the part of speech tag for a symbol.
    `PartOfSpeech` | `getTag(java.lang.String tag)` Get data for a tag.
    `java.util.Set<java.lang.String>` | `getTagNames()` Return set of tag names.
    `java.util.List<PartOfSpeech>` | `getTags()` Get list of tag entries in PartOfSpeech format.
    `java.lang.String` | `getTagSeparator()` Get part of speech separator.
    `java.lang.String` | `getUndeterminedTag()` Get undetermined part of speech tag.
    `java.lang.String` | `getVerbPastTag()` Get the part of speech tag for a verb past tense.
    `java.lang.String` | `getVerbTag()` Get the part of speech tag for a verb.
    `java.lang.String` | `getWordClass(java.lang.String tag)` Get word class for a tag.
    `boolean` | `isCompoundTag(java.lang.String tag)` Check of specified tag contains more than one part of speech.
    `boolean` | `isDeterminerTag(java.lang.String tag)` Is tag for a determiner.
    `boolean` | `isForeignWordTag(java.lang.String tag)` Is tag for a foreign word.
    `boolean` | `isInterjectionTag(java.lang.String tag)` Check if specified tag is an interjection.
    `boolean` | `isNounTag(java.lang.String tag)` Is tag for a noun.
    `boolean` | `isNumberTag(java.lang.String tag)` Is tag for a number.
    `boolean` | `isPersonalPronounTag(java.lang.String tag)` Is tag for a personal pronoun.
    `boolean` | `isPronounTag(java.lang.String tag)` Is tag for a pronoun.
    `boolean` | `isProperAdjectiveTag(java.lang.String tag)` Is tag for a proper adjective.
    `boolean` | `isProperNounTag(java.lang.String tag)` Is tag for a proper noun.
    `boolean` | `isPunctuationTag(java.lang.String tag)` Is tag for punctuation.
    `boolean` | `isSingularNounTag(java.lang.String tag)` Is tag for a singular noun.
    `boolean` | `isSymbolTag(java.lang.String tag)` Is tag for a symbol.
    `boolean` | `isTag(java.lang.String tag)` Check if specified tag appears in the tag list.
    `boolean` | `isUndeterminedTag(java.lang.String tag)` Is part of speech tag undetermined.
    `boolean` | `isVerbTag(java.lang.String tag)` Is tag for a verb.
    `java.lang.String` | `joinTags(java.lang.String[] tags)` Join separate tags into a compound tag..
    `java.lang.String` | `joinTags(java.lang.String[] tags, java.lang.String separator)` Join separate tags into a compound tag..
    `void` | `loadTags(java.io.InputStream tagsInputStream, java.lang.String encoding)` Load part of speech tags.
    `boolean` | `majorWordClassEquals(java.lang.String tag, java.lang.String majorWordClass)` Check if major word class is a specified value.
    `void` | `saveTags(java.lang.String fileName)` Save part of speech tags to* a properties file.
    `java.lang.String[]` | `splitTag(java.lang.String tag)` Split compound tag into separate tags.
    `java.lang.String` | `toString()` Return string form of tag set.

    - ### Methods inherited from class edu.northwestern.at.utils.IsCloseableObject

      `close`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface edu.northwestern.at.utils.IsCloseable

      `close`

- - ### Field Detail

    - #### partOfSpeechData

          protected java.util.Map<java.lang.String,PartOfSpeech> partOfSpeechData

      Stores information about part of speech tags.

      Maps part of speech tags to tag information.

    - #### generalTagNames

          protected java.util.Map<java.lang.String,java.lang.String> generalTagNames

      Tag to general tag name map.

    - #### tagSeparator

          protected char tagSeparator

      Character separating multiple part of speech tags.

    - #### tagSeparatorString

          protected java.lang.String tagSeparatorString

  - ### Constructor Detail

    - #### AbstractPartOfSpeechTags

          public AbstractPartOfSpeechTags()

  - ### Method Detail

    - #### addTag

          public void addTag(java.lang.String tag,
                    java.lang.String wordClass,
                    java.lang.String majorWordClass,
                    java.lang.String lemmaWordClass,
                    java.lang.String generalTagName,
                    java.lang.String description)

      Add a part of speech tag.
      Specified by:
        `addTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - Tag name.
        `wordClass` - The word class.
        `majorWordClass` - The major word class.
        `lemmaWordClass` - The lemma word class.
        `generalTagName` - The general tag name.
        `description` - The description.

    - #### addPartOfSpeech

          public void addPartOfSpeech(PartOfSpeech partOfSpeech)

      Add a part of speech.
      Specified by:
        `addPartOfSpeech` in interface `PartOfSpeechTags`
      Parameters:
        `partOfSpeech` - The part of speech to add.

    - #### loadTags

          public void loadTags(java.io.InputStream tagsInputStream,
                      java.lang.String encoding)
                        throws java.io.IOException

      Load part of speech tags.
      Parameters:
        `tagsInputStream` - Input stream for part of speech tags information.
        `encoding` - Character encoding for stream.
      Throws:
        `java.io.IOException` - When input stream cannot be read.

    - #### saveTags

          public void saveTags(java.lang.String fileName)
                        throws java.io.IOException

      Save part of speech tags to* a properties file.
      Parameters:
        `fileName` - Output file name.
      Throws:
        `java.io.IOException` - When input stream cannot be read.

    - #### getPartOfSpeechData

          protected PartOfSpeech getPartOfSpeechData(java.lang.String tag)

      Get part of speech data for a tag.
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        Part of speech data. Returns null if unknown part of speech tag.

    - #### getSingularNounTag

          public java.lang.String getSingularNounTag()

      Get the part of speech tag for a singular noun.
      Specified by:
        `getSingularNounTag` in interface `PartOfSpeechTags`
      Returns:
        The part of speech tag for a singular noun.

    - #### getPluralNounTag

          public java.lang.String getPluralNounTag()

      Get the part of speech tag for a plural noun.
      Specified by:
        `getPluralNounTag` in interface `PartOfSpeechTags`
      Returns:
        The part of speech tag for a plural noun.

    - #### getPossessiveSingularNounTag

          public java.lang.String getPossessiveSingularNounTag()

      Get the part of speech tag for a possessive singular noun.
      Specified by:
        `getPossessiveSingularNounTag` in interface `PartOfSpeechTags`
      Returns:
        The part of speech tag for a possessive singular noun.

    - #### getPossessivePluralNounTag

          public java.lang.String getPossessivePluralNounTag()

      Get the part of speech tag for a possessive plural noun.
      Specified by:
        `getPossessivePluralNounTag` in interface `PartOfSpeechTags`
      Returns:
        The part of speech tag for a possessive plural noun.

    - #### getSingularProperNounTag

          public java.lang.String getSingularProperNounTag()

      Get the part of speech tag for a singular proper noun.
      Specified by:
        `getSingularProperNounTag` in interface `PartOfSpeechTags`
      Returns:
        The part of speech tag for a singular proper noun.

    - #### getPluralProperNounTag

          public java.lang.String getPluralProperNounTag()

      Get the part of speech tag for a plural proper noun.
      Specified by:
        `getPluralProperNounTag` in interface `PartOfSpeechTags`
      Returns:
        The part of speech tag for a plural proper noun.

    - #### getPossessiveSingularProperNounTag

          public java.lang.String getPossessiveSingularProperNounTag()

      Get the part of speech tag for a possessive singular proper noun.
      Specified by:
        `getPossessiveSingularProperNounTag` in interface `PartOfSpeechTags`
      Returns:
        The part of speech tag for a possessive singular proper noun.

    - #### getPossessivePluralProperNounTag

          public java.lang.String getPossessivePluralProperNounTag()

      Get the part of speech tag for a possessive plural proper noun.
      Specified by:
        `getPossessivePluralProperNounTag` in interface `PartOfSpeechTags`
      Returns:
        The part of speech tag for a possessive plural proper noun.

    - #### getCardinalNumberTag

          public java.lang.String getCardinalNumberTag()

      Get the part of speech tag for a cardinal number.
      Specified by:
        `getCardinalNumberTag` in interface `PartOfSpeechTags`
      Returns:
        The part of speech tag for a cardinal number.

    - #### getOrdinalNumberTag

          public java.lang.String getOrdinalNumberTag()

      Get the part of speech tag for an ordinal number.
      Specified by:
        `getOrdinalNumberTag` in interface `PartOfSpeechTags`
      Returns:
        The part of speech tag for an ordinal number.

    - #### getAdverbTag

          public java.lang.String getAdverbTag()

      Get the part of speech tag for an adverb.
      Specified by:
        `getAdverbTag` in interface `PartOfSpeechTags`
      Returns:
        The part of speech tag for an adverb.

    - #### getAdjectiveTag

          public java.lang.String getAdjectiveTag()

      Get the part of speech tag for an adjective.
      Specified by:
        `getAdjectiveTag` in interface `PartOfSpeechTags`
      Returns:
        The part of speech tag for an adjective.

    - #### getInterjectionTag

          public java.lang.String getInterjectionTag()

      Get the part of speech tag for an interjection.
      Specified by:
        `getInterjectionTag` in interface `PartOfSpeechTags`
      Returns:
        The part of speech tag for an interjection.

    - #### getVerbTag

          public java.lang.String getVerbTag()

      Get the part of speech tag for a verb.
      Specified by:
        `getVerbTag` in interface `PartOfSpeechTags`
      Returns:
        The part of speech tag for a verb.

    - #### getVerbPastTag

          public java.lang.String getVerbPastTag()

      Get the part of speech tag for a verb past tense.
      Specified by:
        `getVerbPastTag` in interface `PartOfSpeechTags`
      Returns:
        The part of speech tag for a verb past tense.

    - #### getPastParticipleTag

          public java.lang.String getPastParticipleTag()

      Get the part of speech tag for a verbal past participle
      Specified by:
        `getPastParticipleTag` in interface `PartOfSpeechTags`
      Returns:
        The part of speech tag for a verbal past participle.

    - #### getPresentParticipleTag

          public java.lang.String getPresentParticipleTag()

      Get the part of speech tag for a verbal present participle
      Specified by:
        `getPresentParticipleTag` in interface `PartOfSpeechTags`
      Returns:
        The part of speech tag for a verbal present participle.

    - #### getSymbolTag

          public java.lang.String getSymbolTag()

      Get the part of speech tag for a symbol.
      Specified by:
        `getSymbolTag` in interface `PartOfSpeechTags`
      Returns:
        The part of speech tag for a symbol.

    - #### getForeignWordTag

          public java.lang.String getForeignWordTag(java.lang.String language)

      Get the part of speech tag for a specified foreign language
      Specified by:
        `getForeignWordTag` in interface `PartOfSpeechTags`
      Parameters:
        `language` - The foreign language.
      Returns:
        The part of speech tag for the specified foreign language.

    - #### getDescription

          public java.lang.String getDescription(java.lang.String tag)

      Get the description for the part of speech.
      Specified by:
        `getDescription` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        The description of the part of speech.

    - #### getWordClass

          public java.lang.String getWordClass(java.lang.String tag)

      Get word class for a tag.
      Specified by:
        `getWordClass` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        The word class for a tag.

    - #### getMajorWordClass

          public java.lang.String getMajorWordClass(java.lang.String tag)

      Get major word class for a tag.
      Specified by:
        `getMajorWordClass` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        The major word class for a tag.

    - #### getLemmaWordClass

          public java.lang.String getLemmaWordClass(java.lang.String tag)

      Get lemma class for a tag.
      Specified by:
        `getLemmaWordClass` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        The lemma class for a tag.

    - #### getCorrespondingCommonNounTag

          public java.lang.String getCorrespondingCommonNounTag(java.lang.String tag)

      Convert proper noun tag to common noun tag.
      Specified by:
        `getCorrespondingCommonNounTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        Input tag, or common noun tag if input is proper noun tag.

    - #### majorWordClassEquals

          public boolean majorWordClassEquals(java.lang.String tag,
                                     java.lang.String majorWordClass)

      Check if major word class is a specified value.
      Parameters:
        `tag` - The part of speech tag.
        `majorWordClass` - Major word class to check,
      Returns:
        true if major word class for tag is specified value.

    - #### getUndeterminedTag

          public java.lang.String getUndeterminedTag()

      Get undetermined part of speech tag.
      Specified by:
        `getUndeterminedTag` in interface `PartOfSpeechTags`
      Returns:
        Undetermined part of speech tag.

    - #### isProperNounTag

          public boolean isProperNounTag(java.lang.String tag)

      Is tag for a proper noun.
      Specified by:
        `isProperNounTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        true if the tag is for a proper noun.

    - #### isProperAdjectiveTag

          public boolean isProperAdjectiveTag(java.lang.String tag)

      Is tag for a proper adjective.
      Specified by:
        `isProperAdjectiveTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        true if the tag is for a proper adjective.

    - #### isNounTag

          public boolean isNounTag(java.lang.String tag)

      Is tag for a noun.
      Specified by:
        `isNounTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        true if the tag is for a noun.

    - #### isSingularNounTag

          public boolean isSingularNounTag(java.lang.String tag)

      Is tag for a singular noun.
      Specified by:
        `isSingularNounTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        true if the tag is for a singular noun form.

    - #### isPronounTag

          public boolean isPronounTag(java.lang.String tag)

      Is tag for a pronoun.
      Specified by:
        `isPronounTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        true if the tag is for a pronoun.

    - #### isPersonalPronounTag

          public boolean isPersonalPronounTag(java.lang.String tag)

      Is tag for a personal pronoun.
      Specified by:
        `isPersonalPronounTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        true if the tag is for a personal pronoun.

    - #### isVerbTag

          public boolean isVerbTag(java.lang.String tag)

      Is tag for a verb.
      Specified by:
        `isVerbTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        true if the tag is for a verb.

    - #### isDeterminerTag

          public boolean isDeterminerTag(java.lang.String tag)

      Is tag for a determiner.
      Specified by:
        `isDeterminerTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        true if the tag is for a determiner.

    - #### isForeignWordTag

          public boolean isForeignWordTag(java.lang.String tag)

      Is tag for a foreign word.
      Specified by:
        `isForeignWordTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        true if the tag is for a foreign word.

    - #### getTags

          public java.util.List<PartOfSpeech> getTags()

      Get list of tag entries in PartOfSpeech format.
      Specified by:
        `getTags` in interface `PartOfSpeechTags`
      Returns:
        List of tag entries in PartOfSpeech format sorted by tag name.

    - #### isNumberTag

          public boolean isNumberTag(java.lang.String tag)

      Is tag for a number.
      Specified by:
        `isNumberTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        true if the tag is for a number.

    - #### isSymbolTag

          public boolean isSymbolTag(java.lang.String tag)

      Is tag for a symbol.
      Specified by:
        `isSymbolTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        true if the tag is for a symbol.

    - #### isPunctuationTag

          public boolean isPunctuationTag(java.lang.String tag)

      Is tag for punctuation.
      Specified by:
        `isPunctuationTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        true if the tag is for punctuation.

    - #### isTag

          public boolean isTag(java.lang.String tag)

      Check if specified tag appears in the tag list.
      Specified by:
        `isTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        true if specified tag in the tag list.

    - #### isCompoundTag

          public boolean isCompoundTag(java.lang.String tag)

      Check of specified tag contains more than one part of speech.
      Specified by:
        `isCompoundTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        true if specified tag contains more than one part of speech tag.

    - #### isUndeterminedTag

          public boolean isUndeterminedTag(java.lang.String tag)

      Is part of speech tag undetermined.
      Specified by:
        `isUndeterminedTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - Tag to check for being undetermined.
      Returns:
        True if given tag is undetermined part of speech tag.

    - #### isInterjectionTag

          public boolean isInterjectionTag(java.lang.String tag)

      Check if specified tag is an interjection.
      Specified by:
        `isInterjectionTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag
      Returns:
        true if the tag is for an interjection.

    - #### getTagSeparator

          public java.lang.String getTagSeparator()

      Get part of speech separator.
      Specified by:
        `getTagSeparator` in interface `PartOfSpeechTags`
      Returns:
        Part of speech separator string.

    - #### joinTags

          public java.lang.String joinTags(java.lang.String[] tags,
                                  java.lang.String separator)

      Join separate tags into a compound tag..
      Specified by:
        `joinTags` in interface `PartOfSpeechTags`
      Parameters:
        `tags` - String array of part of speech tags.
        `separator` - String to separate tags.
      Returns:
        String containing joined tags. The tags are separated by the specified separator character.

    - #### joinTags

          public java.lang.String joinTags(java.lang.String[] tags)

      Join separate tags into a compound tag..
      Specified by:
        `joinTags` in interface `PartOfSpeechTags`
      Parameters:
        `tags` - String array of part of speech tags.
      Returns:
        String containing joined tags. The tags are separated by the default separator character.

    - #### splitTag

          public java.lang.String[] splitTag(java.lang.String tag)

      Split compound tag into separate tags.
      Specified by:
        `splitTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        String array of tags. Only one entry if tag is not a compound tag.

    - #### countTags

          public int countTags(java.lang.String tag)

      Get number of tags comprising this tag.
      Specified by:
        `countTags` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The part of speech tag.
      Returns:
        Count of individual part of speech tags comprising this tag.

    - #### getTag

          public PartOfSpeech getTag(java.lang.String tag)

      Get data for a tag.
      Specified by:
        `getTag` in interface `PartOfSpeechTags`
      Parameters:
        `tag` - The tag name.
      Returns:
        Tag data.

    - #### getTagNames

          public java.util.Set<java.lang.String> getTagNames()

      Return set of tag names.
      Returns:
        Tag names as a set.

    - #### toString

          public java.lang.String toString()

      Return string form of tag set.
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        String form of tag set.