当我使用ATIS(航空公司旅行信息系统)数据集(http://lisaweb.iro.umontreal.ca/transfert/lisa/users/mesnilgr/atis/)在递归神经网络中进行研究时。我对它的结构感到困惑。

例如,使用data = pickle.load(open("./dataset/atis.fold0.pkl", "rb"),encoding='iso-8859-1')加载atis.fold0.pkl之后,我使用print (np.shape(data_train))获取(4,)。我认为data [0]是训练集,data [1]是有效集,data [2]是测试集,data [3]是字典。

但是当我使用print(np.shape(data[0]))时,会得到(3, 3983)。我不知道为什么要得到3行?这三行之间有什么区别。

文件atis.fold0.pkl,atis.fold1.pkl,atis.fold2.pkl,atis.fold3.pkl和atis.fold4.pkl之间有什么区别?

最佳答案

f = gzip.open(filename, 'rb')
try:
    train_set, valid_set, test_set, dicts = pickle.load(f, encoding='latin1')
except:
    train_set, valid_set, test_set, dicts = pickle.load(f)


print np.shape(train_set)


每个泡菜可以分为训练,验证,测试及其字典。当您看到字典元素时,它们包含单词2idx
table2idx
标签2

现在测试以下代码
for i in train_set:print len(i[0])

它将返回相同长度的文件。
所以第一个元素是单词,第二个是table2idx,第三个是插槽填充的最终结果(labels2idx)

使用字典来解密ID,您将获得含义。

关于python - ATIS(航空旅行信息系统)数据集的结构是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36299544/

10-13 00:04