File size: 969 Bytes
88da18c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from sentence_transformers import SentenceTransformer
from sklearn.metrics.pairwise import cosine_similarity
import numpy as np
import joblib
import logging
import os

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

def load_model(model_path):
    try:
        model = SentenceTransformer(model_path)
        logger.info(f"Loaded SBERT model from {model_path}")
        return model
    except Exception as e:
        logger.error(f"Error loading SBERT model: {e}")
        return None

def calculate_similarity(model, text1, text2):
    try:
        embeddings = model.encode([text1, text2])
        similarity = cosine_similarity([embeddings[0]], [embeddings[1]])[0][0]
        return max(0, min(1, similarity)) * 100  # Convert to percentage
    except Exception as e:
        logger.error(f"SBERT similarity calculation error: {e}")
        return 0.0

def get_job_embeddings(model, job_taxonomy):
    return model.encode(job_taxonomy)