يحتوي هذا المستودع على تطبيقات لبعض من أهم الأوراق للإجابة على الأسئلة. التطبيقات في شكل برامج تعليمية وهي توضيحات تقريبًا للأوراق المذكورة. قد يكون هذا المستودع مفيدًا لأولئك الذين يعرفون أساسيات التعلم العميق و NLP ، يريد البدء في قراءة أوراق معقدة قليلاً ومعرفة كيف يتم تنفيذها. يفترض هذا المستودع أيضًا بعض الألفة مع أساسيات Pytorch ، على الرغم من أنني بذلت قصارى جهدي لكسر كل شيء بعبارات بسيطة.
تعد الإجابة على الأسئلة مهمة مهمة تستند إلى ذكاء أنظمة NLP و AI بشكل عام. يتم إعطاء نظام QA فقرة أو سياق قصير حول بعض الموضوعات ويطرح بعض الأسئلة بناءً على المقطع. الإجابات على هذه الأسئلة هي تمتد السياق ، وهي أنها متوفرة مباشرة في المقطع. لتدريب هذه النماذج ، نستخدم مجموعة بيانات الفريق.
يحتوي دفتر الملاحظات المسمى "خط أنابيب المعالجة المسبقة لـ NLP لـ QA" على جميع رمز المعالجة المسبقة التي كتبتها. لا يستخدم رمز المعالجة المسبقة أي مكتبة عالية المستوى وقد كتبت جميع الوظائف من نقطة الصفر. ويستخدم فقط Spacy للرمز المميز. الوظائف المنفذة هنا شائعة في العديد من مهام NLP ، وبالتالي قد تكون مفيدة لشخص بدأ للتو. على سبيل المثال: إنشاء المفردات ، ومصفوفات الوزن للتضمينات المسبقة ، ومجموعات البيانات/dataloaders ، وما إلى ذلك بعد فوات الأوان ، كان استخدام بعض المكتبات عالية المستوى مثل Torchtext فكرة أفضل وأنا أعمل حاليًا على نفس الشيء.
تستند جميع دفاتر الملاحظات إلى هذا النهج. في نهاية المطاف ، بناء الشباك العصبية هو كل شيء عن العمل مع التنسور. معرفة شكل ومحتويات كل موتر هو شيء وجدته مفيدًا للغاية أثناء التعلم. وبالتالي ، بعد كل سطر من الكود ، علقت على شكل الموتر والتغييرات التي تحدث بسبب التحولات في الكود. هذا يجعل عملية فهم ما يجري في الشباك العصبية أكثر سهولة.
ليس لدي وصول غير محدود إلى وحدات معالجة الرسومات الأسرع. تم تدريب النماذج أدناه عن طريق استئجار وحدات معالجة الرسومات على Vast.AI. لقد استخدمت GTX 1080 TI لأغلبية تجاربي.
في دفتر الملاحظات الأول ، نقوم بتنفيذ نموذج بسيط نسبيًا يتضمن LSTMS متعدد الطبقات والاهتمام الثنائي. يتم شرح تفاصيل وحدس كل طبقة/مكون قبل القفز إلى الكود. يشبه هذا النموذج إلى حد كبير النموذج الذي تمت مناقشته في هذه الورقة ولديه نفس المؤلفين الأوائل: Danqi Chen. يُعرف النموذج الثاني أيضًا باسم "القارئ اليقظ المقطع". النموذج الذي تم تنفيذه في دفتر الملاحظات هو إصدار متقدم قليلاً من هذا. النتائج على مجموعة DEV التي تم الحصول عليها هي:
| الحقبة | م | F1 |
|---|---|---|
| 5 | 56.4 | 68.2 |
سأقوم بتدريب هذا أكثر لتحسين النتائج وسأقوم بتحديثه قريبًا.
بعد ذلك ، ننتقل إلى ورق أكثر تعقيدًا قليلاً. تعمل هذه الورقة على تحسين النتائج التي حصلت عليها الورقة السابقة. النموذج المنفذ هنا على عكس النموذج السابق هو بنية هرمية متعددة المراحل تمثل السياق والاستعلام على مستويات متعددة من التفاصيل. تتضمن هذه الورقة أيضًا تكرارًا لأنها تستخدم LSTMS على نطاق واسع وآلية انتباه أقل الذاكرة وهي ثنائية الاتجاه في الطبيعة. يناقش دفتر الملاحظات بالتفصيل حول بعض تقنيات NLP المهمة مثل تضمينات الشخصية وشبكات الطرق السريعة وغيرها. نتائج على مجموعة DEV:
| الحقبة | م | F1 |
|---|---|---|
| 5 | 60.4 | 70.1 |
أخيرًا ، نتخلص من التكرار ونستخدم فقط الاهتمام بالذات والتلوينات. تستمد هذه الورقة الإلهام من "الانتباه هو كل ما تحتاجه". الدافع الرئيسي وراء تصميم النموذج هو: الالتواء يلتقط الهيكل المحلي للنص ، في حين يتعلم الاهتمام الذاتي التفاعل العالمي بين كل زوج من الكلمات. يشرح هذا البرنامج التعليمي مواضيع مثل الاهتمام الذاتي ، والتلوينات القابلة للفصل عمقًا . نتائج على مجموعة DEV:
| الحقبة | م | F1 |
|---|---|---|
| 3 | * | 36.6 |
أنا أتدرب حاليا هذا النموذج. أنا حاليًا قصير في الوقت المحدد وليس لدي إمكانية الوصول إلى وحدات معالجة الرسومات الأسرع. تدريب هذا لعصر واحد يستغرق حوالي ساعة واحدة على GTX 1080 TI.
أنا لست خبيرا. كان الدافع الرئيسي وراء هذا المشروع هو التعرف على مجال NLP. إذا وجدت أي خطأ مفاهيمي أو سخيف ، يرجى إنشاء مشكلة وسأبذل قصارى جهدي لتصحيحها بسرعة. مساهمات أخرى موضع ترحيب أيضا. إذا قمت بتدريب أي طراز وحصلت على نتائج محسّنة ، فيرجى عمل العلاقات العامة. إذا كنت مهتمًا بتنفيذ المزيد من الأوراق في هذا المجال وترغب في إضافتها إلى هذا المستودع ، سأكون سعيدًا بالمساعدة. على الرغم من أنني أقصر حاليًا في الوقت المحدد ، إلا أنني سأحافظ بنشاط على هذا المستودع.