Siamese LSTM
1.0.0
使用MALSTM模型(Siamese Networks + LSTM具有曼哈頓距離)來檢測問題對之間的語義相似性。所使用的培訓數據集是原始Quora問題對數據集的子集(使用的〜363K對)。
它是基於原始論文(PDF)和出色的媒介文章的KERAS實施。
kaggle的test.csv太大了,所以我只提取了前20個問題,並創建了一個名為test-20.csv的文件,並且在predict.py中使用。
您應該將所有數據文件放在./data目錄中。
$ python3 train.py
它使用上面提到的test-20.csv文件。
$ python3 predict.py
我嘗試使用各種參數,例如LSTM單元的隱藏狀態數量,LSTM單元的激活函數以及時期重複計數。我已經使用了NVIDIA TESLA P40 GPU X 2進行訓練,並且將10%的數據用作驗證集(批量尺寸= 1024*2)。結果,大約10分鐘後,我達到了50個時期後的精度約82.29%。
Epoch 50/50
363861/363861 [==============================] - 12s 33us/step - loss: 0.1172 - acc: 0.8486 - val_loss: 0.1315 - val_acc: 0.8229
Training time finished.
50 epochs in 601.24