Использование модели Malstm (Siamse Networks + LSTM с Манхэттенским расстоянием) для обнаружения семантического сходства между парами вопросов. Обучающий набор данных используется подмножество исходного набора данных вопросов Quora (используемые пары ~ 363K).
Это реализация Keras, основанная на оригинальной бумаге (PDF) и отличной статье.
Caggle's 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). В результате я достиг примерно 82,29% точности после 50 эпох примерно через 10 минут.
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