【AdaSeq论文解读】ACL 21-自动组合各种BERT模型,在实体抽取、观点抽取、句法分析等六大结构预测任务20+个数据集获SOTA,比ensemble更强!...

本文介绍了一项研究工作,提出了在结构预测问题上自动拼接word embedding(word embedding)以提高模型准确度的方法。该论文已被ACL2021接收为长文。
论文标题:
Automated Concatenation of Embeddings for Structured Prediction
论文地址:
https://aclanthology.org/2021.acl-long.206.pdf
代码链接:
https://github.com/Alibaba-NLP/ACE

img

1. 简介

基于上下文信息的预训练模型显着提高了自然语言处理中结构预测任务的性能。非常多的工作利用了如ELMo,BERT,Flair,XLM-R等预训练模型不断地刷新了各种结构预测任务的SOTA。最近的许多工作发现通过拼接不同类型的word embedding可以获得更好的词特征表示 ,从而进一步提高自然语言处理中结构预测问题的效果。然而,找到最佳的word embedding拼接组合往往与具体的任务和可候选的word embedding种类有关。同时,随着基于上下文信息的预训练语言模型的种类增加,让这个问题变得更加困难。受神经网络架构搜索(Neural Architecture Search, NAS)的最新进展所启发,本研究提出了Automated Concatenation of Embeddings (ACE)的方法,为结构预测任务寻找更好的embedding拼接。在这个方法中,控制器基于其信念模型(belief model)迭代地进行搜索过程,并对每个候选的word embedding对目标任务的有效性进行建模。在每一步,控制器基于信念模型对word embedding的拼接进行采样,然后将拼接的词特征表示作为输入提供给任务模型。该模型在任务数据集上进行训练,并将模型准确度作为奖励信号(reward signal)返回以进行更新控制器的信念模型。我们使用强化学习中的策略梯度(policy gradient)算法来解决优化问题。为了提高搜索过程的效率,我们还设计了一个特殊的奖励函数,通过基于当前拼接方式和所有先前采样的拼接方式之间的变换情况来累积所有奖励。我们在 6 个结构预测任务,包括命名实体识别(NER)、词性标注(PoS Tagging)、分块(Chunking),观点抽取(Aspect Extraction),句法依存分析(syntactic dependency parsing)和语义依存分析(semantic dependency parsing)上进行实验,在21个数据集刷新了SOTA。

2. 方法

img

任务模型

对于任务模型,我们在序列结构和图结构的结构预测问题上进行实验。给定输入句子x 和结构输出的结构预测y任务,我们可以计算概率分布:

img

其中表示给定输入所有可能的输出结构。根据不同的结构预测任务,输出结构可以是标签序列、树、图或其他结构。在本文中,我们使用序列结构和图结构输出作为两个示例的结构预测任务。我们使用 BiLSTM-CRF模型在序列结构任务进行预测,使用 BiLSTM-Biaffine模型在图结构的任务上进行预测:

img


其中 V是输入句子的词表示矩阵,包含n个词。第i个词的词表示 是 L种word embedding的拼接:
其中表示第个word embedding模型。

搜索空间设计

在NAS中,神经网络可以表示为具有一组节点和有向边的有向无环图。每个节点代表一个操作,而每条边代表这些节点之间的输入和输出。在 ACE 中,我们将每个候选embedding表示为一个节点。节点的输入是输入句子x,输出是对应的embedding v。由于我们将embedding拼接为任务模型的词表示,因此我们的搜索空间中的节点之间没有连接,从而可以显著减少搜索空间,最终搜索空间包含指数个可能的节点组合。为让模型每次搜索能够共享模型的参数,我们使用一个二元向量 a作为embedding mask来使未选择的embedding置0,从而让词特征的长度在每次搜索时保持不变。

在搜索空间内进行搜索

在搜索过程中,控制器迭代地为任务模型生成embedding mask。我们引入一个新的控制器参数。选择拼接的概率分布为下图所示。其中每个元素是从伯努利分布中独立采样,定义为:

img

