Dieses Repo enthält den Pytorch -Code für papierbewusste Aufmerksamkeit und beaufsichtigte Daten verbessern die Slot-Füllung.
Der Tacred -Datensatz : Details zum TAC -Relationsextraktionsdatensatz finden Sie auf dieser Datensatz -Website.
Download und entpeilte Handschuhvektoren von der Stanford -Website mit:
chmod +x download.sh; ./download.sh
Bereiten Sie dann Vokabular und anfängliche Wortvektoren vor:
python prepare_vocab.py dataset/tacred dataset/vocab --glove_dir dataset/glove
Dadurch wird Vokabeln und Wortvektoren als numpy Matrix in den DIR dataset/vocab geschrieben.
Trainieren Sie ein positionesbewusstes RNN-Modell mit::
python train.py --data_dir dataset/tacred --vocab_dir dataset/vocab --id 00 --info "Position-aware attention model"
Verwenden Sie --topn N um nur die Top -N -Wortvektoren zu beenden. Das Skript führt die Vorverarbeitung automatisch durch (Word -Dropout, Entitätsmaskierung usw.).
Trainieren Sie ein LSTM -Modell mit:
python train.py --data_dir dataset/tacred --vocab_dir dataset/vocab --no-attn --id 01 --info "LSTM model"
Modellkontrollpunkte und -protokolle werden auf ./saved_models/00 gespeichert.
Ausführen der Bewertung im Testsatz mit:
python eval.py saved_models/00 --dataset test
Dadurch wird standardmäßig die best_model.pt verwendet. Verwenden Sie --model checkpoint_epoch_10.pt um eine Modell -Checkpoint -Datei anzugeben. Hinzufügen --out saved_models/out/test1.pkl um die Modellwahrscheinlichkeitswahrscheinlichkeit in Dateien (für Ensemble usw.) zu schreiben.
Bitte beachten Sie das Beispiel -Skript ensemble.sh .
Alle in diesem Paket enthaltenen Arbeiten sind unter der Apache -Lizenz, Version 2.0, lizenziert. Siehe die mitgelieferte Lizenzdatei.