ChineseGLUE:为中文NLP模型定制的自然语言理解基准

Posted Terry_dong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ChineseGLUE:为中文NLP模型定制的自然语言理解基准相关的知识,希望对你有一定的参考价值。

 

GLUE 是一个用于评估通用 NLP 模型的基准,其排行榜可以在一定程度上反映 NLP 模型性能的高低。然而,现有的 GLUE 基准针对的是英文任务,无法评价 NLP 模型处理中文的能力。为了填补这一空白,国内关注 NLP 的热心人士发布了一个中文语言理解测评基准——ChineseGLUE。ChineseGLUE 目前拥有八个数据集的整体测评及其基线模型,目前已经有 20多位来自各个顶尖机构的自愿者加入并成为了创始会员。

ChineseGLUE 的成员包括全国各地关注 NLP 的热心专业人士,包括清华、北大、浙大等知名高校的毕业生。团队的愿景是通过完善中文语言理解基础设施,促进中文语言模型的发展,能够作为通用语言模型测评的补充,以更好地服务中文语言理解、任务和产业界。

项目地址:https://github.com/chineseGLUE/chineseGLUE

GLUE 是什么?有什么用?

为了使自然语言理解技术(NLU)发挥最大作用,NLU 模型必须能够处理多种任务或数据集。为此,来自纽约大学、华盛顿大学、DeepMind 等机构的研究者创建了一个多任务自然语言理解基准和分析平台——GLUE(General Language Understanding Evaluation),用于评估 NLP 模型在现有的多个自然语言理解任务中的性能。

 

GLUE 是九种(英语)语言理解任务的集合,包括文本蕴涵、情感分析和语法判断等。其设计目的是覆盖足够大的 NLP 领域。只有开发出足够通用的工具,才能在这一基准上表现良好。GLUE 的最终目标是推动通用的、鲁棒的自然语言理解系统的研究。

今年 4 月份,由于 BERT 等模型的出现,GLUE 基准在新模型的评估方面日渐乏力,研究者决定将其升级为 SuperGLUE。SuperGLUE 保留了两项 GLUE 任务,另外又加入了其它五项新任务,提高了这一测试基准的难度。

 

虽然这一基准测试已经升级,但不变的一点是,它只支持英文任务。因此,我们亟需一个中文版的 GLUE 基准。

为什么需要 ChineseGLUE?

对于 ChineseGLUE 的创建初衷,项目作者给出了三点理由:

  1. 中文是一个大语种,有其自身特定及大量的应用。产业界的 NLP 模型需要解决大量中文任务,而中文是象形文字,有文字图形;字与字之间没有分隔符,不同的分词 (分字或词) 会影响下游任务。
  2. 相对于英文数据集来说,中文数据集大多是非公开或者缺失基准测评的,大多数论文所描述的模型都是在英文数据集上做的测试和评估,在中文领域的效果却不得而知。
  3. 预训练模型的相继产生极大地促进了对自然语言的理解,但不少最先进的模型却没有中文版本,导致技术应用上的滞后。

所以,如果有一个中文任务的基准测试,包含一批大众能广泛使用和测评的数据集、适用中文任务的特点、能紧跟当前世界技术的发展,就能够更好地缓解当前中文任务的一些问题,并促进相关应用的发展。

ChineseGLUE 都有什么?

ChineseGLUE 是一个中文语言理解测评基准,思路源于 GLUE,包括:

1)中文任务的基准测试,覆盖多个不同程度的语言任务

一个包含若干句子或句子对语言理解任务的基准。当前,这些任务中使用的数据集是公开的,2019 年底前将收录具备私有测试集的数据集。

2)公开的排行榜

一个用于性能跟踪的公开排行榜。你可以提交跟这些任务相关的预测文件,每个任务都会被评估打分,最后会有一个总分。

排行榜会定期更新,并迅速扩大可公开使用和测评的数据集数量(cmrc2018 仅开发集结果)

 

