Embeddings

De techniek die semantisch zoeken mogelijk maakt: vind het juiste document, de beste kandidaat of de meest passende clausule, ook als de exacte woorden niet overeenkomen.

embeddings, vectorrepresentaties, vector embeddings, tekstembeddings

Definitie

Numerieke representaties van tekst of data waarbij de betekenis en context worden vastgelegd als vectoren, zodat AI-systemen informatie kunnen vergelijken, doorzoeken en ophalen op basis van inhoudelijke gelijkenis.

Wat is het?

Een embedding is een numerieke vector, een reeks getallen, die de betekenis van een stuk tekst vastlegt. Teksten met een vergelijkbare inhoud krijgen vectoren die dicht bij elkaar liggen in wiskundige ruimte; teksten met een andere betekenis liggen verder uit elkaar. Dit maakt het mogelijk om te zoeken op basis van betekenis in plaats van exacte woordovereenkomst.

Embeddings worden gegenereerd door taalmodellen zoals die van OpenAI of Cohere en opgeslagen in een vectordatabase, zoals Pinecone, Weaviate of pgvector. Ze vormen de basis van semantisch zoeken, documentgrounding (RAG) en aanbevelingssystemen. Voor het MKB zijn ze relevant zodra je wilt zoeken in grote hoeveelheden ongestructureerde tekst: dossiers, cv's, contracten of e-mails.

Waarom het ertoe doet voor het MKB

Traditionele zoekfuncties falen zodra gebruikers andere woorden gebruiken dan in het document staan. Embeddings lossen dat probleem op door de betekenis van tekst te vergelijken, niet de letters. Dat is de reden dat moderne documentassistenten, kandidaatmatchingsystemen en kennisbanken in het MKB betrouwbaarder zoeken dan een klassieke ctrl+F.

  • Zoeken op betekenis, niet op woorden. Een vraag als 'Welke contractclausule regelt aansprakelijkheid bij vertraging?' vindt de juiste passage ook als het woord 'aansprakelijkheid' er niet letterlijk in staat.
  • Kandidaatmatching zonder exacte trefwoorden. Een recruiter die zoekt op 'financieel controller met ERP-ervaring' krijgt ook kandidaten terug die 'SAP-gebruiker' of 'boekhouder met systeemervaring' schrijven in hun cv.
  • Minder handmatig doorzoeken van dossiers. Embeddings maken het mogelijk om tientallen of honderden documenten semantisch doorzoekbaar te maken zonder manuele tagging of categorisering.

Voor elk MKB-bedrijf dat werkt met grote hoeveelheden tekst en wil dat die tekst doorzoekbaar en bruikbaar is voor AI, zijn embeddings een technische kernbouwsteen.

Hoe het werkt

Embeddings worden gegenereerd door een taalmodel dat tekst omzet in een vector van honderden of duizenden getallen. Die vector wordt opgeslagen in een vectordatabase. Bij een zoekopdracht wordt ook de zoekterm omgezet naar een vector, en de database zoekt naar de vectoren die het dichtst bij liggen, zodat de meest relevante documenten bovenaan komen.

  1. Tekst verwerken: documenten, cv's, contracten of e-mails worden opgesplitst in beheersbare fragmenten (chunks).
  2. Embedding genereren: elk fragment wordt door een embeddingmodel gestuurd, dat een numerieke vector teruggeeft.
  3. Vectordatabase vullen: de vectoren worden opgeslagen in een systeem als Pinecone, Weaviate of pgvector, gekoppeld aan de originele tekst.
  4. Zoeken: een inkomende vraag of zoekterm wordt ook naar een vector omgezet en vergeleken met de opgeslagen vectoren.
  5. Resultaten ophalen: de fragmenten met de kleinste afstand tot de zoekvector worden teruggegeven als zoekresultaten of als context voor een taalmodel.

De kwaliteit van de embeddings hangt af van het gekozen model en de kwaliteit van de brondata. Goede chunking en schone documenten zijn minstens zo belangrijk als de technische implementatie.

Voorbeeld uit de praktijk

Stel, een accountantskantoor heeft honderden klantdossiers opgebouwd over meerdere jaren, gevuld met pdf-rapporten, correspondentie en btw-overzichten. Via embeddings worden al deze documenten doorzoekbaar gemaakt op basis van inhoud. Een medewerker typt: 'Welke klanten hebben in 2024 uitstel aangevraagd voor de aangifte vennootschapsbelasting?' Het systeem vergelijkt de vraagvector met de documentvectoren en haalt de relevante dossiers op, ook als die het woord 'uitstel' niet altijd letterlijk bevatten.

Vergelijking en misvattingen

Embeddings zijn de bouwsteen voor semantisch zoeken; een vectordatabase is de opslagplaats voor die embeddings. Je hebt beide nodig: embeddings bepalen hoe goed de betekenis wordt vastgelegd, de vectordatabase bepaalt hoe snel en efficiënt je ze kunt doorzoeken.

Veelgestelde vragen

Wat zijn embeddings en waarvoor gebruik je ze?
Embeddings zijn numerieke representaties van tekst waarmee een computer de betekenis van woorden en zinnen kan vergelijken. Een stuk tekst wordt omgezet naar een rij getallen; teksten met vergelijkbare betekenis liggen dicht bij elkaar in die ruimte. Je gebruikt ze voor zoeken op betekenis, documentmatch en RAG-systemen.
Hoe verschilt embeddings-gebaseerd zoeken van normaal zoeken?
Normaal zoeken vindt documenten die dezelfde woorden bevatten. Embeddings-gebaseerd zoeken vindt documenten die dezelfde betekenis hebben, ook als andere woorden worden gebruikt. 'Auto starten' en 'voertuig inschakelen' hebben verschillende woorden maar vergelijkbare embeddings.
Moet je als MKB-bedrijf embeddings zelf bouwen?
Nee. Je gebruikt een embedding-model via een API, zoals van OpenAI of een open-source alternatief. Jij levert de tekst, het model levert de embeddings, en je slaat die op in een vectordatabase. De technische complexiteit zit in de infrastructuur, niet in het concept.
Van inzicht naar impact

Benieuwd wat AI
in jouw processen oplevert?

In een gratis kennismaking kijken we waar AI bij jou het meeste tijd bespaart, en hoe een verbonden opzet eruitziet.