菜鸟笔记-DuReader阅读理解基线模型代码阅读笔记(一)—— 数据

机器阅读理解是可以让计算机读取、处理、理解自然语言文本,这是人工智能的核心能力之一。在下一代搜索引擎和智能客服产品中具有重要价值。百度在2017年发布了大规模的中文MRC数据集:DuReader。

DuReader的特点

它是一个新的大型开放中文机器阅读理解数据集,其在中文应用中还是很有开创意义。相比以前的MRC数据集,DuReader有以下特点:

  • 所有的问题、原文都来源于实际数据(百度搜索引擎数据和百度知道问答社区),答案是由人类回答的。
  • 数据集中包含大量的之前很少研究的是非和观点类的样本。
  • 每个问题都对应多个答案,数据集包含200k问题、1000k原文和420k答案,是目前最大的中文MRC数据集。

数据集

下载地址:可以下载原始数据及预处理过的数据,我们从原始数据开始研究。
DuReader数据集是基于问题和文档来对答案进行标注,由于一个问题可能对应多个文档,所以一个问题可能有多个答案,对于及其相似的答案则归为一个。数据集中的数据主要来自百度知道和百度搜索引擎,分别存放于zhidao..json,search..json,基线系统默认运行于search.*.json,单条数据格式如下:

{
“question_id”: 186358,
“question_type”: “YES_NO”,
“question”: “上海迪士尼可以带吃的进去吗”,
“documents”: [
{
‘paragraphs’: [“text paragraph 1”, “text paragraph 2”]
},

],
“answers”: [
“完全密封的可以,其它不可以。”, // answer1
“可以的,不限制的。只要不是易燃易爆的危险物品,一般都可以带进去的。”, //answer2
“罐装婴儿食品、包装完好的果汁、水等饮料及包装完好的食物都可以带进乐园,但游客自己在家制作的食品是不能入园,因为自制食品有一定的安全隐患。” // answer3
],
“fact_or_opinion”:FACT
}

数据集包括 ‘question_id’:问题编码, ‘question_type’:问题类型, ‘question’:问题,‘documents’:文档集, ‘answers’:答案集, ‘fact_or_opinion’:事实或选择,这些属性。

读取查看数据代码

下载数据后,可以在jupyter notebook中通过以下代码读取数据的第n行

import os
n = 10
f = open('./data/raw/trainset/search.train.json','r',encoding='utf8')
for i in range(n):
    line = f.readline()
f.close()
line = json.loads(line)

可以通过修改n,来修改读取第几行。然后可以通过下面指令查看数据:

line

如图:
菜鸟笔记-DuReader阅读理解基线模型代码阅读笔记(一)—— 数据_第1张图片
通过

line.keys()

查看数据包含的属性,如图:
查看数据属性
引用:
DuReader数据集
DuReader Baseline Systems (基线系统)
DuReader:百度大规模的中文机器阅读理解数据集

你可能感兴趣的:(NLP,#,机器阅读理解)