Die Suche ist eine schwierige Aufgabe, da es so viel Zeit braucht, um dies auszuführen. Wenn wir einen großen Datensatz haben, dauert es so viel Zeit, wenn wir eins zu eins suchen.

Wir haben einen Stack-Überlaufdatensatz von Kaggle Link: https://www.kaggle.com/c/facebook-recruiting-ii-yeword-extraction/data
Jetzt haben wir also eine Aufgabe:
SearchEngine_data.ipynb: In diesem Notebook erhalten wir unsere Daten und entfernen Duplikate. Dann gehen wir weiter zu Tags, die wir wollen. Wir verwendeten Multiprocessing, um dies zu tun, da die Verwendung von 4 Kernen zusammen die Geschwindigkeit erhöhte und eine Arbeit von 2,5 Stunden in 1 Stunde erbrachte. Wir haben den neuen verarbeiteten Datenrahmen in der SQLite -Datenbank gespeichert.
Preprocessing.ipynb: In diesem Notebook werden wir die Daten im Titel vorbereiten, dh unsere Fragen. Wir entfernen alle HTML -Tags und -Räume und andere Müll oder Stoppwörter.
SearchEngine_data.ipynb: In diesem Notebook erstellen wir ein System, um auf die Abfragen zuzugreifen, dh Startschritt zum Aufbau unseres Vorhersagesystems. Wir haben zuerst die gesamten Daten vektorisiert und einen paarweisen Abstand zwischen Abfrage und Datenbank verwendet, aber die Ergebnisse waren nicht bis zu den Markierungen. TFIDF erzielte besser als Bogen.
ClassificationMachinElarning.IPYNB: Wie im 3. Schritt konnten wir keine guten Ergebnisse erzielen. Wir werden also ein klassisches maschinelles Lernen verwenden. Ich habe diese Daten verwendet, um ein maschinelles Lernmodell zu erstellen. Der Titel ist ein Zeichenfolgewerte, daher haben wir TFIDFVectorizer Ass TFIDF verwendet, der im 3. Schritt besser als Bug ausgeführt wurde. Nächster Schritt haben wir das Modell in Zug, Lebenslauf, Test unterteilt. Da wir einen so spärlichen Vektor hatten, hatten wir 2 Auswahlmöglichkeiten LR oder SVM. Wir traten sowohl auf Unigram als auch auf Bigram auf, aber auf Bigram war es übereinstößig. Dann haben wir LR endlich mit Unigram verwendet, da seine Leistung besser war.
Nachdem wir dann die Programmiersprache der Abfrage vorhergesagt haben, fügen wir das in unserer Abfrage hinzu. Denn vor allem, wenn wir etwas auf Stackoverflow durchsuchen, fügen wir mit unserer Frage oft Tag hinzu.
Dann wiederholten wir die Schritte, die wir im 3. Schritt durchgeführt haben, und unsere Ergebnisse waren weitaus besser.