ERNIE: Enhanced Language Representation with Informative Entities

当前的预训练语言模型中没有融入KGs信息。而KGs能够为语言理解提供丰富的结构化信息。因此本文提出一种基于大规模语料和KGs训练的增强语言模型ERNIE。实验证明在knowledge-driven任务上,相比于bert取得显著提升。

bert融合上下文,ernie融合上下文和其对应知识库信息。

例如:周杰伦, bert输出只有语义上的信息。

而本文观点是:不仅有语义信息,还要融入KGs信息,例如周杰伦是歌手的信息。

再例如:Bob Dylan 同时是歌曲作家和书籍作者,语义模型很难学出。

knowledge-driven task: entity typing、Relation Classification

  1. 什么是结构化的知识信息?

结构化信息:图结构,包含node(实体)、边(实体间关系),如何embedding图结构呢?本文使用TransE,见下文。
如果没有Blowin’ in the Wind=song, Chronicles=book,entity typing很难推断出bob dylan是songwriter、writer。

问题:

  1. Structured Knowledge Encod-ing:怎么将KG信息编码。
  2. Heterogeneous Information Fusion:怎么融合词汇、句法和知识信息。

模型结构:

{w1,…,wn}=T-Encoder ({w1,…,wn})\left\{w_{1}, \ldots, w_{n}\right\}=\text {T-Encoder }\left(\left\{w_{1}, \ldots, w_{n}\right\}\right){w1,,wn}=T-Encoder({w1,,wn})

{w1o,…,wno},{e1o,…,eno}=K-Encoder ({w1,…,wn},{e1,…,em})\left\{w_{1}^{o}, \ldots, w_{n}^{o}\right\},\left\{e_{1}^{o}, \ldots, e_{n}^{o}\right\}=\text {K-Encoder }(\left\{w_{1}, \ldots, w_{n}\right\},\left\{e_{1}, \dots, e_{m}\right\} ){w1o,,wno},{e1o,,eno}=K-Encoder({w1,,wn},{e1,,em})

Textual-Encoder

是一个多层的双向Transformer encoder,输入每个词语{w1,…,wn}\{w_{1}, \dots, w_{n}\}{w1,,wn}的token embedding, segment embedding, positional embedding求和。

“segment embedding”的概念来区分句子。对于句对来说,就用embedding A和embedding B来分别代表左句子和右句子,例如左句都是1, 右句都是0;而单个句子来说,就只有embedding A。

Knowledgeable Encoder

输入各个实体{e1,...,en}\{e_{1}, ..., e_{n}\}{e1,...,en},通过预训练TransE将实体转化为embedding向量。
TransE伪代码,还是比较容易懂。
目标: f(“Bob Dylan”) + f(“is_a”) = f(“Songwriter”)
其中:h = Bob Dylan, l = is_a, t = Songwriter。同时也要引入负样本,非l两边的节点加入作为h’, t’。(h’, l, t’)构成负样本。

S(h,ℓ,t)′={(h′,ℓ,t)∣h′∈E}∪{(h,ℓ,t′)∣t′∈E}S_{(h, \ell, t)}^{\prime}=\left\{\left(h^{\prime}, \ell, t\right) | h^{\prime} \in E\right\} \cup\left\{\left(h, \ell, t^{\prime}\right) | t^{\prime} \in E\right\}S(h,,t)={(h,,t)hE}{(h,,t)tE}

