Middle — Senior
Sualar arasında kosinus oxşarlığını necə hesablamaq olar?
sobes.tech Süni İntellekt
AI-dan cavab
Kosinus oxşarlığı, iki vektor arasındakı oxşarlıq ölçüsüdür və onların arasındakı bucağın kosinusudur. Suallar üçün (məsələn, mətnli) əvvəlcə hər bir sualı vektor (embedding) şəklində təqdim etmək lazımdır, məsələn, Word2Vec, BERT və ya TF-IDF modellərindən istifadə etməklə.
Kosinus oxşarlığını necə hesablamaq:
- Hər sualı ədədi vektor şəklində çevirmək.
- İki vektor arasındakı bucağın kosinusunu hesablamaq:
[ \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-də numpy kitabxanası ilə nümunə:
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)
# Vektor nümunələri
q1 = np.array([1, 2, 3])
q2 = np.array([4, 5, 6])
similarity = cosine_similarity(q1, q2)
print(f"Kosinus oxşarlığı: {similarity}")
Bu şəkildə, kosinus oxşarlığı sualların mənası baxımından nə qədər oxşar olduğunu göstərir.