هذا البرنامج هو تطبيق سطح مكتب مخصص لنظام Windows، تم تطويره بالكامل باستخدام مكتبة Tkinter في لغة البرمجة Python. يركز البرنامج على تنفيذ وتوضيح جميع الطرق الرئيسية لعمليات استرجاع المعلومات (Information Retrieval) المستخدمة في محركات البحث، مع الاعتماد على محتوى ملف PDF كقاعدة بيانات للمستندات.
التقنيات المستخدمة:
مكتبة Tkinter: هي مكتبة قياسية في Python لإنشاء واجهات مستخدم رسومية (GUI) بسيطة وفعالة. تستخدم في هذا البرنامج لتصميم الواجهة الرئيسية، بما في ذلك حقول الإدخال للبحث، قوائم الخيارات، وأزرار التحكم في المستندات. Tkinter توفر دعماً للعناصر مثل النصوص، الأزرار، والقوائم المنسدلة، مما يجعل التطبيق سهل الاستخدام دون الحاجة إلى مكتبات خارجية معقدة.
الميزات الرئيسية:
تحميل المستندات من PDF: يقوم البرنامج بقراءة واستخراج النصوص من ملف PDF المحدد، مثل النصوص المتعلقة بالذكاء الاصطناعي، مارك زوكربيرغ، وإيلون ماسك (كما هو موضح في المستندات المثالية). يمكن إضافة أو إزالة مستندات جديدة عبر خيارات "Add" و"Remove".
طرق الاسترجاع المدعومة:
البحث البولياني (Boolean): للبحث باستخدام عمليات منطقية مثل AND، OR.
الفهرس المعكوس (Inverted Index): لتسريع البحث عن الكلمات في المستندات.
الفهرس الموضعي (Positional Index): لتحديد مواقع الكلمات داخل النصوص.
فهرس البيرموترم (Permuterm Index): لدعم البحث عن كلمات مع تغييرات في الترتيب.
النغرام (N-gram): لتحليل النصوص إلى سلاسل جزئية للبحث التقريبي.
الترتيب باستخدام TF-IDF (TF-IDF Ranking): لحساب أهمية الكلمات وترتيب النتائج.
حساب مسافة التحرير (Edit Distance): لقياس التشابه بين الكلمات مع دعم للأخطاء الإملائية.
دعم الوايلد كارد (Wildcard): يتيح البحث باستخدام رموز مثل * للكلمات غير الكاملة، كما في وضع "Active Wildcard".
واجهة مستخدم بسيطة: تشمل حقل بحث، عرض النتائج، وقائمة لاختيار الطريقة.
أمثلة من الصور المرفقة:
الصورة الأولى: تظهر الواجهة الرئيسية مع حقل البحث ("Searching Algorithms") وعرض المستندات المحملة من الـ PDF، مثل: "AI Will be the most efficient tool in the world programming world" و"MarkZuckemberg refers that the AI will be the greatest fear..."، بالإضافة إلى خيارات إدارة المستندات (Set Documents: Add, Remove).
الصورة الثانية: تعرض قائمة الخوارزميات المتاحة تحت "Active Wildcard"، مع زر "Submit" لتنفيذ البحث، وقائمة تشمل Boolean، Inverted Index، Positional Index، Permuterm Index، N-gram، TF-IDF Ranking، وزر لحساب مسافة التحرير (Edit Distance Calc).