The problem of spurious programs is a longstanding challenge when training a semantic parser from weak supervision. To eliminate such programs that have wrong semantics but correct denotation, existing methods focus on exploiting similarities between examples based on domain-specific knowledge. In this paper, we propose a domain-agnostic filtering mechanism based on program execution results. Specifically, for each program obtained through the search process, we first construct a representation that captures the program's semantics as execution results under various inputs. Then, we run a majority vote on these representations to identify and filter out programs with significantly different semantics from the other programs. In particular, our method is orthogonal to the program search process so that it can easily augment any of the existing weakly supervised semantic parsing frameworks. Empirical evaluations on the Natural Language Visual Reasoning and WikiTableQuestions demonstrate that applying our method to the existing semantic parsers induces significantly improved performances.
翻译:虚假程序问题是弱监督训练语义解析器时长期存在的挑战。为了消除这些语义错误但指称正确的程序,现有方法主要依靠领域特定知识挖掘示例间的相似性。本文提出了一种基于程序执行结果的领域无关过滤机制。具体而言,对于搜索过程中获得的每个程序,我们首先构建一个能捕捉该程序语义的表示,该表示体现为程序在不同输入下的执行结果。接着,我们对这些表示进行多数投票,以识别并过滤掉语义与其他程序显著不同的程序。值得注意的是,我们的方法与程序搜索过程正交,因此可以轻松增强任何现有的弱监督语义解析框架。在自然语言视觉推理和WikiTableQuestions上的实证评估表明,将我们的方法应用于现有语义解析器可显著提升性能。