A pesquisa é uma tarefa difícil, pois leva muito tempo para executá -la. Se tivermos um conjunto de dados grande, se fizermos um a um pesquisando, levará muito tempo para o usuário.

Temos o conjunto de dados de sobreffeições de pilha da Kaggle Link: https://www.kaggle.com/c/facebook-recruiting-iii-keyword-extraction/data
Então agora temos uma tarefa:
SearchEngine_Data.ipynb: Neste notebook, estamos recebendo nossos dados e removendo duplicatas. Em seguida, seguimos para selecionar tags que queremos. Utilizamos multiprocessamento para fazê -lo, pois o uso de 4 núcleos juntos aumentou a velocidade e fazia o trabalho de 2,5 horas em 1 hora. Salvamos o novo DataFrame processado no banco de dados SQLite.
Pré -processamento.ipynb: Neste caderno, estamos pré -processando os dados no título, ou seja, nossas perguntas. Estamos removendo quaisquer tags e espaços HTML e outras palavras de lixo ou parada.
SearchEngine_data.ipynb: Neste caderno, estamos criando um sistema para acessar as consultas, ou seja, a etapa inicial da criação de nosso sistema de previsão. Primeiro, vetorizamos os dados inteiros e usamos a distância em pares entre a consulta e o banco de dados, mas os resultados não foram submetidos às marcas. O TFIDF teve um desempenho melhor que o arco.
ClassificationMachineLearning.ipynb: Como na 3ª etapa, não conseguimos obter bons resultados, então o que faremos é usar algum aprendizado de máquina clássico. Então, o que fiz foi usar esses dados para criar um modelo de aprendizado de máquina. O título é um valores de string, por isso usamos o TFIDFVECTORIZE ASS TFIDF com um desempenho melhor do que o arco na 3ª etapa. Em seguida, dividimos o modelo em trem, cv, teste. Como tínhamos um vetor tão esparso, tivemos 2 opções LR ou SVM. Nós nos apresentamos em Unigram e Bigram, mas em BigRam foi exagerado. Então finalmente usamos o LR com a Unigram, pois seu desempenho foi melhor.
Depois de prever a linguagem de programação da consulta, adicionamos isso em nossa consulta. Porque principalmente quando pesquisamos algo no Stackoverflow, geralmente adicionamos tags à nossa pergunta.
Em seguida, repetimos as etapas que fizemos na 3ª etapa e nossos resultados foram muito melhores.