يحتوي هذا الريبو على رمز Pytorch لالتوافق الرسم البياني الورقي على أشجار التبعية المشبعة يحسن استخراج العلاقة.
تقدم هذه الورقة/الرمز شبكة عصبية تلافيفية للرسم البياني (GCN) على أشجار التبعية المتقدمة لمهمة استخراج العلاقة. يتم أيضًا تقديم تقنية خاصة لتقليم الأشجار التي تسمى التقليم المتمحور حول المسار للتخلص من المعلومات غير ذات الصلة من الأشجار مع الحفاظ على المعلومات ذات الصلة بشكل أقصى. بالمقارنة مع نماذج التسلسل مثل مختلف النماذج المستندة إلى LSTM ، فإن نموذج GCN هذا يستخدم هياكل التبعية لسد الكلمات البعيدة ، وبالتالي يحسن الأداء للعلاقات بعيدة المدى. بالمقارنة مع النماذج العودية السابقة مثل TreelStM ، يحقق نموذج GCN هذا أداء أفضل مع كونه الكثير من الأذن للموازاة وبالتالي أكثر كفاءة.
انظر أدناه للحصول على نظرة عامة على بنية النموذج:

يتطلب الكود أن يكون لديك الوصول إلى مجموعة البيانات Tacred (ترخيص LDC مطلوب). من المقرر حاليًا مجموعة البيانات Tacred للإصدار العام عبر LDC في ديسمبر 2018. لإمكانية الوصول المبكر إلى هذه البيانات ، يرجى الاتصال بنا على yuhao.zhang ~at~ stanford.edu . بمجرد حصولك على بيانات Tacred ، يرجى وضع ملفات JSON ضمن dataset/tacred . للاكتمال ، نقوم بتضمين عينة فقط ملفات بيانات من مجموعة البيانات Tacred في هذا الريبو.
أولاً ، قم بتنزيل و unzip glove outpectors من موقع Stanford NLP Group ، مع:
chmod +x download.sh; ./download.sh
ثم قم بإعداد المفردات والناقلات الأولية مع:
python prepare_vocab.py dataset/tacred dataset/vocab --glove_dir dataset/glove
سيؤدي ذلك إلى كتابة ناقلات المفردات والكلمة كمصفوفة numpy في DIR dataset/vocab .
لتدريب نموذج الشبكة العصبية التلافيفية (GCN) ، تشغيل:
bash train_gcn.sh 0
سيتم حفظ نقاط التفتيش وسجلات النموذج إلى ./saved_models/00 .
لتدريب نموذج GCN (C-GCN) السياق ، تشغيل:
bash train_cgcn.sh 1
سيتم حفظ نقاط التفتيش وسجلات النموذج إلى ./saved_models/01 .
للحصول على تفاصيل حول استخدام المعلمات الأخرى ، مثل مسافة التقليم K ، يرجى الرجوع إلى train.py .
لتشغيل التقييم على مجموعة الاختبار ، قم بتشغيل:
python eval.py saved_models/00 --dataset test
سيستخدم هذا ملف best_model.pt افتراضيًا. استخدم --model checkpoint_epoch_10.pt لتحديد ملف نقطة تفتيش النموذج.
إعادة تحميل نموذج مسبق و finetune ، تشغيل:
python train.py --load --model_file saved_models/01/best_model.pt --optim sgd --lr 0.001
تتضمن الورقة أيضًا مقارنات مع نموذج LSTM (PA-LSTM) على دراية بالموقف لاستخراج العلاقة. لإعادة إنتاج النتائج المقابلة ، يرجى الرجوع إلى هذا الريبو.
@inproceedings{zhang2018graph,
author = {Zhang, Yuhao and Qi, Peng and Manning, Christopher D.},
booktitle = {Empirical Methods in Natural Language Processing (EMNLP)},
title = {Graph Convolution over Pruned Dependency Trees Improves Relation Extraction},
url = {https://nlp.stanford.edu/pubs/zhang2018graph.pdf},
year = {2018}
}
يتم ترخيص جميع الأعمال الواردة في هذه الحزمة بموجب ترخيص Apache ، الإصدار 2.0. انظر ملف الترخيص المضمن.