Optimal Neural Program Synthesis from Multimodal Specifications

Optimal Neural Program Synthesis from Multimodal Specifications
复制标题

DOI:
10.18653/v1/2021.findings-emnlp.146
复制
发表时间:
2020-10
期刊:
ArXiv
影响因子:
--
通讯作者:
Xi Ye;Qiaochu Chen;Işıl Dillig;Greg Durrett
Xi Ye;Qiaochu Chen;Işıl Dillig;Greg Durrett
中科院分区:
其他
文献类型:
--
作者:
Xi Ye;Qiaochu Chen;Işıl Dillig;Greg Durrett

文献摘要

被引文献

相似文献

多模态程序合成利用不同类型的用户输入来合成所需的程序,是将程序合成扩展到具有挑战性的设置的有吸引力的方式;然而,它需要将来自用户的噪声信号(如自然语言)与程序行为的硬约束相结合。本文提出了一种最佳的神经合成方法,其目标是找到一个程序,满足用户提供的约束,同时也最大限度地提高程序的得分相对于神经模型。具体来说,我们专注于多模态合成任务,其中用户意图表示使用自然语言(NL)和输入输出的例子相结合。我们方法的核心是一个自上而下的递归神经模型,它将分布放置在以NL输入为条件的抽象语法树上。该模型不仅允许有效的搜索空间的语法有效的程序,但它允许我们利用自动程序分析技术修剪搜索空间的基础上不可行的部分程序相对于用户的约束。多模态综合数据集(StructuredRegex)上的实验结果表明,我们的方法大大优于现有的国家的最先进的技术的准确性%,发现模型最优的程序更频繁,并探索更少的状态在搜索过程中。
Multimodal program synthesis, which leverages different types of user input to synthesize a desired program, is an attractive way to scale program synthesis to challenging settings; however, it requires integrating noisy signals from the user (like natural language) with hard constraints on the program's behavior. This paper proposes an optimal neural synthesis approach where the goal is to find a program that satisfies user-provided constraints while also maximizing the program's score with respect to a neural model. Specifically, we focus on multimodal synthesis tasks in which the user intent is expressed using combination of natural language (NL) and input-output examples. At the core of our method is a top-down recurrent neural model that places distributions over abstract syntax trees conditioned on the NL input. This model not only allows for efficient search over the space of syntactically valid programs, but it allows us to leverage automated program analysis techniques for pruning the search space based on infeasibility of partial programs with respect to the user's constraints. The experimental results on a multimodal synthesis dataset (StructuredRegex) show that our method substantially outperforms prior state-of-the-art techniques in terms of accuracy %, finds model-optimal programs more frequently, and explores fewer states during search.