repo นี้มีรหัส pytorch สำหรับความสนใจตำแหน่งกระดาษและข้อมูลภายใต้การดูแลปรับปรุงการเติมช่อง
ชุดข้อมูล TACRED : รายละเอียดเกี่ยวกับชุดข้อมูลการแยกความสัมพันธ์ TAC สามารถพบได้ในเว็บไซต์ชุดข้อมูลนี้
ก่อนอื่นให้ดาวน์โหลดและคลายตัวเวกเตอร์ถุงมือจากเว็บไซต์ Stanford ด้วย:
chmod +x download.sh; ./download.sh
จากนั้นเตรียมคำศัพท์และเวกเตอร์คำเริ่มต้นด้วย:
python prepare_vocab.py dataset/tacred dataset/vocab --glove_dir dataset/glove
สิ่งนี้จะเขียนคำศัพท์และเวกเตอร์คำเป็นเมทริกซ์ Numpy ลงใน dataset/vocab DIR
ฝึกอบรมแบบจำลอง RNN ที่รับความสนใจจากตำแหน่งด้วย:
python train.py --data_dir dataset/tacred --vocab_dir dataset/vocab --id 00 --info "Position-aware attention model"
ใช้ --topn N เพื่อ finetune เวกเตอร์คำ n สูงสุดเท่านั้น สคริปต์จะทำการประมวลผลล่วงหน้าโดยอัตโนมัติ (Word Dropout, Entity Masking ฯลฯ )
ฝึกอบรมรุ่น LSTM ด้วย:
python train.py --data_dir dataset/tacred --vocab_dir dataset/vocab --no-attn --id 01 --info "LSTM model"
จุดตรวจและบันทึกของรุ่นจะถูกบันทึกไปยัง ./saved_models/00 saved_models/00
เรียกใช้การประเมินผลในชุดทดสอบด้วย:
python eval.py saved_models/00 --dataset test
สิ่งนี้จะใช้ best_model.pt โดยค่าเริ่มต้น ใช้ --model checkpoint_epoch_10.pt เพื่อระบุไฟล์จุดตรวจสอบรุ่น เพิ่ม --out saved_models/out/test1.pkl เพื่อเขียนเอาต์พุตความน่าจะเป็นของโมเดลไปยังไฟล์ (สำหรับวงดนตรี ฯลฯ )
โปรดดูตัวอย่างสคริปต์ ensemble.sh
งานทั้งหมดที่มีอยู่ในแพ็คเกจนี้ได้รับอนุญาตภายใต้ใบอนุญาต Apache เวอร์ชัน 2.0 ดูไฟล์ใบอนุญาตที่รวมอยู่