任务介绍
评测任务
第三届“讯飞杯”中文机器阅读理解(CMRC 2019)的任务是句子级填空型阅读理解(Sentence Cloze-Style Machine Reading Comprehension, SC-MRC)。
根据给定的一个叙事篇章以及若干个从篇章中抽取出的句子,参赛者需要建立模型将候选句子精准的填回原篇章中,使之成为完整的一篇文章。 与第一届中文机器阅读理解(CMRC 2017)的填空型阅读理解不同的是:
-
空缺部分不再只是一个词,而是一个句子
-
每个篇章不只是一个空缺,会包含多个空缺位置,机器可利用的信息大大减少
-
候选选项中包含假选项,即该选项不属于篇章中任何一个空缺位置,显著增加了解答难度
评测数据
所有数据请通过官方GitHub目录下载:数据下载地址
集合 | 篇章数 | 问题数 | 假选项 | 是否公开 |
试验集(Trial Data) | 139 | 1,504 | 不含 | 公开 |
训练集(Train Data) | 9,638 | 100,009 | 不含 | 公开 |
开发集(Development Data) | 300 | 3,053 | 包含 | 公开 |
资格集(Qualifying Data) | - | - | 包含 | 答案隐藏 |
测试集(Test Data) | - | - | 包含 | 完全隐藏 |
数据格式
JSON字段 | 介绍 |
---|---|
context | 带空缺的篇章,空缺以[BLANK] 表示 |
context_id | 篇章的ID, 唯一 |
choices | 填入空缺内的候选句子,有序列表 |
answers | 填入空缺的句子序号顺序(句子序号从0开始计数) |
JSON举例(不包含假选项)
{
"data": [
{
"context": "森林里有一棵大树,树上有一个鸟窝。[BLANK1],还从来没有看到过鸟宝宝长什么样。
小松鼠说:“我爬到树上去看过,鸟宝宝光溜溜的,身上一根羽毛也没有。” “我不相信,”小白兔说,“所有的鸟都是有羽毛的。”
“鸟宝宝没有羽毛。”小松鼠说,“你不信自己去看。”
小白兔不会爬树,它没有办法去看。小白兔说:“我请蓝狐狸去看一看,我相信蓝狐狸的话。” 小松鼠说:“蓝狐狸跟你一样,也不会爬树。”
蓝狐狸说:“我有魔法树叶,我能变成一只狐狸鸟。” [BLANK2],一下子飞到了树顶上。 “蓝狐狸,你看到了吗?”小白兔在树下大声喊。
“我看到了,鸟窝里有四只小鸟,他们真是光溜溜的,一根羽毛也没有。”蓝狐狸说。 就在这时候,鸟妈妈和鸟爸爸回来了,
[BLANK3],立刻大喊大叫: “抓强盗啊!抓强盗啊!强盗闯进了我们家里,想偷我们的孩子!”
[BLANK4],全都飞了过来。他们扇着翅膀,朝蓝狐狸冲过来,用尖尖的嘴啄他,用爪子抓他。 蓝狐狸扑扇翅膀,赶紧飞。
鸟儿们排着队伍,紧紧追上来。[BLANK5],它飞得不高,也飞得不快。 “救命啊,救命!”蓝狐狸说,“我不是强盗,我是蓝狐狸!”
小白兔在草丛说:“你不是鸟,你飞不过他们,你赶快变回狐狸吧!” 蓝狐狸急忙落到地上,变回了狐狸,躲进深深的草丛里。
鸟儿们找不到蓝狐狸,只得飞走了。 蓝狐狸对小白兔说:“谢谢你。",
"choices": [
"蓝狐狸是第一次变成狐狸鸟",
"森林里所有的鸟听到喊声",
"他们看到鸟窝里蹲着一只蓝色的大鸟",
"蓝狐狸真的变成了一只蓝色的大鸟",
"小动物们只看到过鸟妈妈和鸟爸爸在鸟窝里飞进飞出"
],
"context_id": "SAMPLE_00001",
"answers": [4,3,2,1,0]
}
]
}
理解:上述例子中,[BLANK1]需填入choices[4],故answers[0]=4;[BLANK2]需填入choices[3],故answers[1]=3;以此类推。
JSON举例(包含假选项)
{
"data": [
{
"context": "森林里有一棵大树,树上有一个鸟窝。[BLANK1],还从来没有看到过鸟宝宝长什么样。
小松鼠说:“我爬到树上去看过,鸟宝宝光溜溜的,身上一根羽毛也没有。” “我不相信,”小白兔说,“所有的鸟都是有羽毛的。”
“鸟宝宝没有羽毛。”小松鼠说,“你不信自己去看。”
小白兔不会爬树,它没有办法去看。小白兔说:“我请蓝狐狸去看一看,我相信蓝狐狸的话。” 小松鼠说:“蓝狐狸跟你一样,也不会爬树。”
蓝狐狸说:“我有魔法树叶,我能变成一只狐狸鸟。” [BLANK2],一下子飞到了树顶上。 “蓝狐狸,你看到了吗?”小白兔在树下大声喊。
“我看到了,鸟窝里有四只小鸟,他们真是光溜溜的,一根羽毛也没有。”蓝狐狸说。 就在这时候,鸟妈妈和鸟爸爸回来了,
[BLANK3],立刻大喊大叫: “抓强盗啊!抓强盗啊!强盗闯进了我们家里,想偷我们的孩子!”
[BLANK4],全都飞了过来。他们扇着翅膀,朝蓝狐狸冲过来,用尖尖的嘴啄他,用爪子抓他。 蓝狐狸扑扇翅膀,赶紧飞。
鸟儿们排着队伍,紧紧追上来。[BLANK5],它飞得不高,也飞得不快。 “救命啊,救命!”蓝狐狸说,“我不是强盗,我是蓝狐狸!”
小白兔在草丛说:“你不是鸟,你飞不过他们,你赶快变回狐狸吧!” 蓝狐狸急忙落到地上,变回了狐狸,躲进深深的草丛里。
鸟儿们找不到蓝狐狸,只得飞走了。 蓝狐狸对小白兔说:“谢谢你。",
"choices": [
"蓝狐狸是第一次变成狐狸鸟",
"森林里所有的鸟听到喊声",
"他们看到鸟窝里蹲着一只蓝色的大鸟",
"蓝狐狸真的变成了一只蓝色的大鸟",
"小动物们只看到过鸟妈妈和鸟爸爸在鸟窝里飞进飞出",
"小松鼠变成了一只蓝色的大鸟"
],
"context_id": "SAMPLE_00002",
"answers": [4,3,2,1,0]
}
]
}
理解: 上述例子中,choices中的最后一个句子不属于[BLANK1] ~ [BLANK5]中的任何一个空缺,对模型的判别能力有更大的挑战。
评价指标
- 问题准确率(Question ACcuracy, QAC):计算问题(一个空即一个问题)级别的准确率
- 篇章准确率(Passage ACcuracy, PAC):计算篇章级别的准确率
例如:篇章中共有10个空,完全答对所有的空缺才算正确,否则不得分。
基线系统
我们提供了基于BERT (Chinese, base) 的基线系统:GitHub
注意:若使用BERT相关系统,可[BLANK]
替换成BERT词表(vocab.txt)中的[unused]
,避免被当做unk
或被切词切开,具体可参考基线代码实现。
目前仅提供试验集的基线结果,其他集合结果将在对应数据公开(开发集、资格集)或相关比赛节点开始(测试集)后提供。
集合 | QAC | PAC |
试验集(Trial Data) | 71.941% | 28.776% |
开发集(Development Data) | 70.586% | 13.333% |
资格集(Qualifying Data) | - | - |
测试集(Test Data) | - | - |
最终排名依据
最终的排名将根据测试集综合结果进行排名(80%占比),以及专家评审(20%占比)。
关于客观指标评价(80%占比):
-
本次评测优先按照问题准确率QAC从高到低进行排列。
-
当两个队伍在问题准确率QAC上完全一致时,则进一步考虑篇章准确率PAC,高者排前。