هذا هو المستودع للموارد في ورقة Conll 2020 "ما الذي تحاول Todo؟ الكتابة الدلالية لعمليات الأحداث". يحتوي هذا المستودع على التعليمات البرمجية المصدر والروابط لبعض مجموعات البيانات المستخدمة في ورقتنا.
تدرس هذه الورقة مهمة كتابة دلالية جديدة (ذات دوافع إدراكية) ، وكتابة عملية الأحداث متعددة المحاور ، والتي ، بالنظر إلى عملية الحدث ، تحاول استنتاج ملصقات نوع الحرة التي تصف (1) نوع الإجراء الذي تم إجراؤه من قبل العملية و (2) نوع الكائن الذي تسعى العملية للتأثير عليه. هذه المهمة مستوحاة من الدراسات الحسابية والمعرفية لفهم الأحداث ، والتي تشير إلى أن فهم عمليات الأحداث غالبًا ما يتم توجيهها من خلال التعرف على أهداف أو خطط أو نوايا بطل الرواية. نقوم بتطوير مجموعة بيانات كبيرة تحتوي على أكثر من 60 ألف عملية حدث ، تتميز بكتابة فائقة الحبيبات على كل من محاور العمل ونوع الكائن مع مفردات تسمية كبيرة جدًا (10^3∼10^4). نقترح بعد ذلك إطار عمل تعليمي هجين ، P2GT ، الذي يعالج مشكلة الكتابة الصعبة مع الإشراف غير المباشر من Glosses1 وإطار التعلم المشترك إلى الرتبة. كما تشير تجاربنا ، تدعم P2GT تحديد نية العمليات ، وكذلك النوع الدلالي الدقيق للكائن المصاب. كما يوضح القدرة على التعامل مع حالات قليلة ، وتعميم قوي على العمليات خارج المجال

python 3.6
Transformers (Huggingface) version 2.11.0 (Important)
PyTorch with CUDA support
nltk 3.4.5
AllenNLP 1.0
. يحتوي المجلد نفسه أيضًا على لمعان الفعل والأسماء من WordNet ، ومجموعة بيانات Semcor المستخدمة في WSD.
يتم إعطاء ملف DATAS_SEV ، الملف الخام لعملية WikiHow ، كـ data_seq.tsv ، حيث يسجل كل صف محتوى وأنواع الملصقات للعملية. على وجه التحديد ، يحتوي كل صف مفصل على سلسلة من محتويات المحتويات الفرعية ، والخلية الأخيرة هما ملصقات الإجراء والكائن.
الملف الثنائي هو مثيل محفوظ لكائن data.py في utils ، والذي قرأ بالفعل بيانات العملية وموقد التسمية ، وتوفير معلومات الفهرسة اللازمة إلى الانقسام (يجب أن يعطي 777 بشكل عشوائي نفس الانقسام) ، والتدريب والاختبار.
.
البرنامج. يجب أن يتم تنفيذه بالنمط التالي
python jointSSmrl_roberta_bias.py <skip_training> <alpha> <margin_1> <margin_2>
على سبيل المثال:
CUDA_VISIBLE_DEVICES=4 python jointSSmrl_roberta_bias.py 0 1. 0.1 0.1
./run_joint/console_roberta_bias.py هو تطبيق وحدة تحكم حيث يمكن للمستخدم كتابة عمليات الأحداث والحصول على معلومات النوع متعدد المحاور أثناء التنقل. قم بتشغيل هذا البرنامج البسيط ، انتظر حتى يقوم بتحميل نموذج تم تدريبه مسبقًا ، واكتب في عملية حدث حيث يتم فصل Subevents بواسطة '@'. على سبيل المثال ، الإدخال التالي
read papers@attend conferences@go to seminars@write a thesis
سيتلقى معلومات النوع مثل
[('get', 0.6021211743354797), ('retain', 0.6217673718929291), ('absorb', 0.6397878527641296), ('pass', 0.6577234268188477), ('submit', 0.6673179864883423), ('present', 0.6688072383403778)]
[('doctorate', 0.5141586363315582), ('psychology', 0.5413682460784912), ('genetic', 0.5501004457473755), ('science', 0.5507515966892242), ('determinism', 0.5621879994869232), ('grade', 0.5723227560520172)]
رابط إلى النماذج الكاملة التي تم تدريبها مسبقًا لتوضيح وحدة التحكم: https://drive.google.com/drive/folders/1b8pevvrnanl7r_wnyyt4ppsynroiloft؟usp=sharing
يمكن للمستخدمين أيضًا تدريب النموذج على مجموعة بيانات عملية Wikihow الكاملة عن طريق التشغيل ./runjoint/train_full_roberta_bias.py
يجب أن يعمل عرض ويب على https://cogcomp.seas.upenn.edu/page/demo_view/step 
bibtex:
@inproceedings{chen-etal-2020-what,
title = {``{W}hat {A}re {Y}ou {T}rying {T}o {D}o?'' {S}emantic {T}yping of {E}vent {P}rocesses},
author = "Chen, Muhao and Zhang, Hongming and Wang, Haoyu and Roth, Dan",
booktitle = "Proceedings of the 24th Conference on Computational Natural Language Learning (CoNLL)",
year = "2020",
publisher = "Association for Computational Linguistics"
}