ريبو خفيف الوزن للتقييم التلقائي لنماذج الحوار باستخدام 17 مقياسًا .
؟ اختر المقاييس التي تريد حسابها
يمكن تشغيل التقييم تلقائيًا إما على ملف استجابة أو على دليل يحتوي على ملفات متعددة
؟ يتم حفظ المقاييس بتنسيق محدد مسبقًا وسهل المعالجة
قم بتشغيل هذا الأمر لتثبيت الحزم المطلوبة:
pip install -r requirements.txt
يمكن استدعاء الملف الرئيسي من أي مكان، ولكن عند تحديد المسارات إلى الأدلة، يجب عليك تقديمها من جذر المستودع.
python code/main.py -h
للحصول على الوثائق الكاملة قم بزيارة الويكي.
يجب عليك توفير أكبر عدد ممكن من مسارات الوسائط المطلوبة (الصورة أعلاه). إذا فاتك بعض الملفات، فسيظل البرنامج قيد التشغيل، لكنه لن يحسب بعض المقاييس التي تتطلب تلك الملفات (سيقوم بطباعة هذه المقاييس). إذا كان لديك ملف بيانات تدريب، فيمكن للبرنامج إنشاء مفردات تلقائيًا وتنزيل تضمينات النص السريع.
إذا كنت لا ترغب في حساب جميع المقاييس، فيمكنك تعيين المقاييس التي يجب حسابها في ملف التكوين بسهولة شديدة.
سيتم حفظ الملف في الدليل الذي يوجد به ملف (ملفات) الاستجابة. يحتوي الصف الأول على أسماء المقاييس، ثم يحتوي كل صف على مقاييس ملف واحد. اسم الملف متبوعًا بقيم القياس الفردية مفصولة بمسافات. يتكون كل مقياس من ثلاثة أرقام مفصولة بفواصل: المتوسط، والانحراف المعياري، وفاصل الثقة. يمكنك تعيين قيمة t لفاصل الثقة في الوسيطات، والقيمة الافتراضية هي ثقة 95%.
ومن المثير للاهتمام أن جميع المقاييس الـ 17 تتحسن حتى نقطة معينة ثم تستقر دون حدوث أي فرط في التجهيز أثناء تدريب نموذج Transformer على DailyDialog. تحقق من ملحق الورقة لمعرفة الأشكال.
TRF هو نموذج المحول الذي تم تقييمه عند الحد الأدنى من فقدان التحقق من الصحة وTRF-O هو نموذج المحول الذي تم تقييمه بعد 150 حقبة من التدريب، حيث تبدأ المقاييس في الركود. RT تعني الاستجابات المختارة عشوائيًا من مجموعة التدريب وGT تعني استجابات الحقيقة الأرضية.
TRF هو نموذج المحولات، بينما RT تعني الاستجابات المختارة عشوائيًا من مجموعة التدريب وGT تعني استجابات الحقيقة الأرضية. يتم قياس هذه النتائج على الاختبار الذي تم تعيينه عند نقطة تفتيش حيث كانت خسارة التحقق من الصحة في حدها الأدنى.
TRF هو نموذج المحولات، بينما RT تعني الاستجابات المختارة عشوائيًا من مجموعة التدريب وGT تعني استجابات الحقيقة الأرضية. يتم قياس هذه النتائج على الاختبار الذي تم تعيينه عند نقطة تفتيش حيث كانت خسارة التحقق من الصحة في حدها الأدنى.
يمكن إضافة مقاييس جديدة عن طريق إنشاء فئة للمقياس، والتي تتعامل مع حساب بيانات المقياس المعطاة. تحقق من مقاييس BLEU للحصول على مثال. عادةً ما تعالج الدالة init أي إعداد بيانات مطلوب لاحقًا، وتقوم update_metrics بتحديث إملاء المقاييس باستخدام المثال الحالي من الوسائط. داخل الفصل، يجب عليك تحديد أداة self.metrics، التي تخزن قوائم القيم المترية لملف اختبار معين. يجب أيضًا إضافة أسماء هذه المقاييس (مفاتيح القاموس) في ملف التكوين إلى المقاييس الذاتية. أخيرًا، تحتاج إلى إضافة مثيل لفئة القياس الخاصة بك إلى self.objects. هنا، عند التهيئة، يمكنك الاستفادة من المسارات المؤدية إلى ملفات البيانات إذا كان المقياس الخاص بك يتطلب أي إعداد. بعد ذلك، يجب أن يتم حساب المقياس الخاص بك وحفظه تلقائيًا.
ومع ذلك، يجب عليك أيضًا إضافة بعض القيود إلى المقياس الخاص بك، على سبيل المثال، إذا كان الملف المطلوب لحساب المقياس مفقودًا، فيجب إخطار المستخدم، كما هو الحال هنا.
هذا المشروع مرخص بموجب ترخيص MIT - راجع ملف الترخيص للحصول على التفاصيل.
يرجى تضمين رابط لهذا الريبو إذا كنت تستخدمه في عملك وفكر في الاستشهاد بالمقالة التالية:
@inproceedings{Csaky:2019,
title = "Improving Neural Conversational Models with Entropy-Based Data Filtering",
author = "Cs{'a}ky, Rich{'a}rd and Purgai, Patrik and Recski, G{'a}bor",
booktitle = "Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics",
month = jul,
year = "2019",
address = "Florence, Italy",
publisher = "Association for Computational Linguistics",
url = "https://www.aclweb.org/anthology/P19-1567",
pages = "5650--5669",
}