Package opennlp.tools.namefind

## Class BioCodec

- java.lang.Object
- - opennlp.tools.namefind.BioCodec

- All Implemented Interfaces:
    `SequenceCodec<String>`

      public class BioCodec
      extends Object
      implements SequenceCodec<String>

  The default `SequenceCodec` implementation according to the `BIO` scheme:
  - B: 'beginning' of a NE
  - I: 'inside', the word is inside a NE
  - O: 'outside', the word is a regular word outside a NE
  See also the paper by Roth D. and Ratinov L.: Design Challenges and Misconceptions in Named Entity Recognition.
  See Also:
    `SequenceCodec`, `BilouCodec`

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `CONTINUE` |
    `static String` | `OTHER` |
    `static String` | `START` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `BioCodec()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `areOutcomesCompatible​(String[] outcomes)` | Checks if the `outcomes` of a model are compatible with this `SequenceCodec`.
    `NameFinderSequenceValidator` | `createSequenceValidator()` |
    `Span[]` | `decode​(List<String> c)` | Decodes a sequence of `objects` into `Span` objects.
    `String[]` | `encode​(Span[] names, int length)` | Encodes `Span` objects into a sequence of `objects`.

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

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

- - ### Field Detail

    - #### START

          public static final String START

      See Also:
        Constant Field Values

    - #### CONTINUE

          public static final String CONTINUE

      See Also:
        Constant Field Values

    - #### OTHER

          public static final String OTHER

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### BioCodec

          public BioCodec()

  - ### Method Detail

    - #### decode

          public Span[] decode​(List<String> c)

      Description copied from interface: `SequenceCodec`
      Decodes a sequence of `objects` into `Span` objects.
      Specified by:
        `decode` in interface `SequenceCodec<String>`
      Parameters:
        `c` - A list of `SequenceCodec` to decode.
      Returns:
        A `Span` array encapsulating the decoded elements in `c`.

    - #### encode

          public String[] encode​(Span[] names,
                                 int length)

      Description copied from interface: `SequenceCodec`
      Encodes `Span` objects into a sequence of `objects`.
      Specified by:
        `encode` in interface `SequenceCodec<String>`
      Parameters:
        `names` - A list of `elements` to encode.
        `length` - The length to respect.
      Returns:
        An array of `SequenceCodec` to encode.

    - #### createSequenceValidator

          public NameFinderSequenceValidator createSequenceValidator()

      Specified by:
        `createSequenceValidator` in interface `SequenceCodec<String>`
      Returns:
        A `SequenceValidator` which can validate a sequence of `outcomes`.

    - #### areOutcomesCompatible

          public boolean areOutcomesCompatible​(String[] outcomes)

      Description copied from interface: `SequenceCodec`
      Checks if the `outcomes` of a model are compatible with this `SequenceCodec`.
      Specified by:
        `areOutcomesCompatible` in interface `SequenceCodec<String>`
      Parameters:
        `outcomes` - The possible model outcomes.
      Returns:
        `true` if `outcomes` are type compatible, `false` otherwise.