TNEWS:文本分类;LCQMC:语义相似度;XNLI:自然语言推理;INEWS:情感分析;DRCD & CMRC2018:阅读理解;cmrc2018 仅开发集结果。

3)基线模型,包含开始的代码、预训练模型

ChineseGLUE 任务的基线。基线应该是在 TensorFlow,PyTorch,Keras 和 PaddlePaddle 中可使用的。

4)语料库,用于语言建模、预训练或生成型任务

用于预训练或语言建模研究的巨型原始语料库,大约 10G(2019 年)。

2020 年上半年,至少具备 30G 的原始语料库;到 2020 年底将包含充足的原始语料库(例如 100G),它足够大,以至于你不再需要那种用于通用语言建模的原始语料库。

你可以将其用于常规用途或特定领域,甚至用于文本生成。当用于特定领域时,你可以选择自己感兴趣的语料库。

数据集

ChineseGLUE 的目标是包含 8 个覆盖不同任务的有代表性的数据集,包括:

1. LCQMC 口语化描述的语义相似度任务

输入是两个句子,输出是 0 或 1。其中 0 代表语义不相似,1 代表语义相似。

数据量:训练集 (238,766),验证集 (8,802),测试集 (12,500)
 例子: 
 1. 聊天室都有哪些好的 [分隔符] 聊天室哪个好 [分隔符] 1
 2. 飞行员没钱买房怎么办?[分隔符] 父母没钱买房子 [分隔符] 0

2. XNLI 语言推断任务

跨语言理解的数据集,给定一个前提和假设,判断这个假设与前提是否具有蕴涵、对立、中性关系。

数据量:训练集 (392,703),验证集 (?),测试集 (?)
 例子: 
 1. 从 概念 上 看 , 奶油 收入 有 两 个 基本 方面 产品 和 地理 .[分隔符] 产品 和 地理 是 什么 使 奶油 抹 霜 工作 . [分隔符] neutral
 2. 我们 的 一个 号码 会 非常 详细 地 执行 你 的 指示 [分隔符] 我 团队 的 一个 成员 将 非常 精确 地 执行 你 的 命令 [分隔符] entailment
 原始的 XNLI 覆盖 15 种语言(含低资源语言)。我们选取其中的中文,并将做格式转换,使得非常容易进入训练和测试阶段。

3.TNEWS 今日头条中文新闻(短文本)分类

数据量:训练集 (266,000),验证集 (57,000),测试集 (57,000)
 例子:
 6552431613437805063_!_102_!_news_entertainment_!_谢娜为李浩菲澄清网络谣言,之后她的两个行为给自己加分_!_佟丽娅, 网络谣言, 快乐大本营, 李浩菲, 谢娜, 观众们
 每行为一条数据,以_!_分割的个字段,从前往后分别是 新闻 ID,分类 code,分类名称,新闻字符串(仅含标题),新闻关键词

4.INEWS 互联网情感分析任务

数据量:训练集 (5,356),验证集 (1,000),测试集 (1,000) 
 例子:
 1_!_00005a3efe934a19adc0b69b05faeae7_!_九江办好人民满意教育_!_近 3 年来,九江市紧紧围绕「人本教育、公平教育、优质教育、幸福教育」的目标,努力办好人民满意教育,促进了义务教育均衡发展,农村贫困地区办学条件改善。目前,该市特色教育学校有 70 所 ......
 每行为一条数据,以_!_分割的个字段,从前往后分别是情感类别,数据 id,新闻标题,新闻内容

5.DRCD 繁体阅读理解任务

台达阅读理解资料集 Delta Reading Comprehension Dataset (DRCD)属于通用领域繁体中文机器阅读理解资料集,本资料集期望成为适用于迁移学习之标准中文阅读理解资料集。

