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