其中是sigmoid函数。给定embedding mask,训练任务模型直到收敛并在验证集上返回模型准确度。由于准确度不能反向传播到控制器,我们使用强化算法进行优化,准确度用作训练控制器的奖励信号。控制器的目标是通过policy gradient最大化期望的reward 。我们的reward函数定义为:

img

在我们的方法中,由于计算精确的期望是非常困难的,我们采用每次采样单个拼接的方式来更新控制器的参数:

img

模型训练
为了训练控制器,我们使用字典来存储拼接和相应的验证集准确度。训练过程中,我们迭代训练控制器和下游任务模型,直到最大迭代次数。

3. 实验

实验数据集

为了展示 ACE 的有效性,我们对从句法任务到语义任务的各种结构预测任务进行了广泛的实验。这些任务是命名实体识别 (NER)、词性标注 (POS Tagging)、分块 (Chunking)、评价对象抽取 (Aspect Extraction, AE)、句法依存分析 (Syntactic Dependency Parsing, DP)和语义依存分析 (Semantic Dependency Parsing, SDP)。
我们实验中的6个结构预测任务的详细信息如下所示:
NER: CoNLL 2002和2003 shared task的4种语言数据集。
POS Tagging: 我们使用三个推特领域数据集,Ritter11-T-POS,ARK-Twitter和 Tweebank-v2数据集。
Chunking: CoNLL 2000 数据集。
AE: SemEval 14、SemEval 15和 SemEval 16 shared task中的多个数据集。
DP: Penn Tree Bank (PTB) 3.0
SDP: SemEval 15 shared task中的三个数据集。
在这些任务中,NER、PoS Tagging、Chunking和AE是序列结构的输出,而DP和SDP是图结构的输出。 POS Tagging、chunking 和 DP 是句法结构预测任务,而 NER、AE、SDP 是语义结构预测任务。

Embedding选取

针对不同的语言,我们选取了不同的候选embedding组合,这里以英语为例,我们使用ELMo、Flair、BERT base、GloVe、fastText、character embedding、多语言Flair、多语言BERT 和XLM-R。最终在实验中搜索空间的大小为 。

实验结果

img

为了展示我们方法的有效性,我们将ACE与两个strong baseline进行比较。第一个baseline为All,我们让任务模型自己学习每个对任务有帮助的候选embedding的贡献。我们拼接所有的embedding并训练任务模型,让模型中的线性变换层来自己学习每个embedding的权重。第二个baseline为Random,通过随机搜索的方式来寻找embedding拼接,这是NAS中的一个非常强的baseline。结果显示 ACE 在超过6个任务的23个测试集中的准确度几乎都优于两个baseline。将Random与All进行比较,Random平均优于All 0.4,并且在 23 个测试集中的 14 个测试集上超过了All的准确度,因此拼接所有embedding不是大多数结构预测任务的最佳解决方案,而我们的ACE方法通常可以带来更好的embedding组合。

img

img

img

从之前实验可以看出,ACE 在搜索更好的embedding拼接方面具有优势。我们进一步进行实验来比较ACE与目前的SOTA模型之间的准确度。最近有非常多的工作通过finetune基于transformer结构的embedding来获得更好的效果。然而,当拼接多个embedding时,由于复杂的超参数设置和大量的GPU内存消耗,对特定的embedding组合进行finetune变得困难。为了解决这个问题,我们首先在下游任务上finetune每个基于transformer结构的embedding,然后将这些embedding与其他种类的embedding拼接在一起输入到ACE中。结果表明,使用finetune后的embedding的 ACE模型在所有测试集中都达到了SOTA,这表明找到一个好的embedding拼接有助于提高结构预测任务的效果。我们还发现 ACE 比finetune单个embedding训练的模型更强,这显示了拼接finetune后的embedding的有效性。

  1. 结语
    在本文中,我们提出了ACE,自动搜索结构预测任务的更好的embedding拼接。我们设计了一个简单的搜索空间,并设计了具有新颖的奖励函数的强化学习来有效地指导控制器搜索更好的embedding拼接,结果表明ACE 在21个数据集的6个任务中达到了SOTA。

如对相关技术比较感兴趣,欢迎关注我们的「AdaSeq序列理解技术」专栏,github主页,加入我们的钉钉群(4170025534)进行技术交流。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值