数据量:训练集 (8,016 个段落,26,936 个问题),验证集 (1,000 个段落,3,524 个问题),测试集 (1,000 个段落,3,493 个问题) 
例子:
 "version": "1.3",
 "data": [
 
 "title": "基督新教",
 "id": "2128",
 "paragraphs": [
 
 "context": "基督新教與天主教均繼承普世教會歷史上許多傳統教義,如三位一體、聖經作為上帝的啟示、原罪、認罪、最後審判等等,但有別於天主教和東正教,新教在行政上沒有單一組織架構或領導,而且在教義上強調因信稱義、信徒皆祭司,以聖經作為最高權威,亦因此否定以教宗為首的聖統制、拒絕天主教教條中關於聖傳與聖經具同等地位的教導。新教各宗派間教義不盡相同,但一致認同五個唯獨:唯獨恩典:人的靈魂得拯救唯獨是神的恩典,是上帝送給人的禮物。唯獨信心:人唯獨藉信心接受神的赦罪、拯救。唯獨基督:作為人類的代罪羔羊,耶穌基督是人與上帝之間唯一的調解者。唯獨聖經:唯有聖經是信仰的終極權威。唯獨上帝的榮耀:唯獨上帝配得讚美、榮耀",
 "id": "2128-2",
 "qas": [
 
 "id": "2128-2-1",
 "question": "新教在教義上強調信徒皆祭司以及什麼樣的理念?",
 "answers": [
 
 "id": "1",
 "text": "因信稱義",
 "answer_start": 92
 
 ]
 ,
 
 "id": "2128-2-2",
 "question": "哪本經典為新教的最高權威?",
 "answers": [
 
 "id": "1",
 "text": "聖經",
 "answer_start": 105
 
 ]
 
 ]
 
 ]
 
 ]

数据格式和 squad 相同,如果使用简体中文模型进行评测的时候可以将其繁转简 (本项目已提供)

6.CMRC2018 简体中文阅读理解任务

https://hfl-rc.github.io/cmrc2018/

数据量:训练集 (短文数 2,403,问题数 10,142),试验集 (短文数 256,问题数 1,002),开发集 (短文数 848,问题数 3,219) 
例子:
 "version": "1.0",
 "data": [
 
 "title": "傻钱策略",
 "context_id": "TRIAL_0",
 "context_text": "工商协进会报告,12 月消费者信心上升到 78.1,明显高于 11 月的 72。另据《华尔街日报》报道,2013 年是 1995 年以来美国股市表现最好的一年。这一年里,投资美国股市的明智做法是追着「傻钱」跑。所谓的「傻钱」策略,其实就是买入并持有美国股票这样的普通组合。这个策略要比对冲基金和其它专业投资者使用的更为复杂的投资方法效果好得多。",
 "qas":[
 
 "query_id": "TRIAL_0_QUERY_0",
 "query_text": "什么是傻钱策略?",
 "answers": [
 "所谓的「傻钱」策略,其实就是买入并持有美国股票这样的普通组合",
 "其实就是买入并持有美国股票这样的普通组合",
 "买入并持有美国股票这样的普通组合"
 ]
 ,
 
 "query_id": "TRIAL_0_QUERY_1",
 "query_text": "12 月的消费者信心指数是多少?",
 "answers": [
 "78.1",
 "78.1",
 "78.1"
 ]
 ,
 
 "query_id": "TRIAL_0_QUERY_2",
 "query_text": "消费者信心指数由什么机构发布?",
 "answers": [
 "工商协进会",
 "工商协进会",
 "工商协进会"
 ]
 
 ]
 
 ]

数据格式和 squad 相同

7. CCKS2018 Task3 智能客服问句匹配

该数据集是自动问答系统语料,共有 100,000 对句子对,并标注了句子对相似度值,取值为 0 或 1(0 表示不相似,1 表示相似),并按 70:20:10 比例分割成训练集、开发集和测试集。数据中存在错别字、语法不规范等问题,但更加贴近工业场景。

数据量:训练集 (70,000),验证集 (20,000),测试集 (10,000)
 例子: 
 1. 我存钱还不扣的 [分隔符] 借了每天都要还利息吗 [分隔符] 0
 2. 为什么我的还没有额度 [分隔符] 为啥没有额度!![分隔符] 1

