我是keras的新手,儘管閱讀了文檔和keras中的examples
文件夾,但我仍在爲如何將所有東西放在一起而苦苦掙扎。如何將輸入按入Keras框架?
特別是,我想從一個簡單的任務開始:我有一個令牌序列,每個令牌只有一個標籤。我有很多像這樣的訓練數據 - 實際上是無限的,因爲我可以根據需要生成更多的訓練對。
我想建立一個網絡來預測標記給定的標記。令牌數量必須始終與標籤數量相同(一個令牌=一個標籤)。
我想這是基於所有周圍的令牌的,說在同一行或句子或窗口 - 不只是在前面的令牌。
我多遠得到了我自己:
- 創建的培訓numpy的載體,在這裏我轉換每個句子爲令牌載體(同樣長度的)標籤的載體,使用令牌的to-int和label-to-int映射
- 使用
categorical_crossentropy
和一個基於https://github.com/fchollet/keras/blob/master/examples/lstm_text_generation.py的LSTM層編寫了模型。
現在掙扎:
- 所有
input_dim
和input_shape
參數......因爲每個句子都有不同長度(不同數量的令牌,並在它的標籤),我應該把作爲input_dim
爲輸入層? - 如何告知網絡使用整個令牌句子進行預測,而不僅僅是一個令牌?如何根據標記序列預測標籤的整個序列,而不僅僅是基於先前標記的標籤?
- 是否將文本拆分爲句子或窗口有意義?或者我可以將整個文本的矢量作爲單個序列傳遞給它?什麼是「序列」?
- 什麼是「時間片」和「時間步」?文件不斷提及,我不知道這是如何與我的問題。什麼是keras的「時間」?
基本上我無法連接像「時間」或「序列」文檔的概念到我的問題。像Keras#40這樣的問題並沒有讓我更聰明。
指向Web或代碼示例上的相關示例將非常感謝。不尋找學術文章。
謝謝!