Vector Embeddings voor SEO

Home   »   Vector Embeddings voor SEO

Vector Embeddings voor SEO

Iedereen heeft het maar over Vector embeddings en cosine similarity in de SEO-community. Maar waar praten ze eigenlijk over? Dat was ook mijn eerste reactie toen ik de volgende tekst in een Linkedin-post voorbij zag komen: “The SEO space has been so far behind what Google is capable of for little over a decade. A big part of that is because of advancements in how information is encoded into vector embeddings“. Ik ging op onderzoek uit, experimenteerde en deel mijn ervaring in deze blogpost zodat jij ook aan de slag kunt met en tevens kunt meepraten bij de koffieautomaat. “Fancy stuff bro”.

Welcome in a multi dimensional space

“Je was vannacht aan het dromen en riep vec…embedings” Aldus mijn vriendin. Blijkbaar slaat mijn SEO Brein midden in de nacht ook wel eens op hol. Zelf had ik niks door. Maar feit is, ik ben onder de indruk van de inzichten die het geeft. De interesse begon 11 maanden geleden toen niemand minder dan Michael King het volgende deelde:

Mijn eerste gedachten: vast weer zo’n fancy dingetje wat je op een congres leert, maar in de praktijk niets mee kunt. Fout fout fout…en zo denken steeds meer leden uit de community erover (forumdiscussie). Inmiddels zijn we er lekker mee aan het experimenteren. Zo ook Jan-willem Bobbink:

Wat zijn vector embeddings

Vector embeddings zijn een numerieke representatie van data. Denk aan: woorden, afbeeldingen en audio in een “multi dimensional space”. Het is een manier waarop mensen met robots communiceren en we elkaar o.b.v. getalletjes beter gaan begrijpen. Als voorbeeld:

De werking van het model? Dat legde Frank van Dijk haarfijn uit tijdens presentatie op BrightonSEO. Stel je hebt het woord kat, die haal je door een embedding model met als resultaat: allemaal cijfertjes gekoppeld aan termen (zie afbeelding hierboven). Op een schaal van 0 tot 1, weet het model dat: je kant een levend wezen is, vaak schattig wordt gevonden, niet gevaarlijk is en over het algemeen loyaal. Bij een leeuw is dat een ander verhaal. Zie de afbeelding hieronder:

Voor ons mensen is het duidelijk dat een hond een huisdier is, net als een kat. Voor computers is dat niet zo. En precies dat is waar vector embeddings een rol gaan spelen. O.b.v. een formule, ook wel cosine similarity genoemd, kunnen we het verband tussen dingen uitrekenen:

Het resultaat van de som zit altijd ergens tussen 0 en 1. Hoe dichter bij de één, hoe sterker de samenhang. Precies op die manier zou je ook naar de content van je website kunnen kijken. Zeker als je het op schaal wilt doen. Denk bijvoorbeeld aan: hoe goed sluit zoekopdracht X aan bij pagina Y? 

vector embeddings om keyword met pagina te vergelijken

Ook Google gebruikt dat om bijvoorbeeld: relevante vervolgvragen voor te schotelen (PAA snippet) of Spotify gebruikt het voor zijn algoritme om relevante nieuwe artiesten aan jou te laten zien.

Vector embeddings voor SEO

Van fancy stuf, naar toepassen. Je wilt tenslotte ervoor zorgen dat het jou als SEO-specialist een stapje verder helpt. Zelf heb ik het tot nu toe gebruikt voor redirect mapping & content clustering. Waarschijnlijk zijn er nog meer toepassingen die relevant zijn. Mits dat zo is, zal ik dit artikel updaten. Voor nu:

Vector embeddings voor redirect mapping

vector embeddings voor redirect mapping

In Screaming Frog is het nu mogelijk om o.b.v. vector embeddings redirects te mappen.  Met vector embeddings ga je op zoek naar de variant op de nieuwe website die het dichtst bij de pagina op de oude website ligt. Dit wordt uitgedrukt in een getal. Ook wel bekend als De cosine similarity. Hoe dichter het getal bij 1 ligt, des te groter de kans dat de pagina overeenkomt.

Aan de slag in 5 stappen:

  1. Kies het embedding model dat je wilt gebruiken en configureer de crawler
  2. Cralw de oude en stagging webiste tegelijkertijd
  3. Doe een crawl analyse om het embedding model zijn werk te laten doen
  4. Analyseer en valideer de resultaten.
  5. Valt het onder de 0.95 similarity score, dan kan je evt. nog de duplicate details tab gebruiken.

Mijn ervaring: Het bespaarde tijd. Maar werkte nog niet optimaal voor elke situatie. Vertrouw dus niet blindelings op de output en controleer manueel (volledige handleiding). Goed, ik ben ook maar n = 1. Dit waren de waardevolste reacties uit de SEO Brein Community:

martijn jeurrisen
Handwerk zal noodzakelijk blijven

Veelbelovend… MAAR… bij een migratie naar een ander domein, waarbij het nieuwe domein best afwijkt t.o.v. de oude (denk aan: nieuwe productnamen, verschil in content categoriepagina’s), dan selecteert de tool gewoon het oude domein, omdat er geen relevante match te vinden is. Toevallig recent aan een migratie project gewerkt waarbij de opzet van de nieuwe website sterk afweek van de oude website.

AI is handig, maar handwerk zal toch noodzakelijk blijven.


Jan Willem Bobbink
Kies het model dat past bij je type content

1. Goed definiëren welke content je mee neemt met het opstellen van de vector embeddings. Dus geef als input echt alleen je hoofdcontent mee.
2. Gebruik specifieke modellen voor de embeddings op basis van het soort content dat je wilt matchen. bge-base-en-v1.5 is goed maar vergt wel weer GPU. word2vec of BM25 zijn daarentegen weer heel slecht geschikt. Let ook op het aantal dimensies als output: 768 of 1538 is ideaal. Hoger levert niet meer op maar maakt het wel kostbaarder om te draaien. Heb het zelf nog niet geprobeerd, maar staat nog op de lijst: instructor XL waarbij je instructies mee kan geven. Schijnt goed te werken bij minimale verschillen binnen je productaanbod bijvoorbeeld.
3. Voor de similarity matching geldt hetzelfde. Cosine similarity werkt over het algemeen goed maar voor sommige situaties zijn alternatieven beter geschikt (in combinatie met specifieke embeddings).  Dan heb je nog Dot Product (hip, doet Google zelf ook wat mee :)) die is weer handiger als je korte naar lange teksten moet mappen of andersom. Cosine similarity werkt beter als teksten ongeveer even lang zijn.


Ramon Eijkemans
Dit soort tech is niet altijd handig

Vind dit soort tech vooral handig als:
– je een grote hoeveelheid urls hebt om te redirecten
– je de content kunt voorzien van embeddings
– er geen relaties gelegd zijn (bv database id’s)

In andere gevallen is een sheet met wat regex magic nog steeds veel sneller en preciezer.


Semantic content clusters

vector embeddings voor semantische topic clusters

In het voorbeeld hierboven zie je een semantic topic cluster map. Het is een map wat de content van een representeert. O.b.v. onderwerpen en ideeën op pagina X wordt er een verband met pagina Y berekend. Elk rondje, is een pagina op je website. De afstand tussen de dots visualiseert de semantische overeenkomst (of afstand).

Waarom is het handig voor seo?

  • Content Gaps vinden – Mis je belangrijke onderwerpen in je cluster?
  • Conent pruning – Zie je buitenbeetjes die verwijderd of herschreven moeten worden?
  • Verbeteren van interne linkstructuur – Zijn pagina’s die semantisch hetzelfde zijn, met elkaar gelinkt?
  • Consolideren van pagina’s – Zijn er te veel pagina’s die dezelfde intent beantwoorden?
  • Evalueren van je contentstrategie – Zit je boven op je topic clusters waar je een autoriteit wilt zijn? Of doe je maar wat? Dan is het wellicht tijd om terug te gaan naar de tekentafel. Of zelfs…je positionering AKA 101 marketing.

Belangrijk hierin te begrijpen. Een topicical clusters zijn wat anders dan semantische clusters. Het is het makkelijkst om uit te leggen a.h.v. twee voorbeelden:

Voorbeeld 1: blog topics over: Google ads dashboarding en SEO dashboarding

  • Blog categorie: SEA & SEO
  • Semantisch similarity op dasbhoarding = hoog
  • Mogelijkheid om te linken

Voorbeeld 2: blog topics over: Crawl errors in Google search console en een blogpost over: wat is SEO

  • Blog categorie: allebei: SEO
  • Semantisch similarity: laag. Technische SEO vs SEO basics
  • W.s.s. zelfde kleur dot, die semantisch gezien ver uit elkaar ligt

Tot zover mijn artikel over vector embeddings over SEO. Heb jij een alternatieve toepassing waarvoor je het gebruikt? Deel het op de mail of in de SEO Brein Community.

SEO-fouten voorkomen?

SEO-checklist
Controleer je optimalisatie-stappen met mijn gratis SEO-checklist. Zo voorkom je fouten in Google en Bing.
Download SEO-checklist
Deze bedrijven gingen je voor:
Logo Booking.com
Logo Adidas
Logo Randstad
SEO-checklist
Download SEO-checklist
Deze bedrijven gingen je voor:
Logo Booking.com
Logo Adidas
Logo Randstad
SEO Mastermind SEO-vraag? Stel hem hier