Spaces:
Sleeping
Sleeping
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) | |