张桐瑄 利用基于注意力机制的胶囊网络解决多标签关系抽取问题
新闻来源:IR实验室       发布时间:2019/4/2 21:03:15

  本篇论文《Multi-labeled Relation Extraction with Attentive Capsule Network》提出了基于注意力机制的胶囊网络模型,旨在解决一个句子中存在多种重叠关系的关系抽取任务,实现多标签分类。本篇论文发表在AAAI 2019,作者分别来自于上海交通大学和澳门大学。

1 引言

1.1 Capsule 解决CNN存在的哪些问题?

CNN网络主要有三大特点,分别为局部感知、权值共享和多卷积核:

局部感知:CNN网络中神经元是部分连通,每个神经元只与上一层的部分神经元连通,只感知局部特征而非全局特征;

权值共享:网络从一个局部区域学习到的信息,应用到其它区域;

多卷积核:网络中一个卷积核代表一种特征,为获得更多不同的特征,卷积层会有多个卷积核,生成不同的特征。

以图像为例,CNN的每个卷积核具有不同的作用,有的对边缘敏感,有的对颜色敏感。CNN通过特征逐层累加实现分类,然而在这一过程中,网络会丢失一项重要的信息:特征之间的空间关系。

因此为了解决CNN在分类过程中特征之间空间关系缺失的问题,2017年10月26日,Hinton提出了胶囊网络(Capsule Networks)[1],所谓的胶囊,其实就是一个向量,它可以包含任意个值,每个值代表了当前需要识别的物体(比如一张图片,一个句子)的一个特征。

1.2 Capsule与传统的neuron对比

图1 Capsule与传统的neuron对比

图1所示的是Capsule与传统神经元的对比图,Capsule的特点就是“vector in vector out”,这是和传统神经元最大的区别,Hinton希望Capsule能够拥有一个性质:胶囊的模长就代表特征的概率值。

1.3 本篇论文所要解决的问题是什么?

在关系抽取任务中,会存在高度重叠和离散的特征,比如:

(1)一组实体对,在句子中可能表达多种关系,而现在的神经网络模型最后的高维向量表示一般使用的max-pooling或者是句子级的attention,一个高维的关系向量并不能表示多种关系。

(2)目前的方法会忽略离散的关系,而有些句子是由句中分散的词来形容实体之间的关系,目前常用的神经网络模型利用固定的结构,很难捕获不同位置上的关系特征。

(3)目前在判断一个句子是否是“no relation”句子,仅仅当它不包含其它任何关系是,才会将其判断为“no relation”。

图2 本篇论文待解决问题及方案

图2所示的是本篇论文待解决的问题及解决方案,左侧表中,方括号内的是实体词,斜体红色的词表示的是包含某种关系的关键;从举的例子中可以看出在关系分类过程中,存在高度重叠和离散的特征。因此,针对以上三个问题,本篇提出了基于注意力机制的胶囊网络,用于多标签的关系抽取任务,主要有两个创新点:提出了基于注意力机制的动态路由来精确地提取关系特征;提出滑动边界的损失函数用于更好地学习多种关系并判断“no relation”句子。

2 方法

图3所示的是本论文提出的方法整体架构图,模型的输入的是一句话和标注的两个实体,经过Bi-LSTM层,提取句子的低级特征表示,然后将相关特征通过注意力胶囊网络,聚类为一个高层次的关系表示,然后利用提出的滑动边界的算是函数进行分类和预测“no relation”句子。接下来分别详细地介绍特征提取层、特征聚类层和关系预测层。

图3 方法整体结构图

2.1 特征提取层

将词向量与位置向量拼接,经过Bi-LSTM获得前向特征和后向特征,然后将两个方向特征对应位置元素相加,获得最终的隐层表示:

                         (1)

2.2 特征聚类层

首先通过公式2-3,将每个单词转换为k个低级胶囊:

                     (2)

               (3)

其中为每个单词由特征提取层获得的隐层向量表示,[x;y]表示x和y垂直连接,代表的是squash激活函数。

在传统的动态路由算法中,对实体并不敏感,而在关系抽取过程中,实体也起到了重要的作用,因此在本篇论文中,改进传统的动态路由方法,增加了注意力机制,将关注点较多的放在了两个实体上,具体的算法如图4所示:

图4 基于注意力机制的动态路由算法

