• Stars
    star
    128
  • Rank 279,377 (Top 6 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Python toolkit for Chinese Language Understanding(CLUE) Evaluation benchmark

PyCLUE

Python toolkit for Chinese Language Understanding Evaluation benchmark.

中文语言理解测评基准的Python工具包,快速测评代表性数据集、基准(预训练)模型,并针对自己的数据选择合适的基准(预训练)模型进行快速应用。

关于CLUE

datasets, baselines, pre-trained models, corpus and leaderboard

中文语言理解测评基准,包括代表性的数据集、基准(预训练)模型、语料库、排行榜。

我们会选择一系列有一定代表性的任务对应的数据集,做为我们测试基准的数据集。这些数据集会覆盖不同的任务、数据量、任务难度。

安装PyCLUE

现在,可以通过pip安装PyCLUE:

pip install --upgrade PyCLUE

或直接git clone安装PyCLUE:

pip install git+https://www.github.com/CLUEBenchmark/PyCLUE.git

基准(预训练)模型

已支持预训练语言模型

  1. BERT-zh
  2. BERT-wwm-ext
  3. albert_xlarge_zh_brightmart
  4. albert_large_zh_brightmart
  5. albert_base_zh_brightmart
  6. albert_base_ext_zh_brightmart
  7. albert_small_zh_brightmart
  8. albert_tiny_zh_brightmart
  9. roberta_zh_brightmart
  10. roberta_wwm_ext_zh_brightmart
  11. roberta_wwm_ext_large_zh_brightmart

待支持

  1. XLNet_mid
  2. ERNIE_base

快速评测CLUE数据集

数据集介绍及下载

注:数据集与CLUEBenchmark所提供的数据集一致,仅在格式上相应修改,以适应PyCLUE项目

1. AFQMC 蚂蚁金融语义相似度

数据介绍
数据量:训练集(34334)验证集(4316)测试集(3861)
例子:
{"sentence1": "双十一花呗提额在哪", "sentence2": "里可以提花呗额度", "label": "0"}
每一条数据有三个属性,从前往后分别是 句子1,句子2,句子相似度标签。其中label标签,1 表示sentence1和sentence2的含义类似,0表示两个句子的含义不同。

链接:https://pan.baidu.com/s/1It1SiMJbsrNl1dEOBoOGXg 提取码:ksd1

测评脚本

训练模型脚本位置:PyCLUE/clue/sentence_pair/afqmc/train.ipynb

参考:https://github.com/CLUEBenchmark/PyCLUE/blob/master/clue/sentence_pair/afqmc/train.ipynb

提交文件脚本位置:PyCLUE/clue/sentence_pair/afqmc/predict.ipynb

参考:https://github.com/CLUEBenchmark/PyCLUE/blob/master/clue/sentence_pair/afqmc/predict.ipynb

2. TNEWS' 今日头条中文新闻(短文本)分类 Short Text Classificaiton for News

数据介绍

该数据集来自今日头条的新闻版块,共提取了15个类别的新闻,包括旅游,教育,金融,军事等。

数据量:训练集(266,000),验证集(57,000),测试集(57,000)
例子:
{"label": "102", "label_des": "news_entertainment", "sentence": "江疏影甜甜圈自拍,迷之角度竟这么好看,美吸引一切事物"}
每一条数据有三个属性,从前往后分别是 分类ID,分类名称,新闻字符串(仅含标题)。

链接:https://pan.baidu.com/s/1Rs9oXoloKgwI-RgNS_GTQQ 提取码:s9go

测评脚本

训练模型脚本位置:PyCLUE/clue/classification/tnews/train.ipynb

参考:https://github.com/CLUEBenchmark/PyCLUE/blob/master/clue/classification/tnews/train.ipynb

提交文件脚本位置:PyCLUE/clue/classification/tnews/predict.ipynb

参考:https://github.com/CLUEBenchmark/PyCLUE/blob/master/clue/classification/tnews/predict.ipynb

3. IFLYTEK' 长文本分类 Long Text classification

数据介绍

该数据集共有1.7万多条关于app应用描述的长文本标注数据,包含和日常生活相关的各类应用主题,共119个类别:"打车":0,"地图导航":1,"免费WIFI":2,"租车":3,….,"女性":115,"经营":116,"收款":117,"其他":118(分别用0-118表示)。

数据量:训练集(12,133),验证集(2,599),测试集(2,600)
例子:
{"label": "110", "label_des": "社区超市", "sentence": "朴朴快送超市创立于2016年,专注于打造移动端30分钟即时配送一站式购物平台,商品品类包含水果、蔬菜、肉禽蛋奶、海鲜水产、粮油调味、酒水饮料、休闲食品、日用品、外卖等。朴朴公司希望能以全新的商业模式,更高效快捷的仓储配送模式,致力于成为更快、更好、更多、更省的在线零售平台,带给消费者更好的消费体验,同时推动中国食品安全进程,成为一家让社会尊敬的互联网公司。,朴朴一下,又好又快,1.配送时间提示更加清晰友好2.保障用户隐私的一些优化3.其他提高使用体验的调整4.修复了一些已知bug"}
每一条数据有三个属性,从前往后分别是 类别ID,类别名称,文本内容。

链接:https://pan.baidu.com/s/1EKtHXmgt1t038QTO9VKr3A 提取码:u00v

评测脚本

训练模型脚本位置:PyCLUE/clue/classification/iflytek/train.ipynb

参考:https://github.com/CLUEBenchmark/PyCLUE/blob/master/clue/classification/iflytek/train.ipynb

提交文件脚本位置:PyCLUE/clue/classification/iflytek/predict.ipynb

参考:https://github.com/CLUEBenchmark/PyCLUE/blob/master/clue/classification/iflytek/predict.ipynb

4. CMNLI 语言推理任务 Chinese Multi-Genre NLI

数据介绍

CMNLI数据由两部分组成:XNLI和MNLI。数据来自于fiction,telephone,travel,government,slate等,对原始MNLI数据和XNLI数据进行了中英文转化,保留原始训练集,合并XNLI中的dev和MNLI中的matched作为CMNLI的dev,合并XNLI中的test和MNLI中的mismatched作为CMNLI的test,并打乱顺序。该数据集可用于判断给定的两个句子之间属于蕴涵、中立、矛盾关系。

数据量:train(391,782),matched(12,426),mismatched(13,880)
例子:
{"sentence1": "新的权利已经足够好了", "sentence2": "每个人都很喜欢最新的福利", "label": "neutral"}
每一条数据有三个属性,从前往后分别是 句子1,句子2,蕴含关系标签。其中label标签有三种:neutral,entailment,contradiction。

链接:https://pan.baidu.com/s/1mFT31cBs2G6e69As6H65dQ 提取码:kigh

评测脚本

训练模型脚本位置:PyCLUE/clue/sentence_pair/cmnli/train.ipynb

参考:https://github.com/CLUEBenchmark/PyCLUE/blob/master/clue/sentence_pair/cmnli/train.ipynb

提交文件脚本位置:PyCLUE/clue/sentence_pair/cmnli/predict.ipynb

参考:https://github.com/CLUEBenchmark/PyCLUE/blob/master/clue/sentence_pair/cmnli/predict.ipynb

5. 诊断集 CLUE_diagnostics test_set

数据介绍

诊断集,用于评估不同模型在9种语言学家总结的中文语言现象上的表现。

使用在CMNLI上训练过的模型,直接预测在这个诊断集上的结果,提交格式和CMNLI一致,在排行榜详情页可以看到结果。(注:该数据集包含CMNLI的训练集与测试集)

链接:https://pan.baidu.com/s/1DYDUGO6xN_4xAT0Y4aNsiw 提取码:u194

评测脚本

训练模型脚本位置:PyCLUE/clue/sentence_pair/diagnostics/train.ipynb

参考:https://github.com/CLUEBenchmark/PyCLUE/blob/master/clue/sentence_pair/diagnostics/train.ipynb

提交文件脚本位置:PyCLUE/clue/sentence_pair/diagnostics/predict.ipynb

参考:https://github.com/CLUEBenchmark/PyCLUE/blob/master/clue/sentence_pair/diagnostics/predict.ipynb

6. 其他CLUE支持的数据集

补充中。

应用于自定义任务

1. 多分类任务 Multi Class Classification

任务说明

多分类任务,如文本分类、情感分类等,可接受单句输入和句子对输入两种形式。

数据要求

数据目录下应至少包含train.txt,dev.txt和labels.txt文件,可增加test.txt文件。

保存形式参考:

单句输入(对应评测脚本中的task_type = 'single'):PyCLUE/examples/classification/single_data_templates/,https://github.com/CLUEBenchmark/PyCLUE/blob/master/examples/classification/single_data_templates

句子对输入(对应评测脚本中的task_type = 'pairs'):PyCLUE/examples/classification/pairs_data_templates/,https://github.com/CLUEBenchmark/PyCLUE/blob/master/examples/classification/pairs_data_templates

注:应采用\t作为分隔符。

评测脚本

训练模型脚本位置:PyCLUE/examples/classification/train.ipynb

参考:https://github.com/CLUEBenchmark/PyCLUE/blob/master/examples/classification/train.ipynb

预测使用脚本位置:PyCLUE/examples/classification/predict.ipynb

参考:https://github.com/CLUEBenchmark/PyCLUE/blob/master/examples/classification/predict.ipynb

2. 句子对任务(孪生网络) Sentence Pair (Siamese)

任务说明

句子对任务(孪生网络),如相似句子对任务等。与多分类任务中的句子对输入模型区别:多分类任务中的句子对任务采用类似Bert的拼接形式进行输入,而该任务采用孪生网络的形式进行输入。

数据要求

数据目录下应至少包含train.txt,dev.txt和labels.txt文件,可增加test.txt文件。

保存形式参考:

输入:PyCLUE/examples/sentence_pair/data_templates/,https://github.com/CLUEBenchmark/PyCLUE/blob/master/examples/sentence_pair/data_templates

注:应采用\t作为分隔符。

评测脚本

训练模型脚本位置:PyCLUE/examples/sentence_pair/train.ipynb

参考:https://github.com/CLUEBenchmark/PyCLUE/blob/master/examples/sentence_pair/train.ipynb

预测使用脚本位置:PyCLUE/examples/sentence_pair/predict.ipynb

参考:https://github.com/CLUEBenchmark/PyCLUE/blob/master/examples/sentence_pair/predict.ipynb

3. 文本匹配任务(孪生网络) Text Matching (Siamese)

说明

文本匹配任务(孪生网络),如FAQ检索、QQ匹配检索等任务,使用孪生网络生成输入句子的embedding信息,使用hnswlib检索最相近的若干句子。

数据要求

数据目录下应至少包含cache.txt,train.txt,dev.txt和labels.txt文件,可增加test.txt文件。

保存形式参考:

输入:PyCLUE/examples/text_matching/data_templates/,https://github.com/CLUEBenchmark/PyCLUE/blob/master/examples/text_matching/data_templates

注:应采用\t作为分隔符。

评测脚本

训练模型脚本位置:PyCLUE/examples/text_matching/train.ipynb

参考:https://github.com/CLUEBenchmark/PyCLUE/blob/master/examples/text_matching/train.ipynb

预测使用脚本位置:PyCLUE/examples/text_matching/predict.ipynb

参考:https://github.com/CLUEBenchmark/PyCLUE/blob/master/examples/text_matching/predict.ipynb

训练生成文件

1. 模型文件

模型文件包含10个最新的checkpoint模型文件和pb模型文件(10个checkpoint模型文件在测试集dev.txt上表现最佳的模型)。

训练生成文件

2. 训练过程指标

训练过程生成的指标文件(train_metrics.png),分别为accuracy,total_loss,batch_loss,precision,recall和f1指标。

train_metrics

3. 验证过程指标

若存在验证文件test.txt且验证文件各行以true_label作为起始,则打印最佳模型在验证文件上的指标。

image-20200510133813806

API文档

更新中。

其他说明

正式地址:https://github.com/CLUEBenchmark/PyCLUE

调试地址:https://github.com/liushaoweihua/PyCLUE

Timeline

更新日志

  • 2019.12.05
    • 初版PyCLUE,用以快速评测CLUE数据集(文本分类、句子对任务);
  • 2020.05.10
    • 代码改版,合并冗余代码(测试版本:tensorflow 1.15.2),为简化API,在下游任务上暂时移除对TPU的支持;
    • 支持多版bert、albert和roberta模型,可根据指定预训练语言名自动下载并加载使用;
    • 支持文本分类、句子对、文本匹配任务;
    • 用以快速评测CLUE数据集(AFQMC/TNEWS/IFLYTEK/CMNLI),生成CLUEBenchmark可接受的提交文件;
    • 应用于自定义任务,快速快速生成checkpoint和tensorflow-serving支持部署的pb模型文件形式,并可加载pb模型文件进行预测;支持文件形式质检,保存误识别结果至指定目录。

更新计划

  • 2020.05 ~ 2020.08
    • 支持其他文本分类、句子对和文本匹配任务;
    • 支持序列标注任务;
    • 支持XLNET、ERNIE、ELECTRA等;
    • 支持预训练词向量模型(Word2Vec等),支持多类下游网络;
  • 2020.08 ~ 2020.10
    • 支持阅读理解任务;
    • 支持TF 2.0;
  • 2020.10 ~ 2020.12

More Repositories

1

CLUEDatasetSearch

搜索所有中文NLP数据集,附常用英文NLP数据集
Python
4,023
star
2

CLUE

中文语言理解测评基准 Chinese Language Understanding Evaluation Benchmark: datasets, baselines, pre-trained models, corpus and leaderboard
Python
3,934
star
3

SuperCLUE

SuperCLUE: 中文通用大模型综合性基准 | A Benchmark for Foundation Models in Chinese
2,908
star
4

CLUENER2020

CLUENER2020 中文细粒度命名实体识别 Fine Grained Named Entity Recognition
Python
1,440
star
5

CLUECorpus2020

Large-scale Pre-training Corpus for Chinese 100G 中文预训练语料
898
star
6

CLUEPretrainedModels

高质量中文预训练模型集合:最先进大模型、最快小模型、相似度专门模型
Python
795
star
7

FewCLUE

FewCLUE 小样本学习测评基准,中文版
Python
489
star
8

pCLUE

pCLUE: 1000000+多任务提示学习数据集
Jupyter Notebook
455
star
9

KgCLUE

KgCLUE: 大规模中文开源知识图谱问答
Python
422
star
10

SimCLUE

3000000+语义理解与匹配数据集。可用于无监督对比学习、半监督学习等构建中文领域效果最好的预训练模型
Python
271
star
11

CLGE

Chinese Language Generation Evaluation 中文生成任务基准测评
Python
246
star
12

DataCLUE

DataCLUE: 数据为中心的NLP基准和工具包
Python
144
star
13

ELECTRA

中文 预训练 ELECTRA 模型: 基于对抗学习 pretrain Chinese Model
140
star
14

OCNLI

OCNLI: 中文原版自然语言推理任务
Python
139
star
15

SuperCLUElyb

SuperCLUE琅琊榜:中文通用大模型匿名对战评价基准
139
star
16

SuperCLUE-Llama2-Chinese

Llama2开源模型中文版-全方位测评,基于SuperCLUE的OPEN基准 | Llama2 Chinese evaluation with SuperCLUE
125
star
17

SuperCLUE-Safety

SC-Safety: 中文大模型多轮对抗安全基准
93
star
18

DistilBert

DistilBERT for Chinese 海量中文预训练蒸馏bert模型
89
star
19

SuperCLUE-RAG

中文原生检索增强生成测评基准
79
star
20

SuperCLUE-Agent

SuperCLUE-Agent: 基于中文原生任务的Agent智能体核心能力测评基准
76
star
21

SuperCLUE-Open

中文通用大模型开放域多轮测评基准 | An Open Domain Benchmark for Foundation Models in Chinese
74
star
22

QBQTC

QBQTC: 大规模搜索匹配数据集
Python
67
star
23

CLUEWSC2020

CLUEWSC2020: WSC Winograd模式挑战中文版,中文指代消解任务
65
star
24

MobileQA

离线端阅读理解应用 QA for mobile, Android & iPhone
Python
60
star
25

modelfun

一站式自动化开源标注平台
Java
59
star
26

LightLM

高性能小模型测评 Shared Tasks in NLPCC 2020. Task 1 - Light Pre-Training Chinese Language Model for NLP Task
Python
57
star
27

ZeroCLUE

零样本学习测评基准,中文版
Python
54
star
28

SuperCLUE-Math6

SuperCLUE-Math6:新一代中文原生多轮多步数学推理数据集的探索之旅
Python
33
star
29

KgCLUEbench

benchmark of KgCLUE, with different models and methods
Python
27
star
30

SuperCLUE-Auto

汽车行业中文大模型测评基准,基于多轮开放式问题的细粒度评测
21
star
31

SuperCLUE-Role

SuperCLUE-Role中文原生角色扮演测评基准
18
star
32

SuperCLUE-Llama3-Chinese

Llama3开源模型中文版-全方位测评,基于SuperCLUE基准 | Llama3 Chinese Evaluation with SuperCLUE
17
star
33

LGEB

LGEB: Benchmark of Language Generation Evaluation
Python
16
star
34

SuperCLUE-Video

中文原生多层次文生视频测评基准
15
star
35

SuperCLUEgkzw

SuperCLUE高考作文机器自动阅卷系统
13
star
36

SuperCLUE-Industry

中文原生工业测评基准
11
star
37

KGQA

Knowledge Graph based Question Answering benchmark.
10
star
38

SuperCLUE-Code3

中文原生等级化代码能力测试基准
9
star
39

chatbotzh

This is a Chatbot designed for Chinese developers base on RASA. You could deploy your bot quickly with the help of this things.
Python
8
star
40

CLUEmotionAnalysis2020

CLUE Emotion Analysis Dataset 细粒度情感分析数据集
Python
7
star
41

SuperCLUE-Fin

中文金融大模型测评基准,六大类二十五任务、等级化评价,国内模型获得A级
7
star
42

SuperCLUE-Image

中文原生文生图测评基准
6
star
43

SuperCLUE-ICabin

汽车智能座舱大模型测评基准
5
star
44

SuperCLUE-Long

中文原生长文本测评基准
5
star