1、层次分类简介

本项目提供通用场景下基于预训练模型微调的层次分类端到端应用方案,打通数据标注-模型训练-模型调优-模型压缩-预测部署全流程,有效缩短开发周期,降低AI开发落地门槛。

层次文本分类任务的中数据样本具有多个标签且标签之间存在特定的层级结构,目标是预测输入句子/文本可能来自于不同级标签类别中的某一个或几个类别。下面是以图新闻文本分类为例,该新闻的一级标签为体育,二级标签为足球,体育与足球之间存在层级关系。在现实场景中,大量的数据如新闻分类、专利分类、学术论文分类等标签集合存在层次化结构,需要利用算法为文本自动标注更细粒度和更准确的标签。
image.png
数据集的标签集具有多级标签且标签之间具有层级结构关系,输入句子/文本具有一个或多个标签。在文本层次分类任务中,我们需要预测输入句子/文本可能来自于不同级标签类别中的某一个或几个类别。以上图层次分类中新闻文本为例(新闻为根节点),该新闻一级分类标签为 体育,二级分类标签为 足球。

参考飞桨选手-littlefish

以下代码fork后可以直接run
https://aistudio.baidu.com/aistudio/projectdetail/4715774

2、安装说明

AI Studio平台默认安装了Paddle和PaddleNLP,并定期更新版本。 如需手动更新,可参考如下说明:

python >= 3.6
| paddlepaddle >= 2.3
| paddlenlp >= 2.4
| scikit-learn >= 1.0.2

3、数据准备

采用AliExpress全球速卖通商品数据集

https://aistudio.baidu.com/aistudio/datasetdetail/172300

4、模型选择

以下展示了paddle采用的2020语言与智能技术竞赛:事件抽取任务抽取的多标签层次数据集的结果展示

精度评价指标:Micro F1分数、Macro F1分数

模型结构Micro F1(%)Macro F1(%)latency(ms)
ERNIE 1.0 Large Cw24-layer, 1024-hidden, 20-heads96.2494.245.59
ERNIE 3.0 Xbase20-layer, 1024-hidden, 16-heads96.2194.135.51
ERNIE 3.0 Base12-layer, 768-hidden, 12-heads95.6893.392.01
ERNIE 3.0 Medium6-layer, 768-hidden, 12-heads95.2693.221.01
ERNIE 3.0 Mini6-layer, 384-hidden, 12-heads94.7293.030.36
ERNIE 3.0 Micro4-layer, 384-hidden, 12-heads94.2493.080.24
ERNIE 3.0 Nano4-layer, 312-hidden, 12-heads93.9891.250.19
ERNIE 3.0 Medium + 裁剪(保留比例3/4)6-layer, 768-hidden, 9-heads95.4593.400.81
ERNIE 3.0 Medium + 裁剪(保留比例2/3)6-layer, 768-hidden, 8-heads95.2393.270.74
ERNIE 3.0 Medium + 裁剪(保留比例1/2)6-layer, 768-hidden, 6-heads94.9292.700.61

本项目由于数据集是英文,故采用ernie-2.0-base-en模型

最后修改:2022 年 10 月 16 日
如果觉得我的文章对你有用,请随意赞赏