8. MSRANER 命名实体识别

该数据集共有 5 万多条中文命名实体识别标注数据(包括人名、地名、组织名),分别用 nr、ns、nt 表示,其他实体用 o 表示。

数据量:训练集(46,364),测试集(4,365)
 例子: 
 1.据说/o 应/o 老友/o 之/o 邀/o ,/o 梁实秋/nr 还/o 坐/o 着/o 滑竿/o 来/o 此/o 品/o 过/o 玉峰/ns 茶/o 。/o
 2.他/o 每年/o 还/o 为/o 河北农业大学/nt 扶助/o 多/o 名/o 贫困/o 学生/o 。/o

9. 还在添加中

读者如果有定义良好的数据集,可以和创建团队联系。

数据集下载地址:https://storage.googleapis.com/chineseglue/chineseGLUEdatasets.v0.0.1.zip

或使用命令:

wget https://storage.googleapis.com/chineseglue/chineseGLUEdatasets.v0.0.1.zip

排行榜及各任务对比

TNEWS 短文本分类:

 

XNLI 自然语言推理:

 

注:ALBERT-xlarge,在 XNLI 任务上训练暂时还存在有问题。

LCQMC 口语化描述的语义相似度匹配:

 

INEWS 互联网情感分析:

 

DRCD 繁体阅读理解:

 

CMRC2018 阅读理解 (暂时只有开发集结果):

 

CCKS2018 Task3 智能客服问句匹配:

 

基线模型代码

1、数据集整体下载,解压到 glue 文件夹里

cd gluewget https://storage.googleapis.com/chineseglue/chineseGLUEdatasets.v0.0.1.zip

lcqmc 数据集,请从以下链接申请或搜索网络 :http://icrc.hitsz.edu.cn/info/1037/1146.htm

2、训练模型

a. 将预训练模型下载解压到对应的模型中 prev_trained_model 文件夹里。以 bert 和 albert 为例子:

 ``` a1. albert ``` 
 ```https://github.com/brightmart/albert_zh ``` 
 ```a1. bert ``` 
 ```https://github.com/google-research/bert ``` 

b. 修改 run_classifier.sh 指定模型路径

c. 运行各个模型文件夹下的 run_classifier.sh 即可sh run_classifier.sh

3、详见:基准模型-模型训练

https://github.com/chineseGLUE/chineseGLUE/tree/master/baselines

语料库:语言建模、预训练或生成型任务

可用于语言建模、预训练或生成型任务等,数据量超过 10G,主要部分来自于 nlp_chinese_corpus 项目。

当前语料库按照【预训练格式】处理,内含有多个文件夹;每个文件夹有许多不超过 4M 大小的小文件,文件格式符合预训练格式:每句话一行,文档间空行隔开。

包含如下子语料库(总共 14G 语料):

  1. 新闻语料: 8G 语料,分成两个上下两部分,总共有 2000 个小文件。
  2. 社区互动语料:3G 语料,包含 3G 文本,总共有 900 多个小文件。
  3. 维基百科:1.1G 左右文本,包含 300 左右小文件。
  4. 评论数据:2.3G 左右文本,含有 811 个小文件,合并 ChineseNLPCorpus 的多个评论数据,清洗、格式转换、拆分成小文件。

可以通过上面这两个项目,清洗数据并做格式转换获得语料;也可以通过邮件申请获得单个项目的语料。

以上是关于ChineseGLUE:为中文NLP模型定制的自然语言理解基准的主要内容,如果未能解决你的问题,请参考以下文章

NLP的Taskflow API

产品经理如何入门自然语言处理(NLP)?

自然语言处理(NLP)基于ERNIE语言模型的文本语义匹配

自然语言处理全家福:纵览当前NLP中的任务数据模型与论文

智能开放搜索上线定制分词器

自然语言处理(NLP)——语言模型预训练方法(ELMoGPT和BERT)