AI evaluerer websteder ved at efterligne virkelige mennesker og endda overgå dem. Hvordan gøres det?

I dag bliver en af ​​komponenterne i uKit AI, et intelligent website redesign-system, offentligt. Det er et prototypemodul til vurdering af websidernes skønhed. Det kombinerer et neuralt netværk og beslutningstræer for at efterligne en almindelig besøgendes reaktion på at webstedets design.

I fremtiden vil et sådant modul evaluere arbejdet med den generative designalgoritme, nøgleelementet i uKit AI, som vil designe sider uden menneskelig involvering på grund af det tilgængelige indhold og "viden" om forskellen mellem et ikke-effektivt websted og den, der sigter mod at øge konverteringsfrekvensen.

Den aktuelle WebScore AI-version afspejler synspunktet for en gennemsnitlig internetbruger om webstedets udseende. Skønt vi kan oprette andre indstillinger, er det f.eks. Muligt at bedømme et websteds brugbarhed.

Websteder, der bruges til træning af systemet. Først og fremmest har vi samlet 12.000 websteder og onlinebutikker oprettet i forskellige år på forskellige platforme og på forskellige sprog. Hovedopgaven var at få nok visuelle gradationseksempler, fra temmelig dårlige websteder til meget gode. På denne måde har vi vist systemet, hvad det kan komme på tværs af på det moderne web.

Et par websteder fra træningseksemplet.

Hver graduering måles med en skala, og denne skala antages at blive forstået af en almindelig person, hvis opfattelse vi prøver at modellere. Så vi kom med en idé om 'fra 1 til 10' skalaen, som bruges i vores service.

Mennesker, der er efterlignet af WebScore AI. Vi havde brug for to ting for at danne et datasæt (et sæt data til en træningsmodel) fra en række forskellige websteder:

  • de tegn, hvormed systemet bestemmer, om webstedet er attraktivt;
  • evalueringer (mærker) foretaget ved hjælp af vores skala for en vis mængde websteder. De vil blive en model for systemet.

Nogen bør sætte disse indledende evalueringer. En sådan ”lærer” eller en gruppe ”lærere”, for at være mere specifik, vil i høj grad påvirke, hvordan modellen fungerer.

Webstedsevalueringsgrænseflade: tag og brug snart fra vores GitHub.

For at samle en fokusgruppe gennemførte vi et foreløbigt udvalg af kandidater på 1500 webstedeksempler. Et rutinearbejde, men et ansvarligt arbejde og kræver stort fokus. Den foreløbige udvælgelse hjalp os med at eliminere uegnede kandidater og også at udelukke de “kontroversielle” (når nogen vurderer det som 1 og den anden som 10) websteder fra prøven.

Først eksperimenterede vi med evalueringsmetoder.

For eksempel tilbød vi at evaluere et websted ad gangen, derefter to websteder på samme tid, eller at vælge et ud af to, det mest attraktive. Den tilgang, hvor respondenten så et enkelt websted og vurderede, at det fungerede bedst. Vi brugte det til at evaluere 10.000 af de resterende websteder.

En person vurderede, om et websted er smukt eller ej. Hvordan gør maskinen dette? Du og jeg har kun brug for et blik for at danne en mening om det samlede skønhed ved noget. Men vi ved, at djævelen er i detaljerne.

Webstedets visuelle tiltrækningstegn, der vil guide modellen, er et nøgleøjeblik for hele projektet. Vi bad uKit website builder designteam om en hånd, deres arbejde bruges som basis for hundreder af tusinder af websteder, og millioner af mennesker ser det. Sammen har vi udarbejdet en udvidet liste over funktioner, som fagfolk er opmærksomme på, når de udvikler et webstedsdesign. Og prøvede derefter at klippe det, hvilket kun efterlod de vigtigste.

uKit.com designteam.

Som et resultat fik vi en tjekliste med 125 ganske forskellige, men alligevel væsentlige kriterier grupperet i femten kategorier. For eksempel har listen: tilpasning til populære skærme, en række skrifttypestørrelser, farvernes renhed, længden af ​​overskrifter, andel af billederne på hele siden osv. Hvad der er tilbage at gøre er at træne modellen ved hjælp af disse regler.

Opret en algoritme. Hvad er en 'undervisningsmodel' nøjagtigt? Det er konstruktionen af ​​en algoritme, der er baseret på et givet sæt af egenskaber og kan evaluere det valgte websted. Det er ønskeligt, at systemets evaluering og den gennemsnitlige lærerevaluering deler et minimumskløft i deres endelige evalueringer.

Vi har besluttet at bruge gradient boosting-metode over beslutningstræerne, fordi det er en af ​​de mest populære og effektive tilgange. Ved hjælp af basale algoritmer konstruerer det et sæt, hvis samlede resultat overstiger resultaterne af en hvilken som helst separat algoritme.

Tilføjelse af hver efterfølgende basalgoritme forsøger desuden at forbedre kvaliteten af ​​svarene i hele sættet.

For at fremskynde og lette processen brugte vi CatBoost-biblioteket fra Yandex, som tillader opbygning af en gradientbaseret booster i såkaldte ”glemsom beslutnings træer”, der sikrer gode træningsevner for en model fra starten og en hurtig overgang til at give forudsigelser (estimater ) til nye objekter.

Tilføjelse af et neuralt netværk. Da den grundlæggende algoritme var klar, besluttede vi at udføre et eksperiment: vil resultaterne blive bedre, hvis vi tilføjer et neuralt netværk? Faktisk vidste vi allerede, hvordan man skulle ”se på” et websted og dets design, og nu besluttede vi at give systemet en slags ”forstørrelsesglas”, som det kan bruge til at afsløre endnu flere detaljer.

Vi valgte et af de mest populære netværk, resnet50, det er kendt som en god algoritme til at udtrække funktioner på højt niveau. Og vi har lært, hvordan vi får 1000 yderligere attributter til webstedsevaluering. Som et resultat kendetegner systemet nu en URL med de i alt 1125 funktioner og finder webstedets 'sted' i en 10-punkts skala. Processen tager adskillige snesevis af sekunder, det er derfor, vi overvejer at fremskynde modellen ved at reducere antallet af tegn samtidig med at kvaliteten af ​​evalueringen holdes på samme niveau.

Første resultater. Modellen, der er trænet på denne måde, kunne gøre tre gange mere nøjagtige skøn sammenlignet med dem for individuelle ‘lærere’.

Vi kan sige, at modellen overgik sine første lærere, da fokusgruppens estimater adskiller sig fra gennemsnittet i højere grad end estimatet af det neurale netværk. Nu lægger vi algoritmen i netværket til videreuddannelse. Og du kan også blive dens lærer.