ERNIE: Enhanced Representation through Knowledge Integration, Yu Sun 2020【representation+Bert+ner】


title: “ERNIE: Enhanced Representation through Knowledge Integration,Yu Sun 2020 【word represatation+BERT+MASKED stages】”
subtitle: “”
date: 2021-1-18
author: “xuqiurong”
tag:
- language representation
-


摘要:我们提出了一个新的语言表达模型,名为ERNIE(Enhanced Representation through Knowledge Integration)。通过知识masking策略学习语言表达,包括entity-lavel masking和phrase-level masking. 实体级策略遮蔽通常由多个单词组成。短语级策略遮蔽整个短语,而整个短语是由多个单词组成的概念单元。

在五个自然语言处理任务上得到了SOTA结果,任务包含natural language processing, semantic similarity, named entity recognition, sentiment analisis, question answering.特别是在完形填空测试中有更强大的知识推理能力。

介绍:这是一篇关于language representation pre-training的文章。

大多数研究中,(ELMO,GPT,BERT…),是通过上下文预测缺失的单词来建立表征模型的。这些模型没有考虑句子中的先验知识。

我们的模型中,a prase or a entity看做one unit,一个单元中的所有word会同时被masked.

我们的贡献是:介绍了一个新的语言模型学习过程,这个模型遮蔽了prases and entities单元,从而从这些单元中隐式的学习句法和语义信息。
在多个NLP任务上取得了SOTA的性能。

Related Work

Context-independent Representation

上下文独立的word embedding方法比如Word2Vec,Glove,通常有几百维,他们为词汇表中每一个单词生成一个word embedding.

Context-aware Representation

但是,一个词在上下文中可以有完全不同的意义。

上下文感知的word embedding方法比如:ELMO,GPT,BERT,MT-DNN,GPT-2。

ELMO将传统的word embedding研究推广到不同的广度,他们建议从语言模型中提取上下文敏感的特征。

GPT通过调整transformer来增强上下文敏感的嵌入。

BERT使用两个不同的预训练任务进行语言建模,BERT随机遮蔽句子中一定比例的单词,并学习预测这些遮蔽词。另外学会了预测两个句子是不是相邻,这个任务尝试对传统语言模型不能捕获的两个句子之间的关系建模。

Heterogeneous Data

异构数据

语义编码器在异构无监督数据上预训练可以提高transfer learning的性能。

The Method

本章详细介绍ERNIE和它的具体实现。首先介绍模型的tranformer encoder, 然后介绍knowledge integration方法。
在这里插入图片描述

Transformer Encoder

ERNIE使用multi-layer Transformer作为基本编码器。和GPT,BERT,XLM等模型是一样的。Transformer通过self-attention可以捕获句子中的上下文信息,并且生成一系列上下文embedding。

对于中文语料,我们在CJK Unicode范围中在每个字符周围添加空格。用WordPiece来标记中文句子。对于一个给定的token,其输入表示是通过相应的token, segment, position embedding相加来构造的**(???)**。每个序列的第一个token是特殊的分类embedding (???)

解释:WordPiece字面理解是把word拆成piece一片一片,其实就是这个意思。WordPiece的一种主要的实现方式叫做BPE(Byte-Pair Encoding)双字节编码。

BPE的过程可以理解为把一个单词再拆分,使得我们的此表会变得精简,并且寓意更加清晰。

比如"loved",“loving”,“loves"这三个单词。其实本身的语义都是“爱”的意思,但是如果我们以单词为单位,那它们就算不一样的词,在英语中不同后缀的词非常的多,就会使得词表变的很大,训练速度变慢,训练的效果也不是太好。

BPE算法通过训练,能够把上面的3个单词拆分成"lov”,“ed”,“ing”,"es"几部分,这样可以把词的本身的意思和时态分开,有效的减少了词表的数量。

BPE的大概训练过程:首先将词分成一个一个的字符,然后在词的范围内统计字符对出现的次数,每次将次数最多的字符对保存起来,直到循环次数结束。

参考例子理解

Knowledge Integration

我们使用先验知识增强我们的预训练语言模型。和直接添加知识embedding不同,我们提出多阶段知识遮蔽策略来集成phrase and entity level 知识到语言表达。

一个句子不同level的知识表达如图2.
在这里插入图片描述

  1. Basic-Level Masking
    第一阶段是使用基本级遮蔽,他把一个句子当做一个基本的语言单元序列,对于英语来说,基本的语言单元是一个单词,对于中文,一个基本的语言单元是一个文字。在训练过程中,我们随机遮蔽句子15%的units, 用句子中其他基本单元作为输入,然后训练一个transformer预测遮蔽的units。基于基本级遮蔽,我们得到一个基本的单词表达。因为它是训练在一个随机遮蔽的基本语义单元,高级语义知识很难建模。

  2. Phrase-Level Masking
    第二阶段采用短语级遮蔽。短语是指一组单词/文字一起作为一个概念单元,对于英语来说,我们使用词汇分析和分块工具来获取句子中的短语边界,并且使用一些语言依赖分割工具来获取其他余元中的单词/短语信息,比如中文。在短语级遮蔽阶段,我们也使用基本语言单元作为训练输入,不像随机基本单元遮蔽,这次我们在句子中随机挑选一些短语,遮蔽和预测同一个短语中的所有基本单元。

  3. Entity_Level Masking
    第三个阶段是实体级遮蔽。命名实体包括persons, locations, organizations, products…,可以用一个适当的名字表示,它可以是抽象的,也可以是物理存在的,通常实体包含句子中的重要信息。像在短语遮蔽阶段一样,我们首先**分析(怎么分析的???)**句子中的命名实体,然后遮蔽和预测实体中所有有slots。经过三个阶段的学习,一个单词的表示被丰富的语义信息增强。

Experiments

ERNIE和BERT有相同的模型大小,便于比较。ERNIE使用12 encoder layer, 178 hidden units,12 attention heads.

异构语料预训练

本文采用异构语料进行预训练,我们绘制混合的语料Chinese Wikipedia, Baidu Baike, Baidu news, Baidu Tieba. 句子的数量是21M, 51M, 47M, 54M。

NLP任务上的实验
  • NLI
    XNLI语料是MultiNLI语料库的众包集合,成对的标注被翻译为14种语言,包括中文,labels包括:矛盾,中性,蕴含,我们遵循BERT中的中文实验。
  • Semantic Similarity
    大规模中文问题匹配语料库(LCQMC)旨在识别两个句子是不是有相同的意图。数据集中的没对句子都与一个二进制label关联,表明这两个句子有相同的意图,任务可以形式化为预测二进制标签。
  • NER
    MSRA-NER数据集用于NER任务,其中的实体包类型包括person, place, organization,…,这个任务可以看做是序列标注任务。
  • Sentiment Analysis
    ChnSentiCorp是判断句子感情的数据集,它包括几个领域的评论比如,宾馆,书籍,电子计算机,这个任务的目标是判断一个句子是正面的还是负面的。
  • 检索问答问题
    NLPPCC-DBQA数据集是选择相应问题的答案,评估方法包括MRR和F1分数。
实验结果

在这里插入图片描述
可以看出ERNIE的效果在所有的任务上优胜于BERT,而且在XNIL,MSRA-NER,ChnSentiCorp,nlpcc-dbqa,大约提高了1%的精确度。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210118152121363.png#pic_center ==500x)

Summary

模型的encoder h部分个BERT是一样的。

模型不是直接将embedding喂入模型,而是分三个阶段masked,增强语义信息。

分析命名实体的时候怎么分析的??? 上一个阶段训练出的单词表达怎么用于下一个阶段???

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值