Шта су текстуални ембединзи и како функционишу [+примјери]

Овај водич објашњава шта су текстуални ембединзи, како претварају текст у векторе који обухватају значење и како да изаберете, процијените и примијените моделе за ембединге у претрази, RAG-у и другим стварним случајевима употребе.

Diagram of what text embeddings are: two customer tickets, “I was charged twice for my subscription.” and “There’s a duplicate payment on my account.”, are converted by a text embedding model into similar vectors that sit close together in the billing issues cluster of a 2D embedding space, so both are routed to the billing support queue.

Ако сте упознати с основним концептом текстуалних ембединга, али се питате како да их примијените у пракси, на правом сте мјесту. Анализираћемо векторе, токенизацију и израчунавање сличности, детаљно ћемо истражити евалуацију модела ембединга и показати вам примјере употребе из стварног свијета.

Шта су текстуални ембединзи?

Текстуални ембединзи су нумеричке репрезентације ријечи, реченица или докумената које обухватају њихово семантичко значење и међусобне односе. Генеришу их модели ембединга који претварају текст у векторе — низове бројева које алгоритми машинског учења могу да обрађују и упоређују.

ML инжењери користе текстуалне ембединге како би помогли софтверским апликацијама да препознају односе између ријечи и реченица, што олакшава претраживање, категоризацију и анализу великих количина података.

Рецимо да свакодневно добијате хиљаде захтјева за подршку. Корисници пријављују све замисливе проблеме, а ви треба да их категоришете и означите. Један од начина да аутоматизујете овај процес јесте да користите унапријед обучени модел текстуалних ембединга како бисте сваки захтјев претворили у вектор.

На примјер, два корисника пошаљу сљедеће поруке:

  • „Претплата ми је наплаћена двапут“: [0.21, -0.47, 0.83, ...]
  • „На мом налогу постоји дуплирана уплата“: [0.19, -0.45, 0.80, ...]

Ово су поједностављени, илустративни вектори.

Иако корисници користе различите ријечи, описују исти проблем. Модел ембединга обухвата овај однос тако што њихове векторе смјешта близу један другом у математичком простору. Оба захтјева се категоришу и упућују тиму за наплату.

Примјене текстуалних ембединга у пословању

Текстуални ембединзи се користе у низу задатака обраде природног језика (NLP), укључујући:

  • Семантичка претрага: Проналажење релевантних информација на основу значења. Delivery Hero користи ембединге производа и упита уз претрагу по кључним ријечима како би купцима намирница помогао да пронађу релевантне производе. На примјер, претрага за „немасни јогурт“ може приказати грчки јогурт или јогурт са 0,5% масти, чак и када формулација није потпуно иста.
  • Класификација текста: Категоризација текста, као што је препознавање нежељених имејлова или разврставање докумената по темама. MindCraft.ai је развио систем за класификацију докумената који користи текстуалне ембединге засноване на трансформерима и машинско учење како би категорисао корпоративне документе и идентификовао осјетљиве информације ради усклађености са GDPR-ом.
  • Кластеровање: Груписање сличних докумената или дијелова текста ради препознавања образаца. Doczy.ai претвара текст уговора у ембединге и групише семантички повезане клаузуле и концепте, чак и када различити уговори изражавају сличне обавезе другачијим формулацијама.
  • Генерисање потпомогнуто проналажењем (RAG): Проналажење релевантних информација које LLM може да искористи за генерисање прецизнијих одговора прилагођених контексту. Ring користи текстуалне ембединге модела Amazon Titan у вишејезичном RAG четботу како би пронашао релевантну документацију за подршку прије него што генерише одговоре на питања корисника на међународним тржиштима.
  • Системи препорука: Предлагање сродних чланака, производа или другог садржаја на основу текстуалних сличности. Систем JUDE компаније LinkedIn користи текстуалне ембединге описа послова и профила чланова, генерисане помоћу LLM-а, како би побољшао препоруке послова, обухватајући односе између искуства кандидата и доступних позиција.
  • Препознавање именованих ентитета (NER): Помаже у идентификовању и класификовању имена људи, организација и мјеста у тексту. Amazon Health Services користи NER за препознавање медицинских појмова у упитима корисника, као што су болести, симптоми, лијекови и терапије. То разумијевање комбинује са претрагом по сличности заснованом на ембединзима како би повезао упите са релевантним здравственим производима и услугама.
  • Машинско превођење: Подршка моделима који преводе текст између језика. Transglot користи текстуалне ембединге у семантичкој преводилачкој меморији за проналажење раније преведених пасуса сличног значења, помажући токовима рада локализације да поново искористе постојеће преводе.

