Spaces:
Build error
Build error
| from keybert import KeyBERT | |
| from sentence_transformers import SentenceTransformer, util | |
| kw_model = KeyBERT() | |
| model = SentenceTransformer('all-MiniLM-L6-v2') | |
| def extract_keywords(text, top_n=10): | |
| return [kw[0] for kw in kw_model.extract_keywords(text, stop_words='english', top_n=top_n)] | |
| def compare_skills(job_text, user_text): | |
| job_keywords = extract_keywords(job_text, top_n=8) | |
| user_keywords = extract_keywords(user_text, top_n=10) | |
| job_embeds = model.encode(job_keywords, convert_to_tensor=True) | |
| user_embeds = model.encode(user_keywords, convert_to_tensor=True) | |
| results = [] | |
| for i, job_kw in enumerate(job_keywords): | |
| sim_scores = util.cos_sim(job_embeds[i], user_embeds)[0] | |
| max_score = float(sim_scores.max()) | |
| is_matched = max_score > 0.5 | |
| results.append((job_kw, is_matched)) | |
| return job_keywords, [kw for kw, matched in results if not matched] | |