Similaritatea Jaccard și MinHash pentru Seturi de Tokeni în Baze de Date Vectoriale & Căutare Semantică

Sintaxă & interogare
sim = len(A & B) / len(A | B)

Similaritatea Jaccard măsoară gradul de suprapunere între două mulțimi de elemente (de exemplu, mulțimea cuvintelor sau n-gramelor din două documente). Formula sa este raportul dintre cardinalul intersecției și cardinalul reuniunii mulțimilor: J(A, B) = |A ∩ B| / |A ∪ B|.

Pentru a compara milioane de documente fără a calcula intersecții complete pe perechi, se utilizează MinHash și LSH (Locality Sensitive Hashing):

def jaccard_similarity(set_a, set_b):
    intersection = len(set_a.intersection(set_b))
    union = len(set_a.union(set_b))
    return intersection / union if union > 0 else 0.0

doc1_tokens = {"docker", "container", "microservicii", "cloud"}
doc2_tokens = {"docker", "kubernetes", "microservicii", "cluster"}

sim = jaccard_similarity(doc1_tokens, doc2_tokens)
print(f"Coeficient Jaccard: {sim:.4f}")  # 2 comune din 6 unice = 0.3333

MinHash creează semnături compacte de numere întregi prin funcții hash permutate, permițând estimarea similarității Jaccard cu o precizie ridicată și o viteză de ordinul microsecundelor.

Învață AI • Comunitate & Q&A

Întrebări & Exemple practice: Similaritatea Jaccard și MinHash pentru Seturi de Tokeni

Ai o întrebare despre Similaritatea Jaccard și MinHash pentru Seturi de Tokeni sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!

🤖

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.

Comunitate AI Adaugă o întrebare sau distribuie un cod / prompt

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.