KnowCoder: ترميز المعرفة المنظمة في نماذج اللغة الكبيرة لاستخراج المعلومات الشاملة

في هذا البحث، نقترح نظام KnowCoder، وهو نموذج لغوي كبير (LLM) يقوم بإجراء استخراج المعلومات الشامل (UIE) عبر توليد الكود. يهدف KnowCoder إلى تطوير تمثيل موحد للنماذج يمكن لنماذج اللغة الكبيرة فهمه بسهولة وإطار تعليمي فعال يشجع هذه النماذج على اتباع النماذج واستخراج المعرفة المنظمة بدقة. لتحقيق هذه الأهداف، قدم KnowCoder طريقة تمثيل النماذج بنمط الكود لتحويل النماذج المختلفة بشكل موحد إلى صفوف بلغة Python، مما يمكن من التقاط معلومات نموذج معقدة مثل القيود بين المهام في UIE بطريقة سهلة الفهم بالنسبة لنماذج اللغة الكبيرة. كما أنشأنا مكتبة نماذج بنمط الكود تغطي أكثر من 30,000 نوع من المعرفة، وهي الأكبر لـ UIE حسب علمنا. لتسهيل عملية التعلم لنماذج اللغة الكبيرة، يحتوي KnowCoder على إطار تعليمي ذو مرحلتين يعزز قدرته على فهم النماذج عبر التدريب الأولي بالكود وقدرته على اتباع النماذج عبر ضبط التعليمات. بعد التدريب الأولي بالكود على حوالي 1.5 مليار من البيانات التي تم بناؤها تلقائيًا، حقق KnowCoder قدرة تعميم ملحوظة وتحسنت نسبة F1 بنسبة 49.8% مقارنة بـ LLaMA2 في الإعداد القليل الطلقات (few-shot setting). بعد ضبط التعليمات، أظهر KnowCoder قدرة تعميم قوية على النماذج غير المعروفة وحقق تحسينات تصل إلى 12.5% و 21.9% مقارنة بأفضل الأساليب الأساسية (sota baselines) في الإعداد بدون طلقات (zero-shot setting) والإعداد قليل الموارد (low resource setting)، على التوالي. بالإضافة إلى ذلك، بناءً على تمثيلات النماذج الموحدة لدينا، يمكن استخدام مجموعة متنوعة من قواعد البيانات التي تم تحديدها بواسطة البشر بشكل متزامن لتحسين KnowCoder، مما حقق تحسينات كبيرة تصل إلى 7.5% في الإعداد الإشرافي (supervised setting).