Dáta a znalostné systémy · Článok
Embeddingy: vyhľadávanie podľa významu
Embedding prevádza text na vektor, v ktorom sa podobné významy nachádzajú blízko seba. Je základom semantického vyhľadávania a RAG.
Embedding je číselná reprezentácia textu, obrázka alebo iného objektu. Pri texte si ho môžeš predstaviť ako dlhý zoznam čísel, ktorý zachytáva významové vlastnosti vstupu. Ak majú dva texty podobný význam, ich embeddingy by mali byť vektorovo blízko.
Prečo je to užitočné
Klasické vyhľadávanie často hľadá presnú zhodu slov. Ak používateľ napíše automobil a dokument obsahuje auto, čisté kľúčové slová môžu zlyhať. Semantické vyhľadávanie cez embeddingy vie nájsť podobnosť aj vtedy, keď sa slová nezhodujú presne. To je dôležité pri znalostných bázach, zákazníckej podpore a RAG systémoch.
Ako prebieha vyhľadávanie
Dokumenty sa rozdelia na časti a pre každú časť sa vypočíta embedding. Tie sa uložia do databázy alebo vektorového indexu. Pri otázke sa vypočíta embedding otázky a systém nájde najbližšie vektory. Výsledkom sú textové úseky, ktoré sa pravdepodobne týkajú otázky.
Limity embeddingov
Embedding nie je dôkaz pravdivosti. Vie odhadnúť podobnosť, nie overiť fakt. Ak sú dokumenty zastarané, chybné alebo zle rozdelené, embedding ich môže stále vybrať. Problémom môže byť aj príliš krátky chunk bez kontextu alebo príliš dlhý chunk, ktorý mieša viac tém naraz.
Praktické odporúčanie
Začni jednoduchým indexom, meraj kvalitu vyhľadávania na reálnych otázkach a ukladaj metadáta. Pre dôležité odpovede zobraz zdrojový dokument alebo citovanú pasáž. Ak ide o presné identifikátory, čísla faktúr alebo kódy, kombinuj semantiku s presným filtrovaním.
Zdroje a kontrola reality
- Primárny zdroj: Reimers and Gurevych, Sentence-BERT, https://arxiv.org/abs/1908.10084
- Podporný zdroj: Lewis et al., Retrieval-Augmented Generation, https://arxiv.org/abs/2005.11401