城阳网站建设哪里有,新鸿儒网站,WordPress插件引入,公司网站优化要怎么做文章目录 写在正文之前ERNIE论文框架梳理摘要1.简介2.相关工作2.1上下文无关表示2.2上下文感知表示2.3 异构数据 3.方法3.1 transformer编码器3.2 知识整合3.2.1 基本级别的掩码3.2.2 短语级别的掩码3.2.3 实体级别的掩码 4 实验4.1 异构语料库的预训练4.2 对话语言模型4.3 ERN… 文章目录 写在正文之前ERNIE论文框架梳理摘要1.简介2.相关工作2.1上下文无关表示2.2上下文感知表示2.3 异构数据 3.方法3.1 transformer编码器3.2 知识整合3.2.1 基本级别的掩码3.2.2 短语级别的掩码3.2.3 实体级别的掩码 4 实验4.1 异构语料库的预训练4.2 对话语言模型4.3 ERNIE在中文自然语言处理任务中的实验4.3.1 自然语言推理4.3.2 语义相似性4.3.3 命名实时识别4.3.4 情感分析4.3.5 检索问答 4.4 实验结果4.5 消融研究4.5.1 知识掩码策略的效果4.5.2 对话语言模型的效果4.6 完形填空 5.结论 写在正文之前
该系列文章旨在梳理Bert之后一些经典的NLP模型。
系列一BERT之后NLP主要预训练模型演变梳理 ERNIE论文框架梳理 摘要
我们提出了一种新的知识增强语言表征模型称为ERNIEEnhanced Representation through Knowledge Integration主要是通过对知识进行整合达到增强表达的目的。受BERTDevlin等人2018的掩码策略启发ERNIE旨在学习由知识掩码策略增强的语言表征其中包括实体级掩码和短语级掩码。实体级策略要求通常由多个单词组成的实体。短语级策略将由多个单词组成的整个短语作为一个概念单元进行屏蔽。最新实验结果表明在五个自然语言处理任务包括自然语言推理语义相似性命名实体识别情感分析和检索问答上ERNIE优于其他基准方法。我们还证明了ERNIE在完形填空测试中具有更强大的知识推理能力。
1.简介
事实证明语言表征预训练Mikolovet等人2013年Devlin等人2018年对于改善许多自然语言处理任务如命名实体识别、情感分析和问答是有效的。其为了获得可靠的单词表示设计了神经语言模型学习单词共现然后通过无监督学习获得单词嵌入。Word2VecMikolov等人2013和GlovePenningtonet等人2014中的方法将单词表示为向量其中相似的单词具有相似的单词表示。这些单词表示为其他深度学习模型中的单词向量提供了初始化。最近CoveMc Cann et al.2017、ElmoPeters et al.2018、GPTRadford et al.2018和BERTDevlin et al.2018等许多工作通过不同的策略改进了单词表示这项研究已经被证明对下游自然语言处理任务更有效。
这些研究中的绝大多数只是通过上下文预测缺失的单词然后进行建模。这些作品没有考虑句子中的先验知识。例如在”Harry Potter is a series of fantasy novels written by J. K. Rowling”这句话中“Harry Potter”是一个名字和“J. K. Rowling”是作家。该模型不需要长上下文的帮助而只要通过单词搭配就可以很容易地预测实体中的遗漏单词Harry Potter。但是现存的模型无法根据Harry Potter与J. K. Rowling之间的关系预测Harry Potter。 很显然如果模型学习了有关先验知识的更多信息则该模型可以获得更可靠的语言表示。
本文提出了一种基于知识掩码策略的ERNIEenhanced representation by knowledge Integration模型除基本掩码策略外还采用了两种知识策略短语级策略和实体级策略。我们把一个短语或一个实体作为一个单位通常由几个词组成。在单词表征训练中同一单元中的所有单词都被屏蔽而不是只屏蔽一个单词或字符。这样在训练过程中短语和实体的先验知识被隐式学习。ERNIE没有直接添加知识嵌入而是有效地学习了有关知识和较长语义依赖的信息如实体之间的关系、实体的属性和事件的类型以指导单词学习。这可以使模型具有更好的泛化性和适应性。
为了降低模型的训练成本ERNIE对异构中文进行了预训练然后将其应用于5个中文NLP任务。ERNIE对所有这些任务的最新结果进行了改进。在完形填空测试上实验表明与其他强基线方法相比ERNIE具有更好的知识边缘推理能力。
ERNIE的主要的贡献如下
1我们引入了一种新的语言学习处理模型该模型弱化了语言单位如符号和实体以便隐式地从这些单位学习句法和语义信息。
2ERNIE在各种汉语自然语言处理任务上的表现明显优于先前的最新方法。
3我们发布了ERNIE和预训练模型的代码这些代码都可以在如下链接中找到https://github.com/PaddlePaddle/ERNIE/tree/develop/ernie.
2.相关工作
2.1上下文无关表示
词作为连续向量的表示有着悠久的历史。Bengio等人2003年提出了一种非常流行的用于估计神经网络语言模型NNLM的结构其中主要包括一个具有线性投影层和非线性隐层的前馈神经网络用于学习单词向量表示。
通过使用大量未标记数据预训练语言模型然后学习通用语言表示是有效的。传统方法侧重于上下文无关的词语嵌入。例如Word2VecMikolovet等人2013年和GlovePennington等人2014年等方法将大量文本作为输入并生成几百维的词向量。它们为词汇表中的每个单词生成一个单词嵌入表示。
2.2上下文感知表示
我们知道一个词在上下文中可能有完全不同的含义。Skip-thoughtKiros et al2015提出了一种通用的分布式句子编码器的无监督学习方法。CoveMcCann et al.2017表明和在各种常见NLP任务中仅使用无监督的单词和字符向量相比添加这些上下文向量可以提高性能。ULMFitHoward and Ruder2018提出了一种有效的迁移学习方法可应用于NLP中的任何任务。ELMoPeters et al.2018从不同的维度概括了传统的词语嵌入研究。他们建议从语言模型中提取上下文敏感特征。GPTRadford et al.2018通过调整Transformer增强了上下文敏感嵌入。
BERTDevlin et al.2018使用两种不同的跟踪任务进行语言建模。Bert随机地在句子中隐藏一定比例的单词并学习预测那些隐藏的单词。此外BERT还学习预测两个句子是否相邻。这项任务试图模拟传统语言模型无法捕捉到两个句子之间的关系。因此这种特殊的预训练方法有助于BERT在各种关键NLP数据集如GLUEWang et al.2018和SQUADRajpurkar et al.2016等上远超过其他技术。
其他一些研究人员试图根据这些模型添加更多信息。MT-DNNLiu等人2019年将预训练学习和多任务学习相结合以提高GLUE中多个不同任务的表现Wang等人2018年。GPT-2Radford et al.2019将任务信息添加到预训练过程中并使其模型适应零样本任务。XLMLample and Conneau2019将语言嵌入到预训练过程中在跨语言任务中取得了更好的效果。
2.3 异构数据
在非监督的异构数据上预训练语义编码器可以提高迁移学习性能。我们Ceret al.2018采用了来自维基百科、网络新闻、网络QA页面和论坛的异构数据对句子编码。句子编码器Yanget al.2018基于从Reddit对话中提取的查询-响应对数据的响应预测。XLMLample和Conneau2019将平行语料库引入了BERT该语料库与掩码语言模型任务联合训练。通过transformer对异构数据进行预训练XLM在无监督机器翻译任务和分类任务中表现出了优异的性能。
3.方法
本节介绍ERNIE及其详细实现。我们首先描述了模型的transformer编码器然后在第3.2节介绍了知识集成方法。BERT和ERNIE之间的比较如图1所示. 3.1 transformer编码器
ERNIE使用多层Transformer Vaswani et al2017作为基本编码器类似于之前的预训练模型例如GPTBERT和XLM。 Transformer 可以通过自注意力机制来捕获句子中每个标记的上下文信息并生成一系列上下文embedding。
对于中文语料库我们在CJK Unicode范围内的每个字符周围添加空格并使用WordPieceWu等人2016标记中文句子。对于给定的token其输入表示是通过对相应的token、部分和位置进行求和构造的。每个序列的第一个标记是特殊分类嵌入[CLS]。
3.2 知识整合
我们使用先验知识来增强预训练语言模型。我们没有直接添加知识嵌入而是提出了一种多阶段知识掩码策略将短语和实体集成到语言表示中。句子中不同的掩码级别如图2所示。 3.2.1 基本级别的掩码
第一个学习阶段是使用基本的掩码它将一个句子视为一系列基本的语言单元对于英语基本的语言单元是单词对于汉语基本的语言单元是汉字。在训练过程中我们随机屏蔽15%的基本语言单元并使用句子中的其他基本单元作为输入并训练一个转换器来预测被屏蔽的单元。基于基本层掩码我们可以得到基本的单词表示。因为它是在基本语义单元随机掩码的基础上训练的所以高层语义的知识表示很难完全建模。
3.2.2 短语级别的掩码
第二阶段是使用短语级掩码。短语是作为概念单位的一小群单词或字符。对于英语我们使用词汇分析和组块工具来获取句子中短语的边界并使用一些依赖于语言的切分工具来获取其他语言如汉语中的单词/短语信息。在短语级掩码阶段我们还使用基本语言单元作为训练输入不像随机基本单元掩码那样这次我们在句子中多选几个短语掩码并预测同一短语中的所有基本单元。在这个阶段短语信息被编码到单词嵌入中。
3.2.3 实体级别的掩码
第三阶段是实体级掩码。我们把一些专有名词如地点、人名、组织、产品等抽象为实体进行屏蔽。实体通常包含句子中的重要信息。在短语屏蔽阶段我们首先分析一个句子中的命名实体然后屏蔽和预测实体中所有的空缺。
经过这三个阶段的学习我们可以获得语义信息丰富的表达。
4 实验
为了进行更好的比较ERNIE选取的模型和BERT-base模型相同也具有12个编码器层、768个隐藏单元和12个注意力头。
4.1 异构语料库的预训练
ERNIE采用异构语料库进行预训练。我们构建了混合语料库包含中文维基百科、百度百科、百度新闻和百度贴吧。句子的数量分别为2100万、5100万、4700万、5400万。百度百科包含以正式语言编写的百科全书文章这是语言建模的有力基础。百度新闻提供有关电影名称、演员姓名、足球队名称等的最新信息。百度贴吧是一个类似Reddits的开放式论坛每个帖子都可以被视为一个对话话题。在我们的DLM任务中我们使用了Tieba语料库我们将在后面讨论这部分内容。
我们对汉字进行繁体到简体的转换对英文字母进行大小写转换。为模型使用了17,964个unicode字符的共享词汇表。
4.2 对话语言模型
对话数据对于语义表示很重要因为相同回复的相应查询语义通常相似。ERNIE在DLM对话语言模型任务上对查询-响应对话结构进行建模。如图3所示我们的方法引入了对话嵌入dialogue embedding来识别对话中的角色这与通用句子编码器的方法不同Cer等人2018。 ERNIE的“对话”嵌入功能与BERT中的token类型嵌入功能相同不同之处在于ERNIE还可以表示多回合对话例如QRQQRRQQR其中Q和R分别代表“查询”和“响应”。像BERT中的MLM一样使用掩码来强制使模型预测以查询和响应为条件的缺失词。而且我们通过用随机选择的句子替换查询或响应来生成假样本。该模型旨在判断多回合对话是真实的还是假的。 DLM任务帮助ERNIE学习对话中的隐式关系这也增强了模型学习的语义表示能力。DLM任务的模型体系结构与MLM任务的模型体系结构兼容因此它是与MLM任务交替训练的。
4.3 ERNIE在中文自然语言处理任务中的实验
ERNIE被用于在自然语言推理、语义相似性判断、命名实体识别、情感分析和问答等5项中文NLP任务上进行实验。
4.3.1 自然语言推理
跨语言自然语言推理XNLI语料库Liu等人2019年是MultiNLI语料库的众包集合。这些标签用文本蕴涵进行注释并翻译成包括中文在内的14种语言。标签包含矛盾、中性和修饰。我们遵循BERT中的中文实验Devlin等人2018年。
4.3.2 语义相似性
大规模中文问题匹配语料库LCQMCLiu等人2018旨在识别两个句子是否具有相同的意图。 数据集中的每一对句子都与一个二进制标签相关联该二进制标签指示两个句子是否共享相同的意图并且可以将该任务形式化为预测二进制标签。
4.3.3 命名实时识别
MSRA-NER数据集是为姓名识别而设计的该数据集由Microsoft Research Asia发布。实体包含七种类型包括人名、地名或组织名称等。此任务可视为序列标记任务。
4.3.4 情感分析
CHNSTINCorpSong bo是一个旨在判断句子情感的数据集。它包含了一些领域的评论如酒店、书籍和电子计算机。这项任务的目的是判断句子是积极的还是消极的。
4.3.5 检索问答
NLPCC-DBQA数据集的目标(http://tcci.ccf.org.cn/conference/2016/dldoc/evagline2.pdf)选择相应问题的答案。该数据集的评估方法包括MRRVoorhees2001和F1分数。
4.4 实验结果
表1给出了5个中文NLP任务的测试结果。可以看出ERNIE在所有任务上的表现都超过了BERT在这些NLP任务上创造了最先进的结果。对于XNLI、MSRA-NER、CHNSTINCorp和nlpcc-dbqanlpcc基于知识库的问答dbqa基于文档的问答任务ERNIE比BERT获得超过1%的绝对精度改进。ERNIE的成功归因于其知识整合策略。 4.5 消融研究
为了更好地了解ERNIE我们将在本节中对ERNIE的每种策略进行消融实验。
4.5.1 知识掩码策略的效果
我们从整个语料库中抽取10%的训练数据以验证知识掩码策略的有效性。结果见表2。我们可以看到将短语级掩码添加到基线单词级掩码可以提高模型的性能。在此基础上增加了实体级掩码策略进一步提高了模型的性能。此外结果还表明当预训练数据集的大小增加10倍时XNLI测试集的性能提高了0.8%。 4.5.2 对话语言模型的效果
我们还对DLM对话语言模型任务进行了消融研究。我们使用10%的具有不同比例的训练语料来说明DLM测试对XNLI开发集的贡献。然后对这些数据集从头开始用ERNIE进行预训练并对5次随机的微调结果取平均值。详细的实验设置和开发集结果如表3所示我们可以看到在这个DLM任务中开发/测试精度提高了0.7%/1.0%。 4.6 完形填空
为了验证ERNIE的知识学习能力我们使用了几个完形填空测试样本Taylor1953来检验模型。在实验中我们把命名实体从段落中删除模型需要推断它是什么。有些情况如图4所示。我们比较了bert和ERNIE的预测。 在情况1中BERT尝试复制出现在上下文中的名称而ERNIE则记住了文章中提到的有关关系的知识。在情况2和情况5中BERT可以根据上下文成功学习表现模式因此可以正确预测命名的实体类型但是无法使用正确的实体填充插槽。相反ERNIE可以使用正确的实体填充插槽。在情况3、4、6中BERT用与句子相关的几个字符填充了空位但是很难预测语义概念。 ERNIE可以预测除情况4之外的正确实体。尽管ERNIE在情况4中预测了错误的实体但它可以正确地预测语义类型并用一个澳大利亚城市填充该位置。总之这些案例表明ERNIE在基于上下文的知识推理中表现更好。
5.结论
本文提出了一种将知识整合到预训练语言模型中的新方法。在5个中文处理任务上的实验表明该方法在所有这些任务上都优于Bert。我们还确认知识集成和对异构数据的预训练都能使模型获得更好的语言表示。
下一步我们将会把其他类型的知识集成到语义表示模型中例如使用句法分析或来自其他任务的弱监督信号。此外我们还将用其他语言验证这个想法。 参考资料
原文链接https://arxiv.org/pdf/1904.09223.pdf
ernie学习地址https://github.com/PaddlePaddle/ERNIE/blob/develop/README.zh.md