File size: 515 Bytes
345000b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def compute_scores(

    resume_skills: set[str],

    jd_skills: set[str],

    semantic_score: float

) -> dict:

    if not jd_skills:
        skill_match = 0.0
    else:
        skill_match = len(resume_skills & jd_skills) / len(jd_skills)

    final_score = (
        0.5 * skill_match +
        0.5 * semantic_score
    )

    return {
        "skill_match": round(skill_match, 3),
        "semantic_similarity": round(semantic_score, 3),
        "overall_score": round(final_score, 3)
    }