2016-03-30 33 views
2

當我使用ATIS(航空公司旅行信息系統)數據集(http://lisaweb.iro.umontreal.ca/transfert/lisa/users/mesnilgr/atis/)做循環神經網絡的研究。我很困惑它的結構。ATIS(航空旅行信息系統)數據集的結構是什麼

例如,使用data = pickle.load(open("./dataset/atis.fold0.pkl", "rb"),encoding='iso-8859-1')加載atis.fold0.pkl後,我用print (np.shape(data_train))得到(4,)。我認爲數據[0]是訓練集,數據[1]是有效集,數據[2]是測試集,數據[3]是字典。

但是,當我使用print(np.shape(data[0])),我得到(3, 3983)。我想知道爲什麼我會得到3行?這三行之間有什麼區別。

文件atis.fold0.pkl,atis.fold1.pkl,atis.fold2.pkl,atis.fold3.pkl,atis.fold4.pkl有什麼區別?

回答

2
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) 

每個泡菜可以分爲培訓,驗證,測試和它的字典。當你看到字典元素,它們所包含的
words2idx
tables2idx
labels2idx

現在測試下面的代碼 for i in train_set: print len(i[0])

它將返回相同長度的文件。 所以第一個元素就是單詞。第二個是tables2idx,第三個是slot填充的最終結果(labels2idx)

使用dict來解密id,你會得到含義。

+0

是包含在此數據集中的意圖? –

+0

我不知道。但我從來沒有遇到過這個數據集的意圖。你能檢查它嗎? –