资讯 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

适用场景&准备工作:阅读理解

简介

机器阅读理解是一类非常典型的NLP任务。在机器阅读理解(MRC)任务中,我们会给定一个问题(Q)以及一个或多个段落(P)/文档(D),然后利用机器在给定的段落中寻找正确答案(A),即Q + P or D => A. 机器阅读理解(MRC)是自然语言处理(NLP)中的关键任务之一,需要机器对语言有深刻的理解才能找到正确的答案。

适用场景

  • 典型应用为搜索的TOP1结果,可以帮助用户在有屏或无屏设备上更快速、准确地获取有用信息。
  • 对于实体重叠问题的信息抽取问题可以应用阅读理解中常见的神经网络结构。

数据准备

阅读理解的数据比较特殊,至少同时包含问题(Q)、段落(P)和答案(A),而段落偶尔会来自一篇完整的文章,所以常以json的格式进行存储。本文以Dureader的数据为例进行介绍。请注意,这里我们提供一份部分dureader的数据仅作为示例,您可以在DuReader中下载全量开源数据集。

训练集、测试集和验证集分别存放在./wenxin_appzoo/tasks/reading_comprehension/data目录下。

:该任务仅提供调用ernie的接口,数据集不需要分词,且词表采用ernie模型的默认词表。数据集(包含词表)均为utf-8格式。

训练集、测试集和验证集格式相同,数据为json形式存储,其中的关键字层级关系如下所示:

├── data
    ├── paragraphs
        ├── id
        ├── context
        ├── qas
            ├── question
            ├── id
            ├── answers
                ├── text
                ├── answer_start
            ├── question
            ├── id
            ├── answers
                ├── text
                ├── answer_start
            ...
        title
        id
    ...

示例数据如下所示:

{
   "data": [{
      "title": "",
      "paragraphs": [{
         "context": "爬行垫根据中间材料的不同可以分为:XPE爬行垫、EPE爬行垫、EVA爬行垫、PVC爬行垫;其中XPE爬行垫、EPE爬行垫都属于PE材料加保鲜膜复合而成,都是无异味的环保材料,但是XPE爬行垫是品质较好的爬行垫,韩国进口爬行垫都是这种爬行垫,而EPE爬行垫是国内厂家为了减低成本,使用EPE(珍珠棉)作为原料生产的一款爬行垫,该材料弹性差,易碎,开孔发泡防水性弱。EVA爬行垫、PVC爬行垫是用EVA或PVC作为原材料与保鲜膜复合的而成的爬行垫,或者把图案转印在原材料上,这两款爬行垫通常有异味,如果是图案转印的爬行垫,油墨外露容易脱落。当时我儿子爬的时候,我们也买了垫子,但是始终有味。最后就没用了,铺的就的薄毯子让他爬。您好,爬行垫一般色彩鲜艳,能吸引宝宝的注意力,当宝宝刚会爬的时候,趴在上面玩,相对比较安全,不存在从床上摔下来的危险。对宝宝的爬行还是很有好处的。还有就是妈妈选择爬行垫时可以选择无害的PE棉,既防潮又隔冷隔热。外有要有一层塑料膜,能隔绝液体进入垫子内部,而且方便清洗。宝宝每次爬行,一定要记得把宝宝的手擦干净。",
         "qas": [{
            "answers": [{
               "text": "XPE",
               "answer_start": 17
            }],
            "id": "DR-single-pre_and_next_paras-181574",
            "question": "爬行垫什么材质的好"
         }]
      }, 
      ..., 
      ]
   }]
}

ERNIE预训练模型选择

文心提供的ERNIE预训练模型的参数文件和配置文件在./wenxin_appzoo/wenxin_appzoo/models_hub/目录下,config目录下是所提供的所有ERNIE预训练模型的配置文件,dict目录下是所有ERNIR预训练模型对应的词表文件,ERNIE预训练模型的参数文件都存储在文心的仓库中,由对应的download_xx.sh文件是下载得到。以下是各个ERNIE预训练模型的介绍。

模型名称 简介 备注
ERNIE 3.0 ERNIE 3.0 (Large-Scale Knowledge Enhanced Pre-Training for Language Understanding And Generation) 是基于知识增强的多范式统一预训练框架。在ERNIE 3.0中,自回归和自编码网络被创新型地融合在一起进行预训练,其中自编码网络采用ERNIE 2.0的多任务学习增量式构建预训练任务,持续的进行语义理解学习。 通过新增的实体预测、句子因果关系判断、文章句子结构重建等语义任务。同时,自编码网络创新性地增加了知识增强的预训练任务。自回归网络基于Tranformer-XL结构,支持长文本语言模型建模。多范式的统一预训练模式使得ERNIE 3.0能够在理解任务、生成任务和零样本学习任务上获取SOTA的表现。
ERNIE 3.0-1.5B ERNIE3.0-1.5B是针对理解任务训练的大模型,模型规模处于ERNIE-Large和ERNIE3.0(10B)模型之间。通过增大模型规模以及提出Pretrain-RDrop技术,使得模型在多个中文主流下游任务上获得了明显的效果提升。在6大中文数据集上,1.5B模型相对ERNIE 2.3 Large模型平均提升+0.49%。

模型评估指标选择

阅读理解任务常用的指标有:

  • 精准匹配度(Exact Match,EM):计算预测结果与标准答案是否完全匹配。
  • 模糊匹配度(F1):计算预测结果与标准答案之间字级别的匹配程度。

运行环境选择

  • ERNIE网络优先考虑GPU机器,显存大小最好在10G以上。
上一篇
使用ERNIE进行训练&预测
下一篇
(New)模型蒸馏任务