AIcareerCoach / skill_matcher.py
Hyma7's picture
Update skill_matcher.py
520cfea verified
raw
history blame contribute delete
822 Bytes
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
import json
def load_job_descriptions(path='job_descriptions.json'):
with open(path, 'r') as f:
jobs = json.load(f)
return jobs
def match_skills(resume_text, job_descriptions):
results = []
vectorizer = TfidfVectorizer().fit_transform([resume_text] + [job["description"] for job in job_descriptions])
vectors = vectorizer.toarray()
resume_vector = vectors[0]
for idx, job in enumerate(job_descriptions):
job_vector = vectors[idx + 1]
similarity = cosine_similarity([resume_vector], [job_vector])[0][0]
results.append({"role": job["role"], "match": round(similarity * 100, 2)})
return sorted(results, key=lambda x: x["match"], reverse=True)