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