Како функционишу текстуални ембединзи?

Па како модел ембединга одлучује које нумеричке вриједности да додијели дијелу текста и зашто бисмо му вјеровали?

Све почиње обуком. Модели ембединга уче из великих збирки текста, тражећи обрасце у начину на који се ријечи користе заједно. На примјер, традиционални модели попут Word2Vec уче предвиђајући ријеч на основу околних ријечи, или обрнуто. Савремени модели усмјерени на проналажење информација често користе контрастивно учење. Обучавају се да релевантним паровима упит–документ додјељују веће оцјене сличности него неповезаним паровима.

Када је модел обучен, ево шта се дешава када му дате нови дио текста:

  1. Токенизација. Модел прво дијели текст на мање дијелове који се зову токени. То могу бити цијеле ријечи, дијелови ријечи или знакови интерпункције. Сваки токен добија нумерички ID из рјечника модела, који сам по себи нема никакво значење.
  2. Кодирање и агрегирање (pooling). Модел обрађује ове токене користећи обрасце које је научио током обуке и производи вектор. Сваки број у вектору је координата или компонента, а димензија је оса дуж које тај број одређује положај вектора. Свака вриједност доприноси положају текста у математичком простору, познатом као простор ембединга.
  3. Израчунавање сличности. Да би пронашао сродни текст, систем за проналажење упоређује ембединг упита са ембединзима докумената помоћу мјере сличности као што је косинусна сличност или скаларни производ

Тако, на примјер, онлајн продавнице враћају артикле који одговарају упиту корисника.

Која је разлика између ембединга ријечи, реченица и докумената?

Главна разлика је у томе колико текста сваки ембединг представља у једном вектору. Можете креирати ембединге за појединачне ријечи, цијеле реченице или читаве документе, у зависности од тога које информације желите да обухватите.

  • Ембединзи ријечи обухватају односе између појединачних ријечи, препознајући да су „испад“ и „застој“ повезани појмови.
  • Ембединзи реченица разумију значење цијелих реченица, чак и када исту идеју изражавају различитим ријечима.
  • Ембединзи докумената представљају цио документ као један вектор, умјесто да се за сваку реченицу креира засебан вектор. То помаже да се очува општа тема и пронађу други документи који обрађују исту тему; међутим, детаље може бити теже (ако не и немогуће) пронаћи.

Колико детаљно треба ићи? Прави ниво зависи од ваших података и онога што желите да постигнете.

Код већих докумената уобичајена пракса је да се текст подијели на мање сегменте и да се за сваки генерише засебан ембединг. На тај начин добићете укупно значење документа И специфичне детаље, који би се могли изгубити код ембединга докумената.

Колико величина сегмента утиче на квалитет ембединга?

Прилично. Према ријечима Рахула Кумара, потпредсједника за AI инжењеринг у компанији Xenoss, изазов је пронаћи величину сегмента која обухвата једну цјеловиту идеју без губљења важног контекста. Он објашњава тај компромис:

„Величина сегмента одређује колико семантичког контекста носи један ембединг. Већи сегмент даје вектору више контекста, али истовремено и усредњава више тема у један вектор. Сегмент који обухвата три теме заврши негдје у средини и ниједној од њих не одговара добро. Мањи сегмент задржава прецизно значење, али може изгубити контекст захваљујући којем га је било могуће пронаћи.“

Зато Кумар препоручује да се стратегија сегментирања бира на основу садржаја, умјесто да се користи једна фиксна величина. Како он каже, „фиксна величина с преклапањем прихватљива је само за уједначен текст као што су имејлови или преузете веб-странице.“

