Sobes.tech
Middle — Senior

Savollar orasidagi kosinus o'xshashligini qanday hisoblash mumkin?

sobes.tech AI

AIdan javob

Kosinus o'xshashligi - bu ikki vektor orasidagi o'xshashlikni o'lchovchi o'lchov bo'lib, ular orasidagi burchakning kosinusidir. Savollar (masalan, matnli) uchun avvalo har bir savolni vektor (embedding) shaklida ifodalash kerak, masalan, Word2Vec, BERT yoki TF-IDF modellari yordamida.

Kosinus o'xshashligini qanday hisoblash:

  1. Har bir savolni raqamli vektor shaklida o'zgartiring.
  2. Ikki vektor orasidagi burchakning kosinusini hisoblang:

[ \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 kutubxonasi yordamida misol:

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 misollari
q1 = np.array([1, 2, 3])
q2 = np.array([4, 5, 6])

similarity = cosine_similarity(q1, q2)
print(f"Kosinus o'xshashligi: {similarity}")

Shu tarzda, kosinus o'xshashligi savollar orasidagi ma'noni o'lchashda ularning o'xshashligini ko'rsatadi.