其中表示的是两个实体隐层特征加和,T表示的是转置计算,利用sigmoid函数计算得到实体与句中其余各词之间表示重要程度的权重值,然后再计算得到高级的特征表示

                     (4)

其中通过z迭代计算得到的系数,为权重,为attention权重值,代表的是squash激活函数。

2.3 特征预测层

    本层将最终的胶囊模长表示关系的概率,这里作者对传统的胶囊网络的损失函数进行改进,提出了滑动边缘的损失函数,通过自动学习边界,对最终类进行预测,同时找到“no relation”的句子。损失函数如公式5所示:

 (5)

其中是变化参数,初始值设为0.5,在迭代过程中对其进行学习,为设置的边界超参数,当句子属于类时,等于1,否则等于0。在解决“no relation”类型的关系时,所有的标记为“no relation”句子的概率都应该边界以下。

3 实验

本篇论文在两个数据集上进行实验,验证方法的有效性和泛化性。分别为:纽约时报数据(NYT-10)和SemEval-2010 Task 8评测数据,其中语料规模如表1所示。实验最初,作者提出了三个问题,分别为:(1)我们的方法在关系抽取任务中是否优于其它方法?(2)我们提出的基于注意力机制的胶囊网络对于识别高度重叠的关系是否有用?(3)我们对于胶囊网络的两处改进是否能够提高关系抽取的性能?在接下来的实验中,也是为了回答这三个问题。实验结果如下所示:

表1 语料集规模

3.1 NYT-10数据集上的性能

在实验中,设定了6种特征聚类的方法作为对比方法,分别为:

Max-pooling+CNN (Zeng et al. 2014).

Max-pooling+RNN (Zhang and Wang 2015).

Avg+RNN:经过RNN后的隐层特征加和取平均。

Att+RNN (Zhou et al. 2016).

Att-CapNet (CNN-based)

Att-CapNet (RNN-based) 这个也是本实验中作者使用的方法。

表2所示的是在NYT-10数据集上,baseline方法的实验结果,PR表示的PR曲线面积。表3所示的是在NYT-10数据集上,baseline方法的PR曲线图。

表2 NYT-10实验结果

图5 NYT-10实验结果PR曲线图

表3所示的是在NYT-10数据集上,进行十折交叉验证的实验结果,其中p-value值验证结果的有效性,p-value值越小实验结果越可信;CI表示经过十折交叉运算后,F1值的波动区间,其中F1值有不同程度的提高,最少也提高了2.2%。

表3 NYT-10实验结果

表4所示的是在SemEval-2010 Task 8数据集上,baseline方法的实验结果,其中WE表示词向量的维度,PE代表增加了位置特征。

表4 SemEval-2010 Task 8实验结果

为了验证方法对于多标签句子分类上的性能,实验中从NYT-10测试集中选取了500条存在多标签的句子,验证方法的有效性,实验结果如表5所示:

表5 NYT-10多标签分类结果

为了验证我们对胶囊网络的改进,能否对关系抽取的性能有所提高,对于每部分的改进性能也做了相应的实验,实验结果如表6所示,相应的PR曲线图如图6所示:

表6 SemEval-2010 Task 8不同模块性能评估

图6 NYT-10不同模块性能的PR曲线图

为了验证提出的方法对于多标签分类是有效的,能够捕获实体对表达的不同类别信息,关注到句子中分散的实体关系,全面的分析句子中包含的关系类型, 选择了具有多标签的句子进行验证,实验结果举例如表7所示:

表7 实例分析

4 总结

本篇论文中,作者对传统的胶囊网络进行改进,提出了基于注意力机制的动态路由来精确地提取关系特征;提出滑动边界的损失函数用于更好地学习多种关系并判断“no relation”句子。并且该论文是首篇将胶囊网络应用于多标签关系抽取任务上。目前在关系分类和实体识别任务上,应用胶囊网络方法的还不太多,且改进空间还很大;胶囊网络存在一个胶囊的长度就表示类别的概率值的性质,因此目前胶囊网络一般应用于最后一层,代替max-pooling层完成分类任务。作者在最后也提出,未来也可尝试解决阅读理解任何和其它的关系抽取任务。

参考文献:

[1] Sabour S, Frosst N, Hinton G E. Dynamic routing between capsules[C]//Advances in neural information processing systems. 2017: 3856-3866.