За структуриране документе као што су уговори или правилници боље одговара рекурзивно дијељење које узима у обзир структуру. Семантичко сегментирање, с друге стране, може добро функционисати за транскрипте јер дијели текст тамо гдје се мијења тема или значење.

Текстуални ембединзи наспрам претраге по кључним ријечима

Зашто користити текстуалне ембединге када једноставно можете претраживати по кључним ријечима? Зато што се претрага по кључним ријечима ослања на подударање термина, док семантичка претрага заснована на ембединзима може пронаћи релевантне информације чак и када упит и документ користе различите ријечи.

Али семантичка сличност не значи увијек и релевантност. Шо Талеби, оснивач AI Builder Academy, демонстрира ово ограничење на примјеру система за претрагу биографија. У Талебијевом случају, при претрази по упиту „инжењер података с искуством у раду са Apache Airflow“, само је један од првих пет резултата помињао Apache Airflow, и то на трећем мјесту — иако су још три биографије у скупу података наводиле ту вјештину.

То значи да је семантичка претрага корисна за проналажење концептуално повезаних информација, али може да превиди тачне захтјеве као што су техничке вјештине, идентификатори производа или кодови грешака.

Да би ријешио овај проблем, Рахул Кумар препоручује да се приступ проналажењу бира у зависности од тога гдје систем за проналажење подбацује:

  • Хибридна претрага (комбинација подударања кључних ријечи са семантичком претрагом) подразумијевани је избор када упити садрже тачне термине, као што су SKU шифре, кодови грешака или правне референце.
  • Модели за поновно рангирање оправдавају свој трошак када је важно само неколико најбољих резултата, на примјер код одговора генерисаних из пронађеног контекста.
  • Проналажење засновано на графу помаже када одговор обухвата више повезаних извора података.

Кумар је такође подијелио како је његов тим примијенио ове приступе у пракси. У једном пројекту паралелно су покренули BM25 претрагу по кључним ријечима и векторску претрагу, спојили резултате помоћу реципрочне фузије рангова (RRF) и користили LLM да поново рангира 124 најбоља резултата и сведе их на 6.

„Прелазак на проналажење у којем граф има приоритет, при чему векторска претрага проналази сличне латентне просторе, а затим слиједи обилазак графа у два корака, подигао је квалитет рангирања (nDCG) са 0,58 на 0,67 и смањио p90 вријеме проналажења са 19 s на мање од 3 s“, додаје Кумар.

Врсте модела текстуалних ембединга

Сви модели ембединга у суштини раде исто — уче односе у тексту. Међутим, разликују се по намјени за коју су обучени, по информацијама које узимају у обзир и по задацима за које су осмишљени.

Модели статичких ембединга ријечи

Традиционални модели ембединга ријечи уче густе нумеричке репрезентације ријечи на основу образаца употребе ријечи у великим збиркама текста. Ови ембединзи су статички, што значи да свака ријеч добија исти вектор без обзира на њено значење у одређеном контексту.

Двије добро познате методе су:

  • Word2Vec: Развијен у компанији Google 2013. године, учи репрезентације на основу сусједних ријечи користећи двије архитектуре: Continuous Bag of Words (CBOW), која предвиђа ријеч на основу њених сусједа, и skip-gram, која предвиђа сусједне ријечи на основу задате ријечи.
  • GloVe (Global Vectors for Word Representation): Развијен на Универзитету Стенфорд 2014. године, користи статистику заједничког појављивања ријечи за учење односа између ријечи.

Контекстуализовани језички модели

За разлику од статичких ембединга, језички модели опште намјене производе контекстуалне репрезентације које се мијењају у зависности од околног текста. То помаже моделима да разликују различита значења исте ријечи.

  • BERT (2018, Google): Користи двосмјерну самопажњу (self-attention) како би узео у обзир ријечи с обје стране токена. На примјер, генерише различите репрезентације за ријеч „bank“ у реченицама „I deposited money at the bank“ („Положио сам новац у банку“) и „I sat on the bank of a river“ („Сједио сам на обали ријеке“).
  • GPT (2018, OpenAI): Користи репрезентације засноване на трансформерима које узимају у обзир претходни текст при предвиђању сљедећег токена. GPT модели су првенствено осмишљени за генерисање језика.

Модели ембединга реченица и докумената

