Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -7,20 +7,19 @@ from sentence_transformers import SentenceTransformer
|
|
7 |
import gradio as gr
|
8 |
#%%
|
9 |
etalon = pd.read_csv("etalon_prod.csv")
|
10 |
-
df = pd.read_csv("
|
11 |
-
df = df[df['is_match'] == 1]
|
12 |
|
13 |
-
model = SentenceTransformer('sentence-transformers/
|
14 |
|
15 |
|
16 |
unique_complaints = df['Жалобы'].values.tolist()
|
17 |
|
18 |
with open("embeddings.npy", 'rb') as f:
|
19 |
-
|
20 |
|
21 |
def get_recommend(user_input,
|
22 |
top_k_spec = 3,
|
23 |
-
top_k_services =
|
24 |
treshold = 0.8):
|
25 |
|
26 |
cols_for_top_k = ["Специальность врача",
|
@@ -28,7 +27,7 @@ def get_recommend(user_input,
|
|
28 |
|
29 |
usr_embeddings = model.encode(user_input)
|
30 |
|
31 |
-
cos_similarity = cos_sim(usr_embeddings,
|
32 |
sorted_idx = cos_similarity[0].argsort()[::-1]
|
33 |
cos_similarity.sort()
|
34 |
|
@@ -42,6 +41,7 @@ def get_recommend(user_input,
|
|
42 |
for col in cols_for_top_k:
|
43 |
result[col] = sorted_df[col].value_counts()[:top_k_spec].index.tolist()
|
44 |
result['Жалобы'] = sorted_df['Жалобы'].value_counts()[:top_k_services].index.tolist()
|
|
|
45 |
|
46 |
lst = []
|
47 |
categories = ['Инструментальная диагностика', 'Лабораторная диагностика']
|
@@ -56,7 +56,7 @@ def get_recommend(user_input,
|
|
56 |
gradio_app = gr.Interface(
|
57 |
get_recommend,
|
58 |
inputs='text',
|
59 |
-
outputs=gr.JSON(label='
|
60 |
# title="Предсказание топ-10 наиболее схожих услуг",
|
61 |
description="Введите услугу:"
|
62 |
)
|
|
|
7 |
import gradio as gr
|
8 |
#%%
|
9 |
etalon = pd.read_csv("etalon_prod.csv")
|
10 |
+
df = pd.read_csv("preprocessed_complaints.csv")
|
|
|
11 |
|
12 |
+
model = SentenceTransformer('sentence-transformers/multi-qa-distilbert-cos-v1')
|
13 |
|
14 |
|
15 |
unique_complaints = df['Жалобы'].values.tolist()
|
16 |
|
17 |
with open("embeddings.npy", 'rb') as f:
|
18 |
+
embeddings = np.load(f)
|
19 |
|
20 |
def get_recommend(user_input,
|
21 |
top_k_spec = 3,
|
22 |
+
top_k_services = 5,
|
23 |
treshold = 0.8):
|
24 |
|
25 |
cols_for_top_k = ["Специальность врача",
|
|
|
27 |
|
28 |
usr_embeddings = model.encode(user_input)
|
29 |
|
30 |
+
cos_similarity = cos_sim(usr_embeddings, embeddings).detach().numpy()
|
31 |
sorted_idx = cos_similarity[0].argsort()[::-1]
|
32 |
cos_similarity.sort()
|
33 |
|
|
|
41 |
for col in cols_for_top_k:
|
42 |
result[col] = sorted_df[col].value_counts()[:top_k_spec].index.tolist()
|
43 |
result['Жалобы'] = sorted_df['Жалобы'].value_counts()[:top_k_services].index.tolist()
|
44 |
+
result['Диагноз МКБ'] = sorted_df['Диагноз МКБ'].value_counts()[:top_k_services].index.tolist()
|
45 |
|
46 |
lst = []
|
47 |
categories = ['Инструментальная диагностика', 'Лабораторная диагностика']
|
|
|
56 |
gradio_app = gr.Interface(
|
57 |
get_recommend,
|
58 |
inputs='text',
|
59 |
+
outputs=gr.JSON(label='Рекомендации: '),
|
60 |
# title="Предсказание топ-10 наиболее схожих услуг",
|
61 |
description="Введите услугу:"
|
62 |
)
|