ERNIE: Enhanced Language Representation with Informative Entities

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:怎么融合词汇、句法和知识信息。

模型结构:
在这里插入图片描述

{ w 1 , … , w n } = T-Encoder  ( { w 1 , … , w n } ) \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})

{ w 1 o , … , w n o } , { e 1 o , … , e n o } = K-Encoder  ( { w 1 , … , w n } , { e 1 , … , e m } ) \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,输入每个词语 { w 1 , … , w n } \{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

输入各个实体 { e 1 , . . . , e n } \{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 ) } = M H − A T T ( { w 1 ( i − 1 ) , … , w n ( 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 ) } = M H − A T T ( { e 1 ( i − 1 ) , … , e m ( 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:
h j = σ ( W ~ t ( i ) w ~ j ( i ) + W ~ e ( i ) e ~ k ( i ) + b ~ ( i ) ) w j ( i ) = σ ( W t ( i ) h j + b t ( i ) ) e k ( i ) = σ ( W e ( i ) h j + b e ( 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的实体:
h j = σ ( W ~ t ( i ) w ~ j ( i ) + b ~ ( i ) ) w j ( i ) = σ ( W t ( i ) h j + b t ( 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 ( e j ∣ w i ) = exp ⁡ ( 1 i near ⁡ ( w i o ) ⋅ e j ) ∑ k = 1 m exp ⁡ ( 1  i near  ( w i o ) ⋅ e k ) 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(1 i 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百川AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值