La recherche est une tâche difficile car il faut tellement de temps pour l'exécuter. Si nous avons un grand ensemble de données, si nous faisons une recherche à un, cela prendra tellement de temps d'utilisateur.

Nous avons un ensemble de données Stack Overflow à partir du lien Kaggle: https://www.kaggle.com/c/facebook-recruiting-iii-keyword-extraction/data
Alors maintenant, nous avons une tâche:
SearchEngine_data.ipynb: Dans ce cahier, nous obtenons nos données et supprimons les doublons. Ensuite, nous passons à la sélection des balises que nous voulons. Nous avons utilisé le multiprocessement pour le faire car l'utilisation de 4 cœurs ensemble a augmenté la vitesse et a travaillé de 2,5 heures en 1 heure. Nous avons enregistré la nouvelle DataFrame traitée dans la base de données SQLite.
Preproficesing.Ipynb: Dans ce cahier, nous prétraions les données dans le titre, c'est-à-dire nos questions. Nous supprimons les balises et espaces HTML et autres mots indésirables ou des mots d'arrêt.
SearchEngine_data.ipynb: Dans ce cahier, nous créons un système pour accéder aux requêtes, à savoir la mise de démarrage de la construction de notre système de prédiction. Nous avons d'abord vectorisé toutes les données et utilisé la distance par paire entre la requête et la base de données, mais les résultats n'étaient pas jusqu'à les marques. TFIDF a mieux fonctionné que Bow.
ClassificationMachineLearning.Ipynb: Comme dans la 3e étape, nous n'avons pas pu obtenir de bons résultats, donc ce que nous allons faire, c'est utiliser un apprentissage automatique classique. Donc, ce que j'ai fait est d'utiliser ces données pour créer un modèle d'apprentissage automatique. Le titre est une valeurs de chaîne, nous avons donc utilisé TFIDFVectorizer ASS TFIDF a mieux fonctionné que BOW en 3e étape. La prochaine étape, nous avons divisé le modèle en train, CV, test. Comme nous avions un vecteur aussi clairsemé, nous avions 2 choix LR ou SVM. Nous avons joué sur Unigram et Bigram, mais sur Bigram, c'était un sur-ajustement. Ensuite, nous avons finalement utilisé LR avec unigramme car sa performance était meilleure.
Ensuite, après avoir prédit le langage de programmation de la requête, nous l'ajoutons dans notre requête. Parce que lorsque nous recherchons quelque chose sur StackOverflow, nous ajoutons souvent une balise avec notre question.
Ensuite, nous avons répété les étapes que nous avons faites en 3e étape et nos résultats ont été bien meilleurs.