NLP 高引论文解读两篇 | BERT模型、SQuAD数据集
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
作者:
Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova
论文出处:
Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies
论文链接:
https://www.aclweb.org/anthology/N19-1423/
研究问题
文章介绍一种新的语言表示模型BERT(Bidirectional Encoder Representations from Transformers),通过联合上下文信息从未标记文本中预训练深层双向表示形式,只需一个额外的输出层,就可以对预训练模型进行调整,在不需要对特定任务的体系结构进行大量修改的前提下,在多种语言相关任务上获得。
研究方法
模型包含预训练和微调两个步骤:在预训练阶段,对不同训练任务的未标记数据进行训练。在微调阶段,首先用预训练参数初始化BERT模型,然后,使用来自下游任务的标记数据对预训练的参数进行微调。
BERT是一个多层的双向Transformer模型Vaswani et al. (2017),输入包括三个部分,分别为词向量、单词所属句子向量和单词的位置向量,形象的表示如下图所示,其中[CLS]和[SEP]是放在每个输入最前和用户分隔句子的特殊符号。
文章提出两种无监督任务来预训练BERT,分别是屏蔽语言模型(Masked Language Model, MLM)和下句预测模型(Next Sentence Prediction, NSP):MLM通过屏蔽一句话中部分词然后让模型来预测屏蔽词来训练模型。在实验设置中,大约15%的词被随机屏蔽。但是这样的训练方法也有缺陷,屏蔽词相当于从数据集中抹去,且可能预训练阶段与微调阶段不一致。因此,对于屏蔽词有如下三种处理方式:80%用[MASK]替换,10%用随机的词语替换,另外10%不做改变。NSP任务是为了增强模型对句子间关系的理解能力,训练时选择的句对A、B中,B有50%的概率真的是A的下一句,50%的概率不是A的下一句。预训练语料使用BooksCorpus和英语维基百科的文本段落。
模型微调测试了11个自然语言处理任务上的效果,包括General Language Understanding Evaluation(GLUE)基准测试集中的8项评测、SQuAD 1.1和SQuAD 2.0两个阅读理解数据集和Situations With Adversarial Generations (SWAG)数据集。BERT均稳定优于基线方法,下表展示了GLUE上的对比结果。
研究结论
文章提出的BERT模型在11项自然语言处理任务上取得了最先进的效果。由语言模型转移学习带来的模型效果改进表明,丰富的、无监督的预训练是许多语言理解系统的组成部分。特别地,即使是资源匮乏的任务也可以从深层的单向架构中获益。文章主要贡献是进一步将这些发现推广到深层的双向架构,允许相同的预训练模型成功地应用于广泛的NLP任务。
Know What You Don’t Know: Unanswerable Questions for SQuAD
作者:
Pranav Rajpurkar, Robin Jia, Percy Liang
论文出处:
Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics.
文章链接:
https://www.aclweb.org/anthology/P18-2124.pdf
研究问题
阅读理解系统(模型)通常可以在上下文文档中找到问题的正确答案,但对于没有在上下文中说明正确答案的问题,它们给出的答案也不那么可靠。现有的数据集要么只关注可回答的问题,要么使用容易识别的自动生成的不可回答的问题作为数据集。为了弥补这些不足,文章介绍了斯坦福问答数据集(SQuAD)的最新版本——SQuAD 2.0,它整合了现有的SQuAD中可回答的问题和50000多个由大众工作者编写的难以回答的问题,其中那些难以回答的问题与可回答的问题题目设置相似。为了在SQuAD 2.0中表现的更好,系统不仅要在可能的情况下回答问题,还要确定什么时候段落的上下文不支持回答,并且避免回答问题。SQuAD 2.0数据集是自然语言理解任务中对现有模型的一个挑战。
研究内容
数据集:在Daemo平台上雇佣了众包工作人员来编写无法回答的问题。每个任务由来自SQuAD 1.1的一整篇文章组成。对于文章中的每个段落,工作人员最多可提出5个仅凭段落是无法回答的问题,同时还要参考段落中出现的实体并给出一个合理的答案。同时给工作人员展示SQuAD 1.1中的问题作为参考,尽量使难以回答的那些问题与可回答的问题相似。
文章评估了三种现有的模型架构在两个数据集上的表现,让这些模型不仅去学习答案的分布,而且也去预测一个问题是不可回答问题的概率。当模型预测某个问题无法回答的概率超过某个阈值时,模型就放弃学习答案分布。下表展示了三个模型在两个数据集(SQuAD 1.1和SQuAD 2.0)上的表现,结果显示:
表现最好的模型(DocQA + ELMo)在SQuAD 2.0上与人类仍有23.2的差距,意味着模型有很大的改进空间;
在两个数据集上运用相同模型架构,相比于SQuAD1.1,最优模型和人的F1值差距在SQuAD 2.0上更大,说明对现有模型来说 SQuAD 2.0是一个更难学习的数据。
为了证明SQuAD 2.0中难以回答问题是的难度,文章在SQuAD 1.1数据集上利用TFIDF和规则随机生成了一些难以回答的问题,仍采用相同的模型进行对比。结果显示(如下表)最好的模型还是在SQuAD 2.0数据集上表现最低,再次证明了SQuAD 2.0对现有的语言理解模型来说是一个有难度的挑战。
研究结果
文章证明了SQuAD 2.0是一个具有挑战性的、多样化的、大规模的数据集,它迫使模型去学习什么情况下一个问题在给定的环境中是无法回答的。我们有理由相信,SQuAD 2.0将会促进新的阅读理解模型的发展,这些模型能够知道他们不知道的东西是什么,从而能在更深层次上理解语言文字。