目录
【数据集分析】TACRED关系抽取数据集分析(一)—— 理解单条实例
【数据集分析】TACRED关系抽取数据集分析(二)—— 统计类别和实例数
【数据集分析】TACRED关系抽取数据集分析(三)—— Relation Distribution
【数据集分析】TACRED关系抽取数据集分析(四)—— train set 和 valid set中是否有重复数据
1. 思路
有些数据集和很不规范,train set和valid set 会有重复数据,造成数据的泄露,当然,TACRED应该不会有这个问题,因为它是关系抽取数据集中大家认可度很高的数据集合,但是也可以分析一下。
2. 代码
import numpy as np
def diff_of_two_dataset(path_list):
result = np.zeros((len(path_list), len(path_list)))
dataset = []
for path in path_list:
f = open(path, 'r', encoding='utf-8')
dataset.append(f)
for i in range(len(dataset)-1):
for j in range(i+1,len(dataset)):
temp_data = dataset[i].readlines()
for line in dataset[j].readlines():
if line in temp_data:
result[i][j] += 1
print(result)
pathList = [train_path, valid_path, test_path]
diff_of_two_dataset(pathList)
输出:
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
该输出说明Train set 和 Valid set 和 Test set之间没有重复的instance。