Skip to main content

Косинусна подібність (Cosine Similarity)(Косинусна подібність: простий математичний компас семантичного пошуку)

Математична метрика, що вимірює кут між двома векторами в багатовимірному просторі. Показує ступінь смислової спорідненості двох текстів від -1 (протилежні) до +1 (повні синоніми), ігноруючи довжину речень.

1. Огляд концепції та призначення

Уявіть два компаси. Якщо обидві стрілки дивляться на північ — кут між ними дорівнює нулю, а напрямок ідеально збігається. Якщо одна дивиться на північ, а інша на схід — кут складає 90 градусів.

Косинусна подібність (Cosine Similarity) — це саме такий компас для нейромереж:

  • Вона бере два вектори (числові координати смислу двох фраз).
  • Вимірює кут між ними у просторі понять.
  • Повертає число від 0.0 до 1.0 (або від -1 до 1), де 1.0 — це абсолютна смислова спорідненість.

Це фундаментальна математична формула, завдяки якій працюють ChatGPT при пошуку по файлах, Notion AI та векторні бази даних.

2. Наочна геометрія смислу

         ^ Поняття про їжу
         │
         │      / Текст А: «Купити свіжий хліб»
         │     /
         │    / ) кут близький до 0° -> косинус ≈ 0.96
         │   /
         │  /---- Текст Б: «Булочка з пекарні»
         │
         │
         │─────────────────────────────> Поняття про IT
         │                                Текст В: «Написати скрипт на Python»
         │                                (кут 90° -> косинус ≈ 0.04)

3. Чому кут кращий за абсолютну довжину

У традиційній геометрії чим довша лінія, тим далі її кінець. Якби ми міряли звичайну відстань:

  1. Слово «автомобіль» (короткий вектор).
  2. Стаття у Вікіпедії про будову автомобілів на 10 сторінок (дуже довгий вектор з багатьма словами).

Евклідова відстань порахувала б їх різними речами, бо один текст короткий, а другий довгий. А косинус оцінює лише векторний напрямок думок, розуміючи: обидва тексти цілковито присвячені транспорту.

4. Порівняльна шкала косинусних оцінок

Оцінка подібностіЩо це означаєПриклад пари речень
0.90 – 1.00Прямий синонім або дублікат«Як замінити колесо» ↔ «Інструкція з монтажу шини»
0.75 – 0.89Тісний контекстний зв'язок«Кредитна картка» ↔ «Відсоткова ставка за позикою»
0.40 – 0.70Далекий дотичний зв'язок«Смартфон Apple» ↔ «Акумулятор для електрокара»
0.00 – 0.30Повна відсутність зв'язку«Вирощування полуниці» ↔ «Криптографічні ключі SSH»

5. Практичний висновок для користувача

Коли ви налаштовуєте пошук у базі знань або корпоративному чат-боті, ви часто бачите параметр similarity_threshold = 0.75. Тепер ви знаєте: це фільтр косинуса, який відсікає всі документи, чий кут відхилення від запиту користувача перевищує допустиму похибку.

/ Часті запитанняSchema.org FAQPage

FAQ: Косинусна подібність (Cosine Similarity)

Тому що звичайна евклідова відстань залежить від кількості слів: довгий абзац про котів і коротке слово «кошеня» матимуть різну довжину векторів і здаватимуться далекими. Косинусна подібність дивиться лише на напрямок стрілки (спільну тематику), повністю нівелюючи різницю в довжині текстів.
/ Внутрішня перелінковка
Всі терміни