Етап 2: Ембедінги та семантичний пошук

Пошук за ключовими словами не спрацьовує, коли слова не збігаються точно.

Якщо в резюме вказано «team management», а в описі вакансії вимагається «leadership», звичайний пошук не видасть жодного результату. Слова різні, але значення одне й те саме.

Етап 2 вирішує цю проблему за допомогою ембедінгів та семантичного пошуку.

Як це працює:

• Токенізація: Комп'ютери не читають слова. Вони читають числа. Токенізатор розбиває текст на маленькі частини, які називаються токенами, і перетворює їх на Token IDs. Поширені слова стають одним токеном. Рідкісні слова розбиваються на кілька токенів.

• Ембедінги: Token ID — це лише мітка. Шар ембедінгів перетворює цей ID на вектор. Вектор — це довгий список чисел, який представляє значення. Замість одного числа модель використовує багато вимірів для опису концепції.

• Виміри: Уявіть ці числа як координати. Один вимір може представляти «frontend проти backend». Інший — «web проти systems». Високовимірні вектори дозволяють моделі розміщувати «React» та «JavaScript» поруч у математичному просторі.

• Семантичний пошук: Коли ви ставите запитання, система перетворює ваше запитання на вектор. Потім вона порівнює ваш вектор із векторами ваших збережених документів.

• Косинусна подібність: Вона вимірює кут між двома векторами. Якщо вектори вказують в одному напрямку, вони подібні. Це дозволяє системі знайти «resignation requirements», навіть якщо ви шукали лише «notice period».

Ключові уроки для продакшену:

  • Векторні бази даних: Пошук серед мільйонів векторів є повільним. Такі бази даних, як Pinecone або Qdrant, використовують індексацію, щоб знаходити найближчих сусідів за мілісекунди.
  • Міграція моделей: Кожна модель ембедінгів використовує інший математичний простір. Ви не можете порівняти вектор OpenAI із вектором Cohere. Якщо ви змінюєте моделі, ви повинні заново створити ембедінги для всіх ваших даних.
  • Вартість проти ROI: Повторне створення ембедінгів для мільйонів фрагментів — це дорого. Компанії часто залишаються на старих моделях, якщо приріст точності не виправдовує витрат на міграцію.
  • Завжди зберігайте ваші сирі текстові фрагменти. Якщо ви пізніше оновите модель, ви зможете використати старий текст для створення нових векторів.

Етап 2 — це те місце, де з'являється інтелект.

Джерело: https://dev.to/surajrkhonde/phase-2-embeddings-semantic-search-3lco

Опціональна спільнота для навчання: https://t.me/GyaanSetuAi