ملخص تقني: DKSE – الاستخراج الآلي للأنطولوجيات النطاقية المهيكلة
1. بيان المشكلة
تُعد وثائق متطلبات البرمجيات الركيزة الأساسية لمنتجات المعرفة في تطوير البرمجيات المؤسسية، حيث تُحدد كيانات النظام، والقواعد، والعمليات، والواجهات. ومع ذلك، توجد هذه الوثائق في شكل لغة طبيعية غير مهيكلة، مما يجعلها غير قابلة للاستخدام في سلاسل أدوات الهندسة المؤتمتة. وبناءً على ذلك، لا يمكن للمهام اللاحقة مثل توليد الاختبارات، وهياكل الكود (scaffolding)، والتحقق من الامتثال، والتطوير المدعوم بالذكاء الاصطناعي، معالجة معرفة النظام المحددة الموجودة داخل هذه النصوص السردية بشكل مباشر.
إن مناهج الأتمتة الحالية، التي تتراوح من قواعد المطابقة النمطية المبكرة إلى خطوط معالجة معالجة اللغات الطبيعية (NLP) الحديثة، عادة ما تسفر عن استخراج سطحي (مثل قوائم الكيانات البسيطة) وتواجه صعوبة في التعامل مع تعقيدات المتطلبات في العالم الحقيقي، بما في ذلك الجداول متعددة الصفحات، والقواعد ذات الإحالات المرجعية المتقاطعة، ومنطق الأعمال المضمن، والقيود الضمنية الموزعة عبر الأقسام. وبينما توفر النماذج اللغوية الكبيرة (LLMs) القدرة على فهم وتوليف هذه الوثائق المعقدة، إلا أن هناك نقصاً في الأدوات التي تحول هذا الفهم إلى أنطولوجيات مهيكلة شاملة وقابلة للقراءة آلياً لتناسب أتمتة هندسة البرمجيات.
2. المنهجية: خط إنتاج DKSE
يقدم المؤلف DKSE (محرك هيكلة المعرفة النطاقية)، وهو أداة مصممة لتحويل وثائق المتطلبات متعددة التنسيقات إلى أنطولوجيات نطاقية مهيكلة. تم تنفيذ النظام بلغة Rust (حوالي 8,000 سطر من الكود) ويعمل كخط إنتاج مكون من ثلاث مراحل:
2.1 الإدخال والتحليل (المرحلة 1)
يقبل DKSE المدخلات بتنسيقات DOCX وPDF وHTML وMarkdown.
- DOCX: يتم تحليلها عبر استخراج XML/ZIP للحفاظ على الجداول، والعناوين، وهياكل الأقسام.
- PDF: تتم معالجتها من خلال استخراج النص الواعي بالتخطيط (layout-aware).
- HTML: يتم تحليلها عبر تتبع بنية DOM.
مخرجات هذه المرحلة هي نص مهيكل موحد.
2.2 التحليل الدلالي الموجه بالنماذج اللغبية الكبيرة (المرحلة 2)
يتم معالجة النص الموحد بواسطة نموذج لغوي كبير (عبر نقطة نهاية متوافقة مع OpenAI) باستخدام مطالبات (prompts) استخراج متخصصة في النطاق. ومن الأهمية بمكان أن يكون الاستخراج موجهاً بالمخطط (schema-guided): حيث تتضمن المطالبات مخطط YAML المستهدف لضمان توافق المخرجات بدقة مع هيكل الأنطولوجيا. يقوم النموذج بتحديد وهيكلة ما يلي:
- تعريفات الكيانات ومخططات السمات (attributes).
- قواعد العمل مع الشروط المصاغة رسمياً (ثلاثيات: حقل + عامل + قيمة).
- تسلسل خطوات العمل مع الأدوار المرتبطة بها.
التعريفات الخاصة بنقاط نهاية واجهة برمجة التطبيقات (API endpoints).
- تعدادات القواميس (Dictionary enumerations).
2.3 تجميع الأنطولوجيا والتحقق من الصحة (المرحلة 3)
يتم تجميع الأصول المستخرجة في دليل يتكون من ستة أنواع. يقوم DKSE بأربعة فحوصات محددة للتحقق من المراجع المتقاطعة:
- التحقق من نوع السمة: يضمن أن شروط القواعد تشير إلى حقول ذات أنواع متوافقة في مخططات الكيانات.
- التحقق من عدد العلاقات (Cardinality): يتحقق من أن العلاقات (مثل ONE_TO_MANY) تربط بين كيانات مستخرجة صالحة.
- اكتمال القاموس: يؤكد أن أكواد القواموس المشار إليها في القواعد موجودة بالفعل.
- كشف التكرار: يحدد الأصول ذات الأسماء المتطابقة داخل النطاق.
يتم تسجيل حالات الفشل للمراجعة البشرية بدلاً من إسقاطها بصمت، وذلك للحفاظ على سجل تدقيق كامل.
2.4 مخطط الأنطولوجيا
مخرجات الأنطولوجيا مشفرة بتنسيق YAML وتتكون من ستة أنواع متميزة من الأصول:
- الكيانات (Entities): الاسم، الوصف، والسمات (الاسم، النوع، الإلزامية).
- العلاقات (Relations): الكيانات المصدر والهدف، والعدد (cardinality).
- القواعد (Rules): الاسم، الوصف، الأولوية، والشروط المصاغة رسمياً.
- العمليات (Processes): الاسم والخطوات المرتبة مع الأدوار.
- واجهات برمجة التطبيقات (APIs): المسار، الطريقة (method)، الطلب، وتعاريف الاستجابة.
- القواميس (Dictionaries): الاسم ومدخلات (الكود-التسمية).
يتضمن كل أصل حقل source_requirement يشير إلى القسم الأصلي في الوثيقة لتتبع المصدر (provenance).
2.5 ضمان الجودة والأدوات
يتضمن DKSE واجهة سطر أوامر (CLI) وواجهة ويب مع أوامر محددة:
dkse validate: يتحقق من سلامة الأنطولوجيا (الأنواع، العدد، المراجع).
dkse diff: يقارن بين إصدارات الأنطولوجيا لتسليط الضوء على التغييرات التدريجية (الأصول المضافة، المعدلة، أو المحذوفة).
dkse probe: يولد مجسات تقييم قابلة للتدقيق آلياً (القيمة الدقيقة، الحقل الدقيق، المجموعة، والترتيب) من الأنطولوجيا.
dkse serve: يوفر واجهة ويب لتصفح، والبحث في، ومقارنة الأنطولوجيات.
3. دراسة الحالة والنتائج
قام المؤلف بتقييم DKSE على ست وثائق متطلبات (حوالي 800,000 حرف صيني) تغطي أربعة نطاقات فرعية مصرفية: إدارة الصرف، إدارة العملاء، إدارة عقود الائتمان، والمعاملات مع الأطراف ذات العلاقة.
3.1 إحصائيات الاستخراج
نجح DKSE في استخراج 3,439 أصلاً مهيكلاً:
- الكيانات: 215
- القواعد: 1,227
- العلاقات: 739
- العمليات: 182
- واجهات برمجة التطبيقات: 594 (عبر النطاقات)
- القواميس: 482
3.2 مقاييس الجودة
- التغطية: حقق DKSE تغطية وظيفية بنسبة 100%، حيث استخرج كياناً واحداً على الأقل، وقاعدة واحدة، وعملية واحدة لكل وحدة معلنة في جداول المحتويات الخاصة بالوثائق.
- الدقة: قام خبير في المجال (مهندس متطلبات مصرفي رفيع المستوى) بمراجعة عينة طبقية مكونة من 100 أصل.
- تم تصنيف 96% منها على أنها دقيقة تماماً.
- أظهرت 3 أصول اختلافات طفيفة في التسمية (متكافئة دلالياً) ولكنها قابلة للاستخدام.
- أظهر أصل واحد نقصاً في شرط تم التقاطه في مرحلة تنقيح.
- لم يتم العثور على أي أصول "مهلوسة" (hallucinated).
- تتبع المصدر: جميع الـ 100 أصل التي تم فحصها كانت تمتلك مؤشرات مصدر صحيحة إلى أقسام الوثائق الأصلية.
4. التطبيقات اللاحقة
توضح الورقة ثلاث حالات استخدام محددة مكنتها الأنطولوجيا المستخرجة:
- التوليد الآلي للمقاييس المرجعية (Benchmarks): قام أمر
dkse probe بتوليد 1,214 مجس استطلاع للتقييم القابل للتدقيق آلياً لمقياس مؤسسي (FinBench) و 200 مجس لتقييم التدريب المستمر عبر أربعة نطاقات.
- بناء مجموعة بيانات تدريب للنماذج اللغوية الكبيرة: تم دمج الأنطولوجيا ونص المتطلبات لإنشاء مجموعة نصوص مهيكلة تبلغ حوالي 2 مليون توكن (token)، وهي مناسبة للضبط الدقيق الخاضع للإشراف (supervised fine-tuning) والتدريب المستمر.
- تغذية رسوم البيانية للمعرفة (Knowledge Graph Ingestion): تم إدخال الأنطولوجيا في نظام GraphRAG، مما نتج عنه 5,803 عقدة و 6,261 حافة. وفر ذلك مصدراً للاسترجاع لاستعلامات القيم الدقيقة، مما يوفر ميزة أمان على التدريب المعتمد على الأوزان من خلال منع اختلاق قيم لا يمكن استرجاعها.
5. الأهمية والادعاءات
يضع المؤلف هذا العمل كـ إثبات مفهوم (proof-of-concept) ضمن صناعة واحدة (الخدمات المصرفية الصينية) وليس كتحقق عام النطاق.
- المساهمة الجوهرية: يثبت DKSE أن وثائق المتطلبات يمكن تحويلها إلى معرفة مهيكلة قابلة للتنفيذ آلياً (أنطولوجيات) تتجاوز مجرد رسوم بيانية بسيطة للعلاقات والكيانات لتشمل قواعد محددة الأنواع، وعمليات مرتبة، ومخططات واجهة برمجة التطبيقات.
- القيمة العملية: تسد الأداة الفجوة بين المتطلبات المقروءة بشرياً وبين هندسة البرمجيات المؤتمتة، مما يتيح مهام مثل التقييم الآلي، وإنشاء مجموعات بيانات التدريب، وتوليد الكود المدعوم بالمعرفة.
- القيود والنطاق: يذكر المؤلف صراحة أن التقييم الكمي عبر نطاقات ولغات إضافية ومقارنة بطرق الاستخراج المرجعية هو أمر متروك للعمل المستقبلي. كما يقر بأن بينما يحقق الاستخراج باستخدام النماذج اللغوية الكبيرة دقة عالية (96%)، فإن المراجعة الخبيرة تظل ضرورية للأخطاء المتبقية، وأن النظام يعتمد على قدرات النموذج اللغوي الأساسي (مثل النماذج المدربة باللغة الصينية للمصطلحات الصينية).
- التطور: تسلط الورقة الضوء على الانتقال من الهيكلة اليدوية (التي تستغرق أسابيع لنطاق واحد) إلى الاستخراج الآلي (دقائق لكل نطاق)، مع ملاحظة أن الجداول تظل تنسيقاً صعباً يتطلب تحليلاً متخصصاً.
تخلص الورقة إلى أنه بينما تنتظر الادعاءات الأوسع مزيداً من التقييم، فإن DKSE ينجح في التحقق من جدوى استخدام خطوط الإنتاج الموجهة بالنماذج اللغبية الكبيرة لهيكلة معرفة النطاق لأتمتة هندسة البرمجيات.