笔记整理:陈永锐,东南大学博士

来源:NAACL 2021

概述

近年来语义解析的事实上的标准解码方法是使用自顶向下的深度优先遍历对目标程序的抽象语法树进行自回归解码。该工作提出了一种替代方法:半自回归自底向上解析器(SMBOP),它在解码步骤 t 构建高度为 t 的 top-K 子树。与自上而下的自回归解析相比,我们的解析器享有多项优势。

从效率的角度来看,自下而上的解析允许并行解码特定高度的所有子树,导致对数运行时复杂度而不是线性。

从建模的角度来看,自下而上的解析器在每一步学习有意义的语义子程序的表示,而不是语义空的部分树。

在Spider数据集上,与使用自回归解码的语义解析器相比,SMBOP 使解码时间加快了 2.2 倍,训练时间加快了 5 倍,获得了69.5%的完全匹配准确率, 71.1 %的执行准确率。

动机

尽管语义解析中的自下而上解码很少受到关注,它实际上存在几个优点。从效率的角度来看,自底向上解析自然可以半自回归完成:在每个解码步骤 t,解析器并行生成深度为 t 的 top-K 程序子树(类似于波束搜索)。这导致运行时复杂性在树的大小上是对数的,而不是线性的,可以提升效率。从建模的角度来看,神经自下而上的解析为有意义的(和可执行的)子程序提供了学习表示,这些子程序是在搜索过程中计算的子树。

上图说明了SMBOP解析器的单个解码步骤。 给定一个具有 K = 4 个高度为 t 的树(蓝色向量)的beam Zt,SMBOP使用cross-attention机制将树与来自输入问题(橙色)的信息关联起来。然后,对边界进行评分,即可以使用当前beam 的语法构造的所有高度为 t + 1 的树的集合,并保留 top-K 树(紫色)。最后,生成每个新 K 树的表示并将其放置在新的beam   Zt+1 中。在 T 个解码步骤之后,解析器返回 ZT 中对应于完整程序的最高得分树。

SMBOP解析器

SMBOP算法如下所示:

在每一步 t,注意力都被用来将树与来自输入问题表示(第 5 行)的信息关联起来。这种表示用于对边界上的每棵树进行评分:深度为 t + 1 的子树集合,可以从梁上深度为 t 的子树(第 6-7 行)构建。在为步骤 t+1 选择前 K 棵树后,我们为它们计算一个新的表示(第 8 行)。最后,从最终解码步骤 T 中返回得分最高的树。SMBOP模型中的步骤独立地对树表示进行操作,因此每个步骤都被有效地并行化。

SMBOP 类似于波束搜索,因为在每个步骤中它都拥有固定高度的前 K 棵树。它也与(修剪的)图表解析有关,因为步骤 t + 1 处的树是根据在步骤 t 找到的树计算出来的。这与序列到序列模型不同,在序列到序列模型中,光束上的项目是相互竞争的假设,没有任何交互。

下图给出了SMBOP所使用的关系代数语法

模型架构

SMBOP 在每个解码步骤保持一个beam。与标准beam search不同,SMBOP波束上的树不仅相互竞争,而且相互组合(类似于图表解析)。SMBOP使用cross attention将beam上的树表示上下文化。接下来,计算边界上所有高度为t+1的树的分数。可以通过对梁树应用一元(包括 KEEP)运算或二元运算来生成树。我们为边界树定义了一个评分函数,其中通过在树 zi 上应用一元规则 u 生成的新树的评分定义如下:

训练过程

为了指定损失函数,SMBOP定义了监督信号。给定正确 SQL 程序,将其转换为黄金平衡关系代数树。在训练期间,我们应用“自下而上的教师强制”,也就是说,我们用来自 Zgold 的所有树填充光束 Zt,然后用得分最高的非黄金预测树填充光束的其余部分(大小为 K)。这保证了我们将能够在每个解码步骤计算损失,如下所述。损失函数如下所示:

实验结果

该论文使用了Spider数据集进行了实验。

可见,SMBOP在执行准确率上取得了最优的结果。

SMBOP在效率上也比自回归解码器更强。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

点击阅读原文,进入 OpenKG 网站。

