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:
- Her soruyu sayısal bir vektöre dönüştürmek.
- İ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.