实体和token的embedding通过多头的attention:
{w~1(i),…,w~n(i)}=MH−ATT({w1(i−1),…,wn(i−1)}\{\tilde{w}_{1}^{(i)}, \ldots, \tilde{w}_{n}^{(i)}\}=\mathrm{MH}-\mathrm{ATT}(\{\boldsymbol{w}_{1}^{(i-1)}, \ldots, \boldsymbol{w}_{n}^{(i-1)}\} {w~1(i),,w~n(i)}=MHATT({w1(i1),,wn(i1)}

{e~1(i),…,e~m(i)}=MH−ATT({e1(i−1),…,em(i−1)}\{\tilde{e}_{1}^{(i)}, \ldots, \tilde{e}_{m}^{(i)}\}=\mathrm{MH}-\mathrm{ATT}(\{e_{1}^{(i-1)}, \ldots, e_{m}^{(i-1)}\} {e~1(i),,e~m(i)}=MHATT({e1(i1),,em(i1)}

i-th information fusion layer:

对于包含实体信息的tokens:
hj=σ(W~t(i)w~j(i)+W~e(i)e~k(i)+b~(i))wj(i)=σ(Wt(i)hj+bt(i))ek(i)=σ(We(i)hj+be(i))\begin{aligned} \boldsymbol{h}_{j} &=\sigma\left(\tilde{\boldsymbol{W}}_{t}^{(i)} \tilde{\boldsymbol{w}}_{j}^{(i)}+\tilde{\boldsymbol{W}}_{e}^{(i)} \tilde{\boldsymbol{e}}_{k}^{(i)}+\tilde{\boldsymbol{b}}^{(i)}\right) \\ \boldsymbol{w}_{j}^{(i)} &=\sigma\left(\boldsymbol{W}_{t}^{(i)} \boldsymbol{h}_{j}+\boldsymbol{b}_{t}^{(i)}\right) \\ e_{k}^{(i)} &=\sigma\left(\boldsymbol{W}_{e}^{(i)} \boldsymbol{h}_{j}+\boldsymbol{b}_{e}^{(i)}\right) \end{aligned} hjwj(i)ek(i)=σ(W~t(i)w~j(i)+W~e(i)e~k(i)+b~(i))=σ(Wt(i)hj+bt(i))=σ(We(i)hj+be(i))
未包含token的实体:
hj=σ(W~t(i)w~j(i)+b~(i))wj(i)=σ(Wt(i)hj+bt(i))h_{j}=\sigma\left(\tilde{\boldsymbol{W}}_{t}^{(i)} \tilde{\boldsymbol{w}}_{j}^{(i)}+\tilde{\boldsymbol{b}}^{(i)}\right) \\ \boldsymbol{w}_{j}^{(i)}=\sigma\left(\boldsymbol{W}_{t}^{(i)} \boldsymbol{h}_{j}+\boldsymbol{b}_{t}^{(i)}\right) hj=σ(W~t(i)w~j(i)+b~(i))wj(i)=σ(Wt(i)hj+bt(i))
输出w, e怎么使用?

Pre-training for Injecting Knowledge

为了将KGs信息表达,提出了新一个预训练任务。

对于句子,随机掩盖token-entity的entity,让模型来预测,搜索空间是句子中所有出现过的entites,即
p(ej∣wi)=exp⁡(1inear⁡(wio)⋅ej)∑k=1mexp⁡(1i near (wio)⋅ek)p\left(e_{j} | w_{i}\right)=\frac{\exp \left(1 \mathrm{i} \operatorname{near}\left(\boldsymbol{w}_{i}^{o}\right) \cdot \boldsymbol{e}_{j}\right)}{\sum_{k=1}^{m} \exp \left(1 \text { i near }\left(\boldsymbol{w}_{i}^{o}\right) \cdot e_{k}\right)} p(ejwi)=k=1mexp(1i near(wio)ek)exp(1inear(wio)ej)
损失函数使用交叉熵。

模拟随机噪音:

  • 5%的概率,将token-entity对的entity随机替换掉。加入噪音,使得模型在少量token的实体信息错误情况下的鲁棒性。
  • 15%概率,掩掉token-entity。
  • 其余的正常。

另外,和bert一样,使用masked language model (MLM) and next sentence prediction (NSP)作为语言模型。

Fine-tuning

对于一般任务,输入为token。

对于entity typing,加入了实体的标记信息。

对于relation classification,加入了实体和其位置信息。

对于普通任务,使用方法和bert一致。

实验

什么是关系抽取和关系分类。

  • 关系抽取: 从一个句子中判断两个entity是否有关系,一般是一个二分类问题,指定某种关系
  • 关系分类: 一般是判断一个句子中 两个entity是哪种关系,属于多分类问题。

例如:第一行为sentence,第二行为两个entity的relation

GLUE:

reference

  1. git: https://github.com/thunlp/ERNIE.
  2. ERNIE: Enhanced Language Representation with Informative Entities

ERNIE: Enhanced Language Representation with Informative Entities相关推荐

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

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

  2. 阅读《SentiLARE: Sentiment-Aware Language Representation Learning with Linguistic Knowledge》

    SentiLARE: Sentiment-Aware Language Representation Learning with Linguistic Knowledge Abstract 现有的预训 ...

  3. Align before Fuse: Vision and Language Representation Learning with Momentum Distillation

    ALBEF:Align before Fuse: Vision and Language Representation Learning with Momentum Distillation 论文链接 ...

  4. # 互信息最大化[视角统一]:Align before Fuse: Vision Language Representation Learning with Momentum Distillation

    互信息最大化[视角统一]:Align before Fuse: Vision and Language Representation Learning with Momentum Distillati ...

  5. 【论文模型讲解】VideoBERT: A Joint Model for Video and Language Representation Learning

    文章目录 前言 0 摘要 1 Introduction 2 相关工作 3 模型 3.1 BERT 3.2 VideoBERT 4 实验与分析 4.1 数据集 4.2 视频和语言预处理 4.3 模型预训 ...

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

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

  7. 自然语言处理学习——论文分享——A Mutual Information Maximization Perspective of Language Representation Learning

    资料放在前面:https://blog.csdn.net/Arnetminer/article/details/105840669 文章的贡献如下: (1)提出了一个基于最大化MI的理论框架来理解词表 ...

  8. CVPR 2020 《12-in-1: Multi-Task Vision and Language Representation Learning》论文笔记

    目录 简介 动机 贡献 方法 实验 简介 本文是在NIPS 2019 ViLBERT上的拓展. 论文链接 动机 本文修改了ViLBERT的预训练过程,有两个小修改:1. 对regions进行mask时 ...

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

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

  10. BERT、MT-DNN、GPT2.0、ERNIE

    目前效果较好的大部分的nlp任务都会应用预训练语言模型的迁移知识,主要是采用两阶段的模型.第一阶段进行预训练,一般是训练一个语言模型.最出名的是BERT,BERT的预训练阶段包括两个任务,一个是Mas ...

最新文章

  1. mybaties分页
  2. 掌握哪些机器学习工具更受企业青睐?
  3. 【Flutter】Dart 面向对象 ( mixins 特性 )
  4. android动态访问权限,android – Firebase规则:动态授予特定用户访问权限
  5. redis linux工具安装,linux 安装redis缓存工具
  6. i18n调用自己参数_Spring Boot :I18N
  7. [转载] 面试常见问题总结
  8. 顶级的CSS和Javascript动画框架推荐
  9. Dynamsoft WebAssembly条形码SDK预览
  10. 如何在VLC中添加字幕?
  11. 垃圾阿言之Maven与环境变量(这一波是卑微的)
  12. 揭秘井井有条的流水线(ZooKeeper 原理篇)
  13. android nfc的用法,Android下NFC的简单使用
  14. ubuntu 、emacs中使用翻译功能
  15. Weblogic安装及配置
  16. java计算机毕业设计家教到家平台源码+mysql数据库+系统+lw文档+部署
  17. 如何给电脑做磁盘分区
  18. 修身养性的句子_关于修身养性的名言
  19. 知群产品经理必修TOP班-31期学习笔记
  20. Cassandra - 集群搭建 及 配置DC和rack

热门文章

  1. 使用深度学习进行生存分析
  2. php的rps,如何理解RPS的本质
  3. python实验题目:中文数字对照表输入一个数字,转换成中文数字。比如:1234567890 -> 壹贰叁肆伍陆柒捌玖零。
  4. 第二人生的源码分析(十九)人物组合显示
  5. 最全的LBS手机定位技术说明
  6. 我爱淘二次冲刺阶段6
  7. H3C S5820x 期望风道方向的注意事项
  8. 前端开发-HTML+CSS实现京东官网左侧导航条列表
  9. 2020年度CSDN博客之星评选——【Mr.郑先生_】感谢各位朋友的支持与陪伴!
  10. 2018.10.16 best-ks分箱