Large-Scale Multi-Label Text Classification on EU Legislation. ACL 2019
我们考虑了在法律领域的大规模多标签的文本分类。我们发布了一个新的数据集5.7K EUR-LEX的法律文档,并加上了4.3K的EUROVOC标签,适用于LMTC、少量学习和零样本学习(zero-shot learning)。实验用了几个神经网络分类器,我们表明,具有标签式(label-wise)注意力的BiGRUs比其他目前最先进的方法表现更好。特殊领域的W2V和上下文相关的ELMO embedding进一步提高了性能。我们还发现,仅考虑文档的特定区域是足够的。这允许我们绕过BERT的最大文本长度限制和fine-tune BERT,在除了零样本学习以外的所有情况下获得最佳结果。
大规模多标签文本分类(LMTC)的任务是为每个文档分配一个大集合中的所有相关标签,通常包含数千个标签(类)。应用包括建立网络目录(Partalas等人,2015年),用本体论的概念标记科学出版物(Tsatsaronis等人,2015年),为医疗记录分配诊断和程序标签(Mullenbach等人,2018年;Rios和Kavuluru,2018年)。我们专注于法律文本处理,这是一个新兴的NLP领域,有很多应用(例如,法律判决(Nallapati and Manning,2008;Aletras et al.,2016)、合同要素提取(Chalkidis et al.,2017)、义务提取(Chalkidis et al.,2018)),但公开资源有限。
我们的第一个贡献是一个新的公开的法律LMTC数据集,称为EURLEX57K,包含来自EUR-LEX门户网站的57k份英语欧盟立法文件,用来自欧洲词汇表(European Vocabulary)的∼4.3k标签(概念)进行标记。EUROVOC包含约7K个标签,但大多数很少使用,因此,它们在EURLEX57K中的表示不足(或不存在),使得数据集也适合于少样本学习和零样本学习。EURLEX57K可以看作是MenciaandF–urnkranzand(2007)发布的数据集的一个改进版本,该数据集在LMTC研究中得到了广泛的应用,但它的不足EURLEX57K(19.6kd文档,4k EUROVOC标签)的一半,而且已经超过了10年。
作为第二个贡献,我们在EURLEX57K上实验了几个神经分类,包括Mullenbach等人的标签式注意网络(Label-Wise Attention Network)。(2018),这里称为CNN-LWAN,据报道在LMTC的医疗记录上取得了最先进的表现。我们发现,在EURLEX57K上,一个简单的BIGRU具有自我关注(Xuetal.,2015)比CNN-LWAN有更大的优势。但是,通过用BIGRU替换CNN-LWAN的CNN编码,我们在EURLEX57K上获得了更好的结果。特殊领域的W2V(Mikolov等人,2013)和上下文敏感的ELMO嵌入(Peters等人。,2018年)进一步改善。因此,我们为57K欧元建立了强大的基线。
作为第三个贡献,我们调查了哪些区域的文档在EURLEX57K上的信息量更大,这表明仅考虑每个文档的标题和序言会导致与考虑完整文档几乎相同的性能。这使得我们可以绕过BERT(Devlin等人,2018)的最大文本长度限制和fine tune BERT,除了零样本学习标签之外的所有标签获得最佳结果。据我们所知,这是BERT在LMTC任务中的首次应用,它进一步证明了预训练语言模型在任务特定调整方面的优越性,并为EURLEX57K和LMTC建立了一个更强大的基线。
You等。(2018)探索了基于RNN的方法with self-attention,并对Liu等人也考虑过的五个LMTC数据集。(2017年),即RCV1(Lewis等人,2004年)、Amazon-13K(McAuley和Leskovec,2013年)、Wiki-30K和Wiki-500K(Zubiaga,2012年)以及之前的EUR-LEX数据集(Mencia和F?urnkranzand,2007年),报告基于注意力的RNN产生了总体上最好的结果(5个数据集中的4个)。
Mullenbach等人。(2018)调查了在LMTC中使用label-wise attention对MIMIC-II和MIMIC-III数据集的医学预测(Johnson等人,2017)。他们最好的方法,卷积注意多标签分类,在这里称为CNN-LWAN,每个标签使用一个注意头,并被证明优于弱基线,即logistic回归,plain BIGRUs,只有一个卷积层的CNN。
Rios和Kavuluru(2018)考虑在MIMIC数据集上进行少样本学习和零样本学习。他们提出了一种类似于CNN-LWAN的方法,称为Zero-CNN-LWAN,该方法也利用了标签描述符。尽管ZERO-CNN-LWAN在MIMIC-II和MIMIC-III上总体上没有优于CNN-LWAN,但它在少样本和零样本学习方面有了很大的改进,其中ZERO-CNN-LWAN的其他变体利用了标签与图卷积的层次关系。
我们注意到Mullenbach等人的label-wise attention方法。(2018年)和Rios和Kavuluru(2018年)没有与强大的通用文本分类基线进行比较,例如基于注意力的RNN(You等人,2018年)或分层注意力网络(HANs)(Yang等人,2016年),我们在下面进行了调查。
如前所述,EURLEX57K包含来自EUR-LEX的57k份立法文件,平均长度为727字(表1)。每份文件包含四个主要区域:标题,其中包括执行法律行为的法律机构的名称;序言,其中是法律背景参考;主体,通常按文章组织;以及附件(如附录、附件)。
我们考虑的一些LMTC方法需要将文档分成更小的单元。这些通常是句子,但在我们的实验中它们是sections,因此我们分别对原始文本进行预处理。我们把标题、朗诵区、正文的每一篇文章和附件作为单独的部分。
数据集的所有文档都由欧盟办公室的出版物注释,其中包含来自EUROVOC的多个概念。虽然EUROVOC包含大约7k个概念(标签),但EURLEX57K中只有4271个(59.31%)存在,其中只有2049个(47.97%)被分配到10多个文档。Rios和Kavuluru(2018)报告了MIMIC数据集的类似分布。我们将EURLEX57K分为培训(45k文档)、开发(6k)和测试子集(6k)。我们还将4271个标签分为frequency(746个标签)、few shot(3362个标签)和zero-shot(163个标签),这取决于它们分别被分配到50个以上、50个以下但至少有一个,或者没有训练文档。
精确匹配,逻辑回归(Exact Match, Logistic Regression):第一个简单的基线,精确匹配,只分配其描述符可以在文档中一字不差地找到的标签。第二种方法使用Logistic回归,特征向量包含n-grams(n=1,2,…,5)的TF-IDF得分。
BIGRU-ATT:第一种神经方法是具有自我注意的BIGRU(Xu等人,2015)。每个文档都被表示为其单词嵌入的序列,它们经过一堆BIGRUs(图1a)。文档嵌入(h)被计算为产生的上下文感知嵌入的和(h = sum(a_i h_i)),由自我注意分数加权,并通过一个密集的层L=4271 输出单元with sigmoid,产生L概率,每个标签一个。
HAN:分层注意网络(Yang等人,2016)是文本分类的一个强有力的基线。我们使用稍微修改过的版本,其中一个具有self-attention的BIGRU读取每个部分的单词,如BIGRU-ATT中所示,但每个部分单独读取,生成部分嵌入。具有self-attention 的第二层BIGRU读取section embeddings,生成一个单独的文档嵌入(h),它通过与BIGRU-ATT类似的输出层(图1b)。
CNN-LWAN,BIGRU-LWAN:在Mullenbach等人的原始Label-Wise Attention Network(LWAN)中(2018),这里称为CNN-LWAN,每个文档的字嵌入首先由CNN编码器转换为向量序列hi。我们开发的CNN-LWAN的改进版本称为BIGRU-LWAN,它用BIGRU(图1c)替换CNN编码器,BIGRU-ATT将word embedding 转换为上下文敏感的embedding hi,与BIGRU-ATT非常相似。然而,与BIGRU-ATT不同,CNN-LWAN和BIGRU-LWAN都使用L个独立的attention head,每个标签一个,从CNN或BIGRU编码器生成的向量hi序列生成L文档嵌入(h^l = sum(a_l_i h_i, l = 1,… ,L)。每个文档嵌入(h(l))专门用于预测相应的标签,并通过一个单独的稠密层(dense layer) with a sigmoid(总共L个致密层),以产生相应标签的概率。
ZERO-CNN-LWAN、ZERO-BIGRU-LWAN:Rios和Kavuluru(2018)设计了一个类似CNN-LWAN的模型,在他们的工作中称为ZACNN,在这里称为ZERO-CNN-LWAN,以处理罕见的标签。在ZERO-CNN-LWAN中,通过比较CNN编码器产生的hi向量和标签特定的文档嵌入来产生attention scores(al,i)和标签概率。每个label embedding 都是标签描述符pretrained word embedding 的centriod;有关更多详细信息,请咨询Rios和Kavuluru(2018)。相比之下,CNN-LWAN和BIGRU-LWAN没有考虑标签的描述符。我们还试验了我们开发的ZERO-CNN-LWAN的变体,称为ZERO-BIGRU-LWAN,其中CNN编码器被BIGRU替换
BERT:BERT(Devlin et al.,2018)是一个基于Transformaers(Vaswani et al.,2017)的语言模型,它是在大型语料库上预先训练的。对于新的目标任务,在BERT之上添加了一个任务特定层。通过对特定任务数据的精确调整,外部层与BERT共同接受训练。我们在BERT的顶部加了一个dense layer with sigmoids,这就产生了每个标签的概率。不幸的是,BERT目前可以处理多达512个单词的文本,这对于EURLEX57K文档来说太小了,因此,BERT只能应用于我们文档的截断版本(见下文)
评估指标:常见的LMTC评估指标包括:前K个预测标签的精确性(P@K)和召回率(R@K)、测试文档的平均值、所有标签的微观平均(micro-averaged)F1和nDCG@K(Manning等人,2009)。然而,P@K和R@K在文档的黄金标签(gold labels)分别小于或大于K时不公平地惩罚方法。类似的担忧导致在信息检索中引入了R-Precision和nDCG@K(Manning等人,2009),我们认为这也更适合于LMTC。但是,请注意,R-Precision要求预先知道每个文档的黄金标签数量,这在实际应用中是不现实的。因此,我们建议使用R-Precision@K(RP@K),其中K是一个参数。如果至少有K个黄金标签,则此度量与P@K相同,否则K将减少为黄金标签的数量。
图2显示了三个最佳系统的RP@K,宏平均值(macro-averaged)高于测试文档。与P@K不同,RP@K不会随着K的增加而急剧下降,因为当它低于K时,RP@K会替换K,当K=1时,RP@K相当于P@K,如图2所示。对于几乎总是超过黄金标签数量的K的大值,RP@K渐近接近R@K,如图2所示。在我们的数据集中,每个文档有5.07个标签,因此K=5是合理的
设置(Setup):使用HYPEROPT库选择开发数据损失最大的值来调整超参数。为了获得最佳的超参数值,我们进行了五次测试并报告了测试数据的平均得分。对于统计显著性检验,我们采用对开发数据性能最好的每种方法,并对测试数据进行双尾(two-tailed)近似随机化检验(Dror等人,2018)。除非另有说明,我们使用200-D预训练GLOVE embeddings(Pennington等人,2014)。
完整文档(Full documents):表2的第一个水平区域报告完整文档的结果。初始(naive)的基线是弱的,正如预期的那样。有趣的是,对于所有的,频繁的,甚至few-shot标签,通用的BIGRU-ATT性能比CNNLWAN好,which为LMTC设计的。HAN的表现也优于CNN-LWAN对于所有和频繁的标签。然而,用BIGRU(BIGRU-LWAN)代替CNN-LWAN的CNN编码器,效果最好,说明CNN-LWAN的主要缺点是它的普通CNN编码器。
CNN-LWAN和BIGRU-LWAN的zero-shot版本在zero-shot标签(表2)上优于所有其他方法,这与Rios和Kavuluru(2018)的发现一致,因为它们利用了标签描述符,但更重要的是,它们有一个按原样使用先验知识的组件(即标签嵌入被冻结)。由于同样的原因(即,先前的知识是完整的),精确匹配(Exact Match)在zero-shot标签上也表现得更好。然而,BIGRU-LWAN仍然是few-shot学习中最好的方法。表2中的最佳(粗体)方法与其他方法之间的所有差异均具有统计学意义(p<0.01)。
表3显示,使用在法律文本上训练的WORD2VEC嵌入(L2V)(Chalkidis and Kampas,2018)或在通用文本上训练的ELMO嵌入(Peters et al.,2018)进一步提高了BIGRU-LWAN的性能。
文档区域(Document zones):表4比较了BIGRU-LWAN在不同文档区域组合的开发集上的性能(Section 3):标题(H)、说明(R)、正文(MB)、全文。令人惊讶的是,H+R得到的结果与完整文档几乎相同,这表明H+R提供了分配EUROVOC标签所需的大部分信息。
First 512 tokens:考虑到H+R包含足够的信息,并且在83%的数据集文档中少于500个tokens,我们还将BERT应用于每个文档的前512个tokens(截断为BERT的最大长度),而BIGRU-LWAN也在前512个tokens上操作。表2(底部区域)显示,尽管BERT只考虑前512个tokens,但它优于所有其他方法。然而,它在zero-shot学习中失败了,因为它没有一个利用现有知识的components(组件)(即,所有components(组件)都是根据训练数据进行调整的)。
调查方法的一个主要限制是,它们不适合存在成百上千个标签的Extreme(极端)多标签文本分类(Liu等人,2017年;Zhang等人,2018年;Wydmuch等人,2018年),而我们工作的LMTC设置中,标签是成百上千个。我们将对超大标签集方法的研究留作以后的工作。此外,基于RNN(和GRU)的方法具有较高的计算成本,特别是对于长文档。我们计划研究更有效的计算方法,例如dilated CNNs(Kalchbrenner等人,2017年)和Transformers(Vaswani等人,2017年;Dai等人,2019年)。我们还计划用BERT的层次特性进行实验,以超越其长度限制。此外,使用更多的数据集进行实验,例如RCV1、Amazon-13K、Wiki-30K、simic-III,将使我们能够在不同的领域验证我们的结论。最后,我们计划研究Generalized Zero-Shot Learning(Liu等人,2018)。
图3显示了EURLEX57K文档中标签的分布情况。在7k个标签中,少于50%的标签出现在10多个文档中。在medical code predictions (医学代码预测)(RiosandKavuluru,2018)中也注意到了这种激进的Zipfian分布,在医学代码预测中,这种同义词表被用来对文档进行分类,显示了few-shot 和zero-shot 学习的实际重要性。
表5显示了HYPEROPT返回的最佳超参数。关于BERT,我们将dropout和学习率分别设置为0.1和5e-5,正如Devlin等人所建议的那样。(2018),而由于GPU内存限制,批大小设置为8。最后,我们注意到,正如Devlin等人所建议的,该模型在fourth epoch没有收敛。(2018年)。因此,我们没有耐心地使用了early-stopping,并在五次runs中平均训练了八到九个阶段的模型。
其中T是测试文档的总数,K是每个文档要选择的标签数,St(K)是第T个文档中排名前K的正确标签数,Rt是每个文档的标签数。尽管这些措施在LMTC中被广泛使用,但我们对其适当性提出质疑,原因如下:
再次,T是测试文档的总数,K是要选择的标签的数目,St(K)是在第T个文档中排名前K的正确标签的数目,Rt是每个文档的金色标签的数目。在本文中,我们报告K=5的结果。原因是EURLEX57K的大多数文档(57.7%)最多有5个标签。具体分布如图4所示。