ШІ та машинне навчання
Що таке ембединг (embedding)?
Ембединг (embedding) — це запис тексту, зображення чи іншого об’єкта у вигляді вектора чисел, де схожі за змістом об’єкти розташовані поруч. Саме ембединги дозволяють комп’ютеру порівнювати документи за змістом, а не за збігом слів.
Ембединг створює окрема модель: вона отримує текст і повертає список із сотень чи тисяч чисел. Самі числа людині нічого не кажуть, але відстань між двома векторами показує, наскільки схожі тексти.
Тому фрази «як повернути товар» і «умови повернення покупки» опиняються поруч, хоча не мають жодного спільного слова. На цьому побудовані семантичний пошук, рекомендації, групування схожих текстів і RAG.
Де застосовується
Ембединги стоять за більшістю «розумних» функцій продуктів: пошук за змістом у базі знань, підбір схожих товарів і статей, групування звернень за темами, пошук дублікатів, захист від спаму. У всіх випадках порівнюють вектори, а не тексти.
В AI-розробці це перший крок будь-якої системи, яка шукає у власних даних. Документи ділять на частини, перетворюють на вектори моделлю ембедингів і зберігають у векторній базі. Потім пошук знаходить потрібні фрагменти і передає їх мовній моделі.
Приклад
Запити «як повернути товар» і «оформлення повернення покупки» не мають спільних слів, але їхні вектори поруч. Звичайний пошук за ключовими словами другий запит не знайде, а пошук за ембедингами поверне потрібну інструкцію.
from sentence_transformers import SentenceTransformer, util
model = SentenceTransformer('intfloat/multilingual-e5-base')
a = model.encode('як повернути товар')
b = model.encode('оформлення повернення покупки')
print(util.cos_sim(a, b)) # близько до 1 — тексти про одне
Ембединг і векторна база: різниця
Ембединг — це сам вектор, результат роботи моделі. Векторна база даних — сховище, куди ці вектори складають, щоб швидко знаходити найближчі. Отримувати ембединги можна і без векторної бази, але шукати серед мільйонів векторів без неї незручно.
Часті запитання
Чим ембединги відрізняються від пошуку за ключовими словами?
Пошук за словами шукає точні збіги і не знаходить синоніми чи інші формулювання. Ембединги порівнюють зміст, тому знаходять потрібний документ, навіть якщо в ньому немає жодного слова із запиту. На практиці обидва підходи часто поєднують.
Яку модель ембедингів обрати?
Для української та російської мов беруть багатомовні моделі: англомовні гірше працюють із кирилицею. Вибір залежить і від способу запуску — через API провайдера чи власну модель на своєму сервері, якщо дані не можна передавати назовні.
Чи можна відновити текст з ембединга?
Точно — ні, це не звичайне стиснення. Але вектор містить інформацію про зміст, і дослідження показують, що приблизно відновити текст можна. Тому сховище векторів захищають так само, як і самі документи.
Чи бувають ембединги не лише для тексту?
Так, так само кодують зображення, аудіо і відео. Мультимодальні моделі розміщують різні типи даних в одному просторі, тому можна шукати картинку за текстовим описом: їхні вектори опиняються поруч.
Навчання програмуванню в OWU
Опануйте професію в IT на практичних курсах із менторами та реальними проєктами.
Обрати курс