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