Entity and non-functional-requirement extraction from user stories: evidence from supervised sequence models and reproducible LLM benchmarking
تقيم هذه الورقة نماذج التسلسل الخاضعة للإشراف والنماذج اللغوية الكبيرة ذات الأوزان المفتوحة لاستخراج الكيانات والمتطلبات غير الوظيفية من قصص المستخدمين، مظهرةً أن نموذج BiLSTM-CRF يتفوق بشكل كبير على النماذج اللغوية الكبيرة ذات التعلم الصفري والتعلم من محاولة واحدة على معيار مرجعي جديد تم إصداره وقابل لإعادة الإنتاج.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
غالبًا ما تكتب فرق البرمجيات خططها في شكل جمل قصيرة وطبيعية تسمى "قصص المستخدم" (user stories). تتبع هذه الملاحظات نمطًا بسيطًا: "بصفتي [شخصًا]، أريد [إجراءً]، لكي [سببًا]". وهي تهدف إلى توضيح ما يجب أن يفعله جزء من البرنامج ولماذا يهم ذلك. وبينما يمكن للبشر قراءة هذه الملاحظات بسهولة، فإن أجهزة الكمبيوتر تجد صعوبة في فهمها؛ إذ غالبًا ما تكون الجمل غير مرتبة، أو ناقصة، أو مكتوبة بطريقة لا تتناسب مع قالب صارم. ومن أجل بناء أدوات أفضل لإدارة البرمجيات، يحتاج الباحثون إلى طريقة لتعليم أجهزة الكمبيوتر كيفية قراءة هذه القصص واستخراج المعلومات المحددة منها: من هو الشخص المعني، وماذا يريد أن يفعل، ولما أجل ماذا يريد ذلك. كما يحتاجون إلى رصد المتطلبات الخفية، مثل القواعد المتعلقة بالسرعة، أو الخصوصية، أو سهولة استخدام النظام، والتي غالبًا ما تكون مدفونة في النص أو غير مذكورة صراحة.
لقد وضع فريق من الباحثين هدفًا لحل هذه المشكلة من خلال اختبار نهجين مختلفين لتعليم أجهزة الكمبيوتر كيفية استخراج هذه التفاصيل. يستخدم النهج الأول نوعًا متخصصًا من برامج الكمبيوتر المدربة على آلاف الأمثلة ليعمل كمحرر دقيق، يقوم بتظليل الكلمات التي تناسب كل فئة بدقة. أما النهج الثاني فيستخدم نماذج اللغات الكبيرة، وهي أنظمة ذكاء اصطناعي قوية قادرة على فهم اللغة البشرية وتوليدها دون الحاجة إلى تدريب مخصص للمهمة. أراد الباحثون معرفة أي الطريقتين يمكنها استخراج المعلومات الصحيحة بدقة أكبر من مجموعة كبيرة من القصص البرمجية، وما إذا كانت أدوات الذكاء الاصطناعي الأحدث والأكثر مرونة يمكنها التفوق على الأدوات الأقدم والأكثر جمودًا.
بدأ الفريق بجمع مجموعة ضخمة مكونة من 2,234 قصة مستخدم باللغة الإنجليزية من مصادر عامة متنوعة، بما في ذلك مجتمعات تطوير البرمجيات وقواعد بيانات المتطلبات. قاموا بتصنيف هذه القصص يدويًا، وتحديد الكلمات التي تمثل الشخص، والإجراء، والهدف بدقة. ثم اختبروا سلسلة من نماذج الكمبيوتر على هذه البيانات. وكان النموذج الأكثر نجاحًا هو نظام يقرأ النصوص في كلا الاتجاهين في آن واحد، مما يسمح له بفهم سياق الكلمة من خلال النظر إلى الكلمات التي تسبقها والتي تليها. هذا النموذج، عند تدريبه على المجموعة الأصلية، حدد الأجزاء الرئيسية للقصص بشكل صحيح بنسبة 96.2% من المرات. وعندما أضاف الباحثون المزيد من الأمثلة إلى بيانات التدريب عن طريق إنشاء تنويعات طفيفة للقصص الموجودة، تحسنت دقة النموذج إلى 98.6%. كما أثبت هذا النظام كفاءة عالية في رصد الجوانب النوعية الخمسة التي كان الفريق يبحث عنها: الخصوصية، والأداء، وسهولة الاستخدام، والقابلية للتوسع، وقابلية الصيانة.
ولضمان عدالة نتائجهم وإمكانية التحقق منها من قبل الآخرين، أنشأ الباحثون مجموعة اختبار جديدة ومشتركة تم الاحتفاظ بها منفصلة عن بيانات التدريب. ودعوا سبعة نماذج مختلفة من نماذج اللغات الكبيرة لتجربة المهمة نفسها. أُعطيت هذه النماذج القصص وطُلب منها تقديم الإجابات بتنسيق صارم، دون أي شرح إضافي. وقاس الباحثون النجاح من خلال التحقق مما إذا كانت إجابة الكمبيوتر تطابق الإجابة المصنفة بشريًا كلمة بكلمة وبالترتيب نفسه تمامًا. وأظهرت النتలు فجوة واضحة بين نوعي التكنولوجيا؛ فقد حقق البرنامج المتخصص المدرب على بيانات محددة درجة دقة بلغت 0.953 في مجموعة الاختبار الجديدة. وحتى عندما أضاف الباحثون عددًا صغيرًا من الأمثلة المعدلة والآمنة إلى تدريبه، ارتفعت الدرجة إلى 0.961.
في المقابل، عانت نماذج اللغات الكبيرة، حتى أكثرها قوة، بشكل كبير عندما طُلب منها مطابقة حدود الكلمات بدقة. فقد حصل أفضل نموذج لغوي كبير في الأداء، والذي لم يتلقَّ أي أمثلة محددة للتعلم منها، على 0.414 فقط. وعندما أعطى الباحثون هذا النموذج نفسه مثالًا واحدًا ليوضح له كيفية أداء المهمة، تحسنت درجته قليلًا لتصل إلى 0.434. كانت المشكلة الرئيسية هي أنه بينما تفهم هذه النماذج غالبًا المعنى العام للقصة، إلا أنها كثيرًا ما تدرج كلمات كثيرة جدًا أو قليلة جدًا في إجاباتها، أو تختار نقاط بداية ونهاية خاطئة للعبارات. ولأن الاختبار كان يتطلب مطابقة تامة، فقد اعتبرت هذه الأخطاء الصغيرة بمثابة إخفاقات. ومع ذلك، فقد صُمم البرنامج المتخصص خصيصًا لإيجاد تلك الحدود الدقيقة، مما جعله أكثر موثوقية لهذه المهمة المحددة.
كما بحثت الدراسة في سرعة عمل هذه الأنظمة. استطاع البرنامج المتخصص معالجة قصة واحدة في أقل من نصف مللي ثانية على جهاز كمبيوتر قياسي، مما يجعله سريعًا للغاية للتعامل مع مجموعات كبيرة من البيانات. أما نماذج اللغات الكبيرة فقد استغرقت وقتًا أطول بكثير، حيث بلغ متوسط زمن المعالجة حوالي 0.7 ثانية لكل قصة، وهو فرق كبير عند التعامل مع آلاف المستندات. وأشار الباحثون إلى أنه بينما تعد نماذج اللغات الكبيرة ممتازة في فهم الفكرة العامة ويمكن أن تكون مفيدة للمراجع البشري بسرعة، إلا أنها ليست جاهزة بعد لاستبدال البرامج المتخصصة في المهام التي تتطلب استخراجًا دقيقًا ومؤتمتًا للتفاصيل المحددة.
لقد كان الباحثون حذرين في الإشارة إلى حدود عملهم؛ فلم يتمكنوا من إعادة إنتاج نتائج تجربة سابقة أكبر بشكل كامل بسبب فقدان بعض البيانات والسجلات الأصلية. كما أشاروا إلى أن المعيار المرجعي المشترك الذي أنشأوه ترك تسميات جوانب الجودة (NFR) فارغة عمدًا لأن البيانات المصدرية المتاحة لم تكن مصدقًا عليها لفئات مستوى القصة. وبناءً على ذلك، فإن مجموعة الاختبار المشتركة الجديدة هذه لا تسمح بإجراء مقارنة عادلة لكيفية تعامل نماذج اللغات الكبيرة مع تلك المتطلبات غير الوظيفية المحددة. وتخلص الدراسة إلى أنه بالنسبة للفرق التي تحتاج إلى فرز آلاف القصص البرمجية تلقائيًا للعثور على فاعلين وإجراءات وأهداف محددة، فإن برنامج الكمبيوتر المتخصص يظل الأداة الأكثر دقة وكفاءة. يمكن لنماذج اللغات الكبيرة أن تعمل كمساعد للمحلل البشري، لكن لا يمكن الوثوق بها للقيام بالعمل بمفردها دون فحص دقيق. وقد أصدر الباحثون بياناتهم وأدواتهم لكي يتمكن علماء آخرون من التحقق من هذه النتائج ومواصلة تطوير هذه التكنولوجيا.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.