Hero Image full

Semantische Zoekopdracht

7 min read
Content

Wat is Semantische Zoekopdracht?

Semantische zoekopdracht is een retrievalmethode die queries matcht met documenten op basis van betekenis in plaats van gedeelde trefwoorden, typisch door beide om te zetten naar vector-embeddings en documenten te rangschikken op hoe dicht hun vectoren bij die van de query zitten. Een zoekopdracht naar "wachtwoord resetten" kan een document getiteld "accountgegevens herstellen" naar boven brengen ook al delen de twee geen woorden. De aanpak bereikte mainstream-schaal in 2019, toen Google BERT inzette in Search om querybetekenis te interpreteren en zei dat het model het begrip van één op de 10 Engelse zoekopdrachten in de VS zou verbeteren [1].

De belangrijkste punten

  • Matching gebeurt in embedding-ruimte. Query en documenten worden vectoren, en relevantie wordt gemeten door geometrische gelijkenis, meestal cosinusgelijkenis ertussen.
  • Het excelleert precies waar keyword-zoeken faalt: synoniemen, parafrases, cross-linguale matches, en vragen geformuleerd totaal anders dan de antwoordende tekst.
  • Het faalt waar keyword-zoeken excelleert: exacte identifiers, productcodes, foutstrings, en zeldzame namen, en daarom draaien productiesystemen hybride zoeken in plaats van er één te kiezen.
  • Semantische zoekopdracht is de retrieval-engine binnen de meeste RAG-systemen, en steeds meer een tool die agents direct aanroepen bij het doorzoeken van codebases en documentopslag.

Hoe het werkt

De basis is een embedding-model, een neuraal netwerk getraind zodat teksten met vergelijkbare betekenis naar nabije punten mappen in een hoogdimensionale ruimte, gangbaar enkele honderden tot een paar duizend dimensies. Op indexeermoment gaat elk document, of vaker elke chunk van elk document, door dit model en wordt zijn vector-embedding opgeslagen. Op querymoment embedt hetzelfde model de query, en vindt het systeem de opgeslagen vectoren dichtst erbij, en scoort nabijheid met cosinusgelijkenis of dot product. Omdat "accountgegevens herstellen" en "wachtwoord resetten" voorkomen in vergelijkbare contexten over de trainingsdata heen, landen hun vectoren dicht bij elkaar, en die nabijheid is wat de zoekopdracht uitbuit.

Miljoenen vectoren uitputtend scannen per query is te traag, dus bouwt een vectordatabase of zoekmachine een approximate-nearest-neighbor-index, met structuren zoals HNSW-grafen, die een sliver recall ruilt voor ordes-van-grootte snelheid. Echte implementaties voegen dan lagen toe rond de kern: metadatafilters om resultaten af te bakenen per tenant, datum, of rechten; hybride scoring die vectorgelijkenis versmelt met een keyword-algoritme zoals BM25; en vaak een reranking-fase waar een cross-encoder de topkandidaten herscoort door query en document samen te lezen, wat nauwkeuriger is dan vooraf berekende vectoren vergelijken maar te duur om over het hele corpus te draaien. De omvang van die kostenkloof is waarom vooraf berekende embeddings wonnen: het Sentence-BERT-paper van 2019 door Reimers en Gurevych meldde dat het vinden van het meest gelijkende paar in 10.000 zinnen ongeveer 65 uur kostte met BERT-cross-encoding tegenover ruwweg 5 seconden met embeddingvergelijking, bij vergelijkbare nauwkeurigheid [2].

Het kwaliteitsplafond wordt gezet door het embedding-model en de chunking. Een embedding-model slecht gematcht met het domein, zeg algemene webtekst-embeddings toegepast op juridische contracten of broncode, haalt aannemelijk ogende maar subtiel foute passages op. Chunks die concepten midden-gedachte splitsen, embedden als ruis. Het meeste afstellen van semantische zoekopdracht is eigenlijk het afstellen van deze twee inputs.

Voorbeeld

Een engineeringteam draait semantische zoekopdracht over hun interne wiki van 12.000 pagina's voor een on-call-assistent. Tijdens een incident typt een engineer "payments hangt vast na deploy." Keyword-zoeken geeft pagina's terug die het woord "payments" bevatten, vooral productspecs. De semantische index brengt in plaats daarvan een postmortem naar boven getiteld "transactiewachtrij-achterstand na release-uitrol," die nooit de woorden "vastzitten" of "deploy" gebruikt maar dezelfde mislukking beschrijft. De opzet van het team embedt elke wikisectie apart, filtert op de namespace van het team, en versmelt vectorscores met BM25 zodat exacte foutcodes zoals "ERR_TXN_5012" nog steeds letterlijk matchen. Dat laatste deel verdiende zichzelf terug in de week dat keyword-loze pure vectorzoekopdracht bleef missen op pagina's die de exacte gezochte foutstring bevatten.

Veelvoorkomende misvattingen

De veelgemaakte misvatting is dat semantische zoekopdracht je query begrijpt zoals een model dat leest zou doen. Het redeneert niet; het meet geometrische nabijheid tussen gecomprimeerde representaties. Negatie is het klassieke slachtoffer: "databases die geen transacties ondersteunen" embedt dicht bij "databases die transacties ondersteunen," dus kunnen resultaten precies fout zijn. Beperkingen, negaties, en multi-conditie-logica hebben query-herschrijving, filters, of een reranking-model nodig dat de tekst daadwerkelijk leest. Gelijkenis is correlatie met betekenis, geen begrip ervan.

FAQ

Wat is het verschil tussen semantische zoekopdracht en keyword-zoeken? Keyword-zoeken matcht en scoort letterlijke termen, met algoritmes zoals BM25 die wegen hoe zeldzaam en frequent elke term is. Semantische zoekopdracht vergelijkt betekenis via embeddings, dus formulering kan volledig verschillen. Keyword wint op exacte strings en identifiers, semantisch wint op parafrase en intentie, en hybride zoeken bestaat omdat echt queryverkeer beide bevat.

Is semantische zoekopdracht hetzelfde als vectorzoeken? Bijna. Vectorzoeken benoemt de mechanische operatie, nearest-neighbor-opzoeking over embeddings, ongeacht wat de vectoren representeren. Semantische zoekopdracht benoemt het doel, retrieval op betekenis, en tekstembeddings plus vectorzoeken is hoe het in de praktijk bereikt wordt.

Waarom haalt mijn RAG-systeem irrelevante chunks op zelfs met semantische zoekopdracht? Gangbare verdachten, in volgorde: chunking die context afsnijdt, een embedding-model niet gematcht met het domein of de querystijl, ontbrekende metadatafilters die documenten van andere tenants of tijdperken laten lekken, en geen reranker die de top van de lijst opruimt. Meet retrievalkwaliteit direct met een gelabelde queryset voordat je de generator de schuld geeft.

Bronnen

  1. Google, The Keyword-blog. "BERT in Search verbetert één op de 10 Amerikaanse Engelstalige zoekopdrachten." https://blog.google/products/search/search-language-understanding-bert/. Geraadpleegd augustus 2026.
  2. Reimers & Gurevych. "Sentence-BERT-versnelling van gelijkenis-zoeken versus BERT-cross-encoding." https://arxiv.org/abs/1908.10084. Geraadpleegd augustus 2026.
Let’s get in touch

Ready to build your product?

Book a consultation call to get a free No-Code assessment and scope estimation for your project.
Book a consultation call to get a free No-Code assessment and scope estimation for your project.