Представљају дуже дијелове текста, од појединачних реченица до пасуса и цијелих докумената, као векторе.

  • Doc2Vec: Проширује учење у стилу модела Word2Vec на реченице, пасусе и документе. Може помоћи у груписању сродних чланака или класификовању докумената по темама.
  • Universal Sentence Encoder (USE): Развијен у компанији Google 2018. године за генерисање репрезентација фиксне дужине за реченице и кратке пасусе, намијењених утврђивању семантичке сличности и класификацији текста.
  • Sentence-BERT (SBERT, 2019): Развили су га Нилс Рајмерс и Ирина Гуревич на Техничком универзитету у Дармштату. Заснива се на моделу BERT компаније Google и често се користи за семантичку претрагу, откривање парафраза и кластеровање.
  • pplx-embed-v1 (2026, Perplexity): Ова породица најсавременијих модела текстуалних ембединга, направљена за проналажење у стварним условима и у размјерама веба, користи претходну обуку засновану на дифузији како би каузални језички модел претворила у двосмјерни енкодер. Генерише густе ембединге за независно кодиране упите и документе, уз обуку која узима у обзир квантизацију (quantization-aware training) ради смањења трошкова складиштења. Наш 4B INT8 модел остварио је резултат 69,66 nDCG@10 на вишејезичном MTEB бенчмарку за проналажење, у поређењу са 67,71 колико је постигао модел gemini-embedding-001 компаније Google.
  • pplx-embed-context-v1 (2026, Perplexity): Рјешава чест проблем код сегментирања докумената: пасуси могу изгубити значење када се одвоје од околног текста. Користећи касно сегментирање (late chunking), модел обрађује документ прије него што контекстуализоване репрезентације токена обједини у засебне ембединге сегмената. Наш 4B модел остварио је резултат 81,96 nDCG@10 на бенчмарку ConTEB, у поређењу са 79,45 за voyage-context-3.
  • pplx-embed-v2-context (2026, Perplexity): Подиже контекстуално проналажење на виши ниво. Умјесто да се обучава само за проналажење пасуса који садржи одговор, учи да препозна пратеће пасусе који помажу да се тај одговор објасни или провјери. Током обуке модел користи сигнале релевантности дестиловане из модела за компресију контекста, а да му тај модел-учитељ није потребан у фази закључивања. Наша прелиминарна 9B верзија остварила је одзив одговора од 45,5% и одзив доказа од 40,6% за 10 резултата на бенчмарку context-bench.

Модели компаније Perplexity омогућавају и складиштење ембединга у великом обиму. Модели производе INT8 и бинарне ембединге, чиме се захтјеви за складиштењем смањују 4, односно 32 пута у односу на FP32.

Модел

Димензије

Контекст

MRL

Квантизација

Инструкција

Агрегирање

pplx-embed-v1-0.6B

1024

32K

Да

INT8/бинарна

Не

Просјек

pplx-embed-v1-4B

2560

32K

Да

INT8/бинарна

Не

Просјек

pplx-embed-context-v1-0.6B

1024

32K

Да

INT8/бинарна

Не

Просјек

pplx-embed-context-v1-4B

2560

32K

Да

INT8/бинарна

Не

Просјек

Димензије, дужина контекста, квантизација и конфигурација агрегирања модела pplx-embed

Густи, ријетки и вишевекторски ембединзи

Постоји још једна разлика коју вриједи разумјети, посебно када је ријеч о семантичкој претрази. Модели ембединга могу се разликовати по томе како представљају текст и израчунавају релевантност.

  • Густи ембединзи: Представљају текст помоћу компактних вектора у којима је већина вриједности различита од нуле.
  • Ријетки ембединзи: Користе векторе са претежно нултим вриједностима, уз научене тежине повезане са важним терминима. Модели као што је SPLADE (2021) уче који су термини важни за проналажење релевантних докумената.
  • Вишевекторски ембединзи: Задржавају више вектора за један дио текста, што омогућава детаљнија поређења између упита и докумената. Модели као што је ColBERT (2020) користе ове репрезентације за детаљније поређење упита и докумената.
  • Модели који комбинују више приступа: BGE-M3 (2024), који је развио BAAI, подржава густо, ријетко и вишевекторско проналажење у оквиру истог модела.

