学习高度递归输入文法
Learning Highly Recursive Input Grammars
摘要:
本文提出了Arvada算法,它是一个从一组正例和一个布尔值预言机中学习上下文无关文法的算法。Arvada通过从正例中构建解析树来学习上下文无关文法。从最初的平面树开始,Arvada通过一个关键操作为这些树构建结构:它将树中的兄弟节点序列冒泡到一个新节点中,为树添加一层间接层。冒泡操作使学习的语法能够递归泛化。我们对Arvada与GLADE进行了评估,发现它在召回率和F1得分上平均提高了4.98倍和3.13倍,而只会导致1.27倍的减速,并且只需要0.87倍的oracle调用。与GLADE相比,Arvada在具有高度递归结构的语法上有着特别显著的改进,比如那些程序设计语言。
英文摘要:
This paper presents Arvada, an algorithm for learning context-free grammars from a set of positive examples and a Boolean-valued oracle. Arvada learns a context-free grammar by building parse trees from the positive examples. Starting from initially flat trees, Arvada builds structure to these trees with a key operation: it bubbles sequences of sibling nodes in the trees into a new node, adding a layer of indirection to the tree. Bubbling operations enable recursive generalization in the learned grammar. We evaluate Arvada against GLADE and find it achieves on average increases of 4.98x in recall and 3.13x in F1 score, while incurring only a 1.27x slowdown and requiring only 0.87x as many calls to the oracle. Arvada has a particularly marked improvement over GLADE on grammars with highly recursive structure, like those of programming languages.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。