الباحث القرآني المحسن
أحاول في هذه التجربة طرح تصور لتحسين أنظمة البحث الاستدلالي بالقرآن الكريم مستغلًا انتشار المصادر اللغوية التي تدرس القرآن الكريم سواء من الناحية الصرفية أو التفسيرية أو حتى الموضوعية (تصنيف الآيات إلى مواضيع)

الأفكار المقترحة والبيانات الستخدمة
يقوم المشروع على تطوير منظومة استرجاع تنظر للنص القرآني من عدة أبعاد:
- النص القرآني نفسه باعتباره المصدر الأساسي للمعنى والسياق.
- البيانات اللغوية مثل الجذور والتحليل الصرفي وأنواع الكلمات، لمحاولة التقاط العلاقات بين الكلمات حتى مع اختلاف الصياغة.
- التفسير الميسر باعتباره أقرب للغة المعاصرة التي تُكتب بها أغلب الاستعلامات.
- وهناك أبعاد أخرى أرى أنها تستحق التجربة مستقبلًا، مثل التصنيف الموضوعي للآيات وربطها بوسوم أو موضوعات محددة.
البحث التقليدي
يعتمد البحث التقليدي على طريقتين أساسيتين: الأولى هي المطابقة الحرفية للنص، حيث تُسترجع الكلمات أو المقاطع كما وردت تمامًا، والثانية هي البحث بالجذور اللغوية (نحو 1645 جذرًا)، مما يتيح الوصول إلى مختلف صيغ الكلمة المشتقة رغم اختلاف صورها اللفظية.

أثناء التجربة استخدمت أكثر من أداة لمعالجة اللغة العربية واستخراج الجذور مثل camel_tools و PySarf.
أكثر ما لاحظته هنا أن التحليل الصرفي العربي ما يزال تحديًا حقيقيًا، فحتى الأدوات الجيدة قد تعطي جذورًا مختلفة أو غير مكتملة لبعض الكلمات. ومع ذلك كانت PySarf في أغلب الحالات أقرب للنتائج التي أبحث عنها.
ورغم فعالية هذه الطرق في كثير من الحالات، فإنها لا تكفي دائمًا لفهم المعنى المقصود من الاستعلام أو الربط الدلالي بين الآيات.
البحث الاستدلالي المحسن
الفكرة الأساسية هنا كانت محاولة الخروج من حدود التمثيل الواحد للنص القرآني، إذ لا يكفي غالبًا منظور دلالي واحد لفهم مقصد المستخدم. لذلك قسمت عملية البحث إلى عدة أبعاد، كل منها ينظر إلى النص من زاوية مختلفة، ثم تُجمع النتائج في النهاية للمقارنة والترجيح.
البعد الأول يعتمد على نص الآيات نفسه، حيث تُحوَّل إلى تمثيلات دلالية (Embeddings) تلتقط السياق والعلاقات بين الآيات.
البعد الثاني هو التفسير الميسر، وقد تعاملت معه باعتباره جسرًا لغويًا بين صياغة المستخدم المعاصرة ولغة النص القرآني، إذ يفترض أنه أقرب إلى أسلوب طرح الأسئلة من النص الأصلي بسبب بساطة لغته ووضوحها مقارنة بالبنية البلاغية للآيات.
البعد الثالث لغوي، يركز على الجذور والبنية الصرفية للكلمات، بهدف ربط الألفاظ المختلفة التي تعود إلى أصل واحد، حتى مع اختلاف الصياغة داخل الآيات.
نلاحظ أن كل بعد من الأبعاد الثلاثة قد يعيد مجموعة مختلفة من الآيات، وبترتيب مختلف أيضًا، رغم أن الهدف واحد وهو الوصول إلى أفضل الآيات المرتبطة بالاستعلام. كيف يمكن توحيد هذه النتائج في ترتيب واحد يعيد للمستخدم الآيات التي يبحث عنها فعلاً؟
الإجابة تكمن في عدم اعتمادي على طريقة دمج واحدة للنتائج، بل جربت أكثر من أسلوب لترتيب النتائج وموازنتها. ومع التجربة، ظهر أن سلوك الأبعاد يختلف بحسب الاستعلام؛ ففي بعض الحالات يكون التفسير أدق لأنه يكشف المعنى الضمني في الآيات، وفي حالات أخرى تتفوق الجذور اللغوية في التقاط الروابط بين الألفاظ.
وامتدادًا لهذه الفكرة، تتيح الواجهة التحكم في وزن كل بعد دلالي، بحيث يمكن للمستخدم تحديد ما إذا كان يميل إلى الاعتماد أكثر على التفسير، أو على البحث اللغوي، أو على التطابق المباشر داخل النص.
ملاحظات أثناء التطوير
تطلب عملية التطوير تجربة نماذج وفرضيات مختلفة ولذا أقترح عند مساهمتك في تطوير هذه الفكرة التجربة على فضاء جزئي أولاً فبدلاً من محاولة تضمين القرآن بأكمله وأنت في مرحلة التجربة يمكنك تحديد فضاء البحث ليشمل سورة واحدة مثل سورة يوسف، وقد استخدمت هذه الطريقة لتحديد النموذج الأنسب لهذا المشروع فبين ثلاثة نماذج قمت باختبارها وجدت أن نموذج
“silma-ai/silma-embeddding-sts-0.1” هو الأقل في عدد المعاملات 135 مليون معامل وفي الحجم 0.5 جيجابايت.

