검색은 그것을 수행하는 데 너무 많은 시간이 걸리므로 어려운 작업입니다. 큰 데이터 세트가 있으면 검색을 한 번에 한 번 수행하면 많은 사용자 시간이 걸립니다.

Kaggle 링크에서 스택 오버플로 데이터 세트가 있습니다.
이제 우리는 작업이 있습니다.
SearchEndine_data.ipynb :이 노트북에서는 데이터를 가져오고 복제를 제거합니다. 그런 다음 우리는 원하는 태그를 선택합니다. 우리는 4 개의 코어를 함께 사용하면 속도를 높이고 1 시간 동안 2.5 시간의 작업을 수행하기 위해 멀티 프로세싱을 사용했습니다. 새로운 처리 된 데이터 프레임을 SQLITE 데이터베이스에 저장했습니다.
preprocessing.ipynb :이 노트북에서는 제목의 데이터를 전처리하고 있습니다. 우리는 HTML 태그와 공백, 기타 정크 또는 스톱워드를 제거하고 있습니다.
SearchEndine_data.ipynb :이 노트북에서는 쿼리에 액세스하는 시스템을 작성하고 예측 시스템을 구축하는 단계를 시작합니다. 먼저 전체 데이터를 벡터화하고 쿼리와 데이터베이스 사이의 쌍별 거리를 사용했지만 결과는 마크까지 올라가지 않았습니다. TFIDF는 활보다 더 잘 수행되었습니다.
ClassificationMachineLearning.ipynb : 3 단계에서는 좋은 결과를 얻을 수 없었으므로 우리가 할 일은 클래식 머신 학습을 사용하는 것입니다. 그래서 내가 한 일은이 데이터를 사용하여 기계 학습 모델을 만듭니다. 제목은 문자열 값이므로 TFIDFVECTORIZER ASS TFIDF가 3 단계에서 활보다 더 잘 수행했습니다. 다음 단계 우리는 모델을 기차, CV, 테스트로 나누었습니다. 우리는 그런 희소 한 벡터를 가졌기 때문에 LR 또는 SVM의 2 가지 선택을 가졌습니다. 우리는 유니 그램과 빅 람에서 공연했지만 Bigram에서는 과적으로 적합했습니다. 그런 다음 우리는 마침내 성능이 좋기 때문에 Unigram과 LR을 사용했습니다.
그런 다음 쿼리의 프로그래밍 언어를 예측 한 후 쿼리에 추가합니다. 주로 StackoverFlow에서 무언가를 검색 할 때 종종 질문에 태그를 추가합니다.
그런 다음 3 단계에서 수행 한 단계를 반복했으며 결과가 훨씬 나아졌습니다.