يعد البحث مهمة صعبة حيث يستغرق الكثير من الوقت لأداءها. إذا كان لدينا مجموعة بيانات كبيرة ، فإذا قمنا ببحث واحد إلى واحد ، فسيستغرق الأمر الكثير من وقت المستخدم.

لدينا مجموعة بيانات Overflow من Kaggle Link: https://www.kaggle.com/c/facebook-recruiting-iii-keyword-extraction/data
حتى الآن لدينا مهمة:
SearchEngine_Data.ipynb: في هذا الكمبيوتر الدفتري ، نحصل على بياناتنا ونزيل التكرارات. ثم ننتقل إلى تحديد العلامات التي نريدها. استخدمنا المعالجة المتعددة للقيام بذلك لأن استخدام 4 نوى معًا زاد من السرعة وقام بعمل 2.5 ساعة في ساعة واحدة. قمنا بحفظ DataFrame المعالج الجديد في قاعدة بيانات SQLite.
Preprocessing.ipynb: في هذا الكمبيوتر الدفتري ، نقوم بتعامل مع المعالجة للبيانات في العنوان أي أسئلتنا. نقوم بإزالة أي علامات ومسافات HTML وغيرها من الكلمات غير المرغوب فيها أو الإيقاف.
SearchEngine_Data.ipynb: في هذا الكمبيوتر الدفتري ، نقوم بإنشاء نظام للوصول إلى الاستعلامات ، أي خطوة بدء بناء نظام التنبؤ الخاص بنا. قمنا أولاً بتجميع البيانات بأكملها واستخدمنا المسافة الزوجية بين الاستعلام وقاعدة البيانات ولكن النتائج لم تكن حتى العلامات. أداء TFIDF أفضل من القوس.
تصنيف machinelearning.ipynb: كما في الخطوة الثالثة ، لم نتمكن من الحصول على نتائج جيدة ، لذلك ما سنفعله هو استخدام بعض التعلم الآلي الكلاسيكي. إذن ما فعلته هو استخدام هذه البيانات لصنع نموذج التعلم الآلي. العنوان هو قيم سلسلة ، لذلك استخدمنا TFIDFVectorizer ASS TFIDF أداء أفضل من القوس في الخطوة الثالثة. الخطوة التالية قمنا بتقسيم النموذج إلى القطار ، السيرة الذاتية ، اختبار. نظرًا لأننا كان لدينا مثل هذا المتجه المتفرق ، كان لدينا خياران LR أو SVM. لقد قمنا بعمل على كل من Unigram و Bigram ولكن على Bigram كان مناسبة. ثم استخدمنا أخيرًا LR مع Unigram لأن أدائها كان أفضل.
ثم بعد التنبؤ بلغة البرمجة للاستعلام ، نضيف ذلك في استفسارنا. تسبب في الغالب عندما نبحث عن شيء ما على stackoverflow ، غالبًا ما نضيف علامة مع سؤالنا.
ثم كررنا الخطوات التي قمنا بها في الخطوة الثالثة وكانت نتائجنا أفضل بكثير.