论文浅尝 | SMBOP: Semi-autoregressive Bottom-up Semantic Parsing相关推荐

  1. 论文浅尝 | 利用多语言 wordnet 上随机游走实现双语 embeddings

    论文笔记整理:谭亦鸣,东南大学博士生,研究方向为知识图谱问答. 来源:Knowledge Based System 链接:https://www.sciencedirect.com/science/a ...

  2. 论文浅尝 | 图神经网络综述:方法及应用

    论文链接:https://arxiv.org/pdf/1812.08434.pdf GNN相关论文列表链接:https://github.com/thunlp/GNNPapers 近日,清华刘知远老师 ...

  3. 论文浅尝 | 当知识图谱遇上零样本学习——零样本学习综述

    随着监督学习在机器学习领域取得的巨大发展,如何减少人工在样本方面的处理工作,以及如何使模型快速适应层出不穷的新样本,成为亟待解决的问题.零样本学习(Zero-Shot Learning, ZSL)的提 ...

  4. 论文浅尝 | 近期论文精选

    本文转载自公众号 PaperWeekly, 对我们近期的论文浅尝进行了精选整理并附上了相应的源码链接,感谢 PaperWeekly! TheWebConf 2018 ■ 链接 | https://ww ...

  5. 论文浅尝 | 从 6 篇顶会论文看「知识图谱」领域最新研究进展 | 解读 代码

    本文内容源自往期「论文浅尝」,由 PaperWeekly 精选并重新排版整理,感谢 PaperWeekly. ISWC 2018 ■ 链接 | http://www.paperweekly.site/ ...

  6. ###好好好#######论文浅尝 | 基于图注意力的常识对话生成

    论文浅尝 | 基于图注意力的常识对话生成 OpenKG 祝各位读者新春快乐,猪年吉祥! 来源:IJCAI 2018. 论文下载地址:https://www.ijcai.org/proceedings/ ...

  7. 论文浅尝 | 基于知识库的自然语言理解 01#

    本文转载自公众号:知识工场. 罗康琦,上海交通大学计算机系2019届博士,研究方向为自然语义理解和知识图谱.2012年获得华中科技大学软件工程学士学位,现就职于京东数据科学实验室(Data Scien ...

  8. 论文浅尝 | 基于知识库的自然语言理解 04#

    本文转载自公众号:知识工场. 罗康琦,上海交通大学计算机系2019届博士,研究方向为自然语义理解和知识图谱.2012年获得华中科技大学软件工程学士学位,现就职于京东数据科学实验室(Data Scien ...

  9. 论文浅尝 | 神经协同推理

    论文笔记整理:叶橄强,浙江大学计算机学院,知识图谱和知识推理方向. Paper link: https://arxiv.org/abs/2005.08129 Github link: https:// ...

最新文章

  1. 渗透测试之子域到父域的横向移动(Sid History)
  2. 拾牙的2021年秋招总结(大概会有帮助?)
  3. mybatis传递多个参数_深入浅出MyBatis:MyBatis解析和运行原理
  4. ninja: error: 'LIBSOUNDIO_LIB-NOTFOUND', needed by 'bin/k4aviewer', missing and no known rule to mak
  5. C语言/C++编程的起源与能力学习
  6. Kafka万亿级消息实战解决方案干货
  7. NOIP2009 最优贸易
  8. AIO,BIO,NIO:同步阻塞式IO,同步非阻塞IO,异步非阻塞IO
  9. 精读《手写 SQL 编译器 - 性能优化之缓存》
  10. scala case语句_Scala模式与case语句匹配
  11. Android支付宝刷步数,支付宝运动怎么刷步数? 支付宝如何快速刷步数?
  12. Leetcode116. 填充每个节点的下一个右侧节点指针(宽搜或深搜)
  13. Xlim函数--Matplotlib
  14. 抖音网页版上线:这回可以在电脑上刷抖音啦!
  15. php制作judge评测机,HelloJudge2-Judger
  16. TDK是什么意思,TDK怎么写?怎么利于SEO优化?
  17. 梨花院落溶溶月,柳絮池塘淡淡风-- 我心中的七剑与梁羽生
  18. J2EE究竟是什么?
  19. Linux 系统中的vi和vim指令
  20. SV中virtual作用

热门文章

  1. 数据字典表Truncate丢失将招致数据库不可用
  2. 我学机械的可以转嵌入式吗?
  3. 北美暴风雨,Linux5.12被延迟6天发布
  4. mysql数据库中_截取数据_mysql数据库的字符串截取方法
  5. 【Pytorch神经网络理论篇】 01 Pytorch快速上手(一)概述+张量
  6. python制作聊天机器人原理_用 Python 来做一个聊天机器人吧!(一)
  7. l380废墨收集垫已到使用寿命_湖北雨水收集系统定制
  8. LeetCode 1891. 割绳子(二分查找)
  9. 天池 在线编程 三等分(模拟)
  10. LeetCode LCP 22. 黑白方格画