Update
De code die Thomas gebruikt om de .be-websites te categoriseren is nu open source.
Voor zijn masterthesis onderzocht Thomas Daniels of we websites automatisch kunnen classificeren met machine learning (ML). Daarbij gebruikte Thomas artificial intelligence (AI) om een computer te voeden met voorbeelden, die we zelf geclassificeerd hebben, zodat de zelflerende computer dan ook andere data kan verwerken.
Bij DNS Belgium classificeren we jaarlijks een groot aantal .be-websites omdat we graag weten waarvoor .be-domeinnamen gebruikt worden. Die informatie nemen we ook elk jaar op in ons jaarverslag. Om de websites gestructureerd onder te verdelen, maken we sinds een vijftal jaar gebruik van het categoriseringsmodel van de Registry -Registrar Data Group van CENTR waarin (op het eerste niveau) 25 categorieën gedefinieerd werden.
Tot vorig jaar deden we dat manueel. Dat wil zeggen dat we met een aantal mensen die daar zin in hebben een steekproef doen van enkele duizenden willekeurige .be-websites. We kijken waarover de websites gaan en verdelen die in een van de 25 categorieën. Dat is een arbeidsintensieve en weinig verheffende klus. Die we met de hulp van Thomas in de toekomst kunnen automatiseren.
Hoe correct zijn steekproef en machine?
Bij de ‘manuele’ categorisering stelden we ons uiteraard de vraag hoe correct de conclusies zijn van een steekproef van ca. 2.000, wanneer je die extrapoleert naar de 1,3 miljoen .be-websites die er op dit moment zijn.
De steekproef blijkt statistisch voldoende groot. De moeilijkheid is echter dat zo’n steekproef niets zegt over niet-willekeurige deelverzamelingen van de .be-zone, zoals de websites die bij een bepaalde registrar werden geregistreerd.
Via manuele categorisering van onze steekproef kwamen we bijvoorbeeld tot de conclusie dat 4,85% van alle niet-low content .be-websites – low content websites zijn websites met eerder oppervlakkige content – in de categorie restaurant/café horen. Volgens het model dat Thomas ontwikkelde is dat 4,13%. Dat lijkt een klein verschil maar het komt overeen met ruim 5.500 websites.
Het is ook niet altijd even duidelijk in welke categorie een website thuishoort. Stel bijvoorbeeld dat een hotel een toprestaurant heeft waar ook niet-gasten komen en dat er één website is voor zowel het hotel als het restaurant. Ga je die site dan in de categorie toerisme en accommodatie onderbrengen of bij restaurants?
‘Aan de basis ligt een taalmodel, zoals we dat sinds de komst van ChatGPT allemaal kennen.’
Voordelen van machine learning
Dat kan ons ML-model niet oplossen, maar het werkt wel voldoende nauwkeurig en snel zodat we alle .be-websites kunnen categoriseren. Je krijgt bovendien niet enkel een cijfer (of percentage) voor een bepaalde categorie, je kan ook de volledige lijst van alle websites in een categorie opvragen.
Daardoor kan je ook de percentages berekenen voor een bepaalde subset, bijvoorbeeld van alle domeinnamen die in 2023 geregistreerd werden. En je kan correlaties onderzoeken met andere variabelen, zoals de kans dat een domeinnaam vernieuwd zal worden.
Hoe werkt machine learning?
‘Aan de basis van onze aanpak ligt een taalmodel, zoals we dat sinds de komst van ChatGPT allemaal kennen’, licht Thomas toe. ‘Het taalmodel wordt gebruikt als onderdeel van een groter model dat ook rekening houdt met de uitgaande links en enkele numerieke kenmerken van de website. Zo'n model kan je zien als een ingewikkelde wiskundige functie waarmee je de input omzet naar de output (categorieën in ons geval).’ Het taalmodel is vooraf getraind met heel veel data (uit meer dan 100 talen) zodat het een algemeen begrip krijgt van hoe taal werkt.'
De verzameling van gelabelde voorbeelden wordt opgesplitst in een trainingset - data die je gebruikt om het model te trainen - en een (meestal kleinere) testset om te controleren of het model correct werkt.
Na het trainen van het model op de gelabelde data, ga je na of het model kan veralgemenen en overweg kan met data van websites die niet gebruikt werden om het model te trainen. Dit doen we op de testset.
‘Als een computer meer dan 80 procent correct classificeert, doet hij het beter dan de mens.’
We hebben elke website door drie mensen laten beoordelen om enerzijds zeker te zijn dat we het model met correcte data voeden en ten tweede om te weten hoe precies de mens werkt. In een volgende stap bekeek Thomas in hoeverre de resultaten van het model overeenkomen met de manuele categorisering.
Thomas voerde een groot aantal experimenten uit om uit te zoeken welke aanpak betere resultaten opleverde en stelde vast dat de combinatie van drie modellen het beste werkte.
Doet een machine het beter dan de mens?
De hamvraag blijft natuurlijk of een door AI gestuurde zelflerende machine nauwkeuriger classificeert dan onze medewerkers.
Dat is op dit moment nog niet het geval. ‘Als een computer meer dan 80 procent correct classificeert, doet hij het beter dan de mens’, zegt Thomas. ‘Als we ervan uitgaan dat enkel de categorisering door twee of drie mensen correct is, halen we op dit moment een nauwkeurigheid van 75 procent. Als we veronderstellen dat ook de categorie die door één van de drie mensen werd gekozen correct is, haalt het model een accuraatheid van 85,15 procent.’
‘Een machine heeft wel het voordeel dat hij alle .be-websites kan bekijken, terwijl mensen er een paar duizend controleren en de fouten die ze daarin maken uitvergroten door te extrapoleren naar de 1,3 miljoen .be-websites.’
Op grote schaal zal de computer nauwkeuriger zijn, maar daar gaan we nooit data over hebben, omdat we het onze mensen gaan besparen om elke .be-website te screenen.