Van zoekfunctie naar vindfunctie met AI

Als developer werk ik veel aan platforms en applicaties. Een zoekfunctie voelt daarbij als standaard, maar goed zoeken blijkt lastiger dan het lijkt. Ik laat zien hoe AI zoeken en vinden dichter bij elkaar brengt.

Matthijs
Geschreven door Matthijs
matthijs olivier notizy
matthijs olivier notizy

Waarschijnlijk merk je dit zelf

In de praktijk blijkt dat zoeken zelden vanzelf goed werkt. Gebruikers typen iets in en komen niet uit bij wat ze zoeken, terwijl de informatie wel aanwezig is. Soms zelfs meerdere keren.

Dat voelt tegenstrijdig, want technisch lijkt het goed te staan. Er draait een zoeksysteem dat alle content indexeert en razendsnel doorzoekt. Met filters en categorieën kun je dat verder verfijnen. Vanuit techniek bekeken, doet het systeem dus wat het moet doen.

Maar dan het probleem

Het systeem zoekt op wat er staat. Mensen zoeken op wat ze bedoelen. En dat is zelden hetzelfde.

Mensen typen wat in hen opkomt, zoals een halve zin of een beschrijving. Soms een vraag, soms iets algemeens. Daarbij gebruiken ze woorden die logisch voelen voor hen, maar mogelijk nergens letterlijk in de content terugkomen. Op dat punt werkt de zoekfunctie technisch correct, maar sluit hij niet meer aan op hoe iemand zoekt.

Samen met mijn collega-devs zie ik dit bij meerdere klanten terug. En je kunt blijven sleutelen aan instellingen en zoekregels, maar je moet altijd keuzes maken in wat je wel en niet oplost. Zeker wanneer er andere prioriteiten zijn binnen hetzelfde budget.

Mijn collega Timo zegt dan wel eens: het is een zoekfunctie, geen vindfunctie. Technisch klopt dat ook. Traditionele zoekoplossingen helpen je zoeken, maar mensen verwachten dat ze iets vinden.

En precies daar komt de vraag vandaan die steeds vaker op tafel ligt: kan AI helpen om die stap te maken?

Kan AI helpen?

Ik wilde weten of AI een rol kan spelen bij dit soort zoekvragen, en wat dat dan technisch betekent. Het moest dus ook meer zijn dan een ‘plugin installeren’. Wanneer ik iets maak, vind ik het mijn verantwoordelijkheid als developer om ook te begrijpen wat er gebeurt.

Als je het over AI hebt in dit soort toepassingen, heb je het niet over één magische motor die alles doet. Je gebruikt AI voor specifieke taken. In dit geval gaat het om het begrijpen van tekst en betekenis.

Daar komt een techniek bij kijken die vector search wordt genoemd.

Hoe AI helpt bij zoeken

Een technisch inkijkje. De basis van vector search is dat tekst eerst wordt omgezet naar iets wat een systeem kan vergelijken. Daarvoor gebruik je een embedding-model. Zo’n model zet tekst om in embeddings. Dat zijn vectoren: lijsten met getallen die samen iets zeggen over wat een tekst inhoudelijk betekent.

Alle content gaat door zo’n model. Een zoekvraag gaat door hetzelfde model en krijgt ook een vector. Daarna kijk je welke contentvectoren het dichtst bij de vector van de zoekvraag liggen. Hoe kleiner die afstand, hoe beter de match.

Je kunt dit zien als zoeken op betekenis (semantisch zoeken), in plaats van zoeken op exacte woorden.

Dat sluit beter aan bij hoe mensen zoeken. Een zoekvraag hoeft niet precies te kloppen. Hij mag beschrijvend zijn, of vaag.

Dit is geen automatische oplossing

Op papier klinkt het misschien logisch. In de praktijk loop je vrij snel tegen vragen aan.

AI is geen vast gegeven. Je moet kiezen welk model je gebruikt. Niet elk model gaat even goed om met Nederlandse teksten. Ook de manier waarop je content aanbiedt maakt verschil. Grote stukken tekst werken anders dan kleine blokken.

De uitkomsten verschillen daardoor meer dan je misschien verwacht. Soms pakt het model de betekenis goed. Soms juist niet. Dat zie je pas als je echte zoekvragen test.

Daar komt bij dat zoeken altijd context heeft. Een korte zoekvraag kan meerdere dingen betekenen. AI maakt daar een inschatting van op basis van waarschijnlijkheid. Dat gaat vaak goed, maar niet altijd.

Waarom bekende zoektechniek blijft meespelen

Vanwege de beperkingen heb ik ervoor gekozen om AI niet alles te laten bepalen.

In de huidige opzet maken we gebruik van een hybrid search. Naast de vector search, wordt er ook een meer traditionele zoekopdracht uitgevoerd die kijkt naar woorden, structuur en velden. AI kijkt naar betekenis. Beide leveren een score op die samen bepalen wat bovenaan komt. De verhouding tussen die twee is instelbaar.

Dat afstellen blijkt belangrijker dan ik vooraf dacht. Kleine wijzigingen hebben zichtbaar effect op de zoekresultaten. Zet je te veel gewicht op AI, dan krijg je soms resultaten die inhoudelijk kloppen maar vreemd voelen. Zet je te veel gewicht op keywords, dan loop je tegen dezelfde beperkingen aan als voorheen.

Het blijft zoeken naar balans. Er is niet één instelling die voor alle toepassingen optimaal is. Per project, per informatiebehoefte en misschien wel per doelgroep moet je aan de knoppen draaien.

Wat dit zegt over werken met AI

Wat dit project mij weer duidelijk maakt, is dat AI geen oplossing is die je ergens tussen plakt. Het is een extra laag waar je rekening mee moet houden in ontwerp en techniek.

Je krijgt er veel mogelijkheden bij, maar ook nieuwe onzekerheden. Modellen maken aannames en zijn op een bepaalde manier gemaakt en ingesteld. Resultaten zijn nooit honderd procent zeker. Dat vraagt om keuzes over controle en uitlegbaarheid.

In deze zoekfunctie gebruik ik AI daarom alleen om te helpen bij het vinden van relevante content. Het systeem genereert geen antwoorden en verzint niets. De inhoud die bestaat blijft daardoor leidend. Dat maakt het gedrag beter te controleren.

De weg richting een vindfunctie

Zoeken blijft lastig. Ook met AI is er geen simpele oplossing. Wat AI wel kan, is beter omgaan met wat iemand bedoelt, in plaats van alleen met wat er letterlijk staat.

Daarmee komt het idee van een vindfunctie in beeld. Met AI kan interpretatie een rol spelen naast bestaande zoektechniek. Dat vraagt wel om goede keuzes in hoe je verschillende technieken inzet en combineert.

Dit project is nog niet af. Maar het laat wel zien hoe we zoeken steeds dichter bij vinden brengen. En dat zal op veel platforms een waardevolle toevoeging zijn.

De volgende stap ligt niet alleen in techniek. Samen met designers kijk ik ook naar hoe we deze zoekoplossingen bruikbaar en logisch maken. Want pas als mensen snappen wat ze zien, wordt een vindfunctie echt bruikbaar.