Gesproken samenvatting — druk op afspelen om mee te lezen: de gesproken regel blijft bovenaan.
Hoe multidimensionale "nabijheid" werkt
Het probleem met strings
Zoek naar "auto" en je vindt elk document dat het woord "auto" bevat. Je vindt niet "automobiel. " Of "voertuig. " Of "mijn Civic heeft nieuwe remmen nodig. "
Decennialang was dat zoeken: resultaten retourneren op basis van stringovereenkomst in plaats van betekenis. Google maakte voortdurend incrementele verbeteringen met engineering: Synoniemenwoordenboeken koppelden "auto" aan "automobiel," Stemmingsregels verbonden "rijden" met "rij," en klikpatroonmining toonde aan dat mensen die "Amsterdam appartementen" zoeken dezelfde resultaten willen als "Centrum huurwoningen. " De verbindingen tussen niet-overeenkomende strings moesten min of meer handmatig in kaart worden gebracht.
Embeddings betwistten dit alles met het idee dat betekenis een plaats kon zijn. Door tekst in coördinaten om te zetten, eindigen vergelijkbare concepten dicht bij elkaar. Deze afbeelding van semantische ruimte is niet handmatig, maar eerder emergent uit trainingsgegevens.
Codering
Laten we beginnen met een vereenvoudigd voorbeeld.
Stel je voor dat je elk document in een kenniscorpus zou scoren op twee dimensies: hoeveel het gerelateerd is aan dinosaurussen, en hoeveel het gerelateerd is aan achtbanen. Documenten over vergelijkbare onderwerpen zouden dicht bij elkaar eindigen.
Laten we beginnen met slechts drie bronnen. Plaats elk van deze waar je denkt dat ze horen.
Hoeveel heeft dit betrekking op achtbanen? →
helemaal niet heel erg klik om geselecteerd item te plaatsen
Hoeveel heeft dit betrekking op dinosaurussen? →
Bronnen
🦕
Een kinderboek over dinosaurussenKlik om te selecteren
🎢
De Velocicoaster-webpaginaKlik om te selecteren
📚
Een volledige encyclopedieKlik om te selecteren
Je hebt zojuist betekenis in 2D-ruimte in kaart gebracht, waarbij je onze verzameling items hebt uitgezet op basis van waar ze over gaan.
Ophalen
Laten we nu deze ruimte doorzoeken.
Zet een vraag op dezelfde grafiek met dezelfde assen. Door je vraag in kaart te brengen met dezelfde logica die je gebruikte om bronnen in kaart te brengen, kun je er zeker van zijn dat de dichtstbijzijnde items het meest relevant zijn. Bonusfunctie: Gebruik de schuifregelaar om te bepalen hoeveel er worden opgehaald.
Bronnen om op te halen (k): 2
Hoeveel heeft dit betrekking op achtbanen? →
helemaal niet heel erg klik om de vraag te plaatsen
Hoeveel heeft dit betrekking op dinosaurussen? →
Vraag
❓ "Wat is de beste dinosaurusthema-achtbaan? "
klik op grafiek om te plaatsen
Dat is gelijkenisszoeken in een notendop. We zetten de vraag uit en vinden de dichtstbijzijnde k items. In plaats van trefwoordafstemming of synoniementabellen gebruiken we multidimensionale nabijheid.
Twee assen is een begin. Maar twee dimensies kunnen slechts twee concepten vastleggen. De echte wereld heeft meer dan twee onderwerpen, dus we hebben meer dimensies nodig.
Meer dimensies
Wat als we een derde as zouden toevoegen? Laten we biologie gebruiken.
Het kinderboek scoort hoog (soorten, habitats, diëten). De encyclopedie behandelt er enkele. De Velocicoaster-pagina vermeldt het nauwelijks.
Sleep om te roteren.
Drie dimensies, drie coördinaten per document. De Velocicoaster-pagina is nu (0,50, 0,90, 0,05) in plaats van (0,50, 0,90).
Probeer nu een vierde as voor je te zien.
Omdat ik alleen in 3 dimensies besta, kan ik persoonlijk niet 😔 maar dat maakt eigenlijk niet uit! Elke nieuwe dimensie voegt gewoon nog een coördinaat toe aan elk punt en nog een gekwadrateerde term aan de afstandsformule. De ruimtelijke weergave werkt niet meer bij 4D, maar de wiskunde blijft werken.
We gaan veel verder dan 4D moeten gaan, omdat echte embedding-modellen ongeveer duizend dimensies gebruiken. Elk document en elke query wordt een punt in die duizend-dimensionale ruimte. "Vind de dichtstbijzijnde documenten" betekent nog steeds hetzelfde als op de 2D-grafiek. Het is gewoon een langere afstandsberekening.
Ongelabelde assen
We kozen de assen: dinosaurussen, achtbanen, biologie. Maar wie bepaalt welke 1. 024 onderwerpen in een echt embedding-model terechtkomen?
In feite beslist niemand. De betekenis van elke as is emergent (wat betekent dat het gewoon in training verschijnt), en meer een black box. Je kunt naar dimensie 847 kijken en zeggen "dat is de dinosaurusas. " De dimensies komen niet overeen met iets wat een mens zou kunnen benoemen.
Dit maakt de ruimte moeilijker om over na te denken. We kunnen dimensie 847 niet ondervragen om te begrijpen waarom twee teksten dicht bij elkaar terechtkwamen, of waarom iets wat we dicht bij elkaar verwachtten ver weg eindigde.
Tekst als coördinaten
Dus wie wijst de coördinaten toe? Een embedding-model. Elke string erin, een vaste-lengte lijst met getallen eruit.
Tekst
"thuis werken"
→
Embedding
[0,23, -0,87, 0,41, ... ]
1. 024 waarden
Tekst
"Werknemers mogen tot twee dagen per week op afstand werken met goedkeuring van de manager. "
→
Embedding
[0,71, 0,09, -0,33, ... ]
1. 024 waarden
De uitvoer is altijd even lang (1. 024 waarden in ons specifieke geval, omdat we het embedding-model van VoyageAI gebruiken) en dit geldt of de invoer nu drie woorden of drie alinea's is. Één stuk tekst komt overeen met één punt in de ruimte. Het embedding-model leest de tekst en voert een enkele vector uit.
Degenen onder jullie met wiskundige ogen zullen erkennen dat "vector" en "coördinatenverzameling" niet echt uitwisselbaar zijn, maar voor onze doeleinden is het passend om de vector te zien als het adres waar deze tekst zich bevindt ten opzichte van al het andere.
Gelijkenis
"Dichtstbijzijnd" op onze 2D-grafiek betekende rechtlijnige afstand. In de praktijk gebruikt gelijkenisszoeken in plaats daarvan cosinusgelijkenis. Cosinusgelijkenis is gewoon een ander maat voor hoe vergelijkbaar twee stukken tekst zijn, gebaseerd op de richting waarin hun vectoren wijzen in plaats van hoe ver uit elkaar ze zitten.
Probeer het zelf! Kies twee bronnen om hun cosinusgelijkenis te zien.
Bron A
❓ 🦕 🎢 📚
❓ Beste dinosaurusachtbaan?
Bron B
❓ 🦕 🎢 📚
🦕 Kinderboek over dinosaurussen
Cosinusgelijkenis 0,2894
-1 tegengesteld 0 niet gerelateerd 1 identiek
Probeer de Velocicoaster-pagina met het dinosaurusboek te vergelijken — hun vectoren wijzen in zeer verschillende richtingen. De encyclopedie landt ergens in het midden van alles, wat logisch is, omdat het een jack of all trades is maar een meester van geen.