ERNIE(Enhanced Representation through kNowledge Integration)模型

ERNIE(Enhanced Representation through kNowledge Integration)模型

ERNIE(文心,全称 Enhanced Representation through kNowledge Integration)是 百度(Baidu)在 2019 年提出的预训练语言模型,在 BERT 的基础上 引入了 知识增强(Knowledge Integration),特别适用于 中文 NLP 任务

论文ERNIE: Enhanced Representation through kNowledge Integration

ERNIE 通过整合外部知识,使预训练语言模型在多种 NLP 任务(如命名实体识别、阅读理解、文本分类等)上表现更好,特别适用于 中文 NLP 场景


1. 为什么需要 ERNIE?

BERT 在 NLP 任务上表现优秀,但在某些方面存在问题:

  • 缺乏对世界知识(Knowledge)的理解,无法建模 实体(Entity)、关系(Relation)等信息
  • 仅基于单词和子词(Subword),未充分利用语义知识,特别是中文语言的 多义性、成语、固定搭配 等。

ERNIE 通过 知识增强,使模型:

  • 更好地理解中文语言现象(如成语、谚语、多义词)
  • 在命名实体识别(NER)、阅读理解、问答等任务上超越 BERT

2. ERNIE 的核心创新

ERNIE 主要在 BERT 结构 上做了以下 三大优化

  1. 知识增强(Knowledge Integration)
  2. 动态 Mask 机制(Dynamically Masking Strategy)
  3. 跨粒度建模(Multi-Granularity Learning)

2.1 知识增强(Knowledge Integration)

BERT 主要基于上下文训练,但 ERNIE 结合了外部知识库(如 Wikipedia、百度百科)

  • 实体知识(Entity Knowledge):如 “姚明” 是篮球运动员,模型能捕捉 姚明与篮球的关系

  • 世界知识(World Knowledge):如 “牛顿提出万有引力定律”,模型能捕捉 “牛顿” 与 “万有引力” 的联系

  • 语言知识(Linguistic Knowledge):如 成语 “画蛇添足” 的整体语义,而不仅仅是字面意思。

  • 相比 BERT,ERNIE 可以理解更多真实世界知识

  • 增强了中文 NLP 任务的效果,如实体识别、阅读理解


2.2 动态 Mask 机制(Dynamically Masking Strategy)

BERT 的问题
  • BERT 采用静态 Mask,即训练时 每个 token 被 Mask 的方式固定
  • 缺点:BERT 无法学习不同粒度(字、词、短语、句子)的语义关系
ERNIE 解决方案
  • 采用动态 Mask,在预训练过程中:
    • 随机 Mask 不同粒度的文本(字、词、实体、短语)。
    • 让模型学习更丰富的上下文信息

示例

  • BERT Mask

    “华为推出了一款 [MASK] 手机。” → 预测单词

  • ERNIE Mask(实体级 Mask)

    “华为 [MASK] 了一款新手机。” → 预测 “推出”
    “华为推出了一款 [MASK]” → 预测 “新手机”

  • ERNIE 让模型更适应中文 NLP 任务,提高语义理解能力


2.3 跨粒度建模(Multi-Granularity Learning)

BERT 的问题
  • BERT 仅基于子词级别进行 Mask,但中文具有 丰富的短语、成语、句法结构
ERNIE 解决方案
  • 在训练过程中,Mask 不同粒度的文本

    • 字级(Character Level)
    • 词级(Word Level)
    • 短语级(Phrase Level)
    • 句子级(Sentence Level)
  • 相比 BERT,ERNIE 可以理解更复杂的语言结构,特别适用于中文 NLP


3. ERNIE 主要模型版本

百度不断升级 ERNIE,提供多个版本:

模型年份主要优化适用任务
ERNIE 1.02019结合知识图谱适用于中文 NLP 任务
ERNIE 2.02019动态 Mask + 多任务学习适用于阅读理解、NER、问答
ERNIE 3.02021更大规模 + 知识增强适用于长文本、对话、生成任务
ERNIE-ViLG2022文生图能力(类似 DALL·E)适用于图像生成
ERNIE 4.02023强化对话、逻辑推理适用于 Chatbot、复杂推理任务
ERNIE Bot(文心一言)2023强化 ChatGPT 竞品适用于智能助手

ERNIE 主要针对中文 NLP 任务优化,并不断扩展至 AI 生成内容(AIGC)领域


4. ERNIE 在 Hugging Face transformers 库中的使用

百度开放了 ERNIE 预训练模型,可以通过 Hugging Face 加载。

4.1 安装 transformers

pip install transformers

4.2 加载 ERNIE 分词器

from transformers import AutoTokenizer

# 加载 ERNIE 预训练的分词器
tokenizer = AutoTokenizer.from_pretrained("nghuyong/ernie-3.0-base-zh")

# 对文本进行分词
text = "百度推出了 ERNIE 模型。"
tokens = tokenizer(text, return_tensors="pt")

print(tokens)

4.3 加载 ERNIE 并进行文本表示

from transformers import AutoModel

# 加载 ERNIE 预训练模型
model = AutoModel.from_pretrained("nghuyong/ernie-3.0-base-zh")

# 前向传播
outputs = model(**tokens)

# 获取 ERNIE 输出的隐藏状态
hidden_states = outputs.last_hidden_state
print(hidden_states.shape)  # (batch_size, sequence_length, hidden_dim)

4.4 ERNIE 进行文本分类

from transformers import AutoModelForSequenceClassification

# 加载 ERNIE 文本分类模型(2 分类)
model = AutoModelForSequenceClassification.from_pretrained("nghuyong/ernie-3.0-base-zh", num_labels=2)

# 计算 logits
outputs = model(**tokens)
print(outputs.logits)

5. ERNIE 的应用场景

ERNIE 适用于各种 中文 NLP 任务

  • 文本分类(情感分析、新闻分类)
  • 命名实体识别(NER)
  • 问答系统(QA)
  • 机器翻译
  • 对话系统(Chatbot)
  • 文生图(ERNIE-ViLG)

特别适用于中文语义理解任务,在多个 中文 NLP 评测基准(CLUE, CMRC, DuReader) 上超过 BERT。


6. 结论

  1. ERNIE 是百度开发的中文 NLP 预训练模型,在 BERT 基础上增强了知识整合能力
  2. 采用 知识增强(Knowledge Integration)、动态 Mask、多粒度学习,使其在中文任务上表现优异
  3. 比 BERT 更适合中文 NLP 任务,特别是命名实体识别(NER)、阅读理解、问答系统等
  4. 可以通过 Hugging Face transformers 直接加载 ERNIE 进行推理和微调

ERNIE 是中文 NLP 领域的重要突破,在知识增强、中文理解、对话 AI 领域具有广泛应用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

彬彬侠

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

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

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

打赏作者

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

抵扣说明:

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

余额充值