paper:https:arxiv.orgpdf1904.09223.pdfcode:https:github.comPaddlePaddleLARKtreedevelopERNI
paper:https://arxiv.org/pdf/1904.09223.pdf
code:https://github.com/PaddlePaddle/LARK/tree/develop/ERNIE
文前总结
ERNIE相比于BERT,做出了如下改进:
1.mask策略。BERT只使用了字级别的随机masking,但是ERNIE使用了字、实体、短语三个级别的masking,旨在使模型学习到更多高级的语义。
2.中文异构数据预训练。对异构无监督数据进行预训练的语义编码器可以提高迁移学习性能。百度构建了混合语料库——中文Wikepedia,百度百科,百度新闻和百度贴吧。
3.对话语言模型。DLM任务可帮助ERNIE学习对话中的隐式关系,这也增强了模型学习语义表示的能力。
0.摘要
我们提出了一种新的语言表示模型,该模型称为ERNIE(通过知识集成的增强表示)。 受到BERT掩盖策略的启发(Devlin等人,2018),ERNIE被设计为学习通过知识掩盖策略增强的语言表示,其中包括实体级掩盖和短语级掩盖。 实体级策略可掩盖通常由多个单词组成的实体。 短语级策略掩盖了整个短语,该短语由几个词组成,作为一个概念单元。 实验结果表明,ERNIE优于其他基准方法,在五个自然语言处理任务(包括自然语言推理,语义相似性,命名实体识别,情感分析和问题解答)上取得了最新的最新成果。 我们还证明ERNIE在完形填空测试中具有更强大的知识推理能力。
1.简介
事实证明,语言表示预训练可以有效地改善许多自然语言处理任务,例如命名实体识别,情感分析和问题解答。 为了获得可靠的单词表示,设计了神经语言模型来学习单词共现,然后在无监督学习的情况下获得单词嵌入。 Word2Vec和Glove中的方法将单词表示为矢量,其中相似的单词具有相似的单词表示形式。 这些单词表示为其他深度学习模型中的单词向量提供了初始化。 最近,Cove,Elmo,GPT和BERT等许多作品通过不同的策略改进了单词表示,这已被证明对于下游自然语言处理任务更为有效。
这些研究中的绝大多数通过仅通过上下文来预测丢失的单词来对表示进行建模。 这些作品没有考虑句子中的先验知识。 例如,在“哈利·波特是由J·罗琳撰写的一系列幻想小说”一句中。 哈利·波特(Harry Potter)是一个新颖的名字,而罗琳(J. K. Rowling)是作家。 该模型很容易通过实体内的单词搭配来预测实体Harry Potter的缺失单词,而无需借助较长的上下文。 该模型无法根据哈利·波特与J·K·罗琳之间的关系预测哈利·波特。 直观的是,如果模型学习了有关先验知识的更多信息,则该模型可以获得更可靠的语言表示。
在本文中,我们提出了一种使用知识掩盖策略的名为ERNIE(通过知识集成的增强表示)的模型。 除了基本的掩蔽策略外,我们还使用两种知识策略:短语级策略和实体级策略。 我们将一个短语或一个实体作为一个单元,通常由多个单词组成。 在单词表示训练期间,同一单元中的所有单词都被屏蔽,而不是仅一个单词或字符被屏蔽。以这种方式,在训练过程中隐式地学习了短语和实体的先验知识。ERNIE没有直接添加知识嵌入的知识,而是隐式地学习了有关知识和较长语义依赖性的信息,例如实体之间的关系,实体的属性和事件的类型,以指导单词嵌入学习。 这可以使模型具有更好的概括性和适应性。
为了减少模型的训练成本,对ERNIE进行了异类中文数据的预训练,然后将其应用于5个中文NLP任务。 ERNIE在所有这些任务上都提供了最新的成果。 完形填空测试的另一个实验表明,与其他强大的基线方法相比,ERNIE具有更好的知识推理能力。
我们的贡献如下:
(1)我们引入了一种新的语言模型学习处理方法,该方法掩盖了诸如短语和实体之类的单元,以便从这些单元隐式地学习语法和语义信息。
(2)ERNIE在各种中文自然语言处理任务上明显优于以前的最新方法。
(3)我们发布了ERNIE和预训练模型的代码。
2 相关工作
2.1 上下文无关的表示
将单词表示为连续向量已有很长的历史。 (Bengio et al,2003)提出了一种非常流行的用于估计神经网络语言模型(NNLM)的模型架构,其中使用具有线性投影层和非线性隐藏层的前馈神经网络来学习词向量表示。
通过使用大量未标记的数据来预训练语言模型,学习通用的语言表示的方法是有效的。 传统方法着重于上下文无关的词嵌入。 诸如Word2Vec(Mikolov等,2013)和Glove(Pennington等,2014)之类的方法将大量文本集作为输入,并产生通常在几百个维度上的词向量。 它们为词汇表中的每个单词生成单个单词嵌入表示。
2.2 情境感知表示
但是,单词在上下文中可能具有完全不同的意义或含义。 Skip-thought(Kiros et al,2015)提出了一种通用的分布式句子编码器的无监督学习方法。 Cove(McCann et al,2017)表明,与在各种常见的NLP任务上仅使用无监督的单词和字符向量相比,添加这些上下文向量可以提高性能。 ULMFit(Howard and Ruder,2018)提出了一种有效的转移学习方法,该方法可以应用于NLP中的任何任务。 ELMo(Peters等人,2018)从不同维度概括了传统单词嵌入研究。 他们建议从语言模型中提取上下文相关的功能。 GPT(Radford等人,2018)通过修改Transformer增强了上下文相关的嵌入。
BERT(Devlin等人,2018)使用两种不同的预训练任务进行语言建模。 BERT随机掩盖句子中一定比例的单词,并学习预测那些被掩盖的单词。 此外,BERT学习预测两个句子是否相邻。 该任务试图对传统语言模型无法捕获的两个句子之间的关系进行建模。 因此,这种特殊的预训练方案可以帮助BERT在各种关键的NLP数据集(例如GLUE(Wang等人,2018)和SQUAD(Rajpurkar等人,2016)等)上大大超越最新技术。
其他一些研究人员尝试根据这些模型添加更多信息。 MT-DNN(Liu等人,2019)结合了预训练学习和多任务学习,以提高GLUE中多个不同任务的绩效(Wang等人,2018)。 GPT-2(Radford等人,2019)将任务信息添加到了预训练过程中,并使他们的模型适应零样本任务。 XLM(Lample and Conneau,2019)在预训练过程中增加了语言嵌入功能,从而在跨语言任务中取得了更好的结果。
2.3 异构数据
对异构无监督数据进行预训练的语义编码器可以提高迁移学习性能。通用句子编码器(Cer等人,2018)采用了来自Wikipedia,网络新闻,Web质量检查页面和讨论论坛的异构训练数据。 基于响应预测的句子编码器(Yang等,2018)受益于从Reddit对话中提取的查询-响应对数据。 XLM(Lample和Conneau,2019年)向BERT引入了并行语料库,它与掩盖语言模型任务一起接受了训练。通过对异构数据进行预训练的Transformer模型,XLM在监督/非监督MT任务和分类任务上显示出巨大的性能提升。
3. 方法论
在本节中,我们将介绍ERNIE及其详细实现。 我们首先描述模型的Tran编码器,然后在3.2节中介绍知识集成方法。 BERT和ERNIE的比较如图1所示。
区别就是BERT是字输入字掩码,ERNIE是字输入词掩码,而这个识别词的过程就是加入知识整合的点。
3.1 Transformer编码器
ERNIE使用多层Transformer (Vaswani et al,2017)作为基本编码器,类似于之前的预训练模型,例如GPT,BERT和XLM。 Transformer 可以通过自我关注来捕获句子中每个标记的上下文信息,并生成一系列上下文嵌入。
对于中文语料库,我们在CJK Unicode范围内的每个字符周围添加空格,并使用WordPiece(Wu等人,2016)对中文句子进行标记化。 对于给定的令牌,其输入表示形式是通过将相应的令牌,段和位置嵌入相加来构造的。 每个序列的第一个标记是特殊分类嵌入([CLS])。
3.2 知识整合
我们使用先验知识来增强我们的预训练语言模型。 我们提出了一种多阶段的知识掩盖策略,而不是直接添加知识嵌入,而是将短语和实体级知识集成到语言表示中。 句子的不同掩蔽级别在图2中进行了描述。
3.2.1基本级别掩码
第一个学习阶段是使用基本级别掩盖,它将句子作为基本语言单位的序列,对于英语,基本语言单位是单词,对于中文,基本语言单位是汉字。 在训练过程中,我们随机掩盖15%的基本语言单元,并使用句子中的其他基本单元作为输入,并训练一个Transformer来预测掩盖单元。 和BERT一样的操作,基于基本级别的掩码,学习低级语义。
3.2.2 短语级别掩码
第二阶段是采用短语级别的屏蔽。 词组是一小部分单词或字符,一起充当概念单元。 对于英语,我们使用词法分析和分块工具来获取句子中短语的边界,并使用一些依赖于语言的分段工具来获取其他语言(例如中文)的词/短语信息。 在短语级掩码阶段,我们还使用基本语言单元作为训练输入,这与随机基本单元掩码不同,这次我们随机选择句子中的几个短语,掩盖并预测同一短语中的所有基本单元。 在此阶段,短语信息被编码到单词嵌入中。
3.2.3实体级别掩码
第三阶段是实体级屏蔽。 名称实体包含人员,位置,组织,产品等,可以用专有名称表示。 它可以是抽象的,也可以是物理存在的。 通常,实体在句子中包含重要信息。 与短语屏蔽阶段一样,我们首先分析句子中的命名实体,然后屏蔽并预测实体中的所有时隙。 经过三个阶段的学习,获得了通过更丰富的语义信息增强的单词表示。
4 实验
ERNIE was chosen to have the same model size as BERT-base for comparison purposes. ERNIE uses 12 encoder layers, 768 hidden units and 12 attention heads.
4.1异构语料库预训练
ERNIE采用异构语料库进行预训练。我们构建了混合语料库——中国Wikepedia,百度百科,百度新闻和百度贴吧。 句子数分别是21M,51M,47M,54M。 百度百科包含用正式语言编写的百科全书文章,这些文章被用作语言建模的强大基础。 百度新闻提供有关电影名称,演员名称,足球队名称等的最新信息。百度贴吧是一个类似Reddits的开放讨论论坛,每个帖子都可以视为对话话题。 在我们的DLM任务中使用Tieba语料库,这将在下一部分中讨论。
我们对汉字执行从传统到简体的转换,对英文字母执行大写到小写的转换。 我们为模型使用了17,964个unicode字符的共享词汇表。
4.2 对话语言模型
对话数据对于语义表示很重要,因为相同答复的相应查询语义通常很相似。 ERNIE在DLM(对话语言模型)任务上对查询-响应对话结构进行建模。如图3所示,我们的方法引入了对话嵌入(dialogue embedding)来识别对话中的角色,这与通用句子编码器的方法不同(Cer等人,2018)。 ERNIE的“对话”嵌入功能与BERT中的令牌类型嵌入功能相同,不同之处在于ERNIE还可以表示多回合对话(例如QRQ,QRR,QQR,其中Q和R分别代表“查询”和“响应”)。像BERT中的MLM一样,使用掩码来强制使模型预测以查询和响应为条件的缺失词。而且,我们通过用随机选择的句子替换查询或响应来生成假样本。该模型旨在判断多回合对话是真实的还是假的。
DLM任务可帮助ERNIE学习对话中的隐式关系,这也增强了模型学习语义表示的能力。DLM任务的模型体系结构与MLM任务的模型体系结构兼容,因此可以通过MLM任务对其进行预训练。
4.3 中文NLP的实验项目
ERNIE被应用于5个中文NLP任务,包括自然语言推理,语义相似性,命名实体识别,情感分析和问答对。
4.3.1 自然语言推理
跨语言自然语言推理(XNLI)语料库(Liu等人,2019)是MultiNLI语料库的众包集合。 两对文字加上文字说明,并被翻译成包括中文在内的14种语言。 标签包含矛盾,中立和包含。 我们遵循BERT中的中文实验(Devlin等,2018)。
4.3.2 语义相似度
大规模中文问题匹配语料库(LCQMC)(Liu等人,2018)旨在识别两个句子是否具有相同的意图。 数据集中的每一对句子都与一个二进制标签相关联,该二进制标签指示两个句子是否共享相同的意图,并且可以将该任务形式化为预测二进制标签。
4.3.3 命名实体识别
MSRA-NER数据集用于命名实体识别,由Microsoft Research Asia发布。 实体包含几种类型,包括人员姓名,地名,组织名称等。 该任务可以看作是序列标记任务。
4.3.4 情感分析
ChnSentiCorp(Song-bo)是一个数据集,旨在判断句子的情感。 它包括酒店,书籍和电子计算机等多个领域的评论。 该任务的目的是判断句子是肯定的还是否定的。
4.3.5 检索问题回答
NLPCC-DBQA数据集(http://tcci.ccf.org.cn/conference/2016/dldoc/evagline2.pdf)的目标是选择相应问题的答案。 该数据集的评估方法包括MRR(Voorhees,2001)和F1得分。
4.4 实验结果
4.5 消融研究
为了更好地了解ERNIE,我们将在本节中对ERNIE的每种策略进行消融实验。
4.5.1 知识屏蔽策略的效果
我们从整个语料库中抽取10%的训练数据,以验证知识掩盖策略的有效性。 结果显示在表2中。我们可以看到,将短语级掩码添加到基线单词级掩码可以改善模型的性能。 在此基础上,我们添加了实体级屏蔽策略,从而进一步提高了模型的性能。 此外。 结果还显示,使用预训练数据集的大小大10倍,XNLI测试集可实现0.8%的性能提升。
4.5.2 DLM的效果
我们也对DLM任务进行了消融研究。 我们使用不同比例的所有训练语料库的10%来说明DLM任务对XNLI开发集的贡献。 我们对这些数据集从头开始对ERNIE进行了预训练,并从5次随机重新启动微调中报告了XNLI任务的平均结果。 表3给出了详细的实验设置和开发设置结果,我们可以看到,在此DLM任务中,开发/测试精度提高了0.7%/ 1.0%。
4.6 完形填空
我们比较了BERT和ERNIE的预测。
在情况1中,BERT尝试复制出现在上下文中的名称,而ERNIE则记住了文章中提到的有关关系的知识。
在情况2和情况5中,BERT可以根据上下文成功学习模式,因此可以正确预测命名的实体类型,但是无法使用正确的实体填充插槽。相反,ERNIE可以使用正确的实体填充插槽。
在情况3、4、6中,BERT用与句子相关的几个字符填充了空位,但是很难预测语义概念。 ERNIE可以预测除情况4之外的正确实体。尽管ERNIE在情况4中预测了错误的实体,但它可以正确地预测语义类型,并用一个澳大利亚城市填充该位置。
总之,这些案例表明ERNIE在基于上下文的知识推理中表现更好。
5 总结
在本文中,我们提出了一种将知识整合到预训练语言模型中的新方法。 对5种中文处理任务的实验表明,在所有这些任务上,我们的方法均优于BERT。 我们还确认,知识整合和对异构数据的预训练都使模型能够获得更好的语言表示。 将来,我们会将其他类型的知识集成到语义表示模型中,例如使用语法分析或来自其他任务的弱监督信号。 此外,我们还将以其他语言验证该想法。