استعارة صينية
مهمة CCL 2018 المشتركة - التعرف على الاستعارة الصينية وتحليل المشاعر
وصف المهمة
- تفاصيل المهمة: http://ir.dlut.edu.cn/news/detail/508
- تحديث: المهمة الفرعية 1 هي مهمة من فئتين، ما عليك سوى تحديد ما إذا كانت استعارة فعلية.
- الوقت: الموعد النهائي الساعة 9.30. يمكن لكل فريق تقديم النتائج في 9 سبتمبر و16 سبتمبر و23 سبتمبر و30 سبتمبر، اعتبارًا من الساعة 10:00 مساءً كل يوم أحد؛ ويمكن لكل فريق تقديم النتائج ثلاث مرات فقط في الأسبوع كحد أقصى، ووفقًا لآخر النتائج المقدمة، يتم احتساب النتائج تصنيف. وسيتم الإعلان عنه على الموقع الإلكتروني (http://ir.dlut.edu.cn/) قبل الساعة 5:00 مساءً أيام 10 و17 و24 سبتمبر و1 أكتوبر.
- بيانات التدريب: http://ir.dlut.edu.cn/File/Download?cid=3 "بيانات تقييم التعرف على الاستعارة الصينية وتحليل المشاعر في CCL 2018"
- بيانات الاختبار (بدون علامة): http://ir.dlut.edu.cn/File/Download?cid=3 "بيانات اختبار التعرف على الاستعارة الصينية وتحليل المشاعر CCL 2018"
- تذكير: وفقًا لمتطلبات المنظم، لا يمكن استخدام مجموعة البيانات هذه إلا لمهمة التقييم هذه للاستخدامات الأخرى، يرجى الاتصال بالمنظم.
هيكل الريبو
- /Corpus: يخزن مجموعة الاستعارات الصينية Penn StateUCMC (غير مستخدمة بعد)
- / البيانات: بيانات التدريب والاختبار
- / dicts: القواميس العلائقية للمهمتين الفرعيتين، وكذلك المفردات
- /مذكرة: محضر الاجتماع
- /model_structure: مخطط هيكلي للنموذج nn
- / ورقة: الأدبيات ذات الصلة
- /pretrained_emb: تضمين الكلمات المدرب مسبقًا الذي تم تنزيله من الإنترنت (استنادًا إلى ويكيبيديا)، تمت تصفيته
- /سرك: كود
- / النتائج: نتائج تقييم النموذج وتسميات الاختبار التي تم إنشاؤها
- /models: تحتاج إلى إنشاء هذا المسار بنفسك، يوجد أدناه مساران فرعيان: /verb و /emo، اللذان يستخدمان لتخزين النماذج المدربة.
- / التقديم: ملفات النتائج المرسلة، المخزنة حسب التاريخ
هيكل الكود
- الكود الأساسي:
- conf.py: قم بتعيين معلمات مختلفة
- multi_cgru_keras.py: بنية النموذج
- Train.py: تدريب النموذج على 90% من بيانات التدريب
- eva_model.py: تقييم أداء النموذج على 10% من بيانات التدريب
- generator_test_labels.py: التنبؤ بالتسميات في مجموعة الاختبار
- الكود المساعد:
- Split_data.py: قسّم مجموعة التدريب إلى 90% (للتدريب) و10% (لتقييم أداء النموذج)
- back_translate.py: استخدم Google Translate API لإضافة بيانات التدريب
- Convert_data.py: تحويل البيانات من xml إلى txt، وتحويل التسميات الرقمية إلى تسميات نصية سهلة الفهم
- data_provider.py: قراءة البيانات والاستعداد للتدريب
- filter_wordemb.py: تصفية متجهات الكلمات المدربة مسبقًا استنادًا إلى بيانات التدريب والاختبار، مع الاحتفاظ فقط بالكلمات التي تظهر في البيانات (تمت تصفية متجهات كلمات wiki الحالية)
كيفية تشغيل الكود
- قم بتعيين المعلمات ذات الصلة في conf.py
- قم بتشغيل Train.py لتدريب النموذج
- قم بتشغيل eva_model.py لتقييم أداء النموذج
- استنادًا إلى نتائج التقييم في الخطوة الثالثة، حدد النموذج ذو الأداء الأفضل واستخدم generator_test_labels لإنشاء تسميات بيانات الاختبار.
منتهي
- NN Baseline: استنادًا إلى CGRU، يبلغ أفضل أداء (دقة) حوالي 70% للمهمة 1 وحوالي 39% للمهمة 2.
- المقارنة: خط الأساس للأغلبية، المهمة 2 37%
- المقارنة: خط أساس ساذج يعتمد على المعجم العاطفي، بدون التعلم الآلي، المهمة 2 51%
- استنادًا إلى NN Bseline، جرب الميزات التالية:
- تحسين طبقة التضمين
- استخدم التضمين الذي تم تدريبه مسبقًا لاستبدال التضمين الذي تعلمه النموذج نفسه. يبلغ أفضل أداء للمهمة 2 حوالي 50%.
- الربط المتجه للكلمات: مدمج مع تقليل المعلمة الناعمة، ماكرو Task2 f - 39.6%
- ترجمة العودة
- ترجمة Google بـ 6 لغات، تم اختبار العديد من طرق التصفية، المهمة 2 لديها أفضل أداء بنسبة 53% تقريبًا
- الهياكل النموذجية الأخرى
- استخدم التضمين مباشرة كميزات تصنيف
- LSTM + متصل بالكامل: Task2 ماكرو f - 40%
- تحليل خطأ صغير:
- لقد لوحظ أن التجهيز الزائد كان خطيرًا، لذلك حاولت ضبط l2(↑)، والتسرب(↑)، والسلس(↓)، ولكن لم يتم العثور على تغييرات كبيرة في نفس الوقت، حيث وجد أن أداء نفس النموذج كان غير مستقر (قد يصل الفرق بين عمليات التشغيل المتعددة للمهمة 2 إلى 10%)
- بعض الحالات السيئة هي جمل ذات انتقالات (على سبيل المثال، تحتوي على كلمات مثل "كيف لا يمكن أن يكون"، "لا يمكن"، "منذ"، وما إلى ذلك)
- وقد وجد أن بعض التعليقات التوضيحية في البيانات كانت مشكوك فيها
- احصل على مجموعة الاستعارات الصينية لولاية بنسلفانيا، والتي يمكن استخدامها لتضمين الكلمات للتدريب الذاتي
- مجموعة التدريب التكميلي: استخدم مجموعة إنجليزية أخرى لترجمتها مرة أخرى لتكملة مجموعة التدريب
- ضبط المعلمات
Todolist
- جرب المزيد من الميزات بناءً على خط الأساس NN:
- استمر في تحسين طبقة التضمين
- استخدم عمليات التضمين الأخرى المدربة مسبقًا: على سبيل المثال، التضمين الذي تم تدريبه على مجموعة استعارات ولاية بنسلفانيا، أو تضمين ELMo، وما إلى ذلك.
- أضف المفردات العاطفية إلى nn:
- تضمين التسميات: يتم استخدام الطريقة الحالية فقط للتسميات ذات العلاقات التقدمية (سلبية جدًا، سلبية، محايدة، موضعية، موضعية جدًا)
- فئة فرعية من الأفعال والأسماء
- علاقة التبعية
- من خلال ملاحظة البيانات، قم بفحص دور الكلمات الوظيفية في المهمتين الفرعيتين، ثم حدد المعلومات المتعلقة بالكلمات الوظيفية التي تريد إضافتها إلى النموذج. الكلمات الوظيفية: ما نوع المعلومات المفيدة؟
- جرب هياكل نموذجية أخرى:
- (راجع المقالة "خط الأساس يحتاج إلى المزيد من الحب: حول النماذج البسيطة المستندة إلى تضمين الكلمات وآليات التجميع المرتبطة بها")
- استخدم المحول كمشفر للجمل (راجع المقالة "الانتباه هو كل ما تحتاجه")
موارد
- مجموعة الاستعارات الصينية لولاية بنسلفانيا (http://www.personal.psu.edu/xxl13/download.html)
- مكتبة الوجود لمفردات العواطف بجامعة داليان للتكنولوجيا (http://ir.dlut.edu.cn/EmotionOntologyDownload)
منظم
مختبر أبحاث استرجاع المعلومات بجامعة داليان للتكنولوجيا