Како изабрати и евалуирати модел текстуалних ембединга

Јавни бенчмаркови као што је MTEB добра су полазна тачка. Користите их да сузите избор на два или три модела који подржавају ваше језике, дужине улаза и захтјеве за имплементацију. Али немојте још бирати побједника. Не можемо довољно нагласити колико је важно тестирати те моделе на сопственим подацима.

Ево практичног тока рада за евалуацију:

  1. Направите скуп података за тестирање. Прикупите 50–100 репрезентативних упита за претрагу као почетни скуп за евалуацију (можда ће вам требати и више), укључујући незгодне случајеве као што су парафразе, техничка терминологија и тачни кодови грешака. За сваки упит утврдите који документи или пасуси садрже релевантне одговоре. Те ознаке релевантности постају ваша референтна истина (ground truth).
  2. Измјерите квалитет проналажења. Тестирајте сваки модел на истом скупу података за евалуацију, уз упоредиве услове припреме докумената и проналажења, поштујући захтјеве специфичне за модел у погледу форматирања упита, нормализације и оцјењивања сличности. Затим израчунајте сљедеће метрике помоћу класе InformationRetrievalEvaluator из библиотеке Sentence Transformers:
    • Recall@k: Показује удио релевантних пасуса који се појављују међу првих k резултата.
    • MRR: Мјери колико високо се први релевантни резултат налази на ранг-листи.
    • nDCG@k: Мјери колико је добро рангирано првих k резултата у односу на њихову релевантност.
  3. Тестирајте латенцију и пропусност. Измјерите колико је времена сваком моделу потребно да генерише ембединг упита, по могућности уз приказ медијане (p50) и 95. перцентила (p95) латенције под реалистичним оптерећењем.
  4. Израчунајте трошкове складиштења и рада. Простор потребан за складиштење вектора зависи од броја ембединга, њихових димензија и нумеричке прецизности. На примјер, за милион 768-димензионалних FP32 ембединга потребно је приближно 3,1 GB сировог простора за векторе, не рачунајући додатни простор за индексирање. Да бисте смањили потребан простор, векторе можете квантизовати на нижу нумеричку прецизност. Прелазак са FP32 на INT8, на примјер, смањује сирови простор за векторе отприлике четири пута. Међутим, компресија може утицати на квалитет проналажења, па поново покрените евалуације како бисте провјерили тај компромис.

На крају, упоредите резултате један поред другог: метрике проналажења, латенцију p95, пропусност, складиштење и трошкове. Изаберите модел који испуњава ваше захтјеве у погледу квалитета у оквиру ограничења продукционог окружења.

Када користити ембединге умјесто LLM-а?

Пошто LLM-ови обављају све, од анализе докумената до сложеног расуђивања, прилично је примамљиво убацити сав текст у модел и пустити га да сам све ријеши. Међутим, рачун за то вам се вјероватно неће свидјети.

Осим тога, LLM-ови су бољи у процјењивању и састављању текста, али су ограничени количином информација коју могу да обухвате у једном промпту. С друге стране, ембединзи су јефтини, брзи, досљедни и могу да обраде милионе ставки.

„Ембединзи побјеђују у претрази, препорукама (‚још сличног‘), уочавању дупликата, попут поновљених захтјева за подршку, и груписању великих количина садржаја по темама. Добро функционишу и на различитим језицима. LLM побјеђује када задатак захтијева расуђивање: сажимање, поређење опција или писање одговора. Већини стварних система потребно је обоје, при чему свака технологија ради оно у чему је најбоља“, закључује Кумар.

Шта програмери погрешно схватају у вези са текстуалним ембединзима

