任务介绍

评测任务

第三届“讯飞杯”中文机器阅读理解(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%占比):

  1. 本次评测优先按照问题准确率QAC从高到低进行排列。

  2. 当两个队伍在问题准确率QAC上完全一致时,则进一步考虑篇章准确率PAC,高者排前。