Strongly Incremental Constituency Parsing with Graph Neural Networks

Kaiyu Yang, Jia Deng
10/27/2020
cs.CL

Official code: princeton-vl/attach-juxtapose-parser (38 stars, BSD-2-Clause, last commit 2023-06-30).

Abstract

Parsing sentences into syntax trees can benefit downstream applications in NLP. Transition-based parsers build trees by executing actions in a state transition system. They are computationally efficient, and can leverage machine learning to predict actions based on partial trees. However, existing transition-based parsers are predominantly based on the shift-reduce transition system, which does not align with how humans are known to parse sentences. Psycholinguistic research suggests that human parsing is strongly incremental: humans grow a single parse tree by adding exactly one token at each step. In this paper, we propose a novel transition system called attach-juxtapose. It is strongly incremental; it represents a partial sentence using a single tree; each action adds exactly one token into the partial tree. Based on our transition system, we develop a strongly incremental parser. At each step, it encodes the partial tree using a graph neural network and predicts an action. We evaluate our parser on Penn Treebank (PTB) and Chinese Treebank (CTB). On PTB, it outperforms existing parsers trained with only constituency trees; and it performs on par with state-of-the-art parsers that use dependency trees as additional training data. On CTB, our parser establishes a new state of the art. Code is available at https://github.com/princeton-vl/attach-juxtapose-parser.

View on arXivView PDF

Code Implementations(1)

BSD-2-Clause

Code for the paper "Strongly Incremental Constituency Parsing with Graph Neural Networks"

385C, PerlOct 29, 20203 years agoBSD-2-Clause
machine-learningneurips-2020nlpparsing

Similar Papers

Cite this paper

@article{yang2020strongly,
  title  = {Strongly Incremental Constituency Parsing with Graph Neural Networks},
  author = {Kaiyu Yang and Jia Deng},
  year   = {2020},
  eprint = {2010.14568},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2010.14568}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2010.14568.svg)](https://codeofpaper.com/paper/2010.14568)

Discussion