Да бисмо сазнали шта програмери обично превиде, разговарали смо са Рахулом Кумаром и Сибејђом Гуан, научницом за податке у компанији Ahrefs. Они су истакли шест грешака на које треба обратити пажњу:

  • Прескакање претходне обраде текста. Ако улазни подаци садрже HTML, навигационе меније, огласе или други небитан садржај, кораци претходне обраде, као што је уклањање шаблонског садржаја, могу побољшати квалитет ембединга јер одстрањују непотребне информације.
  • Занемаривање максималне дужине улаза модела. Различити модели имају различита ограничења броја токена и различито се понашају при скраћивању. Текст који премашује ограничење може бити скраћен, због чега се губе важне информације.
  • Непоштовање захтјева специфичних за модел. Неки модели за ембединге захтијевају посебне префиксе, као што су query: и passage:, или различита упутства за различите задатке. Ако не поштујете ове захтјеве, перформансе проналажења могу бити слабије.
  • Коришћење некомпатибилне мјере сличности. Косинусна сличност и скаларни производ нису увијек међусобно замјенљиви. Провјерите да ли су ембединзи нормализовани и користите метод оцјењивања сличности који се препоручује за модел и векторски индекс.
  • Мијешање тематске сличности са релевантношћу. У колекцијама из уских домена многи документи могу бити семантички слични, а да не одговарају на исто питање. Анализирајте неуспјешне упите и дистрибуције рангирања. Тестирајте лексичко или хибридно проналажење, поновно рангирање и филтрирање по метаподацима када су корисницима потребне прецизне информације.
  • Занемаривање нормализације ембединга. Различити модели за ембединге могу давати нормализоване или ненормализоване векторе. Провјерите да ли су ембединзи нормализовани и да ли је потребна додатна нормализација, у зависности од метрике сличности коју користите.

Честа питања о текстуалним ембединзима

1. Како да генеришем текстуалне ембединге?

Најједноставније је да користите унапријед обучени модел за ембединге. Уз Python библиотеку Sentence Transformers, на примјер, можете учитати модел као што је all-MiniLM-L6-v2, прослиједити текст методи model.encode(), и добити нумерички вектор. Ембединге можете генерисати и путем API-ја.

За семантичку претрагу или RAG обично бисте подијелили документе на сегменте, генерисали ембединг за сваки од њих и сачували векторе у индексу који се може претраживати.

2. Који су најбољи модели за ембединге текста?

Вриједи размотрити неколико модела, у зависности од тога шта развијате:

  • pplx-embed-v1 компаније Perplexity: Направљен за проналажење засновано на густим векторима у великим размјерама, са INT8 и бинарним ембединзима који смањују захтјеве за складиштење вектора.
  • pplx-embed-context-v1 компаније Perplexity: Користан за проналажење пасуса из дугих докумената у којима појединачни сегменти губе смисао без околног контекста.
  • all-MiniLM-L6-v2: Погодан за ресурсно незахтјевну локалну семантичку претрагу, кластеровање и задатке сличности реченица. Генерише компактне 384-димензионалне векторе, али скраћује улазе дуже од 256 WordPiece токена.
  • BGE-M3: Користан за вишејезични RAG и хибридно проналажење. Подржава више од 100 језика и комбинује густе, ријетке и вишевекторске репрезентације.
  • Qwen3-Embedding: Снажан кандидат за вишејезичну претрагу, проналажење кода и ембединге прилагођене задацима. Нуди моделе са отвореним тежинама величине 0,6B, 4B и 8B, уз подршку за упутства.
  • text-embedding-3-large компаније OpenAI: Опција заснована на API-ју за семантичку претрагу и проналажење докумената када не желите сами да хостујете модел. Подржава до 3072 димензије, које можете смањити да бисте уштедјели простор за складиштење.
  • Модели Gemini Embedding компаније Google: Корисни за апликације за проналажење засноване на управљаним услугама. Gemini Embedding 2 подржава и претрагу кроз текст, слике, аудио, видео и PDF датотеке у заједничком простору ембединга.

3. Могу ли да користим LLM као модел за ембединге?

Да, али постоји разлика између LLM-а опште намјене и LLM-а оптимизованог за ембединге. LLM-ови стварају интерне векторске репрезентације текста, које можете издвојити и објединити у један ембединг. Међутим, ти вектори без додатног обучавања нису нужно корисни за семантичку претрагу.

На примјер, Qwen3-Embedding користи LLM као основу која је додатно обучена за задатке ембединга и проналажења. Дакле, иако LLM можете прилагодити тако да генерише ембединге, намјенски модел за ембединге је обично практичнија полазна тачка.