Conversie & UX

Semantisch zoeken op PrestaShop: principe en implementatie

De klassieke interne zoekfunctie vergelijkt tekenreeksen. Ze vindt de producten waarvan de tekst de ingevoerde woorden bevat, en verder niets. Semantisch zoeken vergelijkt betekenissen: het brengt “autolader” en “sigarettenaanstekeradapter” bij elkaar zonder dat er één synoniem is gedeclareerd.

Zo werkt het daadwerkelijk, dit kost het, en hier blijft het minder goed dan de klassieke aanpak.

Het principe, zonder jargon

Elk product van uw catalogus wordt omgezet in een reeks getallen, een vector, die de betekenis ervan weergeeft. Twee producten die qua betekenis dicht bij elkaar liggen, produceren vectoren die in die ruimte dicht bij elkaar liggen.

Zoekt een bezoeker iets, dan wordt zijn zoekopdracht op dezelfde manier omgezet, waarna de motor de dichtstbijzijnde vectoren zoekt. Geen enkele woordovereenkomst is nodig: de nabijheid van betekenis beslist.

Die omzetting wordt geproduceerd door een taalmodel, getraind op enorme tekstvolumes, dat heeft geleerd dat bepaalde termen in dezelfde contexten voorkomen. Daardoor weet het dat een sigarettenaansteker en een autolader onder hetzelfde gebruik vallen.

Wat het oplost

Drie situaties waarin de klassieke motor systematisch faalt.

Het afwijkende vocabulaire. De klant gebruikt zijn woorden, uw catalogus die van de leverancier. Zonder gedeclareerde synoniemen: geen resultaat. Het meest voorkomende en duurste geval.

De beschrijvende zoekopdracht. “Iets om gereedschap op te bergen in een garage” bevat geen enkel woord uit uw catalogus, maar beschrijft precies een behoefte. De lexicale motor geeft ruis of niets terug.

De typefout en de variatie. Meervouden, vervoegingen, benaderende spellingen worden door de vectorrepresentatie opgevangen zonder bijzondere instelling.

Semantisch Zoeken met AI: PrestaShop 8 & 9 ModuleDe zoekfunctie die de intentie begrijpt, niet alleen de trefwoorden149,00

Wat u moet vectoriseren

Een vraag die de kwaliteit van de resultaten veel meer bepaalt dan de keuze van het model.

Het nuttige minimum: de productnaam, de korte beschrijving, de categorie en de belangrijkste attributen. De lange beschrijving voegt context toe maar ook ruis, in het bijzonder wanneer ze leveringsvoorwaarden of juridische vermeldingen bevat die op alle productpagina’s identiek zijn.

Een eenvoudig principe: vectoriseer alleen wat het product onderscheidt. Elke tekst die identiek op honderd productpagina’s staat, brengt die honderd pagina’s kunstmatig bij elkaar en schaadt de relevantie.

De technische kenmerken verdienen een aparte behandeling. Een taalmodel begrijpt getallen en eenheden slecht: “120 cm” en “140 cm” lijken het heel dicht bij elkaar te liggen. Een structurele beperking, geen configuratiefout.

Het belangrijkste punt: niet vervangen, combineren

De klassieke ontwerpfout. Semantisch zoeken is niet beter dan lexicaal zoeken, het is anders, en het is duidelijk minder goed in bepaalde gevallen.

Op een exacte referentie, een productcode, een onderdeelnummer, een barcode, wint het lexicale altijd. Het vectoriële begrijpt niet dat een tekenreeks exact moet overeenkomen.

Op numerieke waarden, maat, gewicht, afmeting, vermogen, blijft het lexicale gecombineerd met filters superieur.

Op een merknaam is het lexicale betrouwbaarder, want het vectoriële heeft de neiging concurrerende merken uit hetzelfde universum terug te brengen.

De architectuur die werkt, combineert beide: eerst een lexicale zoekopdracht, aangevuld met de vectorlaag wanneer die weinig of geen resultaten geeft, of samengevoegd met een weging. Een webshop die volledig naar semantisch overschakelt, ziet zijn zoekopdrachten op referentie achteruitgaan, en dat zijn vaak die van zijn beste klanten.

De kostprijs, in klare taal

Drie posten, van heel verschillende omvang.

De initiële indexering. Elk product moet één keer worden gevectoriseerd. Op een catalogus van tienduizend referenties is dat een lage maar bestaande stukskost, en een verwerkingstijd van enkele uren.

De update. Alleen gewijzigde producten moeten opnieuw worden gevectoriseerd. Een volledige herindexering bij elke import is een dure fout: detecteer de daadwerkelijke wijzigingen op de gevectoriseerde velden.

De zoekopdrachten. Elke bezoekerszoekopdracht veronderstelt het vectoriseren van de zoekopdracht. De post die met het verkeer stijgt, en degene om te bekijken voordat u begint. Een cache van frequente zoekopdrachten verlaagt hem sterk, want een belangrijk deel van de zoekopdrachten van een webshop is repetitief.

Meten voor en na

Drie indicatoren, gemeten over de dertig dagen vóór de implementatie.

Het percentage zoekopdrachten zonder resultaat, dat duidelijk moet dalen. De meest zichtbare en onmiddellijke winst.

Het klikpercentage op het eerste resultaat, dat de waargenomen relevantie meet. Daalt het terwijl het resultaatpercentage stijgt, dan geeft uw motor producten terug die dichtbij maar niet relevant zijn.

Het conversiepercentage van sessies met een zoekopdracht, het enige cijfer dat de investering rechtvaardigt.

Een vierde, kwalitatieve controle: stel een lijst samen van dertig echte zoekopdrachten uit uw logs, met het verwachte resultaat, en speel ze na elke wijziging opnieuw af. De enige manier om een regressie vast te stellen vóór uw klanten.

De AI Semantisch Zoeken module voor PrestaShop zet deze laag op op PrestaShop 8 en 9: vectorindexering van de catalogus met veldselectie, combinatie met de bestaande lexicale zoekfunctie, vergelijkbare producten berekend op betekenis, en een dashboard van de zoekopdrachten met hun resultaatpercentage.

Lees verder

Gerelateerde artikelen