Що таке ембединг (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 у провайдера чи власною моделлю локально, коли дані не можна віддавати назовні.
Чи можна відновити вихідний текст з ембединга?
Точно — ні, це не оборотне стиснення. Але вектор усе ж несе інформацію про зміст, і дослідження показують можливість приблизної реконструкції. Тому сховище векторів захищають так само, як і вихідні документи.
Чи бувають ембединги лише у тексту?
Ні, тим самим способом кодують зображення, аудіо і відео. Мультимодальні моделі розміщують різні типи даних у спільному просторі, тому можна шукати зображення за текстовим описом — їхні вектори опиняться поруч.