Hoe werken embeddings?
Een embeddingmodel zet een tekst om in een lange lijst kommagetallen. Het model text-embedding-3-small van OpenAI maakt bijvoorbeeld standaard een lijst van 1.536 getallen. De afstand tussen twee van die lijsten zegt hoe verwant de teksten zijn. Een kleine afstand betekent veel verwantschap, een grote afstand weinig.
Google legt het uit met woorden. Wortel, selderij en komkommer krijgen vergelijkbare getallen. Vliegtuig, zonnebril en tandpasta liggen daar ver vandaan. Het word2vec-paper van Tomas Mikolov en collega’s uit 2013 noemt een bekend voorbeeld. De vector van ‘King’ min ‘Man’ plus ‘Woman’ ligt het dichtst bij de vector van ‘Queen’.
Waarvoor gebruik je embeddings?
OpenAI noemt onder meer deze toepassingen:
- Zoeken: resultaten sorteren op hoe goed ze bij een zoekopdracht passen.
- Clusteren: teksten in groepen indelen op basis van overeenkomst.
- Aanbevelingen: items voorstellen die op elkaar lijken.
- Classificeren: een tekst het label geven waar hij het meest op lijkt.
OpenAI zoekt in een voorbeeld op de vraag ‘When did we go to the moon’. Op betekenis scoort daar de zin ‘The first lunar landing occurred in July of 1969’ het hoogst. Toch staat geen enkel woord uit de vraag in die zin. Bij RAG werkt het net zo. Het systeem knipt documenten in stukken, maakt van elk stuk een embedding en slaat die op in een vectordatabase. Bij een vraag zoekt het de stukken met de meest verwante betekenis op.
Voorbeeld: zoekwoorden groeperen voor een webshop
Webshop Trapkracht uit Zwolle verkoopt fietsonderdelen en heeft een lijst van tweeduizend zoekwoorden. De marketeer maakt van elk zoekwoord een embedding en groepeert zoekwoorden die dicht bij elkaar liggen. ‘Ketting spannen’ en ‘slappe fietsketting’ komen zo in dezelfde groep, al delen ze bijna geen woorden.
Per groep maakt de webshop één pagina. Daarna controleert de marketeer elke groep zelf: twee zoekwoorden kunnen dicht bij elkaar liggen, maar toch een andere bedoeling hebben.
Verwar embeddings niet met
- Zoeken op trefwoorden: kijkt of dezelfde woorden voorkomen. Embeddings kijken naar betekenis.
- Neural matching van Google: een AI-systeem dat volgens Google representaties van begrippen in zoekopdrachten en pagina’s begrijpt en aan elkaar koppelt. Hoe dat technisch werkt, legt Google niet uit.
Veelgestelde vragen over Embeddings
Wat is een embedding in AI?
Een embedding is een lijst getallen die de betekenis van een tekst, afbeelding of geluid weergeeft. Teksten met een vergelijkbare betekenis krijgen getallen die dicht bij elkaar liggen.
Hoe meet je of twee embeddings op elkaar lijken?
Je berekent de afstand tussen de twee lijsten getallen. Een veelgebruikte maat is cosinusgelijkenis. OpenAI gebruikt die in zijn voorbeelden om de meest verwante documenten te vinden.
Wat is het verschil tussen een embedding en een vectordatabase?
De embedding is de lijst getallen zelf. Een vectordatabase is de opslag waarin je veel embeddings bewaart en snel doorzoekt.