Sobes.tech
Middle — Senior

Sorular arasında kosinüs benzerliği nasıl hesaplanır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kosinüs benzerliği, iki vektör arasındaki benzerliği ölçen bir ölçüdür ve aralarındaki açının kosinüsüdür. Sorular (örneğin, metin tabanlı) için, her soruyu önce bir vektör (gömme) olarak temsil etmek gerekir, örneğin Word2Vec, BERT veya TF-IDF modelleri kullanılarak.

Kosinüs benzerliğini nasıl hesaplarım:

  1. Her soruyu sayısal bir vektöre dönüştürmek.
  2. İki vektör arasındaki açının kosinüsünü hesaplamak:

[ \text{cosine_similarity}(A, B) = \frac{A \cdot B}{|A| |B|} = \frac{\sum_{i=1}^n A_i B_i}{\sqrt{\sum_{i=1}^n A_i^2} \sqrt{\sum_{i=1}^n B_i^2}} ]

Python'da numpy kütüphanesi kullanarak örnek:

import numpy as np

def cosine_similarity(vec1, vec2):
    dot_product = np.dot(vec1, vec2)
    norm_a = np.linalg.norm(vec1)
    norm_b = np.linalg.norm(vec2)
    return dot_product / (norm_a * norm_b)

# Vektör örnekleri
q1 = np.array([1, 2, 3])
q2 = np.array([4, 5, 6])

similarity = cosine_similarity(q1, q2)
print(f"Kosinüs benzerliği: {similarity}")

Bu şekilde, kosinüs benzerliği, soruların anlam bakımından gömme uzayında ne kadar benzediğini gösterir.