Parser (Apache OpenNLP Tools 1.9.5 API)
Date: 2026-06-18

opennlp.tools.parser.treeinsert

## Class Parser

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

- All Implemented Interfaces:
    Parser

      public class Parser
      extends AbstractBottomUpParser

  Built/attach parser. 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 assesed as either complete or incomplete. Complete nodes are no longer elligable 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.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `ATTACH_DAUGHTER` Outcome used when a node should be attached as a daughter to another node.
    `static String` | `ATTACH_SISTER` Outcome used when a node should be attached as a sister to another node.
    `static String` | `BUILT` Label used to distinguish build nodes from non-built nodes.
    `static String` | `DONE` Outcome used when a constituent needs an no additional parent node/building.
    `static 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, INC_NODE, INCOMPLETE, OTHER, START, TOK_NODE, TOP_NODE, ZERO`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Parser(ParserModel model)`
    `Parser(ParserModel model, int beamSize, double advancePercentage)`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static List<Parse>` | `getRightFrontier(Parse root, Set<String> punctSet)` Returns the right frontier of the specified parse tree with nodes ordered from deepest to shallowest.
    `static ParserModel` | `train(String languageCode, ObjectStream<Parse> parseSamples, HeadRules rules, int iterations, int cut)`
    `static ParserModel` | `train(String languageCode, ObjectStream<Parse> parseSamples, HeadRules rules, TrainingParameters mlParams)`

    - ### 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 Detail

    - #### 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 Detail

    - #### Parser

          public Parser(ParserModel model,
                        int beamSize,
                        double advancePercentage)

    - #### Parser

          public Parser(ParserModel model)

  - ### Method Detail

    - #### getRightFrontier

          public static List<Parse> getRightFrontier(Parse root,
                                                     Set<String> punctSet)

      Returns the right frontier of the specified parse tree with nodes ordered from deepest to shallowest.
      Parameters:
        `root` - The root of the parse tree.
      Returns:
        The right frontier of the specified parse tree.

    - #### train

          public static ParserModel train(String languageCode,
                                          ObjectStream<Parse> parseSamples,
                                          HeadRules rules,
                                          TrainingParameters mlParams)
                                   throws IOException

      Throws:
        `IOException`

    - #### train

          public static ParserModel train(String languageCode,
                                          ObjectStream<Parse> parseSamples,
                                          HeadRules rules,
                                          int iterations,
                                          int cut)
                                   throws IOException

      Throws:
        `IOException`

Copyright © 2026 The Apache Software Foundation. All rights reserved.