2021SC@SDUSC
又把文章《I Know What You Asked: Graph Path Learning using AMR for Commonsense Reasoning》仔细读了一遍。
一、先来看看常识推理。所谓基于常识的知识推理就是,通过常识推理和预先定义的知识来预测正确答案。例如:用常识来回答一个问题:河豚赖以生存的环境是什么?这个问题用常识推理就是:“河豚就是鱼。”→ “鱼生活在水里。”→ “水包括海洋和河流。”⇒ “河豚生活在海里。”人很自然地这样推理,但是机器不行。AMR图叫做抽象意义表示,是一种逻辑推理结构,用于理解从问题到答案的整个推理过程。
下图就是用AMR图表示上面这个例子的常识推理过程。
例如:有一个句子:
what the blowfish requies to live?
用AMR图来表示这个句子的逻辑结构就是:
require-01->purpose->live-01->ARG0->blowfish
下图就是AMR图的表示,但是仅仅靠AMR图,缺乏常识是推导不出正确答案的。
因此作者提出了一种新的紧凑型的AMR图,然后再加上包含常识的ConceptNet图,合在一起,经过修剪,就是ACP图。
比如上面这个例子,如果包含常识的ConceptNet图是:
Blowfish needs the sea to live
那么ACP图就是
require-01->purpose->live-01->ARG0->blowfish->atlocation->sea
二、作者提出的常识推理框架,包括经过集成和修剪的AMR图、语言模型编码器、图形路径学习模型。
首先从CSQA数据集中的每一个问题产生AMR图,然后结合ConceptNet图来集成AMR图的所有结点。在这个过程中使用了ACP图的概念,先把修剪过的图作为输入,然后使用图形转换器计算路径的注意力评分,得出图形向量,这个图形向量通过图形转换器,对AMR图和ConceptNet图相互作用建模后最终形成图形表示;同时在另一边,数据集中的问题和备选答案通过语言模型编码器生成了语言向量。语言向量和图形表示共同作用用来预测正确答案。
整个方法见下图。
使用ConceptNet图扩展AMR图,经历两个过程,先是扩展不修剪,然后再修剪。
下图是不修剪。
下图是修剪过的。
上面这个例子是从句子:
What home entertainment equipment require cable?
得出AMR图,然后又导出ConceptNet图的关联关系,例如:
然后删掉那些跟特定AMR结点不关联的ConceptNet结点,特定AMR结点是指有ARG0和ARG1关联的结点。因此,上图就删掉了living,house,game
因为require-01是一个框架结点,它不应该扩展,所以need结点也要删掉。
上面这个删掉结点的过程就是修剪过程。
把未修剪的AMR-CN图,修剪为仅仅包含ARG0和ARG1关联关系的紧凑的图,这个图就叫做ACP图。这样的修剪可以避免产生大量不必要的路径。
ARG0和ARG1是所有关系中的最频繁的两个关系,见下图。
上面这张表示CSQA数据集中AMR图中的核心角色统计。将给定的训练集随机拆分为新的训练和测试集,可以有效地进行不同的实验。新的训练,开发和测试集分别包括8500、1221和1241个示例。
三、用ACP图可以完整地表现从提出问题到得出结论的常识推理的过程。如果用G = (V, E)来表示ACP图的话(V代表结点,E代表关联关系的边),可以用下面这个表达式来表示ACP图和AMR,以及ConceptNet子图之间的关系:
AMR图可以表示为:GAMR = {Vamr, Eamr}
ConceptNet子图可以表示为:G AMRarg CN = {Vamrarg cn , E amrarg cn }
作者提出了两个概念:语言编码器和图形路径学习模型。
这个模型接收两种输入,文本和图形,将它们由语义表示转换为分布式
表示。
输入的文本,由语言编码器来转换完成。语言编码器是预训练的语言模型,有大量语料库,它把文本输入转换为“[CLS]+问题+[SEP]+候选答案”这种形式。
对于输入的图形,用到图形路径学习模型。为了让模型能够识别图形路径,需使用关系编码器将两个概念之间的关系路径进行编码,成为分布式表示。
spt表示的是两个结点之间的最短路径。GRU是门控复发单元。
在概念i和j之间的关系编码rij可以看作是基于GRU网络的向前或者向后的隐藏状态的串联。用下面这个式子表示:
然后将rij拆分为正向关系编码 ri->j,以及反向关系编码rj→i,可以表示为下面式子:
这里Wr表示的是参数矩阵。这么拆分考虑的是路径的双向性。
下面这个式子用于计算注意力评分。
四、再来看一下作者写的相关实验:首先将ACP与ACF图进行比较,ACF图是在AMR图的所有概念上进行扩展,并使用了ConceptNet的图。然后将这个模型应用于具有不同编码器结构的三种语言模型,观察性能增强的情况。此外,作者还研究了将该方法的有效性应用于基于扩展版本的BERT基模型,如BERT大样本或后训练具有OMCS数据的BERT模型。最后,作者用官方测试集展示了模型的性能。
实验用到的CSQA数据集包含12102条自然语言的问题,以及每一条问题都有五条备选答案。将给定的训练集拆分为新的训练集和测试集。新的培训、开发和测试集分别包括8500、1221和1241个示例。
为了证明ACP图比其他图特征更有效,作者用三种方式进行实验,即分别采用了三种类型的图,即纯ConceptNet图、ACF图(AMR图加ConceptNet图)、ACP图。
1、使用ACF图,即使用与所有问题对应的ConceptNet图(概念网图),这些概念之间由句子的空格进行分隔区分,所有概念构成ConceptNet图的结点标记(tokens)。
这些tokens最初是不关联的,没办法靠这个来推理的。因此需要依靠作者之前说的图形路径学习模型,做一个从问题到根(root)的推理路径,来使得这些tokens关联起来。
2、使用ACP图,就是使用AMR图加ConceptNet图,即修剪后的概念网图。见下图。
修剪后的概念网图仅仅包含那些与AMR图中的ARG0 和ARG1关联的结点相关联的ConceptNet结点。比如上图的require,equipment,cable。
ACF图可以用下面的式子表示:
其中AMR图表示为:
ConceptNet子图表示为:
其他CF图和CP图可以表示为:
从上面这个表可知ACP图的准确度最高。
ACP图通过避免不必要的路径,使得图形路径学习模型能够找到更有效的推理路径。
五、上面实验中用到的语言编码器是BERT-base-cased。由于使用ACP图的性能优于其他图,接下来的实验,都使用ACP图,但是语言编码器采用其他的BERT模型。下图是采用不同BERT模型的实验性能比较。
下图是采用不同的语言模型的实验性能比较。
从上面的结果可知,ACP图在CSQA数据集上能够稳定取得比较好的性能,跟语言模型的选择无关。