Contextual Distortion Reveals Constituency: Masked Language Models are Implicit Parsers

Jiaxi Li, Wei Lu
6/1/2023
cs.CL

No official code found. Best implementation: jxjessieli/contextual-distortion-parser (14 stars, last commit 2023-06-03).

Abstract

Recent advancements in pre-trained language models (PLMs) have demonstrated that these models possess some degree of syntactic awareness. To leverage this knowledge, we propose a novel chart-based method for extracting parse trees from masked language models (LMs) without the need to train separate parsers. Our method computes a score for each span based on the distortion of contextual representations resulting from linguistic perturbations. We design a set of perturbations motivated by the linguistic concept of constituency tests, and use these to score each span by aggregating the distortion scores. To produce a parse tree, we use chart parsing to find the tree with the minimum score. Our method consistently outperforms previous state-of-the-art methods on English with masked LMs, and also demonstrates superior performance in a multilingual setting, outperforming the state of the art in 6 out of 8 languages. Notably, although our method does not involve parameter updates or extensive hyperparameter search, its performance can even surpass some unsupervised parsing methods that require fine-tuning. Our analysis highlights that the distortion of contextual representation resulting from syntactic perturbation can serve as an effective indicator of constituency across languages.

View on arXivView PDF

Code Implementations(1)

[ACL 2023] Contextual Distortion Reveals Constituency: Mask Language Models are Implicit Parsers.

141PythonMay 23, 20233 years ago
acl2023constituency-parsingunsupervised-parsing

Similar Papers

Cite this paper

@article{li2023contextual,
  title  = {Contextual Distortion Reveals Constituency: Masked Language Models are Implicit Parsers},
  author = {Jiaxi Li and Wei Lu},
  year   = {2023},
  eprint = {2306.00645},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2306.00645v1}
}

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/2306.00645.svg)](https://codeofpaper.com/paper/2306.00645)

Discussion