Browse › Natural Language Processing › Constituency Parsing › Penn Treebank

Constituency Parsing archive 2025-07-28

Penn Treebank Benchmark (Constituency Parsing)

27 rows 25 with code listed 1 metric Dataset page

Constituency parsing aims to extract a constituency-based parse tree from a sentence that represents its syntactic structure according to a phrase structure grammar.

Example:

             Sentence (S)
                 |
   +-------------+------------+
   |                          |
 Noun (N)                Verb Phrase (VP)
   |                          |
 John                 +-------+--------+
                      |                |
                    Verb (V)         Noun (N)
                      |                |
                    sees              Bill

Recent approaches convert the parse tree into a sequence following a depth-first traversal in order to be able to apply sequence-to-sequence models to it. The linearized version of the above parse tree looks as follows: (S (N) (VP V N)).

The archive carries no text for this table; the description above is the archive's text for the task Constituency Parsing. archive 2025-07-28

Over time archive 2025-07-28

The chart needs JavaScript; the table below carries every value.

Direction inferred from the metric name, not from the archive: F1 score (higher is better). Points are placed at the row's paper date; 27 of 27 rows carry one.

Results archive 2025-07-28

Archive rows end at the archive snapshot, 2025-07-28: no result published after that date is in this table. Rank is the archive's row order at that snapshot; not re-ranked here. Metric values are the archive's strings. Column headers sort the table in your browser; each row keeps its archive rank.

Paper Code Ran Syntology Report
1 Hashing + XLNet 96.43 – Paper Code 2024 linked, not harvested report
2 SAPar + XLNet 96.40 – Paper Code 2020 1 of 1 ran · 0 unverified report
3 Label Attention Layer + HPSG + XLNet 96.38 – Paper Code 2019 1 of 3 ran · 2 unverified report
4 Attach-Juxtapose Parser + XLNet 96.34 – Paper Code 2020 2 of 5 ran · 3 unverified report
5 Head-Driven Phrase Structure Grammar Parsing (Joint) + XLNet 96.33 – Paper Code 2019 2 of 9 ran · 7 unverified report
6 CRF Parser + RoBERTa 96.32 – Paper Code 2020 3 of 3 ran · 0 unverified report
7 Hashing + Bert 96.03 – Paper Code 2024 linked, not harvested report
8 N-ary semi-markov + BERT-large 95.92 – Paper Code 2021 linked, not harvested report
9 NFC + BERT-large 95.92 – Paper Code 2021 linked, not harvested report
10 Head-Driven Phrase Structure Grammar Parsing (Joint) + BERT 95.84 – Paper Code 2019 2 of 9 ran · 7 unverified report
11 CRF Parser + BERT 95.69 – Paper Code 2020 3 of 3 ran · 0 unverified report
12 CNN Large + fine-tune 95.6 – Paper – 2019 no code linked report
13 SpanRel 95.5 – Paper Code 2019 linked, not harvested report
14 Tetra Tagging 95.44 – Paper Code 2019 linked, not harvested report
15 Self-attentive encoder + ELMo 95.13 – Paper Code 2018 0 of 14 ran · 14 unverified report
16 Model combination 94.66 – Paper – 2017 no code linked report
17 LSTM Encoder-Decoder + LSTM-LM 94.47 – Paper Code 2018 linked, not harvested report
18 LSTM Encoder-Decoder + LSTM-LM 94.32 – Paper Code 2018 linked, not harvested report
19 In-order 94.2 – Paper Code 2017 linked, not harvested report
20 CRF Parser 94.12 – Paper Code 2020 3 of 3 ran · 0 unverified report
21 Semi-supervised LSTM-LM 93.8 – Paper Code 2016 linked, not harvested report
22 Stack-only RNNG 93.6 – Paper Code 2016 linked, not harvested report
23 Transformer 92.7 – Paper Code 2017 600 of 946 ran · 346 unverified report
24 Parse fusion 92.6 ✓ Paper Code 2015 linked, not harvested report
25 Semi-supervised LSTM 92.1 – Paper Code 2014 0 of 17 ran · 17 unverified report
26 Self-training 92.1 ✓ Paper Code 2006 linked, not harvested report
27 RNN Grammar 93.3 – Paper Code 2016 6 of 10 ran · 4 unverified report

All 27 rows shown. 27 link to a paper page on this site; 2 are marked as using additional training data in the archive. No GitHub stars are tracked; "Code" is the first repository the archive lists for the row. The archive carries no row tags, review links or community-submitted rows for this table; none are shown. archive 2025-07-28

Syntology Ran reads "N of M ran · U unverified": of the M code samples Syntology harvested from repositories linked to that row's paper (joined by arXiv id), N executed on a synthesized input and the other U = M−N are unverified (harvested, no recorded run). It counts code from repositories linked to that row's paper, not this result: the row's number was not reproduced and nothing here is a correctness claim. The other cell texts mean no graph line for the row: "linked, not harvested" (the archive links code, Syntology has not harvested it), "no code linked" (no code link in the archive), "not matched" (the row's paper URL matched no paper on this site). 12 rows have a graph line, from 9 distinct papers; 10 rows (7 papers) have at least one sample that ran. Counting each paper once: Syntology ran 615 of 1,008 samples; 393 unverified. Separately, 460 of those 1,008 are pointer-only (licence): the site points at that code rather than redistributing it, a licence property recorded for ran and unverified samples alike; each cell's tooltip carries the row's own pointer-only count. Read from the graph 2026-09-24. Per-sample status is on the paper page.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections