前文我们已经简单讲解过ERNIE1.0与2.0的构成与区别
NLP | 百度 ERNIE - 简析1.0 与 2.0
一篇简单易懂的好文
本文小媛带来的是【从0开始快速上手百度 ERNIE】
原文详见文末原文链接
一、前置条件
在使用ERNIE模型之前,用户需要完成如下任务:
安装Python3.7.5版本。
安装paddlepaddle 1.8版本,具体安装方法请参见快速安装(文末)。
执行如下命令从GitHub上获取ERNIE代码库。如果网络速度较慢用户可以跳过此步,因为教程自带有ERNIE的包。
!git clone -b dygraph --single-branch https://github.com/PaddlePaddle/ERNIE.git
使用pip方式安装其他依赖文件。
!pip install -r ERNIE/requirements.txt
依赖文件主要包括:
numpy:Python的一种开源数值计算拓展,可以用来进行大型张量的存储和计算。scikit-learn:机器学习工具包。scipy:科学计算库。six:解决py2和py3代码兼容性的工具包。
二、快速运行
这里以使用情感分析数据集ChnSentiCorp的ERNIE中文预模型为例,展示如何通过简单的三个步骤就可以快速使用ERNIE 1.0中文Base模型实现情感分析场景的推理。
ChnSentiCorp是一个中文情感分析数据集,包含酒店、笔记本电脑和书籍的网购评论。表1对ERNIE1.0/2.0和BERT中文模型在该任务上的效果进行了评测,评测使用的指标为准确率(acc),即在使用验证集或测试集进行推理时,推理正确的数据条目占数据集数据总数的百分比。从表1中可以看到ERNIE具有明显的优势。
使用ERNIE 1.0中文Base模型进行推理分如下三个步骤:
数据获取。介绍如何下载ChnSentiCorp数据集,以及数据集的结构,这样用户可以参考数据集的结构构造用于Fine-tuning的数据集。此外如果用户希望使用自定义数据集进行训练,则可以仿照ChnSentiCorp数据集的结构,构建自己的数据集。
运行Fine-tuning。介绍如何设置数据和模型路径的环境变量,以及如何执行脚本进行Fine-tuning。
执行推理。使用脚本运行Fine-tuning成功的模型进行推理。
表1 ERNIE1.0/2.0和BERT的测评表
数据集
ChnSentiCorp
评估
指标
准确率(acc)
验证集(dev)
测试集(test)
BERT Base94.694.3ERNIE 1.0 Base95.2 (+0.6)95.4 (+1.1)ERNIE 2.0 Base95.7 (+1.1)95.5 (+1.2)ERNIE 2.0 Large 96.1 (+1.5)95.8 (+1.5)1. 数据获取
ERNIE在多个中文和英文NLP任务上做过评测,中文任务的数据可以通过下面的命令获取, ChnSentiCorp数据亦包含其中。
!wget https://ernie-github.cdn.bcebos.com/data-chnsenticorp.tar.gz!tar xvf data-chnsenticorp.tar.gz