Spaces:
Runtime error
Runtime error
Update classificator.py
Browse files- 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 =
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
|
|
|
|
|
|
|
|
|
| 63 |
|
| 64 |
-
score = weight['exp'] * role_req_exp + weight['position'] * role_pos + weight['major'] * major_similarity + weight['diffYoe']* diffYoe
|
| 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,
|