JobShield-AI / skill_analyzer.py
shravanijadhav264's picture
Initial clean commit
984c70c
import re
COMMON_SKILLS = [
"python","java","c++","sql","flask","django",
"machine learning","deep learning","nlp",
"aws","docker","kubernetes",
"html","css","javascript","react",
"pandas","numpy","tensorflow","pytorch",
"api","rest","git","linux","mongodb",
"rest api","rest apis","api development"
"mongodb","mysql","scikit-learn",
"bootstrap","rest api","fastapi","postgresql"
]
def extract_skills(text):
text = text.lower()
found = []
for skill in COMMON_SKILLS:
if skill.lower() in text.lower():
found.append(skill)
return set(found)
def analyze_skill_gap(resume_text, jd_text):
resume_skills = extract_skills(resume_text)
jd_skills = extract_skills(jd_text)
matched = resume_skills.intersection(jd_skills)
missing = jd_skills - resume_skills
match_ratio = 0
if len(jd_skills) > 0:
match_ratio = len(matched) / len(jd_skills) * 100
return {
"matched": list(matched),
"missing": list(missing),
"match_ratio": round(match_ratio, 2)
}