Press enter to see results or esc to cancel.

【Survey on Abstract Meaning Representation】

今天终于把论文给提交了,长出一口气了吧,第一次提交论文还挺刺激的,那么现在要Focus在下一个研究上面了吧。自己感觉AMR还是蛮有意思的一个领域,Cohen也有非常多的AMR方面的文章,自己先找篇Survey了解一下吧。

语义是语言所要表达的内在的含义,自然语言处理的目标可以说是在理解语义的基础上实现各种类型的应用。所以理解语义可以说是在NLP领域的一个非常基础的工作。而抽象语义表示(Abstract Meaning Representation,AMR) 一种句子的逻辑语义图,即方便人类理解也方便计算机的处理。

Definition to AMR

AMR是一种全新的句子语义的表示方式,通过将一个句子的语义抽象成为一个单根有向无环图,比如说

He Tries to affected a British accent.

在上面的这样的一个AMR图之中,句子之中的实词抽象为概念节点,实词之间的关系抽象为带有语义标签的有向边。这种表示方法比树结构有很大的优势。因为使用图结构,可以较好的描写出一个名词由多个谓语支配所形成的论元共享的现象,AMR也允许补充句子之中隐含或者是省略的那些成分,以还原出完成的句子的语义。而大家可能也注意到了在上面的图之中不仅仅是节点被标出来了,还有边的信息,而这里的边代表的就是两个节点之间的关系,而这种关系事实上是由一定的规范组成的。而具体的规范可以看下图

AMR把所有的在句子之中的成分使用合理而统一的方式考虑进来完成很多基于语义的任务。

当然上述的结构如果是全部由人手工进行处理的话,那么工作量未免太大,所以我们在设计好AMR表示的规范之后,AMR解析的任务就是对于一个给定的句子,预测和输出一个相对应的AMR的图结构。为了评价一个AMR解析输出图结构的准确性,一种简单的方法是整句的准确性计算,也就是输出AMR图和人工标注的AMR图的相似度。但是很遗憾,这种相似度的计算的问题是一个非常困难的问题,因为这两个图的节点之间也有可能并不是直接的匹配和映射的,确定一个最优的对其关系实际上是一个NP完全的问题。

所以我们使用另外的一种度量方式进行处理,称之为Smatch的方式。在两个AMR图之中进行匹配的计算时,将每一个AMR图都转换成为一个Triple的集合。其中的每一个三元组表示图中的两个顶点和一条边。然后Smatch方法计算两个三元组的集合之间的重叠程度。而为了在多项式时间之内解决,一种方法是将计算问题转换成为一个整数线性规划问题,然后使用线性规划的解法给出一个近似解。或者是采用启发式的爬山算法进行贪心搜索获得近似最优解。

AMR 的解析

所谓的解析也就是构建AMR,有四种主要的构建方式。

基于图的解析方法

Flanigan在2014年提出了第一个AMR的解析器叫做JAMR,这是一个基于统计的模型,通过词语串得到AMR有向图。将一个AMR的构建的过程分成了两个不同的子任务,分别是概念识别以及关系识别。

在概念识别之中,其任务是将输入句子之中的词片段映射到概念图的水平上。其中概念图一般指的是单个的标注概念节点,但是也有可能是一个含有多个概念节点和标注边的子图的结构。JAMR将概念识别任务看成是一个序列化的标注和切分任务。

识别出网络之中的概念之后就要对于这些概念进行连接,或者说是关系识别,通过对于上面的概念图的片段添加有向边而构造一个AMR图。其将关系识别看成是一个基于约束的组合优化的问题,在给定约束的条件下,搜索具有最大值的子图。

Transition-Based 的解析方法

这种方法还蛮有意思的,分成两步,先使用现有的依存解析器将句子生成相应的依存句法树,然后采用一种新的转换算法将依存树转换为AMR图。但是这种方法不可避免的存在着错误的累积和传播的问题,当然也有其他的改进方法可以对于这种传播进行缓解,但是也仅仅是缓解。

基于CCG的解析方法

Artzi给出了一种基于组合范畴语法(Combinatory Categorial Grammar,CCG)的AMR解析的算法,CCG是一种可以更好的表示句子的语言特性的范畴形式体系,广泛应用于传统的语义解析任务之中。那么我们当然也可以使用CCG构造一个AMR的结构。

首先通过CCG构造基于lambda演算表达形式的组合型AMR结构,也就是通过对于句子执行CCG分析得到CCG分析树,得到未指定的逻辑形式。需要注意的是,在CCG分析的推导过程之中,还是使用传统的CKY算法进行挑选最优的未指定逻辑形式。

细节的部分有些抽象,这就不细讲了,但是大家看到这里应该知道了这里的CCG结构的解析方法和上面的Transition-Based的方法都有一个非常严重的问题就是存在着错误的累积和传播的问题。

基于机器翻译的框架的解析方法

AMR解析可以看成是一种基于句法的机器翻译问题(Syntax Based Machine Translation,SBMT)的问题。通过引入各种外部的语义资源到模型之中,使得模型的性能可以得到较高的提升。

AMR 的应用

我们构建AMR当然是希望使用AMR这个东西,那么现在常用的AMR的应用有哪些呢?事实上在摘要生成,实体连接这些应用问题上,使用AMR结构可以有效或者是显著的提高效果和性能。

摘要生成

摘要的生成技术主要是两点,一种属于抽取式的,一种属于生成式的。那么怎么与AMR结合呢?Liu使用AMR实现了一个抽象性的摘要生成的系统,其中包括了三个基本的步骤,分别是通过AMR解析器得到句子的AMR的表示形式,然后把每个句子的AMR图连接成为单个的摘要AMR图。再从单个的摘要AMR图之中生成摘要的文本。

可以看到在这里的最困难的一步就是在第二步里面,首先需要对于第一步之中的句子AMR图进行概念融合、句子的连接以及图的扩展,生成单个的AMR图,然后基于这个AMR图生成一个摘要图。

基于AMR的无监督实体连接

实体连接指的是把原文本之中的实体和知识图谱之中的相关实体连接到一起,相比于未经过处理的原始句子,AMR的表达方式更加便于计算机理解,非线性的语义块连接方式也便于得到语义的上下文的特征的连接的方式。

总结

AMR通过一种简单而完整的方式对于句子的语义有简介而完整的表示,在各项任务上都有较大的提升。但是由于自动解析句子生成AMR表示的算法的能力还有待提升,所以现在的学术界的重点还是仍然在研究如何对于AMR结构的生成效果有进一步的提升。

Comments

AMR还是一个非常语言学的问题,在当今的浮躁的气氛下研究AMR是不是还有其意义呢?个人感觉相比于在下游任务上面的效果的提升,研究AMR的主要的意义还是给NLP领域的可解释性做一个底层的基础,通过AMR的形式可以更好的让人类可以处理语言相关的问题。

Comments

Leave a Comment