Read, Extract, Classify: A Tool for Smarter Requirements Engineering
تقدم هذه الورقة ReXCL، وهي أداة مؤتمتة تعزز هندسة المتطلبات من خلال استخراج البيانات من المستندات شبه المهيكلة وتصنيف المتطلبات باستخدام النمذجة التنبؤية والضبط الدقيق التكيفي، مما يحسن بشكل كبير الكفاءة والدقة في دورة حياة تطوير البرمجيات.
تخيل أنك أمين مكتبة تحاول تنظيم كومة ضخمة وفوضوية من رسائل العملاء. بعضها مكتوب على أوراق رسمية فاخرة، وبعضها مكتوب على مناديل ورقية، وبعضها الآخر مجرد فقرات طويلة وغير مرتبة. مهمتك هي قراءة كل واحدة منها، وتحديد أي جزء منها هو "سطر الموضوع"، وأي جزء هو "متن الرسالة"، ثم فرزها في أربعة صناديق محددة: معلومات (Info)، عنوان (Header)، طلب وظيفي (Functional Request) (ما يجب أن يفعله المنتج)، وطلب غير وظيفي (Non-Functional Request) (كيف يجب أن يؤدي المنتج عمله).
القيام بذلك يدوياً عملية بطيئة، مملة، وعرضة للأخطاء. وهنا يأتي دور أداة ReXCL. فكر في ReXCL كأنه أمين مكتبة آلي ذكي للغاية ومؤتمت، مصمم خصيصاً لصناعة السيارات.
إليك كيف يعمل، مقسماً إلى خطوتين رئيسيتين:
الخطوة 1: روبوت "الاستخراج" (التنظيف والتنظيم)
أولاً، يأخذ الروبوت مستنداً فوضوياً (مثل ملف PDF أو Word) ويحاول فهم التنسيق الخاص به.
مرشح الضجيج: تخيل أن المستند يحتوي على أرقام صفحات، تواريخ، وعبارات مثل "صفحة 1 من 5" مطبوعة في الأعلى والأسفل. هذه كلها مشتتات. يستخدم الروبوت "عقلاً" بسيطاً وسريعاً (يسمى مصنف الغابة العشوائية - Random Forest classifier) لرصد هذه الأنماط المتكررة والتخلص منها، تماماً كما يفصل المنخل الرمل عن الذهب.
بناء الهيكل: بمجرد إزالة الضجيج، يبحث الروبوت عن "الهيكل العظمي" للمستودع. إنه يجد أرقام الأقسام (مثل "1.1") والعناوين (مثل "المهمة الرئيسية"). ثم يقوم بسحب النص الذي ينتمي تحت تلك العناوين.
النتيجة: يحول المستند الفوضوي إلى جدول منظم ومرتب. الأمر يشبه أخذ صندوق مبعثر من قطع "الليغو" وتركيبها معاً لتصبح دليل تعليمات واضحاً حيث لكل قطعة مكانها المخصص والمسمى.
الخطوة 2: روبوت "التصنيف" (الفرز والتوسيم)
الآن، بعد أن أصبح النص نظيفاً ومنظماً، يتولى الروبوت الثاني المهمة. هذا الروبوت أكثر ذكاءً وقد تم تدريبه بشكل خاص.
التدريب المتخصص: تخيل خبيراً لغوياً عاماً (مثل نموذج BERT القياسي) يعرف اللغة الإنجليزية جيداً ولكنه لا يعرف الكثير عن السيارات. يأخذ هذا الروبوت هذا الخبير ويمنحه دورة مكثفة في "لغة السيارات" عبر قراءة آلاف الوثائق غير المصنفة لمتطلبات السيارات. تسمى هذه العملية "الضبط الدقيق التكيفي" (Adaptive Fine-Tuning). إنها تشبه تعليم طباخ عام التخصص في المطبخ الإيطالي من خلال جعله يتذوق ويدرس آلاف الوصفات الإيطالية قبل أن يبدأ في الطبخ.
الفرز: الآن، يقرأ الروبوت كل قطعة نصية ويسأل نفسه: "هل هذه حقيقة؟ هل هذا عنوان؟ هل هذه قاعدة حول ما يجب أن تفعله السيارة (وظيفي)، أم أنها قاعدة حول مدى سرعتها (غير وظيفي)؟"
النتيجة: يضع الروبوت "ملصقاً رقمياً" على كل جملة. وتدعي الورقة البحثية أن هذا الروبوت دقيق للغاية، خاصة في الفئات الصعبة التي تفشل الأدوات الأخرى في رصدها.
الإثبات: هل نجح الأمر؟
اختبر الباحثون الروبوت الخاص بهم مقابل خبراء بشريين.
للاستخراج: قام ثلاثة خبراء بفحص عمل الروبوت على 445 جملة. حصل الروبوت على درجة 4.45 من 5. كما بلغت دقة الرخص في رصد وإزالة رؤوس وتذييلات الصفحات المزعجة 96%.
للتصنيف: عندما حاول الروبوت فرز النصوص، حقق تحسناً هائلاً مقارنة بنموذج قياسي غير مدرب.
عانى النموذج القياسي في التصنيف، حيث حصل على درجات منخفضة تصل إلى 0.22 (من 1.0) للفئات الصعبة.
أما روبوت ReXCL، فبعد تدريبه الخاص، سجل درجات تتراوح بين 0.93 و0.99. لقد كان شبه مثالي في التمييز بين "المتطلب الوظيفي" و"المتطلب غير الوظيفي".
الصورة الكبيرة
تخلص الورقة البحثية إلى أن ReXCL هو أداة لأتمتة العمل الممل والمعرض للخطأ المتمثل في تحويل مستندات العملاء الفوضوية إلى بيانات نظيفة ومنظمة.
ماذا يفعل: يأخذ الملفات الخام، ينظفها، يهيكلها، ويضع لها تسميات.
ما لا يفعله (حتى الآن): يتعامل حالياً مع المستندات النصية فقط. يذكر المؤلفون أنهم يريدون في المستقبل تعليم الروبوت فهم الصور، الجداول، والجداول الحسابية، لكنه في الوقت الحالي يلتزم بالنصوص.
المخرج النهائي: بمجرد انتهاء الروبوت من عمله، يمكنك تحميل النتائج كملف مرتب (مثل Excel أو CSV) وتغذيتها مباشرة في أدوات هندسية احترافية مثل IBM DOORS.
باختصار، ReXCL هو مساعد رقمي يحول كومة فوضوية من وثائق المتطلبات إلى ملفات منظمة وموسومة بدقة، مما يوفر على المهندسين ساعات من عمليات الفرز اليدوي.
ملخص تقني لـ ReXCL: أداة لهندسة متطلبات أكثر ذكاءً
بيان المشكلة في مجال تطوير البرمجيات، تُعد هندسة المتطلبات (RE) الفعالة أمراً حاسماً لمواءمة مخرجات النظام مع توقعات أصحاب المصلحة. ومع ذلك، فإن سير العمل الحالي للتعامل مع مواصفات متطلبات العملاء — والتي تُقدم عادةً في تنسيقات شبه منظمة مثل ملفات PDF أو DOC — يعتمد بشكل كبير على العمل اليدوي، وهو عرضة للأخطاء ويتطلب جهداً مكثفاً. يتعين على أصحاب المصلحة تفسير هياكل المستندات المتنوعة يدوياً، واستخراج بنية الأقسام، ورسم المحتوى في مخططات (schemas) محددة مسبقاً، وتصنيف المتطلبات (مثل: وظيفية، غير وظيفية، معلوماتية). تؤدي هذه الخطوات اليدوية إلى إحداث تأخيرات، وتقليل إمكانية التتبع، وتقويض الجودة الإجمالية لعملية هندسة المتطلبات، لا سيما عند دمج البيانات في الأدوات اللاحقة مثل IBM DOORS.
المنهجية لمعالجة هذه التحديات، يقدم المؤلفون ReXCL، وهي أداة مصممة لأتمتة كل من استخراج وتصنيف نصوص المتطلبات. يعمل النظام من خلال وحدتين رئيسيتين:
وحدة الاستخراج (Extraction Module):
معالجة المدخلات: تقوم الوحدة بتحويل المستندات المدخلة الخام (PDF, DOC, TXT) إلى تمثيل نصي وسيط يعتمد على لغة Markdown باستخدام حزم مثل PyMuPDF4LLM. يضمن هذا النهج الحفاظ على بنية المستند، بما في ذلك عناوين الأقسام (المميزة برموز خاصة) وتنسيق الجداول، على عكس محولات النصوص القياسية التي تعمل على تسطيح البنية.
إزالة الضجيج: لإزالة الرؤوس والتذييلات (مثل أرقام الصفحات أو التواريخ)، يتم استخدام مصنف "الغابة العشوائية" (Random Forest) خفيف الوزن. يستخدم هذا المصنف الثنائي (binary classifier) ميزتين — وتيرة التكرار والمعلومات الموضعية — لتحديد وإزالة الجمل الزائدة الموجودة في أعلى أو أسفل الصفحات.
التحليل الهيكلي: يتم تحليل النص المنظف لتحديد أرقام الأقسام، والعناوين، وكتل النصوص المرتبطة بها. يتم تجميع هذه الكتل في صفوف (tuples) مهيكلة على هيئة: ⟨numberi,headingi,[texti1,…,textim]⟩.
المخرجات: يتم تنسيق هذه الصفوف في مخطط جدولي يحتوي على معرفات الكائنات (Object Identifiers)، والأرقام، والعناوين، والنصوص، والمستويات، لتكون جاهزة للمعالجة اللاحقة.
وحدة التصنيف (Classification Module):
التكيف مع المجال: يستخدم النظام نموذجاً قائماً على BERT مخصصاً لمجال صناعة السيارات. تبدأ العملية بـ نمذجة اللغة المقنعة التكرارية (Iterative Masked Language Modeling) على نصوص متطلبات السيارات واسعة النطاق وغير المصنفة. تعمل هذه الخطوة على صقل النموذج المسبق التدريب العام لالتقاط المصطلحات والتركيبات النحوية الخاصة بهذا المجال.
الضبط الدقيق الخاضع للإشراف: بعد مرحلة التكيف، يتم ضبط النموذج بدقة في بيئة خاضعة للإشراف باستخدام نصوص متطلبات مصنفة. يتم تطبيق "مدرك متعدد الطبقات" (MLP) على رمز [CLS] الناتج من مخرجات المحول (transformer) لإجراء تصنيف دلالي على مستوى المستند.
التصنيف: يقوم النموذج بتعيين كل نص متطلبات إلى واحد من أربعة فئات: معلومات (Info)، عنوان (Header)، متطلب وظيفي (Functional Requirement)، أو متطلب غير وظيفي (Non-Functional Requirement).
المساهمات الرئيسية
الأتمتة المخططية: تقدم ReXCL نهجاً جديداً لأتمتة عملية وضع المخططات (schematization) لمستندات المتطلبات شبه المنظمة، وهي مهمة كانت تتطلب سابقاً جهداً بشرياً كبيراً.
خط إنتاج متكامل: على عكس الأعمال السابقة التي عالجت اكتشاف الرؤوس أو تصنيف الأقسام بشكل منفصل، توفر ReXCL خط إنتاج شاملاً يتعامل مع كل من الاستخراج الهيكلي والتصنيف الدلالي.
الضبط الدقيق التكيفي: توضح الأداة فعالية عملية التدريب ثنائية المرحلة (التكيف مع المجال يليه الضبط الدقيق الخاضع للإشراف) للتعامل مع مهام التصنيف ذات الموارد المحدودة في مجال السيارات.
التوافق التشغيلي: يمكن تصدير المخرجات النهائية بتنسيقات قياسية (CSV, Excel, YAML, JSON) وهي متوافقة مع أدوات هندسة المتطلبات القياسية في الصناعة مثل IBM DOORS وJira.
نتائج التقييم
أداء الاستخراج: في تقييم يدوي شمل ثلاثة خبراء مجال قاموا بمراجعة 445 جملة، حققت وحدة الاستخراج متوسط درجة دقة بلغت 4.45/5. وحقق مكون إزالة الرؤوس والتذييلات متوسط دقة قدره 96.05%.
أداء التصنيف: تظهر النتائج التجريبية مكاسب كبيرة من الضبط الدقيق التكيفي مقارنة بنموذج BERT الأساسي ("vanilla").
درجات F1 لنموذج BERT الأساسي: تراوحت بين 0.22 و0.41 عبر الفئات.
درجات F1 لنموذج BERT المضبط تكيفياً: حقق 0.99 للعنوان (Header)، و0.98 للمعلومات (Info)، و0.98 للمتطلبات الوظيفية (Functional Requirements)، و0.93 للمتطلبات غير الوظيفية (Non-Functional Requirements).
كانت التحسينات ملحوظة بشكل خاص للفئات ذات التمثيل المنخفض مثل المتطلبات غير الوظيفية.
الأهمية والادعاءات يزعم البحث أن ReXCL يحسن بشكل كبير من كفاءة ودقة إدارة المتطلبات، مما يمثل تحولاً من العمليات اليدوية المعرضة للخطأ إلى سير عمل مؤتمت وقائم على البيانات. ومن خلال تقليل الجهد البشري وزيادة الاتساق، تعمل الأداة على تبسيط عملية تحويل المستندات الخام إلى بيانات مهيكلة وقابلة للتنفيذ. ويضع المؤلفون ReXCL كحل عملي للبيئات الواقعية، مدعوماً بمراجعة الخبراء والمقاييس التجريبية.
العمل المستقبلي يشير المؤلفون إلى أن الإصدارات المستقبلية من الأداة تهدف إلى توسيع نطاق دعم الصور، والجداول، والمستندات متعددة الوسائط، بما في ذلك العروض التقديمية وجداول البيانات.