Vektori otsing (semantiline otsing)
Kiire määratlus
Vektori otsing on taastamismeetod, mis tagastab esemed, mille embad on kõige lähemal päringu embale, nii et tulemused vastavad tähendusele, mitte jagatud märksõnadele. See on semantilise otsingu tavaline mootor.
Sellel lehel
Kuidas vektori otsing töötab
Iga dokument, lõik või toode muudetakse embamiseks ja salvestatakse indeksisse. Küsimise ajal embatakse küsimus sama mudeliga ja indeks tagastab lähimad vektorid, mida tavaliselt mõõdetakse kosinus-sarnasusena. Klient, kes küsib "midagi sooja suusatamiseks", võib leida jakki, mida kirjeldatakse kui "isoleeritud, veekindel talvekiht", kuigi ükski sõna ei vasta.
Päringu võrdlemine miljonite vektoritega üksikult oleks aeglane, seega kasutavad indeksid ligikaudseid lähima naabri algoritme. HNSW, kihiline graaf, mille kirjeldasid Malkov ja Yashunin 2016. aastal, on üks laialdaselt kasutatavaid; see kaubandab väikese täpsuse kaotuse väga kiire otsingu nimel. Avatud lähtekoodiga laiendused, nagu pgvector, toovad need indeksid PostgreSQL-i.
Semantiline otsing vs märksõna otsing
Märksõna otsing (BM25, täisteksti, trigrammi vastavus) on täpne täpsete terminite osas: toote viide, bränd, veakood. See ebaõnnestub sünonüümide ja parafraaside osas. Vektori otsing on vastupidine: tugev tähenduses, nõrk täpsetes stringides ja harvades identifikaatorites.
Seetõttu kasutavad enamik tootmissüsteeme hübriidotsingut: käivitage mõlemad, seejärel ühendage või uuesti järjestage tulemused. Tihe taastamise uurimus, nagu Karpukhini ja kolleegide 2020. aasta töö küsimustele vastamisel, näitas, kui palju semantiline taastamine parandab meeldejätmist, ja praktikud on sellest ajast õppinud, kui palju see endiselt kasu saab märksõna partnerist.
Lõksud
Vektorsüsteem tagastab alati midagi, isegi kui midagi asjakohast ei eksisteeri, seega peab süsteemil olema asjakohasuse künnis või kontroll enne tulemuste kasutamist. See ei mõista numbreid ega piiranguid: "alla 50 euro, laos, suurus M" vajab struktureeritud andmetel tõelisi filtreid. Ja kvaliteet sõltub sellest, kuidas sisu on jagatud: liiga pikad lõigud hägustavad tähendust, liiga lühikesed lõigud kaotavad konteksti.
Vektorsüsteem AI SmartTalkis
AI SmartTalk salvestab embeddid PostgreSQL-is pgvectoriga, HNSW indeksiga tootedokumentide peal, ja kombineerib vektori sarnase otsingu trigrammi ja täisteksti otsinguga. Toodete jaoks lisab assistendi otsingutööriist struktureeritud filtrid hinna, laoseisu, brändi, kategooria ja variandi atribuutide põhjal, et semantilisele küsimusele ja täpsetele piirangutele saaks vastata koos.
Korduma kippuvad küsimused
Kas semantiline otsing on sama mis vektorsüsteem?
Semantiline otsing on eesmärk — tulemuste leidmine tähenduse järgi. Vektorsüsteem embeddide üle on kõige levinum viis selle saavutamiseks, sageli koos märksõna otsinguga.
Kas mul on vaja spetsiaalset vektordatabaasi?
Mitte tingimata. Laiendused nagu pgvector lisavad vektori indeksid PostgreSQL-ile, mis on piisav paljude rakenduste jaoks ja hoiab vektoreid koos ülejäänud andmetega.
Mis on hübriidotsing?
Otsing, mis käivitab vektorsüsteemi ja märksõna otsingu koos ning liidab tulemused, et käsitleda nii parafraseeritud küsimusi kui ka täpseid termineid, nagu toote viidatud numbrid.