ERNIE(Enhanced Representation through kNowledge IntEgration)是百度提出的一种预训练语言模型,它的核心理念是在语言建模的过程中引入知识增强,通过更深入的语义理解来提升自然语言处理能力。

一、ERNIE 简介

项目内容
全称Enhanced Representation through kNowledge IntEgration
提出者百度 Baidu
首次发布2019 年
模型结构BERT 改进型,使用 Transformer Encoder 架构
主要目标融合先验知识(如实体、词组、句法)进行预训练
应用场景分类、匹配、问答、抽取等各类 NLP 任务

二、ERNIE 的主要创新点

1. 知识增强 Masking 策略

BERT 的预训练任务是随机遮盖单个 token(即 Mask Language Model,MLM)。而 ERNIE 提出按以下方式遮盖:

        词组 masking(Phrase-level):不只遮盖单字,而是遮住整个词组,如“中华人民共和国”整体被 mask。

        实体 masking(Entity-level):识别命名实体(如人名、地名、组织),整体替换以学习语义完整性。

        句法结构 masking:基于句法树结构进行遮蔽,更符合语言结构规律。

这些策略能使模型更好地捕捉语言中的结构和知识信息,提升下游任务表现。

二、知识图谱融合(ERNIE 2.0 开始)

ERNIE 2.0 提出了多任务统一预训练框架,加入以下知识类型:

  • 实体识别(NER)

  • 句法依存关系

  • 跨语言信息

  • 多跳推理

通过在预训练阶段引入这些任务,使得模型获得更丰富的语言知识与推理能力

三、ERNIE 系列发展

版本特点
ERNIE 1.0引入知识增强 Mask,提升语义建模
ERNIE 2.0多任务预训练框架,涵盖语法、语义、世界知识
ERNIE 3.0多模态(文本+图像)、跨语言、跨任务预训练平台
ERNIE 4.0(文心一言)引入大模型能力,支持多模态、多任务、多语言,基于千亿参数规模

四、ERNIE vs BERT

特性BERTERNIE
架构Transformer Encoder同样架构
MLM随机 mask 单词mask 实体 / 词组 / 结构
知识引入强知识引入(实体、结构、关系)
表达能力语言基础能力更强语义理解能力
下游表现更强,尤其在中文任务上

五、ERNIE 的使用(Hugging Face)

百度已将部分 ERNIE 模型开放到 Hugging Face。

安装

pip install transformers

加载示例

from transformers import AutoTokenizer, AutoModel

tokenizer = AutoTokenizer.from_pretrained("nghuyong/ernie-3.0-base-zh")
model = AutoModel.from_pretrained("nghuyong/ernie-3.0-base-zh")

inputs = tokenizer("百度推出的ERNIE模型是中文预训练的代表。", return_tensors="pt")
outputs = model(**inputs)

print(outputs.last_hidden_state.shape)  # 输出维度:[batch, seq_len, hidden_size]

六、应用场景

  • 文本分类:情感分析、主题识别等

  • 文本匹配:句子相似度、问答匹配等

  • 命名实体识别(NER):通过知识增强 mask 表现更好

  • 阅读理解 / MRC:结合知识点提升理解

  • 多语言任务:ERNIE 3.0 支持跨语言

七、中文 NLP 中的表现

ERNIE 在多个中文 NLP benchmark 上优于 BERT、RoBERTa、MacBERT,尤其在以下任务中提升明显:

  • 中文文本匹配(如 LCQMC、BQ)

  • 中文 NER(People's Daily)

  • 中文机器阅读理解(如 CMRC2018)

八、总结

模型特点内容
架构类型Transformer Encoder
主要创新实体级 mask、多任务知识融合
代表性任务中文 NLP(分类、匹配、问答)
性能表现中文任务优于 BERT 等基础模型
是否开源是,部分模型参数可在 Hugging Face 获取

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