ERNIE
ERNIE: Enhanced Language Representation with Informative Entities
- 清华在bert上的改进,适用于中文NLP模型(原本一直以为是百度的,原来还有个名字极像的文章)
知识增强
- bert通过字的搭配可以很容易推测出mask中的字,如乒乓[球],但是不能显示地对语义信息进行建模(如乒乓球)
- 因此提出了短语和实体级别的mask方式,通过此方法融合外部知识
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S3GfqbWy-1613551656503)(https://image.jiqizhixin.com/uploads/editor/ef30ec33-e5a3-4b6a-a69c-a85f55a49254/1.jpg)]
- 将知识和语言语义信息融合,增强了语义的表示,在知识驱动的任务中取得了显著的成功,得到的模型可以将mask掉的完整的词推测出
Knowledge Masking Strategies
- 采用新的masking机制
- basic-level masking:和bert一样,随机选取15%的语料单元
- phrase-level masking:改为随机挑选短语进行masking;短语的识别在于预先使用语言工具进行标注,英文语料使用词法分析以及语义组块,中文语料应用中文分词技术
- entity-level masking:改为随机挑选命名实体进行masking;预先使用命名实体识别技术对命名实体进行标注,例如人名、地名、组织名
结构
- 左边编码器有两个部分:
K-Encoder
:知识编码器,T-Encoder
:文本编码器。(w序列是每个token,e序列对应着每个实体信息entity) - 在具体聚合过程如上图右边所示,每个实体和对应的第一个token对齐
知识编码器
- 知识编码器由多层堆叠而成
- 合并的时候大致如下
对话语言模型 (DLM,Dialogue Language Model)
- 上文中Knowledge Masking Strategies应用于一般的句子型语料,而ERINE在训练数据中增加了回答形式下的对话性文本。
- 对这类MLM取代DLM
这里不再构建如同“[CLS]+Sentence_A+[SEP]+Sentence_B+[SEP]”的句子对。而是如同““[CLS]+Query+[SEP]+Response_A+[SEP]+Response_B+[SEP]”的对话三元组
- 然后NSP换成,预测对话是否真实
- 三元组随机采用QRQ、QRR、QQR其中一种构建方式
- 部分Q和R使用不相关的语句进行随机替换,以强制模型学习对话中的语境关联
- 其他的语料正常处理
预训练
- 要将知识注入进语言表征,要添加一些预训练任务
- mask:随机mask一些token和实体对齐对,随机mask一些token和实体对齐对(类似去噪自编码器,这里称为去噪实体自编码器dEA),仅要求系统基于给定的实体序列进行预测,而不是基于整个KG(知识图谱,knowledge graph)
- 纠错操作:
- 1)有5%的几率,我们将token-实体对中的实体换成其它任意实体,让模型可以分辨出token对齐到了错误的实体上
- 2)有15%的几率,我们mask某个token-实体对,训练模型能够发现实体对齐系统没有抽取所有存在的token-实体对
- 3)其余情况,我们让token-实体对保持不变,让模型将实体信息整合进token表征来获得更好的语言理解
ERNIE 2.0: A Continual Pre-training Framework for Language Understanding
- ERNIE1.0中特征全部保留
- 指出近年来基于未标注预料进行无监督编码的预训练模型的共同权限
- 只利用token和token之间的共现信息,当两个token拥有相似的上下文语境时,最终的编码必然拥有极高的相似度
- 是的模型无法嵌入词汇、语法、语义等信息
- 首次引入连续预训练机制——以串行的方式多任务学习
- ——模拟人类学习,利用已经积累的知识,持续新的学习
多任务预训练
- MLM+NSP就是多任务学习的范例
- 开始训练前,每个任务会得到一个独立的编码:Task Embedding,附加在原始的预料输入上。
- 在应用于下游任务的fine tunning时,这套编码会用于模型的初始化
- 对话数据仍用DLM
Word-aware Pretraining Tasks
- 用于捕捉word级别的信息
- Knowledge Masking Task:承接ERNIE1.0的,预测被mask的对象
- Capitalization Prediction Task:预测对象是都是大小写
- ERNIE2.0认为大写开头的词汇具有特定含义,如人名、地名、机构名等。
- 这对实体命名识别下游任务有帮助
- Token-Document Relation Prediction Task:预测对象是否在文档中其他文段有出现
- 正例通常包含文档关键词以及语言通用词,因此添加这一任务有助于模型将更多的注意力放在这一类词汇上
Structure-aware Pretraining Tasks
用于捕捉语法级别的信息,有助于NLI、QA等领域
- Sentence Recording Task:针对文档中的每一个段落,以句子为单位划分1~m段,后对整个文档所有文段进行打乱排列,对每一个文段预测原始位置,成为k分类问题
- Sentence Distance Task:取代NSP,预测输入句子对的相对距离–>三分类问题,0表示两个句子在用一片文档且距离相近,1代表两个句子在同一片文档但距离较远,2代表两个句子在不同文档
Semantic-aware Pretraining Tasks
用于提取语义类的信息
- Discourse Relation Task:预测两个句子之间的语法及修辞关联
- IR Relevance Task:专门为百度搜索引擎日志设计的任务,预测Query-Title对相关性–>三分类问题,0,1,2分别表示强相关、弱相关、不相关
- 有助于标题自动生成以及文本摘要等任务
效果
- 不细说,很多方面的sota,目前GLUE的榜上还在前5,
论文没啥意思,就是拼了一大堆预训练任务上去,不得不说是真的有钱