تنفيذ PyTorch الرسمي ومجموعة تقييم EmoCause لورقة EMNLP 2021 الخاصة بنا؟
هيون وو كيم، بيونج تشانج كيم، وغونهي كيم. أخذ المنظور والبراغماتية لتوليد استجابات متعاطفة تركز على أسباب العاطفة. EMNLP , 2021 [ورقة]
إذا كنت تستخدم المواد الموجودة في هذا المستودع كجزء من أي بحث منشور، فنطلب منك الاستشهاد بالمقالة التالية:
@inproceedings { Kim:2021:empathy ,
title = { Perspective-taking and Pragmatics for Generating Empathetic Responses Focused on Emotion Causes } ,
author = { Kim, Hyunwoo and Kim, Byeongchang and Kim, Gunhee } ,
booktitle = { EMNLP } ,
year = 2021
}
تم بناء الكود الخاص بنا على إطار عمل ParlAI. نوصيك بإنشاء بيئة كوندا على النحو التالي
conda env create -f environment.yml
وتفعيله مع
conda activate focused-empathy
python -m spacy download en
EmoCause عبارة عن مجموعة بيانات من المشاعر المشروحة التي تسبب الكلمات في المواقف العاطفية من مجموعة EmpatheticDialogues الصالحة والاختبارية. الهدف هو التعرف على الكلمات المسببة للعاطفة في الجمل من خلال التدريب فقط على تسميات المشاعر على مستوى الجملة دون تسميات على مستوى الكلمة ( على سبيل المثال، العاطفة التي تسبب التعرف على المشاعر ضعيفة الإشراف ). يعتمد EmoCause على حقيقة أن البشر لا يتعرفون على سبب المشاعر من خلال التعلم الخاضع للإشراف على تسميات السبب على مستوى الكلمة. وبالتالي، نحن لا نقدم مجموعة التدريب.
يمكنك تنزيل مجموعة تقييم EmoCause [هنا].
لاحظ أنه سيتم تنزيل مجموعة البيانات تلقائيًا عند تشغيل أمر التجربة أدناه.
#العاطفة | نوع التسمية | #التسمية/الكلام | #الكلام | |
---|---|---|---|---|
ايموسبب | 32 | كلمة | 2.3 | 4.6 ك |
{
"original_situation": the original situations in the EmpatheticDialogues,
"tokenized_situation": tokenized situation utterances using spacy,
"emotion": emotion labels,
"conv_id": id for each corresponding conversation in EmpatheticDialogues,
"annotation": list of tuples: (emotion cause word, index),
"labels": list of strings containing the emotion cause words
}
سيتم تنزيل جميع النماذج المقابلة تلقائيًا عند تشغيل الأوامر التالية.
نوفر أيضًا روابط التنزيل اليدوية: [GEE] [Finetuned Blender]
يمكنك تقييم مُقدِّر المشاعر التوليدية (GEE) المقترح على مجموعة تقييم EmoCause.
python eval_emocause.py --model agents.gee_agent:GeeCauseInferenceAgent --fp16 False
يمكنك تقييم النهج الذي نتبعه في توليد استجابات متعاطفة مركزة باستخدام Blender المضبوط (لست على دراية بـ Blender؟ انظر هنا!).
python eval_empatheticdialogues.py --model agents.empathetic_gee_blender:EmpatheticBlenderAgent --model_file data/models/finetuned_blender90m/model --fp16 False --empathy-score False
ستؤدي إضافة علامة --alpha 0
إلى تشغيل Blender دون استخدام الواقعية. يمكنك أيضًا تجربة أداة التشتيت العشوائي (Plain S1) عن طريق إضافة --distractor-type random
.
لقياس درجات التفسير والاستكشاف أيضًا، قم بتعيين --empathy-score
إلى True
. سيتم تلقائيًا تنزيل نماذج RoBERTa المضبوطة على EmpatheticDialogues. لمزيد من التفاصيل حول درجات التعاطف، قم بزيارة الريبو الأصلي.
نشكر المراجعين المجهولين على تعليقاتهم المفيدة على هذا العمل.
تم دعم هذا البحث من قبل مركز تمويل أبحاث سامسونج التابع لشركة سامسونج للإلكترونيات تحت رقم المشروع SRFCIT210101. يتم دعم الموارد الحاسوبية والدراسة البشرية من خلال برنامج أبحاث الدماغ التابع لمؤسسة البحوث الوطنية الكورية (NRF) (2017M3C7A1047860).
يرجى الاتصال بـ Hyunwoo Kim على hyunw.kim على vl dot snu dot ac dot kr.
هذا المستودع مرخص من معهد ماساتشوستس للتكنولوجيا. راجع ملف الترخيص للحصول على التفاصيل.