mrfirdauss commited on
Commit
2d91242
·
verified ·
1 Parent(s): ee1bfa2

Update classificator.py

Browse files
Files changed (1) hide show
  1. classificator.py +9 -7
classificator.py CHANGED
@@ -44,7 +44,6 @@ def get_coordinates(city):
44
  return None
45
 
46
  def predict(cv, job, weight):
47
- diffYoe = cv['yoe'] - job['minYoE']
48
  results = {}
49
  role_req_exp = cosine_similarity(st.encode(cv['experiences']).reshape(1,-1), st.encode(job['role']+'\n'+job['jobDesc']).reshape(1,-1))[0][0] if cv['experiences'] != '[]' else 0
50
  role_pos = cosine_similarity(st.encode(cv['positions']).reshape(1,-1), st.encode(job['role']).reshape(1,-1))[0][0] if cv['positions'] != '[]' else 0
@@ -55,13 +54,16 @@ def predict(cv, job, weight):
55
  coords_1 = get_coordinates(cv['location'])
56
  coords_2 = get_coordinates(job['location'])
57
  distance = 999999
58
- diffYoe = max(diffYoe, 0)
59
- if coords_1 and coords_2:
60
- distance = geodesic(coords_1, coords_2).kilometers
61
- else:
62
- raise ValueError("Could not get coordinates for one or both cities.")
 
 
 
63
 
64
- score = weight['exp'] * role_req_exp + weight['position'] * role_pos + weight['major'] * major_similarity + weight['diffYoe']* diffYoe/job['minYoE'] + weight['skills'] * skill_similarity + weight['location'] * (1 / (1 + distance))
65
  # data = [{
66
  # 'role_req-exp': role_req_exp,
67
  # 'role_pos': role_pos,
 
44
  return None
45
 
46
  def predict(cv, job, weight):
 
47
  results = {}
48
  role_req_exp = cosine_similarity(st.encode(cv['experiences']).reshape(1,-1), st.encode(job['role']+'\n'+job['jobDesc']).reshape(1,-1))[0][0] if cv['experiences'] != '[]' else 0
49
  role_pos = cosine_similarity(st.encode(cv['positions']).reshape(1,-1), st.encode(job['role']).reshape(1,-1))[0][0] if cv['positions'] != '[]' else 0
 
54
  coords_1 = get_coordinates(cv['location'])
55
  coords_2 = get_coordinates(job['location'])
56
  distance = 999999
57
+ diffYoe = min( cv['yoe']/job['minYoE'], 0)
58
+ try:
59
+ if coords_1 and coords_2:
60
+ distance = geodesic(coords_1, coords_2).kilometers
61
+ else:
62
+ raise ValueError("Could not get coordinates for one or both cities.")
63
+ except ValueError:
64
+ distance = 100000
65
 
66
+ score = weight['exp'] * role_req_exp + weight['position'] * role_pos + weight['major'] * major_similarity + weight['diffYoe']* diffYoe + weight['skills'] * skill_similarity + weight['location'] * (1 / (1 + distance))
67
  # data = [{
68
  # 'role_req-exp': role_req_exp,
69
  # 'role_pos': role_pos,