Middle — Senior
როგორ ითვლება კითხვებს შორის კოსინუსური მსგავსება?
sobes.tech AI
პასუხი AI-სგან
კოსინუსის მსგავსება არის ორი ვექტორის შორის მსგავსების ზომა, რომელიც გამოითვლება მათ შორის კუთხის კოსინუსის სახით. კითხვებისთვის (მაგალითად, ტექსტური) ჯერ უნდა წარმოადგინოთ თითოეული კითხვა ვექტორად (embedding), მაგალითად Word2Vec, BERT ან TF-IDF მოდელების გამოყენებით.
როგორ გამოთვალოთ კოსინუსის მსგავსება:
- გარდაქმნათ თითოეული კითხვა რიცხვობრივ ვექტორად.
- გამოითვალეთ ორი ვექტორის შორის კუთხის კოსინუსი:
[ \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-ში numpy ბიბლიოთეკის გამოყენებით მაგალითი:
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)
# ვექტორების მაგალითები
q1 = np.array([1, 2, 3])
q2 = np.array([4, 5, 6])
similarity = cosine_similarity(q1, q2)
print(f"კოსინუსის მსგავსება: {similarity}")
ამ გზით, კოსინუსის მსგავსება აჩვენებს, რამდენად ჰგავს კითხვები მნიშვნელობით, გარჩევის სივრცეში.