NORUS2 / models /similarity_model.py
mabil's picture
Uploaded NORUS app files
af53f00
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
def compute_similarity(text1, text2):
"""
Calcola la similarità del coseno tra due testi usando TF-IDF.
Parametri:
text1 (str): Primo testo.
text2 (str): Secondo testo.
Ritorna:
float: Valore di similarità (0 a 1).
"""
try:
# Verifica che i testi non siano vuoti
if not text1.strip() or not text2.strip():
raise ValueError("Uno o entrambi i testi sono vuoti.")
# Vettorizzazione con TF-IDF
vectorizer = TfidfVectorizer(stop_words='english')
tfidf_matrix = vectorizer.fit_transform([text1, text2])
# Calcolo della similarità del coseno
similarity_matrix = cosine_similarity(tfidf_matrix[0:1], tfidf_matrix[1:2])
return similarity_matrix[0][0] # Ritorna il valore della similarità
except Exception as e:
print(f"Errore durante il calcolo della similarità: {e}")
return None