Sobes.tech
Middle — Senior

Чӣ гуна метавон наздикии косинусиро байни саволҳо ҳисоб кард?

sobes.tech AI

Ҷавоб аз AI

Меъёри мувофиқати косинусӣ, ки миқёри мувофиқати байни ду вектор аст, ки ҳамчун косинуси кунҷи байни онҳо ҳисоб карда мешавад. Барои саволҳо (масалан, матнӣ), аввал бояд ҳар як саволро ҳамчун вектор (embedding) намоиш диҳед, масалан, бо истифода аз моделҳои Word2Vec, BERT ё TF-IDF.

Чӣ гуна ҳисоб кардани мувофиқати косинусӣ:

  1. Ҳар як саволро ба векторҳои рақамӣ табдил диҳед.
  2. Косинуси кунҷи байни ду векторро ҳисоб кунед:

[ \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}")

Ин тариқ, меъёри мувофиқати косинусӣ нишон медиҳад, ки саволҳо дар чӣ андоза аз рӯи маъно дар фазои embeddingҳо монанданд.