清华ERNIE模型

2019年清华在ACL提出ERNIE模型,同年,百度也提出一个ERNIE模型。本篇论文主要针对的是清华的模型。
BERT模型在很多NLP任务中取得很好的效果,但是BERT模型只是就事论事,缺乏对知识的理解。因此ERINE模型在输入上加入了sentence存在于知识图谱中的实体信息。比如’Bob is a writer.’,在bert中原始的输入为[‘Bob’, ‘is’, ‘a’, ‘writer’, ‘.’],ERINE加入的额外输入为[‘Q191000’, ‘UNK’, ‘UNK’, ‘Q1910001’, ‘.’ ]。这里的’Q191000’,‘Q1910001’是’Bob’、 'writer’这两个实体的id。对于包含多个token的实体,比如Jim Henson,只会和第一个token Jim进行对齐,因为作者假设模型会自动将实体信息传递到token上。
ERNIE在Bert训练基础上,都增加了预测MASK实体,但是原本标注的实体信息可能存在错误,因此ENRIE采用了以下三个策略:

5%概率随机替换实体,以期模型可以纠正错误的实体对齐
15%概率mask掉实体,以期模型可以抽取出没有标注的实体
80%概率,保留原来的实体,以期能够将实体与知识进行融合,提高NLU效果
该模型的架构如下图所示:
清华ERNIE模型_第1张图片
在这里插入图片描述

可以看到,该模型在T-Encoder上和bert是一样的,但是K-Encoder上,ERNIE不仅包含原始的输入,还假如了实体在知识图谱中的信息。
根据原始代码,可以画出如下的结构图:


清华ERNIE模型_第2张图片
在这里插入图片描述
清华ERNIE模型_第3张图片
在这里插入图片描述
清华ERNIE模型_第4张图片
在这里插入图片描述
引用:像ERNIE那样做个有知识的BERT
输入token以及entities的enbedding后,分别用5层bertlayer_sim(T-Encoder,即原始的transformer)、1层bertlayermix(K-Encoder)、6层bertlayer(K-Encoder)得到最终输出。
在普通任务上,bert和ERNIE模型的输入是一样的,但在实体相关的任务上,ERNIE需要经过特殊处理。Entity Typing任务中,在实体两端加入ENT这个token;在Relation Classification任务中,在头部实体两端加入HD这个token,在尾部实体加入TL这个token。

————————————————
版权声明:本文为CSDN博主「weixin_43178406」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43178406/article/details/91047913

你可能感兴趣的:(清华ERNIE模型)