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

本文主要是介绍【AdaSeq论文解读系列】ACL 21-自动组合各种BERT模型,在实体抽取、观点抽取、句法分析等六大结构预测任务20+个数据集获SOTA,比ensemble更强!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:落叶

链接:https://zhuanlan.zhihu.com/p/593364152

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文介绍了一项研究工作,提出了在结构预测问题上自动拼接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

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. 方法

任务模型

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

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

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

其中表示第个word embedding模型。

搜索空间设计

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

在搜索空间内进行搜索

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

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

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

模型训练

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

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。最终在实验中搜索空间的大小为 。

实验结果

为了展示我们方法的有效性,我们将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组合。

从之前实验可以看出,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的有效性。

4. 结语

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

可以加入钉钉 4170025534交流哈~

这篇关于【AdaSeq论文解读系列】ACL 21-自动组合各种BERT模型,在实体抽取、观点抽取、句法分析等六大结构预测任务20+个数据集获SOTA,比ensemble更强!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/JohnsonZh/article/details/128498756
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/760209

相关文章

关于pandas的read_csv方法使用解读

《关于pandas的read_csv方法使用解读》:本文主要介绍关于pandas的read_csv方法使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录pandas的read_csv方法解读read_csv中的参数基本参数通用解析参数空值处理相关参数时间处理相关

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作