NataKaichkina commited on
Commit
9dce2d0
1 Parent(s): 5c33cd7
Files changed (2) hide show
  1. app.py +37 -7
  2. pickle_model_try20.pkl +0 -0
app.py CHANGED
@@ -19,6 +19,8 @@ def predict_by_model(Title, FullDescription, model):
19
  embedding_model = SentenceTransformer('all-mpnet-base-v2')
20
  with open("pickle_model_final.pkl", 'rb') as file:
21
  pickle_model = pickle.load(file)
 
 
22
 
23
 
24
  categories = ['',
@@ -52,25 +54,53 @@ categories = ['',
52
  'Trade & Construction Jobs',
53
  'Travel Jobs']
54
 
55
- def GetResult(description, text, model):
56
  prediction = predict_by_model(description, text, model)
57
  return int((prediction // 500) * 500)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
 
59
 
60
  st.warning('Введите название и описание вакансии')
61
 
62
  description = st.text_input('Введите название вакансии')
63
- text = st.text_area('Введите описание вакансии')
64
-
65
- option = st.selectbox('Введите категорию вакансии', categories)
 
66
 
67
  if st.button('Предсказать зарплату'):
68
- if description != '' and text != '':
69
- result = GetResult(description, text, pickle_model)
 
 
 
 
70
  st.write('Результат: ' + str(result))
71
  else:
72
  st.error('Поле с названием и описанием вакансии должны быть обязательно заполнены')
73
  else:
74
  st.write('Результат:')
75
- if description != '' and text != '':
76
  st.warning('Для получения предсказания нажмите кнопку "Предсказать зарплату"')
 
19
  embedding_model = SentenceTransformer('all-mpnet-base-v2')
20
  with open("pickle_model_final.pkl", 'rb') as file:
21
  pickle_model = pickle.load(file)
22
+ with open("pickle_model_try20.pkl", 'rb') as file:
23
+ pickle_model20 = pickle.load(file)
24
 
25
 
26
  categories = ['',
 
54
  'Trade & Construction Jobs',
55
  'Travel Jobs']
56
 
57
+ def GetResultV(description, text, model):
58
  prediction = predict_by_model(description, text, model)
59
  return int((prediction // 500) * 500)
60
+
61
+
62
+ def GetResultN(title, description, category, contractType, contractTime, model):
63
+ d = {'Title': [normilize_text(title)],
64
+ 'FullDescription': [normilize_text(description)],
65
+ 'ContractTime'+'_contract': [contractTime == 'contract'],
66
+ 'ContractTime'+'_permanent': [contractTime == 'permanent'],
67
+ 'ContractTime'+'_unknown': [contractTime != 'contract' and contractTime != 'permanent'],
68
+ 'ContractType'+'_full_time': [contractType == 'full_time'],
69
+ 'ContractType'+'_part_time': [contractType == 'part_time'],
70
+ 'ContractType'+'_unknown': [contractType != 'full_time' and contractType != 'part_time'],
71
+ }
72
+ for i in Category.keys():
73
+ d[i] = 0
74
+ d[category] = 1
75
+ Valid = pd.DataFrame(d)
76
+ title_emb, descr_emb = pd_to_emb_pd(Valid)
77
+ Valid = Valid.join(pd.DataFrame(title_emb, columns=title123)).join(pd.DataFrame(descr_emb, columns=descr123))
78
+ del Valid['Title']
79
+ del Valid['FullDescription']
80
+
81
+ predict = model.predict(Valid)
82
+ return int((predict // 500) * 500)
83
 
84
 
85
  st.warning('Введите название и описание вакансии')
86
 
87
  description = st.text_input('Введите название вакансии')
88
+ title = st.text_area('Введите описание вакансии')
89
+ category = st.selectbox('Введите категорию вакансии', categories)
90
+ contractType = st.selectbox('Введите тип занятости', ['part_time', 'full_time', 'other'])
91
+ contractTime = st.selectbox('Введите тип договора', ['contract', 'permanent', 'other'])
92
 
93
  if st.button('Предсказать зарплату'):
94
+ if description != '' and title != '':
95
+ if len(description) < 50 or len(title) < 15:
96
+ st.error('Поле с названием и описанием вакансии имеют слишком короткие значения')
97
+ return
98
+ #result = GetResult(description, title, pickle_model)
99
+ result = GetResultN(title, description, category, contractType, contractTime, pickle_model20)
100
  st.write('Результат: ' + str(result))
101
  else:
102
  st.error('Поле с названием и описанием вакансии должны быть обязательно заполнены')
103
  else:
104
  st.write('Результат:')
105
+ if description != '' and title != '':
106
  st.warning('Для получения предсказания нажмите кнопку "Предсказать зарплату"')
pickle_model_try20.pkl ADDED
Binary file (708 kB). View file