AST-Probe:从预训练语言模型的隐层表示中恢复抽象语法树
计算与语言
2022-09-13 v2 人工智能
机器学习
编程语言
软件工程
摘要
预训练语言模型的目标是学习文本数据的上下文表示。预训练语言模型已成为自然语言处理与代码建模的主流。利用探针(一种研究隐向量空间语言属性的技术),先前工作已表明这些预训练语言模型在其隐层表示中编码了简单的语言属性。然而,此前尚无工作评估这些模型是否编码了编程语言的完整语法结构。本文中,我们证明了在预训练语言模型的隐层表示中存在一个句法子空间,其包含编程语言的句法信息。我们展示该子空间可从模型表示中提取,并定义了一种新颖的探针方法 AST-Probe,能够从输入代码片段恢复完整的抽象语法树(AST)。在实验中,我们表明该句法子空间存在于五个最先进的预训练语言模型中。此外,我们强调模型的中间层编码了大部分的 AST 信息。最后,我们估计了该句法子空间的最优大小,并表明其维度显著低于模型表示空间的维度。这表明预训练语言模型仅利用其表示空间的一小部分来编码编程语言的句法信息。
引用
@article{arxiv.2206.11719,
title = {AST-Probe: Recovering abstract syntax trees from hidden representations of pre-trained language models},
author = {José Antonio Hernández López and Martin Weyssow and Jesús Sánchez Cuadrado and Houari Sahraoui},
journal= {arXiv preprint arXiv:2206.11719},
year = {2022}
}