Upload Search Funcs file
Browse files
Search.py
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import spacy
|
| 2 |
+
import pandas as pd
|
| 3 |
+
import numpy as np
|
| 4 |
+
from sentence_transformers import util
|
| 5 |
+
|
| 6 |
+
nlp = spacy.load("en_core_web_lg")
|
| 7 |
+
def keyword_search(kw_query, kw_corpus): # Implements a word-2-vec-like algorithm
|
| 8 |
+
query = nlp(kw_query)
|
| 9 |
+
kws_text = [kw for kw in kw_corpus]
|
| 10 |
+
kws_vec = [nlp(kw).vector for kw in kws_text]
|
| 11 |
+
scores = util.cos_sim(query.vector, kws_vec)
|
| 12 |
+
sorted_inds = np.fliplr(np.argsort(scores))
|
| 13 |
+
sorted_kws = np.array(kws_text)[sorted_inds][0]
|
| 14 |
+
return sorted_inds, sorted_kws, np.fliplr(np.sort(scores))
|