Label-Specific Document Representation for Multi-Label Text Classification笔记
摘要
-
这篇文章是发布在2019年的EMNLP上的文章,这篇文章被多个模型作为baseline,所以将这个模型的具体内容拿过来看一下,如果可以,以后可以在这篇文章进行一个baseline的比较;
-
文中提到多标签文本分类中一个文档可能是含有多个topic的,而这些topic是由多个lable来组成体现的,也就出现了多个labels共享同一个文档子集的形式,那么这些对应同一个document的labels必然是有一定的相关性的;
-
之前的文献中提到的方法都是注重在文本的表示上做文章,而文中提到的方法是考虑了标签相关性,同时引入了Attention机制来实现将标签相关性信息融入到document的表示中,整篇文章围绕着三个问题:
1. 一个是如何捕捉到原始文档中的语义模式信息;
2. 如何从文中得到对应于相关labels的具有辨别性的文本信息;
3. 如何精准的捕捉到labels之间的相关性; -
文中的贡献点:
1. 使用了获取特定标签信息的注意力机制,同时考虑了文档的内容以及标签信息;
2. 使用适应性的融合策略,从label和document中提取正确的label信息和对应于label的document信息,来构建特定标签的文档表示;
模型
本文中提到的LSAN模型大体上是分为两个部分,第一个部分是用来提取文档中跟label相关的指定部分的内容,这个部分的功能是通过探究文档内容以及标签文本来实现的;第二个部分是通过自适应的从两个部分——document and label中提取正确的信息;最后,将提取好的信息进行融合,在这个指定标签的文档表示上进行训练;

通过上面的流程图中可以看到这个模型的结构图一共是分为有两大部分,第一个部分主要是用来进行文档表示,其中这个文档表示部分又分为有单纯的对document部分进行表示,以及结合label信息使用特定label的Attention机制对于document部分进行表示,然后,将这两个部分进行结合,最终得到文档的嵌入表示;第二个部分是自适应融合部分,这个部分主要是引入了相应的权重向量,来全权衡在通过Part-two部分之后的文档表示中上面的两个表示环节中各自占有的比重大小,然后进行加权相加,得到最终的文档表示向量;
再将上面的表示向量通过两层的全连接层,内层使用ReLU激活函数,外层使用sigmoid激活函数,最终得到该document对应的各个label的概率信息;然后通过BCE损失函数得到预测值跟groundtruth之间的差距,进行反向传播;下面讲述其中的各个的部分的细节
Part-one
本部分分为有两个不同的Attention模块:单纯引用于document表示的self-attention模块;结合了label信息的特定label注意力document表示模块;
Self-attention模块;
1.
首先,假定输入进来的document有N个,在这N个document中,每一个document又有n个words;然后他们进行词嵌入的维度为k;并且定义label space中的label的个数为ll 个;
2.
将输入进来的document,通过BiLSTM得到有关于上下文的前向以及后向的语义表示信息,

其中,hph_p 表示第p步的word表示信息,hp−1h_{p-1} 表示第p-1步的word表示信息,并且wpw_p 表示document中的第p个word对应的嵌入表示;
通过上面的前向和后向LSTM网络之后得到的句子嵌入的维度为kk 维;
3.
而BiLSTM的做法就是将前向以及后向的得到的句子表示信息进行连接操作:

最终得到的矩阵的维度为H∈R2k∗nH∈R^{2k*n} ,其中拼接的方式为纵向拼接,因为word的总数是不变的;
4.
由于上文中提到的设定,对于一些labels他们在document中肯定有相应的words的体现,所以接下来的操作,就是要捕捉到label对应在document中的相应信息的体现;而这里使用的self-attention机制来实现;

其中A(s)∈Rl∗nA{(s)}∈R{l*n} ,并且
,w1以及w2为可学习的的矩阵,其中的dad_a 为预先指定的超参数;
AjsA^{s}_j 表示的实际现实意义是在ll 个label中的第j 个label,这n个words对于该label所做出topic贡献分布,才能使得当前的document属于这个class
5.
然后,将上面得到的注意力权重对于之前得到的原始的文档嵌入表示进行加权:

这样最终得到的MjsM_j^{s} 的维度为l∗2kl*2k ;
6.
但是,这种文档表示丝毫没有考虑到label的信息,所以,下面又提出了特定label的文档表示;
Label-Attention Mechanism
1.
首先,为了更好的使用label set语义信息,模型中进行的操作是将label set打造成一个嵌入矩阵C∈Rl∗kC∈R^{l*k} ;
2.
这里用了BiLSTM的思想,先分别对于前向以及后向的句向量表示,得到注意力权重,这里的计算方式是:

其中,AlA^l 的维度为l*n;
3.
然后,将前向和后向的标签对document的注意力权重直接附加在前向和后向的document表示上,

其中,MlM^l 的维度为l*k;
4.
使用横向连接的方式得到这里的document表示信息:

Part-two
本部分通过将第一部分中得到的document自身信息得到的表示信息,以及特定标签得到的document表示信息进行自适性的结合,最终得到语义完整的表示:
这里首先,引入了两个权重向量α\alpha 和β\beta ,使用这两个向量来表示使用上面得到的两个表示信息的各自比重;

其中W3和W4的维度都为2k;
由于上面的两个向量表示的是上面得到的两个表示信息的各自比重,所以这里加上对于这两个向量加上了一个约束条件:

最终得到的document表示向量为

MjM_j 维度为l*2k
Label Prediction
将上面得到的document表示通过两层全连接层,最终得到document预测结果;

其中,ff表示ReLU激活函数;

同时,使用的loss function是BCE:

其中,yijy_{ij} 表示第i个document属于第j个label的groundtruth;y^ij\widehat{y}_{ij} 表示第i个document属于第j个label的预测概率;
