هذا هو تطبيق PyTorch للورقة:
MoEL: مزيج من المستمعين المتعاطفين . تشاوجيانغ لين ، أندريا مادوتو، جامين شين، بينج شو، باسكال فونج EMNLP 2019 [PDF]
تمت كتابة هذا الرمز باستخدام PyTorch >= 0.4.1. إذا كنت تستخدم أي رموز مصدر أو مجموعات بيانات مضمنة في مجموعة الأدوات هذه في عملك، فيرجى الاستشهاد بالمقالة التالية. Bibtex مدرج أدناه:
@المقال{lin2019moel، title={MoEL: مزيج من المستمعين المتعاطفين}, المؤلف={لين، تشاوجيانغ ومادوتو، أندريا وشين، جامين وشو، بنغ وفونغ، باسكال}، مجلة = {arXiv طبعة أولية arXiv:1908.07687}، العام={2019} }
ركزت الأبحاث السابقة حول أنظمة الحوار التعاطفي في الغالب على توليد استجابات في ضوء مشاعر معينة. ومع ذلك، فإن التعاطف لا يتطلب فقط القدرة على توليد استجابات عاطفية، ولكن الأهم من ذلك، يتطلب فهم مشاعر المستخدم والرد بشكل مناسب. في هذه الورقة، نقترح نهجًا جديدًا شاملاً لنمذجة التعاطف في أنظمة الحوار: مزيج من المستمعين المتعاطفين (MoEL). يلتقط نموذجنا أولاً مشاعر المستخدم ويخرج توزيعًا للعواطف. بناءً على ذلك، ستقوم MoEL بدمج حالات الإخراج للمستمع (المستمعين) المناسبين، والتي تم تحسين كل منها للتفاعل مع مشاعر معينة، وتوليد استجابة متعاطفة. تؤكد التقييمات البشرية لمجموعة بيانات الحوارات التعاطفية أن وزارة التعليم والتعليم تتفوق على خط الأساس للتدريب على المهام المتعددة من حيث التعاطف والأهمية والطلاقة. علاوة على ذلك، تُظهر دراسة الحالة حول الاستجابات الناتجة من مختلف المستمعين إمكانية تفسير عالية لنموذجنا.
تصور الاهتمام على المستمعين: الجانب الأيسر هو السياق متبوعًا بالاستجابات الصادرة عن وزارة التعليم والتعليم العالي. توضح الخريطة الحرارية أوزان الانتباه على 32 مستمعًا
تحقق من الحزم المطلوبة أو ببساطة قم بتشغيل الأمر
❱❱❱ pip install -r requirements.txt
تضمين القفازات المدربة مسبقًا : glove.6B.300d.txt داخل المجلد /vectors/.
نتيجة سريعة
لتخطي التدريب، يرجى التحقق من generator_result.txt .
مجموعة البيانات
تتم معالجة مجموعة البيانات (الحوار التعاطفي) مسبقًا وتخزينها بتنسيق npy: sys_dialog_texts.train.npy، sys_target_texts.train.npy، sys_emotion_texts.train.npy والتي تتكون من قائمة متوازية من السياق (المصدر) والاستجابة (الهدف) وتسمية المشاعر (تسمية إضافية).
التدريب والاختبار
وزارة التعليم
❱❱❱ python3 main.py --model experts --label_smoothing --noam --emb_dim 300 --hidden_dim 300 --hop 1 --heads 2 --topk 5 --cuda --pretrain_emb --softmax --basic_learner --schedule 10000 --save_path save/moel/
خط الأساس للمحولات
❱❱❱ python3 main.py --model trs --label_smoothing --noam --emb_dim 300 --hidden_dim 300 --hop 2 --heads 2 --cuda --pretrain_emb --save_path save/trs/
خط الأساس لمحول المهام المتعددة
❱❱❱ python3 main.py --model trs --label_smoothing --noam --emb_dim 300 --hidden_dim 300 --hop 2 --heads 2 --cuda --pretrain_emb --multitask --save_path save/multi-trs/