2015-11-05 138 views

回答

6

所以你基本上需要做的是如下:

  1. Tokenize sequnces:將字符串轉換爲單詞(特徵):例如:「hello my name is georgio」to [「hello」,「my」,「name」,「is」,「georgio」]。
  2. 接下來,您想刪除停用詞(查看停用詞是什麼)。
  3. 這個階段是可選的,它可能會導致錯誤的結果,但我認爲這值得一試。遏制你的話(功能),這樣你會減少功能的數量,這將導致更快的運行。再次,這是可選的,可能會導致一些失敗,例如:如果您設置「停車」這個詞,您將獲得具有不同含義的「停車」。
  4. 接下來的事情是創建一個字典(檢查Google)。每個單詞都有一個唯一的編號,從這一點我們只會使用這個編號。
  5. 電腦只能理解數字,所以我們需要用他們的語言進行交談。我們將從第4階段開始取詞典,並用我們的語料庫中的每個單詞替換其匹配的數字。
  6. 現在我們需要將我們的數據集分爲兩組:訓練和測試集。其中一個(訓練)將訓練我們的NN模型,第二個(測試)將幫助我們弄清楚NN的優點。您可以使用Keras的交叉驗證功能。
  7. 接下來的事情是定義什麼是我們的NN可以作爲輸入獲取的最大特徵數量。凱拉斯稱這個參數爲'maxlen'。但是您不必手動執行此操作,Keras可以通過搜索您的語料庫中最長的句子來自動執行此操作。
  8. 接下來,假設Keras發現你的語料庫中最長的句子有20個單詞(特徵),你的一個句子是第一個階段的例子,它的長度是5(如果我們將刪除停用詞它會更短),在這種情況下,我們需要添加零,實際上是15個零。這就是所謂的pad序列,我們這樣做,所以每個輸入序列的長度都是相同的。
1

這可能有幫助。 http://keras.io/models/

下面是一個示例用法。 How to use keras for XOR

也許你不得不UR文集轉換成ndarray第一扔給你model.predict

從它似乎至今培養模式的model.predict輸入應該是100個字語料代表字典中每個單詞的索引。所以,如果你想與烏爾語料訓練它,你必須根據這些字典烏爾語料庫轉換,看看結果是0或1

+0

@PanuwatAssawinjaipetch請編輯您的答案以充實您評論中的信息。 – UmNyobe