Package opennlp.tools.parser.treeinsert

# Class Parser

java.lang.Object
opennlp.tools.parser.AbstractBottomUpParser
opennlp.tools.parser.treeinsert.Parser

All Implemented Interfaces:
  `opennlp.tools.parser.Parser`

public class Parser extends AbstractBottomUpParser
A built-attach `Parser` implementation.

Nodes are built when their left-most child is encountered. Subsequent children are attached as daughters. Attachment is based on node in the right-frontier of the tree. After each attachment or building, nodes are assessed as either complete or incomplete. Complete nodes are no longer eligible for daughter attachment.

Complex modifiers which produce additional node levels of the same type are attached with sister-adjunction. Attachment can not take place higher in the right-frontier than an incomplete node.

See Also:
  - `AbstractBottomUpParser`
  - `Parser`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `ATTACH_DAUGHTER`
  Outcome used when a node should be attached as a daughter to another node.
  `static final String`
  `ATTACH_SISTER`
  Outcome used when a node should be attached as a sister to another node.
  `static final String`
  `BUILT`
  Label used to distinguish build nodes from non-built nodes.
  `static final String`
  `DONE`
  Outcome used when a constituent needs an no additional parent node/building.
  `static final String`
  `NON_ATTACH`
  Outcome used when a node should not be attached to another node.

  ### Fields inherited from class opennlp.tools.parser.AbstractBottomUpParser

  `COMPLETE, CONT, defaultAdvancePercentage, defaultBeamSize, INCOMPLETE, OTHER, START`

  ### Fields inherited from interface opennlp.tools.parser.Parser

  `INC_NODE, TOK_NODE, TOP_NODE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Parser(ParserModel model)`
  Instantiates a `Parser` via a given `model`.
  `Parser(ParserModel model, int beamSize, double advancePercentage)`
  Instantiates a `Parser` via a given `model` and other configuration parameters.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static List<opennlp.tools.parser.Parse>`
  `getRightFrontier(opennlp.tools.parser.Parse root, Set<String> punctSet)`
  Returns the right frontier of the specified `tree` with nodes ordered from deepest to shallowest.
  `static ParserModel`
  `train(String languageCode, opennlp.tools.util.ObjectStream<opennlp.tools.parser.Parse> parseSamples, opennlp.tools.parser.HeadRules rules, int iterations, int cutoff)`
  Starts a training of a `ParserModel`.
  `static ParserModel`
  `train(String languageCode, opennlp.tools.util.ObjectStream<opennlp.tools.parser.Parse> parseSamples, opennlp.tools.parser.HeadRules rules, opennlp.tools.util.TrainingParameters mlParams)`
  Starts a training of a `ParserModel`.

  ### Methods inherited from class opennlp.tools.parser.AbstractBottomUpParser

  `buildDictionary, buildDictionary, collapsePunctuation, parse, parse, setErrorReporting, setParents`

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

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

- ## Field Details

  - ### DONE

    public static final String DONE
    Outcome used when a constituent needs an no additional parent node/building.
    See Also:
      - Constant Field Values

  - ### ATTACH_SISTER

    public static final String ATTACH_SISTER
    Outcome used when a node should be attached as a sister to another node.
    See Also:
      - Constant Field Values

  - ### ATTACH_DAUGHTER

    public static final String ATTACH_DAUGHTER
    Outcome used when a node should be attached as a daughter to another node.
    See Also:
      - Constant Field Values

  - ### NON_ATTACH

    public static final String NON_ATTACH
    Outcome used when a node should not be attached to another node.
    See Also:
      - Constant Field Values

  - ### BUILT

    public static final String BUILT
    Label used to distinguish build nodes from non-built nodes.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### Parser

    public Parser(ParserModel model, int beamSize, double advancePercentage)
    Instantiates a `Parser` via a given `model` and other configuration parameters. Uses the default implementations of `POSTaggerME` and `ChunkerME`.
    Parameters:
      `model` - The `ParserModel` to use.
      `beamSize` - The number of different parses kept during parsing.
      `advancePercentage` - The minimal amount of probability mass which advanced outcomes must represent. Only outcomes which contribute to the top `advancePercentage` will be explored.
    Throws:
      `IllegalStateException` - Thrown if the `ParserType` is not supported.
    See Also:
      - `ParserModel`
      - `POSTaggerME`
      - `ChunkerME`

  - ### Parser

    public Parser(ParserModel model)
    Instantiates a `Parser` via a given `model`. Uses the default implementations of `POSTaggerME` and `ChunkerME` and default values for `beamSize` and `advancePercentage`.
    Parameters:
      `model` - The `ParserModel` to use.
    Throws:
      `IllegalStateException` - Thrown if the `ParserType` is not supported.
    See Also:
      - `ParserModel`
      - `POSTaggerME`
      - `ChunkerME`

- ## Method Details

  - ### getRightFrontier

    public static List<opennlp.tools.parser.Parse> getRightFrontier(opennlp.tools.parser.Parse root, Set<String> punctSet)
    Returns the right frontier of the specified `tree` with nodes ordered from deepest to shallowest.
    Parameters:
      `root` - The `root` of the parse tree.
      `punctSet` - A set of punctuation symbols to be used.
    Returns:
      The right frontier of the specified parse tree.

  - ### train

    public static ParserModel train(String languageCode, opennlp.tools.util.ObjectStream<opennlp.tools.parser.Parse> parseSamples, opennlp.tools.parser.HeadRules rules, opennlp.tools.util.TrainingParameters mlParams) throws IOException
    Starts a training of a `ParserModel`.
    Parameters:
      `languageCode` - An ISO conform language code.
      `parseSamples` - The `samples` as input.
      `rules` - The `HeadRules` to use.
      `mlParams` - The `parameters` for training.
    Returns:
      A valid `ParserModel`.
    Throws:
      `IOException` - Thrown if IO errors occurred during training.

  - ### train

    public static ParserModel train(String languageCode, opennlp.tools.util.ObjectStream<opennlp.tools.parser.Parse> parseSamples, opennlp.tools.parser.HeadRules rules, int iterations, int cutoff) throws IOException
    Starts a training of a `ParserModel`.
    Parameters:
      `languageCode` - An ISO conform language code.
      `parseSamples` - The `samples` as input.
      `rules` - The `HeadRules` to use.
      `iterations` - The number of iterations to be conducted.
      `cutoff` - The cut-off parameter to be used.
    Returns:
      A valid `ParserModel`.
    Throws:
      `IOException` - Thrown if IO errors occurred during training.