《ERNIE: Enhanced Language Representation with Informative Entities》浅析

文章目录摘要发展模型解析微调应用效果(待复现)展望GELU摘要现有的大规模预料训练的语言表征模型(如BERT)能够很好的从文本中获取丰富的语义模型,进行微调后能够提升各种NLP任务。然而这些模型几乎不考虑知识图谱,知识图谱能够为语言理解提供丰富的结构化信息。本文通过外部知识增强语言表达,同时利用大规模语料库和知识图谱,充分利用词汇、句法和知识信息。发展预训练语言表征模型包括基于特征的和基于...
摘要由CSDN通过智能技术生成

摘要

现有的大规模预料训练的语言表征模型(如BERT)能够很好的从文本中获取丰富的语义模型,进行微调后能够提升各种NLP任务。然而这些模型几乎不考虑知识图谱,知识图谱能够为语言理解提供丰富的结构化信息。本文通过外部知识增强语言表达,同时利用大规模语料库和知识图谱,充分利用词汇、句法和知识信息。

发展

预训练语言表征模型包括基于特征的和基于微调的两种。

  • feature-based:
    • 基于特征将单词转为分布表示(2008-2014)
      表征好的词嵌入作为各种NLP任务的输入初始化,通过捕捉语料库中的句法和语义信息,能够提升效果,但是对于一词多义的情景无法处理
    • the sequence-level model(ELMo 2018)
      该模型能够在不同语言环境中捕捉复杂的单词特征,常用语生成上下文感知的词嵌入
  • fine-tuning
    • auto-encoders(2015)
      在为标记的文本上训练自动编码器,然后预训练模型的架构和参数作为其他特定NLP模型的起点。
    • AWD-LSTM(2017)
      这是一个通用的语言模型,能够生成一个预训练的TRANSFORMER来学习语言表征。
    • BERT(2018)
      具有多层Transformer的深度双向模型,达到了当前的峰点。

BERT模型当前处于各种霸主地位,不管是从实体识别、问题回答、自然语言推理以及文本分类都具有 the-state-of-the-art效果
然而,重点来了,看下图:
在这里插入图片描述
如果不知道《Blowin in the wind》是一首歌,《Chronicles:Volume One》是一本书,那么在实体类型中就难以判断 Bob Dylan既是歌手也是作家。
因此,考虑知识图谱的话,能够更好的对语言进行理解,从而提升各种知识驱动的应用。比如上图的实体分类,或者关系分类。
那么就得考虑,如何将知识图谱纳入语言表征模型,这个过程中,会面临两大挑战:

  • 结构化的信息编码问题
    给定文本后,在语言表征模型中,怎样有效地提取和编码文本内容在知识图谱出现的相关信息
  • 异构信息融合问题
    语言表征模型和知识图谱两个过程完全不同,因此处于两个独立的向量空间。因此,设计一个特殊的模型来融合词汇、句法和知识信息也很关键。

为了解决以上两个问题,本文提出了ERNIE:

  • 为了对结构化信息进行编码,我们首先提取文本中的实体,然后将实体与知识图谱进行对齐。通过知识嵌入方法(如TransE)先对知识图谱进行编码,然后作为ERNIE模型的输入。
  • 跟BERT一样,采用MLM(mask language model) 和 NSP(the next sentence prediction)作为预训练目标。此外,为了更好地融合文本和知识特征,我们通过屏蔽输入文本中的一些实体,然后让模型从知识图谱中找到一些合适实体来对齐。这样,不仅利用了上下文信息也利用了知识图谱的信息。

效果:在实体分类、关系分类的任务中,效果比BERT好~~~~

模型解析

在这里插入图片描述
如上图,ERNIE模型包括两个堆叠的模块,T-Encoder和K-Encoder

  • T-Encoder:负责从文本中捕获基本的词法和语法信息
  • K-Encoder:负责将知识图谱集成到底层的文本信息中

这样将词汇信息和实体的异构信息表示为一个统一的特征空间。
接下来详细解释着两部分

  • T-Encoder
    (1)首先对token embedding,segment embedding,position embedding 进行合并,作为T-Encoder的输入,即下图的Token-input
    (2)然后再计算词法和语义特征,如下
    { w 1 , … , w n } = T −  Encoder  ( { w 1 , … , w n } ) \left\{\mathbf{w}_{1}, \ldots, \mathbf{w}_{n}\right\}=\mathrm{T}-\text { Encoder }\left(\left\{w_{1}, \ldots, w_{n}\right\}\right) { w1,,wn}=T Encoder ({ w1,,wn})
    T-Encoder 是一个多头双向Transformer,
    在这里插入图片描述
  • K-Encoder
    (1)首先抽取文本中对应的实体 { e 1 , … , e m } \left\{e_{1}, \ldots, e_{m}\right\} { e1,,em},通过知识图谱嵌入法(TransE)将实体转为对应向量表示 { e 1 , … , e m } \left\{\mathbf{e}_{1}, \ldots, \mathbf{e}_{m}\right\} { e1,,em}
    (2)然后将 { e 1 , … , e m } \left\{\mathbf{e}_{1}, \ldots, \mathbf{e}_{m}\right\} { e1,,em} { w 1 , … , w n } \left\{\mathbf{w}_{1}, \ldots, \mathbf{w}_{n}\right\} { w1,,wn}作为K-Encoder的输入
    { w 1 o , … , w n o } , { e 1 o , … , e m o } = K − E n c o d e r ( { w 1 , … , w n } , { e 1 , … , e m } ) \left \{ w_{1}^o, \ldots, w_{n}^o \right \},\left\{e_{1}^o, \ldots, e_{m}^o\right\}= K-Encoder (\left\{\mathbf{w}_{1}, \ldots, \mathbf{w}_{n}\right\},\left\{\mathbf{e}_{1}, \ldots, \mathbf{e}_{m}\right\}) { w1o,
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值