عندما تستقر على الإعدادت المناسبة ذات الأداء الأفضل يمكنك حينها تضمين الآيات القرآنية بأكملها مستغلاً أن القرآن ثابت في عدد آياته ولن يتغير فلن تحتاج سوى تضمين الآيات كلها مرة واحدة بشكل مسبق ثم حفظ التضمينات الناتجة لإعادة استخدامها في تشغيل التطبيق بشكل سريع.
تشغيل نسختك من المشروع
لتتمكن من تجربة المشروع اتبع الخطوات التالية :
قم بعمل Fork لمستودع المشروع على GitHub:
https://github.com/hossamAhmedSalah/Quranic_Search_deployed
أنشئ حسابًا على منصة Streamlit، ثم اربطه بحسابك على GitHub.
اختر الخطة المجانية (Free) لتشغيل التطبيقات على السحابة.
من لوحة التحكم، اضغط Create app ثم اختر Deploy public app from GitHub.
حدد المستودع الذي قمت بعمل Fork له، ثم اختر ملف الواجهة الرئيسي: app.py، وأكمل عملية النشر.
مسارات التطوير المقترحة
يمكنك المساهمة في تطوير فكرة هذا المشروع بإتباع أحد المسارات التالية أو ابتداع مسارك الخاص
المسار الأول : استغلال الأبعاد الأخرى مثل البعد الموضوعي لتطبيق ترشيحات متقدمة أو تقليص مساحات البحث المطلوبة بالبحث في الآيات التي تتضمن الموضوعات التى حددها المستخدم أو استخرجتها من استعلامه بشكل ضمني.
المسار الثاني : تجربة نماذج مختلفة ومحاولة إيجاد نموذج أفضل أو تحسين النتائج التي يحققها النموذج الحالي بضبط أفضل للمعاملات.
المسار الثالث : إعادة صياغة استعلامات المستخدم لتكوين أسئلة أو استعلامات أعلى جودة وأوضح في القصد، فجودة المدخلات تحسن بشكل كبير جودة الاسترجاع.
المسار الرابع : تحسين آليات التقييم الآلى لنظم البحث الاستدلالي القرآني من خلال إنشاء مجموعات بيانات تتضمن مواضيع أو استعلامات اختبارية ملحق بها الآيات ذات الصلة الفعلية.
المسار الخامس : تحسين قدرة النظام على التعامل مع اللغات المختلفة.