2016-09-15 49 views
4

我一直在測試textsum與二進制數據和gigaword數據,訓練有素的模型和測試。波束搜索解碼器爲我提供了所有'UNK'結果以及數據和模型。我正在使用默認參數設置。textsum波束搜索解碼器給出所有<UNK>結果

我首先更改data.py和batch_reader.py中的數據接口,以讀取和解析gigaword數據集中的文章和摘要。我在大約170萬份文件上訓練了一個超過90,000個小批量的模型。然後我在不同的測試集上測試了模型,但它返回了所有結果。 decoder result from model trained with gigaword

然後我用二進制數據和文本碼一起訓練一個小於1k小批量的小型模型。我測試了相同的二進制數據。它給出解碼文件中的所有結果,除了少數'for'和'。'。 decoder result from model trained with binary data 我還查看了關於培訓損失的張量板,它顯示了培訓趨同。

在培訓和測試中,我沒有更改任何默認設置。 有沒有人嘗試過和我一樣的事情,並發現相同的問題?

+1

我也看到了同樣的情況。我不幸沒有訪問gigaword數據集,但是當試圖對玩具數據集進行訓練並運行解碼時,我也看到類似於「用二進制數據訓練的模型解碼器結果」鏈接的結果。我打算在這裏發帖,詢問是否有什麼我失蹤,並看到你已經發布。有沒有想到這一點運氣? – xtr33me

+1

是的,「」問題是由詞彙引起的。我重新生成了千兆字數據的詞彙並對其進行了訓練。現在它有一些有意義的結果。 – Rui

回答

2

我想我發現它至少爲給定的玩具數據集發生了什麼。在我的情況下,我用相同的玩具組(數據& vocab文件)進行了訓練和測試。我在解碼器結果中獲得[UNK]的原因是,vocab文件不包含任何出現在玩具數據集摘要中的單詞。由於這個原因,解碼器找不到解碼字,因此在最終結果中使用[UNK]

+0

是的,你是對的。我後來也發現並重新生成了詞彙。 – Rui