【一】ERNIE:飞桨开源开发套件,入门学习,看看行业顶尖持续学习语义理解框架,如何取得世界多个实战的SOTA效果?( 三 )

  • 语义层任务:学会判断句子之间的逻辑关系,例如因果关系、转折关系、并列关系等 。
  • 通过这些新增的语义任务,ERNIE 2.0语义理解预训练模型从训练数据中获取了词法、句法、语义等多个维度的自然语言信息,极大地增强了通用语义表示能力 。ERNIE 2.0模型在英语任务上几乎全面优于BERT和XLNet,在7个GLUE任务上取得了最好的结果;中文任务上,ERNIE 2.0模型在所有9个中文NLP任务上全面优于BERT 。
    完成预训练后,如何用 ERNIE 来解决具体的 NLP 问题呢?下面以单句分类任务(如情感分析)为例,介绍下游 NLP 任务的解决过程:
    1. 基于tokenization.py脚本中的Tokenizer对输入的句子进行token化,即按字粒度对句子进行切分;
    2. 分类标志符号[CLS]与token化后的句子拼接在一起作为ERNIE模型的输入,经过 ERNIE 前向计算后得到每个token对应的embedding向量表示;
    3. 在单句分类任务中,[CLS]位置对应的嵌入式向量会用来作为分类特征 。只需将[CLS]对应的embedding抽取出来,再经过一个全连接层得到分类的 logits 值,最后经过softmax归一化后与训练数据中的label一起计算交叉熵,就得到了优化的损失函数;
    4. 经过几轮的fine-tuning,就可以训练出解决具体任务的ERNIE模型 。

    【一】ERNIE:飞桨开源开发套件,入门学习,看看行业顶尖持续学习语义理解框架,如何取得世界多个实战的SOTA效果?

    文章插图
    关于ERNIE更详细的介绍,可以参考这两篇学术论文:
    • ERNIE: Enhanced Representation through Knowledge Integration
    • ERNIE 2.0: A Continual Pre-training Framework for Language Understanding
    本教程不对预训练过程作过多展开,主要关注如何使用ERNIE解决下游的NLP任务 。
    ?
    【【一】ERNIE:飞桨开源开发套件,入门学习,看看行业顶尖持续学习语义理解框架,如何取得世界多个实战的SOTA效果?】

    经验总结扩展阅读