Package opennlp.tools.namefind

# Class BilouCodec

java.lang.Object
opennlp.tools.namefind.BilouCodec

All Implemented Interfaces:
  `SequenceCodec<String>`

public class BilouCodec extends Object implements SequenceCodec<String>
The default `SequenceCodec` implementation according to the `BILOU` scheme.

- B: 'beginning' of a NE
- I: 'inside', the word is inside a NE
- L: 'last', the last (I) word inside a NE
- O: 'outside', the word is a regular word outside a NE
- U: 'unit', any standalone token following words outside of NE

See paper by Roth D. and Ratinov L. (2009): Design Challenges and Misconceptions in Named Entity Recognition.

See Also:
  - `SequenceCodec`
  - `BioCodec`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `CONTINUE`
  `static final String`
  `LAST`
  `static final String`
  `OTHER`
  `static final String`
  `START`
  `static final String`
  `UNIT`

  ### Fields inherited from interface opennlp.tools.util.SequenceCodec

  `DEFAULT_PREFIX`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BilouCodec()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `areOutcomesCompatible(String[] outcomes)`
  `B requires CL or L, C requires BL, L requires B, O requires any valid combo/unit, U requires none.`
  `SequenceValidator<String>`
  `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 Details

  - ### START

    public static final String START
    See Also:
      - Constant Field Values

  - ### CONTINUE

    public static final String CONTINUE
    See Also:
      - Constant Field Values

  - ### LAST

    public static final String LAST
    See Also:
      - Constant Field Values

  - ### UNIT

    public static final String UNIT
    See Also:
      - Constant Field Values

  - ### OTHER

    public static final String OTHER
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### BilouCodec

    public BilouCodec()

- ## Method Details

  - ### 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 SequenceValidator<String> createSequenceValidator()
    Specified by:
      `createSequenceValidator` in interface `SequenceCodec<String>`
    Returns:
      A `SequenceValidator` which can validate a sequence of `outcomes`.

  - ### areOutcomesCompatible

    public boolean areOutcomesCompatible(String[] outcomes)
    `B requires CL or L, C requires BL, L requires B, O requires any valid combo/unit, U requires none.`
    Specified by:
      `areOutcomesCompatible` in interface `SequenceCodec<String>`
    Parameters:
      `outcomes` - All potential model outcomes check.
    Returns:
      `true`, if model outcomes are compatible, `false` otherwise.