AAAI 2020 开源论文 | 语义感知BERT(SemBERT)

作者丨张倬胜

学校丨上海交通大学硕士生

研究方向丨自然语言理解

本文从计算语言学角度,提出使用显性语义角色信息来改善深度语言模型的建模性能,将语义角色标注用于机器阅读理解和推理任务中,提供更加丰富和精准的语义信息。本论文来自上海交通大学与云从科技联合创新实验室,录用于 AAAI 2020。

论文地址: https://arxiv.org/abs/1909.02209

开源代码: https://github.com/cooelf/SemBERT

引言

机器阅读理解的目标是教会机器学习并理解人类语言、像人一样思考与交流,是深度学习促进自然语言处理的研究和工程应用后兴起的实用性任务。机器阅读理解融合了文本上的知识表达、语义理解和一定程度上基于知识的推理等一系列挑战。 

上下文表示是文本理解的核心模块,最新基于大规模预训练的深度语言模型有效集成了语境化特征,在大量的自然语言处理任务上获得巨大的成功,尤其是在各种机器阅读理解和自然语言推理任务。

然而,许多研究者发现当前许多机器阅读理解模型未能“真正”地理解语义信息,在一些人类易懂的题目上机器容易犯错。现有的语言表示模型(包括 ELMO、GPT、BERT、XLNet 等),只利用了简单的上下文特征,如字符或子词嵌入,缺乏对结构化语言学信息的考虑,而这些信息可以为语言表达提供丰富的语义和结构化知识,构建更加精确的文本表征。 

为了增强自然语言理解,本文提出通过预训练的语义角色标注模型引入显式的上下文语义标签信息,并 引入一种改进的语言表示模型——语义感知 BERT (SemBERT) ,它能够在 BERT 为基础的骨架网络上,显性地融合上下文语义信息。SemBERT 保持了 BERT 的易用性,只需进行适应性的微调,而无需对特定任务进行大幅度的模型修改。

与 BERT 相比,SemBERT 在概念上同样简单,但性能却更为强大。SemBERT 在 10 项自然语言理解任务上显著地提升了基准模型,甚至达到了最佳的水平。

▲  SemBERT模型架构

SemBERT 模型包括三个部分: 

1)语义角色标注器,用于对文本进行标注,给输入的句子标注谓词-论元结构(词级别); 

2)序列编码模块,其中使用预训练的语言模型构建输入原始文本的向量表示,通过 CNN 将子词级表示重构为词级别实现与标签对齐;同时,将语义角色标签向量化,构建语义标签向量表示;

3)语义集成模块,用于将文本表示与语义标签向量表示集成融合,以获得可用于下游任务的联合表示。

▲  SemBERT输入数据结构

1. 语义角色标注 

语义角色标注(SRL)旨在发现句子的谓词-论元结构。它以句子的谓词为中心,分析句子中各成分与谓词之间的关系,即句子的谓词(Predicate)- 论元(Argument)结构。

谓词是对主语的陈述或说明,指出“做什么”、“是什么”或“怎么样,代表了一个事件的核心,跟谓词搭配的名词称为论元。语义角色是指论元在动词所指事件中担任的角色。主要有:施事者(Agent)、受事者(Patient)、客体(Theme)、经验者(Experiencer)、受益者(Beneficiary)、工具(Instrument)、处所(Location)、目标(Goal)和来源(Source)等。 

例如:对于文本 {reconstructing dormitories will not be approved by cavanaugh},由于包含 2 个谓词,因此对应 2 个谓词-论元结构序列。 

[ARG1: reconstructing dormitories] [ARGM-MOD: will] [ARGM-NEG: not] be [V: approved] [ARG0: by cavanaugh] 

[V: reconstructing] [ARG1: dormitories] will not be approved by cavanaugh}

2. 编码模块 

主要分别将自然语言文本和语义角色标签序列向量化:

1)文本序列: 原始文本序列 X 首先被 BERT 的子词切分器切分为子词。然后输入到 Transformer,得到具有上下文的文本向量表示。

2)标签序列: 对于与谓词数量相对应的 m 个标签序列  ,每个序列  长度等于原始句子 X 的长度 n。将标签向量输入到 BiGRU 层以获得以上 m 个标签序列在向量空间的表示,然后我们将 m 个标签序列拼接起来,并将它们输入到全连接层,获得多个标签序列的融合表示。

3. 语义集成模块  

该集成模块融合了文本序列表示和标签表示。由于原始的预训练 BERT 基于子词序列(Subword-level),而我们引入的语义标签基于词级别(word-level),因此我们在融合前需要将词语标签对齐。我们将每个词语的子词分组,并使用卷积神经网络(CNN)提取每个词语所对应的的子词特征,从而获得全局词级别的表示。 

我们以一个词为例:假设词语 由一系列子词  组成,其中 l 是词语的子词数量。经过 BERT 编码后,将子词 的向量表示为 ,将其输入到卷积神经网络 Conv1D 后通过 ReLU 激活和最大池化得到词级别的表示。

然后将词级别对齐的文本序列向量和提取的标签序列向量融合得到语义增强的语言表示。

实验结果

我们的模型在 10 个基准数据集中进行了评估,这些数据集涉及自然语言推理,机器阅读理解,语义相似性和文本分类等多种任务。

▲  GLUE实验结果

▲  SQuAD实验结果

▲  SNLI实验结果

结果分析

GLUE 上的实验显示了 SemBERT 在所有任务上均有效增强 BERT,并且获得了领先的结果。SemBERT 模型简单且有效,通过极少的参数增长,取得了与更复杂的模型相接近,甚至超越了多任务学习模型的性能。对于 SQuAD,SemBERT 在 EM 和 F1 指标上均优于 BERT 基准模型,超越了所有已发表的工作,并取得了与排行榜中的一些未发表的、更复杂模型可比的性能。而在 SNLI 数据集上的实验显示 SemBERT 达到了该数据集上的最佳性能,甚至超过所有 Ensemble 模型(SNLI 排行榜: https://nlp.stanford.edu/projects/snli/ )。 

本工作揭示了显性语义信息在自然语言理解上的有效性,这表明显式上下文语义可以与最新的预训练语言表示有效地集成融合,从而进一步提高性能。除了这项工作中验证的各种任务之外,SemBERT 还可以轻松地适应其他语言。

SRL 是 NLP 的一项基本任务,CoNLL 2009 提供了 7 个 SRL 树库,因此可以方便地训练主要语言的标签。对于那些没有可用的树库的场景,可以有效地应用无监督的 SRL 方法。对于跨领域问题,我们所研究的数据集(GLUE 和 SQuAD)涵盖了非常不同的领域,并且实验表明我们的方法仍然有效。

点击以下标题查看更多期内容:

# 投 稿 通 道 #

让你的论文被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢? 答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是 最新论文解读 ,也可以是 学习心得技术干货 。我们的目的只有一个,让知识真正流动起来。

:memo:  来稿标准:

• 稿件确系个人 原创作品 ,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

:mailbox_with_mail: 投稿邮箱:

• 投稿邮箱: hr@paperweekly.site  

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

:mag:

现在,在 「知乎」 也能找到我们了

进入知乎首页搜索 「PaperWeekly」

点击 「关注」 订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击 「交流群」 ,小助手将把你带入 PaperWeekly 的交流群里。

▽ 点击 |  阅读原文   | 下载论文 & 源码

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章