Sobes.tech
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:

  1. Hər sualı ədədi vektor şəklində çevirmək.
  2. İ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.