File size: 1,061 Bytes
af53f00 |
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 31 32 33 |
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
|