warleagle commited on
Commit
50ed058
·
verified ·
1 Parent(s): e324e37

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -7
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("preprocessed_train_classify_rec_spec_filtered_by_etalon.csv")
11
- df = df[df['is_match'] == 1]
12
 
13
- model = SentenceTransformer('sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2')
14
 
15
 
16
  unique_complaints = df['Жалобы'].values.tolist()
17
 
18
  with open("embeddings.npy", 'rb') as f:
19
- unique_complaints_embeddings_st = np.load(f)
20
 
21
  def get_recommend(user_input,
22
  top_k_spec = 3,
23
- top_k_services = 10,
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, unique_complaints_embeddings_st).detach().numpy()
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='s'),
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
  )