目录:NYT-Wiki数据集分析
【数据集分析】NYT-Wiki关系抽取数据集分析(一)—— 理解单条实例 【数据集分析】NYT-Wiki关系抽取数据集分析(二)—— 统计类别和实例数 【数据集分析】NYT-Wiki关系抽取数据集分析(三)—— 绘制Relation分布图
第一节,我们查看了每条数据的组成,并将每条数据都转化成json格式,方便后续操作对数据的取用。
本节统计一下数据集。
1. 统计数据集
目的就是填写下面表格中。
数据集类别数(关系数)实例数(句子数)
Train SetValid SetTest Set
获取上表所示统计信息包括两步:
读数据集,统计每个数据集中class和intances的个数。
2.代码
2.1 用json格式的数据集
import json
def dataset_description(path
):
rel_list
= []
count
= 0
with open(path
, 'r', encoding
= 'utf-8') as f
:
lines
= f
.readlines
()
for line
in lines
:
line
= json
.loads
(line
)
if line
['relation'] not in rel_list
:
rel_list
.append
(line
['relation'])
count
= len(lines
)
print(str(path
)+"中类别数{},实例数{}".format(len(rel_list
), count
))
return rel_list
, count
rel_list
, count
= dataset_description
(train_path
)
rel_list
, count
= dataset_description
(valid_path
)
rel_list
, count
= dataset_description
(test_path
)
2.2 用原数据集
def dataset_description()
rel_list
= []
count
= 0
with open(path
, 'r', encoding
= 'utf-8') as f
:
for line
in f
.readlines
():
line
= line
.strip
().split
('\t')
if line
[4] not in rel_list
:
rel_list
.append
(line
[4])
count
+= 1
return rel_list
, count