ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Learning semantic parsers from denotations论文阅读

2021-04-27 12:59:05  阅读:219  来源: 互联网

标签:denotations semantic 填充 consistent 程序 program parsers abstract 模板


Abstract

这篇文章解决的还是semantic parser的问题,主要的实验还是在WikiTableQuestion和WikiSQL上进行。将文本问题转换成程序,通过一个computer执行。这篇文章提到了semantic parser的两个难点,一个是存在假程序,也就是答案正确但是程序本身是错误的。另一个就是搜索空间过大的问题。spurious program的问题其实就是MAPO要解决的bias的问题,所以这篇文章要解决的问题和MAPO是差不多的,只不过方法不一样,MAPO是针对存在这一类问题的任务,而这篇文章只是针对semantic parser的问题。核心idea:作者认为correct program和question之间是有一定对应关系的,比如结构上的对应。所以作者希望能够导出这样的规则,称为latent-alignment framework。 prediction分成两部分,1)预测抽象程序。2)把抽象程序填充。其实这种方法就像是模板预测,先生成模板然后预测。

Introduction

他这里的规则感觉很古怪,但是这个idea还挺好的。

correct program和spurious program的差别就在于“silver”被用了两遍,所以导出的规则就是同一个variable不能被trigger两次。

在第一阶段,将question text映射成abstract program,第二个阶段就是对abstract program填充,也就是填充模板,每一个空对应一个分类器。

Model

首先是定义语法,因为有抽象程序和实例程序,所以也定义了抽象语法和实例语法。Abstract Grammar定义了5种基本类型,Row,Column,String,Number,Date。function:Return Type -> function,比如ROW -> first,取出第一列。

导出语法树。Instantiation Grammar属于填充部分,根据不同的条件填充变量。这个语法树就可以写成规则的组合,所以这个程序把生成template转换成生成规则了。

operator可以是>=<,条件也可以通过and或者or的方式。
另外,作者观察了数据集,发现1)那些能够生成consistent program的程序的abstract program利用的规则都不是很复杂。2)在WikiTableQuestion86%的问题都只有一个consistent program。而wikiSQL中每一个问题基本上有84个consistent program。3)只有少部分的abstract program是能够被实例化成consistent program的。

Training

Our learning objective J is to maximize the log-likelihood of the marginal probability of all consistent programs, which are generated by mapping an utterance x to an interim abstract program h.

目标函数是优化所有的consistent program的边缘概率。

很好理解,第一项是生成抽象程序的概率,第二项是生成实例程序的概率。在训练阶段只会关注能够生成consistent program的程序,在测试阶段会选择概率最大的。这个训练应该还可以再做优化的。

Conclusion

这篇文章还有很多细节没有阅读,但是大致是思想还是明白的,生成模板,然后填充,不过这种方法最后并没有超越sota。而且对于这个数据集而言,我感觉伪程序出现的不多,我sample了一些数据集后没有发现太多的伪程序,所以我认为他这种模板的方法对于accuracy上应该是没有什么太大提升的,但是他的方法还是很新的,我并没有跑过他的代码,但是从程序的长度和复杂度上讲,程序不会超过三跳,方法也没有很复杂,所以填充模板应该不会出现太多错误,主要原因可能是再模板生成的准确率上,如果能提升模板准确率那么模型可以改进。

标签:denotations,semantic,填充,consistent,程序,program,parsers,abstract,模板
来源: https://blog.csdn.net/weixin_47474348/article/details/115711088

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有