كيفية بناء تطبيق يستخدم الذكاء الاصطناعي لتوليد أسئلة الاختيار المتعدد من ويكيبيديا
كيفية بناء تطبيق أسئلة الاختيار من متعدد (MCQ) يوضح هذا المقال كيفية بناء تطبيق يولد أسئلة الاختيار من متعدد (MCQ) حول أي موضوع يحدده المستخدم. يستخدم التطبيق مقالات ويكيبيديا ذات الصلة مع طلب المستخدم ويستعين بتقنية الاسترجاع المعزز (RAG) لإنشاء الأسئلة. عرض التطبيق يظهر الفيديو أعلاه عملية إدخال المستخدم للموضوع المطلوب، توليد السؤال الاختياري، وكيفية ظهور التغذية الراجعة بعد إجابة المستخدم. صفحة البداية: يقوم المستخدم بإدخال الموضوع الذي يريد توليد أسئلة عنه. عند الضغط على "إرسال الموضوع"، يبدأ التطبيق بالبحث عن مقالات ويكيبيديا التي تتعلق بموضوع الاستفسار. صفحة السؤال: يتم تقسيم كل مقالة إلى أقسام وتقييمها بناءً على مدى التطابق مع استفسار المستخدم. يتم استعراض القسم المختار في الصفحة التالية مع خيارات الإجابة الأربعة. يمكن للمستخدم اختيار إجابة والضغط على "إرسال الإجابة" أو تخطي السؤال عبر "السؤال التالي". إذا تم تخطي السؤال، فلن يتم استخدام هذا القسم مرة أخرى لتوليد أسئلة جديدة. صفحة الإجابة: تظهر هذه الصفحة إذا كانت الإجابة صحيحة أم خاطئة وتقدم توضيحًا إضافيًا. يمكن للمستخدم الحصول على سؤال جديد عبر "السؤال التالي" أو إنهاء الجلسة عبر "إنهاء الأسئلة". صفحة نهاية الجلسة: تعرض هذه الصفحة عدد الأسئلة التي أجاب عليها المستخدم بشكل صحيح وخاطئ، بالإضافة إلى عدد الأسئلة التي تمت رفضها. يمكن للمستخدم بدء جلسة جديدة عبر "بدء جلسة جديدة". المفهوم هدف التطبيق هو إنتاج أسئلة عالية الجودة وحديثة حول أي موضوع يحدده المستخدم، مع مراعاة تغذية الراجعة من المستخدم لضمان أن الأسئلة تلبي توقعاته. يتم استرجاع السياق من مقالات ويكيبيديا بناءً على استفسار المستخدم، ثم تقسيم المقالات إلى أقسام وتقييمها. إذا رفض المستخدم سؤالًا، فسيتم خفض درجة القسم ليكون احتمال اختياره مرة أخرى أقل. استرجاع السياق تحويل الاستفسار إلى كلمات مفتاحية: يتم تحويل الاستفسار الذي يدخله المستخدم إلى كلمات مفتاحية. مثال: "اسألني عن النجوم والكواكب" قد تتحول إلى "نجوم، كواكب، فلك، النظام الشمسي، مجرة". بحث ويكيبيديا: يتم تنفيذ بحث ويكيبيديا لكل كلمة مفتاحية واختيار أفضل ثلاث صفحات. يتم حساب تشابه المقتطفات النصية للصفحات مع الاستفسار وتصفية الصفحات التي يكون تشابهها أقل من العتبة المحددة. تقسيم الصفحات إلى أقسام: يتم تقسيم الصفحات المتبقيّة إلى أقسام وتقييم كل قسم بناءً على تشابهه مع الاستفسار. يتم تصفية الأقسام ذات التشابه المنخفض. =scoring الأقسام: يتم تعيين درجة لكل قسم بناءً على تشابهه مع الاستفسار وعدد مرات رفضه. توليد الأسئلة اختيار القسم: يتم اختيار قسم بناءً على درجاته واستخدام نصه مع استفسار المستخدم في الدعوة إلى نموذج الدردشة. استدعاء نموذج الدردشة: يعود النموذج بردٍ منسق بالتنسيق JSON يحتوي على السؤال، خيارات الإجابة، وتوضيح الإجابة الصحيحة. تقييم الإجابة: عند إرسال الإجابة، يتم تقييم صحة الإجابة وتوضيح الإجابة الصحيحة. تحديث الدرجات: إذا رُفض السؤال أو فشلت عملية توليد السؤال، فستتم خفض درجة القسم المختار ليكون احتمال اختياره مرة أخرى أقل. المكونات الرئيسية استخراج مقالات ويكيبيديا: يتم البحث عن الصفحات المناسبة باستخدام URL بحث ويكيبيديا. يتم قراءة محتوى الصفحات المبقيّة باستخدام wikipediaapi. scoring السياق: يتم حساب درجة كل قسم بناءً على عدد مرات رفضه وتشابهه مع الاستفسار. تصميم الدعوات (Prompts): يتم استخدام دعوتين: الأولى لتوليد الكلمات المفتاحية والثانية لتوليد الأسئلة. الدعوة الأولى تحدد الكلمات المفتاحية التي يجب استخدامها للبحث عن مقالات ويكيبيديا. الدعوة الثانية تتضمن القسم المختار والاستفسار للمستخدم وتدعو نموذج الدردشة لتوليد سؤال، خيارات الإجابة، وتوضيح الإجابة الصحيحة. تطبيق Streamlit: يتم بناء التطبيق باستخدام Streamlit، إطار عمل مجاني ومفتوح المصدر لتطبيقات Python. يمكن إنشاء عناصر الصفحة بسهولة باستخدام وظائف Streamlit مثل st.text_area و st.button. يستخدم st.session_state لنقل المعلومات بين الجولات المختلفة داخل التطبيق. التحسينات المحتملة تحميل الوثائق الخاصة: يمكن للمستخدمين تحميل ملفات PDF خاصة بهم لتوليد أسئلة من مواد مخصصة، مثل شرائح المحاضرات أو الكتب المدرسية. تحسين اختيار السياق: يمكن تدريب نموذج تعلم آلي لتوقع احتمالية رفض السؤال بناءً على الخصائص مثل تشابهه مع الأسئلة المقبولة والمرفضة. حفظ الأسئلة المولدة: يمكن حفظ الأسئلة لتكرار التمارين التعليمية، مع التركيز على الأسئلة التي أجاب عنها المستخدم بشكل خاطئ لتحسين نقاط الضعف. الخلاصة يُظهر هذا المقال كيفية استخدام تقنية الاسترجاع المعزز (RAG) لبناء تطبيق تعليمي تفاعلي يُنتج أسئلة الاختيار من متعدد ذات جودة عالية ومحددة السياق من مقالات ويكيبيديا. من خلال الجمع بين البحث بالكلمات المفتاحية، التصفية الدلالية، تصميم الدعوات، ونظام التقييم القائم على التغذية الراجعة، يتم تكييف التطبيق ديناميكياً مع تفضيلات المستخدم وأهدافه التعليمية. يوفر Streamlit أدوات سهلة لتطوير ونشر التطبيق بسرعة، مما يجعله إطار عمل مُتاح للمعلمين، الطلاب، والمطورين على حد سواء. مع التحسينات المحتملة، يمكن للتطبيق أن يصبح منصة متنوعة لتعلم شخصي وتقييم الذات. تقييم الحدث يرى المختصون في مجال التكنولوجيا التعليمية أن هذا التطبيق يعد خطوة مهمة نحو تحسين التعلم الرقمي وتعزيز التفاعل بين المستخدم والمحتوى التعليمي. يمكن استخدامه ليس فقط في التعليم العام بل أيضًا في التحضير للمباريات والاختبارات الأكاديمية. كما أن استخدام تقنيات الذكاء الصناعي مثل RAG يعزز من دقة وتخصيص الأسئلة، مما يجعل التجربة أكثر فعالية وشخصية. نبذة تعريفية عن Streamlit Streamlit هو إطار عمل مفتوح المصدر مكتوب بلغة البرمجة Python. يتميز بسهولة الاستخدام وبقدرته على إنشاء تطبيقات ويب تفاعلية بسرعة وبدون الحاجة إلى معرفة معمقة في تطوير الويب. يوفر العديد من الوظائف التي تتيح إضافة عناصر واجهة المستخدم بسطر واحد من الكود، مما يجعله الخيار الأمثل لتطوير نماذج أولية سريعة وتطبيقات بحثية.
