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,增强语义信息。

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

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

  1. ERNIE: Enhanced Representation through Knowledge Integration(百度)论文翻译

    paper:https://arxiv.org/pdf/1904.09223.pdf code:https://github.com/PaddlePaddle/LARK/tree/develop/ER ...

  2. 详细介绍ERNIE 3.0: Large-scale Knowledge Enhanced Pre-training for Language Understanding and Generation

    系列阅读: 详细介绍百度ERNIE1.0:Enhanced Representation through Knowledge Integration 详细介绍百度ERNIE 2.0:A Continu ...

  3. Knowledge Integration Networks for Action Recognition AAAI 2020

    AAAI 2020 码隆科技实验室+南京大学 1 摘要 在这项工作中,我们提出了用于视频动作识别的知识集成网络(KINet).KINet能够聚合有意义的上下文特征,这些特征对于识别动作非常重要,例如人 ...

  4. 【Python CheckiO 题解】Sun Angle

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

  5. 【2021知识蒸馏】Show, Attend and Distill:Knowledge Distillation via Attention-based Feature Matching

    [2021知识蒸馏]Show, Attend and Distill:Knowledge Distillation via Attention-based Feature Matching 1.问题背 ...

  6. 【读点论文】Deep Learning Face Representation from Predicting 10,000 Classes。deepID

    Deep Learning Face Representation from Predicting 10,000 Classes 此文发表于2014年CVPR上,以人脸识别的子领域人脸验证(Face ...

  7. ERNIE: Enhanced Language Representation with Informative Entities 论文研读

    1. 摘要   NLP表示模型如BERT的预训练模型能够在大量的纯文本语料中捕获丰富的语义信息,并且通过微调改进NLP任务的效果.然而,已存在的预训练语言模型很少考虑将知识图谱的结构化信息融入其中,从 ...

  8. 【论文阅读笔记】Multi-Task Feature Learning for Knowledge Graph Enhanced

    Multi-Task Feature Learning for Knowledge Graph Enhanced 1.框架 MKR是一个通用的.端对端深度推荐框架, 由三个主要部分组成:推荐模块.KG ...

  9. Zero-Shot Graph Relation Prediction through Commonsense Knowledge Integration

    文章目录 Abstract Introduction 挑战:在zero-shot triplets上的性能下降 动机:应用常识解决zero-shot relation prediction Insig ...

  10. 论文解读:K-BERT:Enabling Language Representation with Knowledge Graph(AAAI-20)

    Part1 Introduction BERT这种公共模型,对于通用领域表现优秀,但是垂直领域表现不佳,除非在垂直领域进行训练,但是非常耗时耗力.将知识图谱整合到语言表示中,领域知识将能提升垂直领域的 ...

最新文章

  1. sql 70-229 考试样题(1)
  2. readline 库简写版本,测试可用
  3. java8 虚拟机调优_Java虚拟机调优(八)-典型配置举例2
  4. hibernate 延迟加载(转载)
  5. oracle中调试存储过程,详解Oracle调试存储过程
  6. Python序列基本操作(三)
  7. AfxMessageBox
  8. Kibana安装-源码
  9. 记录一次使用ghidra逆向分析斐讯K3官改固件web登录验证的经历
  10. Linux 打包压缩命令
  11. 华为手机怎么开启生产模式 | 华为手机打开生产模式后有驱动没有安装好怎么办 | 华为荣耀9手机打开生产模式后有驱动有叹号怎么办
  12. 参考文献格式国家标准
  13. 英特尔老款CPU支持虚拟化对照表(转)
  14. Android 画笔演示功能的实现
  15. DXF文件格式——DXF 格式
  16. 如何用CSS实现div元素高度相对于整个屏幕100%
  17. 基于机智云平台的厨房智能监控系统
  18. 读《最重要的事只有一件》有感
  19. windows下网络诊断基本命令
  20. 令人拍案叫绝的算法学习网站新手算法入门到精通,算法面试冲刺资料这里都有

热门文章

  1. 微信公众号申请最新流程
  2. python中interval函数_python pandas Interval用法及代码示例
  3. axios 注册拦截器 cdn引用_提高传输速度,选p2p加速还是cdn加速呢?
  4. 为电商而生的知识图谱,如何感应用户需求? 1
  5. flutter中的点击事件
  6. 【Mesh】关于Mesh中Seq+IV与RPL分析
  7. matlab 直方图
  8. yapi在centos下的部署安装 后台启动(亲自动手实践)
  9. 粉丝文化:抖音广告短视频美妆营销中,男明星比女明星更带货?
  10. sgu244:Height, Bisector and Median(几何)