AI utvärderar webbplatser genom att imitera riktiga människor och till och med överträffa dem. Hur görs det?

Idag publiceras en av komponenterna i uKit AI, ett intelligent webbdesignsystem för webbplatsen. Det är en prototypmodul för utvärdering av webbsidors skönhet. Den kombinerar ett neuralt nätverk och beslutsträd för att imitera en vanlig besökares reaktion på webbplatsens design.

I framtiden kommer en sådan modul att utvärdera arbetet med den generativa designalgoritmen, nyckelelementet i uKit AI, som kommer att utforma sidor utan mänskligt engagemang förlita på tillgängligt innehåll och "kunskap" om skillnaden mellan en icke-effektiv webbplats och den som syftar till att öka konverteringsgraden.

Den nuvarande WebScore AI-versionen återspeglar en genomsnittlig Internetanvändares syn på webbplatsens utseende. Även om vi kan skapa andra alternativ, till exempel, är det möjligt att betygsätta användbarhet på en webbplats.

Webbplatser som används för att utbilda systemet. Först och främst har vi samlat 12 000 webbplatser och onlinebutiker skapade under olika år på olika plattformar och på olika språk. Huvuduppgiften var att få tillräckligt med visuella graderingsexempel, från ganska dåliga webbplatser till mycket bra. På det här sättet har vi visat systemet vad det kan komma över på den moderna webben.

Ett par webbplatser från utbildningsprovet.

Varje gradering mäts med en skala, och denna skala ska förstås av en vanlig person vars åsikt vi försöker modellera. Så vi kom på en idé om "från 1 till 10" skalan, som används i vår tjänst.

Personer som imiteras av WebScore AI. Vi behövde två saker för att bilda ett dataset (en uppsättning data för en utbildningsmodell) från en mängd olika webbplatser:

  • de tecken som systemet kommer att avgöra om webbplatsen är attraktiv;
  • utvärderingarna (markeringarna) gjorda med hjälp av vår skala för en viss mängd webbplatser. De kommer att bli en modell för systemet.

Någon bör göra dessa första utvärderingar. En sådan ”lärare”, eller en grupp ”lärare”, för att vara mer specifik, kommer att påverka i stor utsträckning hur modellen fungerar.

Webbplatser utvärderingsgränssnitt: ta och använda från vår GitHub snart.

För att samla en fokusgrupp genomförde vi ett preliminärt urval av kandidater på 1500 webbplatsexempel. Ett rutinmässigt arbete, men ett ansvarsfullt och kräver stort fokus. Det preliminära urvalet hjälpte oss att eliminera olämpliga kandidater och även att utesluta de "kontroversiella" (när någon bedömer det som 1 och den andra som 10) webbplatser från urvalet.

Till att börja med experimenterade vi med utvärderingsmetoder.

Till exempel erbjöd vi oss att utvärdera en webbplats i taget, sedan två webbplatser samtidigt eller att välja en av två, den mest attraktiva. Den metod där respondenten såg en enda webbplats och utvärderade den fungerade bäst. Vi använde den för att utvärdera 10.000 av de återstående webbplatserna.

En person utvärderade om en webbplats är vacker eller inte. Hur kommer maskinen att göra detta? Du och jag behöver bara en blick för att bilda en åsikt om det totala skönheten i något. Men vi vet att djävulen är i detaljerna.

Webbplatsens visuella attraktivitetstecken som kommer att vägleda modellen är ett viktigt ögonblick för hela projektet. Vi bad uKit webbplatsbyggare designteam om en hand, deras arbete används som en bas för hundratusentals webbplatser och miljontals människor ser det. Tillsammans har vi sammanställt en utvidgad lista över funktioner som proffs uppmärksammar när de utvecklar en webbplatsdesign. Och försökte sedan klippa ner den, vilket bara lämnade de viktigaste.

uKit.com designteam.

Som ett resultat fick vi en checklista med 125 ganska olika men ändå viktiga kriterier grupperade i femton kategorier. Listan har till exempel: anpassning till populära skärmar, olika teckensnittstorlekar, färgens renhet, rubriklängder, andel bilder på hela sidan och så vidare. Det som återstår att göra är att träna modellen genom att använda dessa regler.

Skapa en algoritm. Vad är en "undervisningsmodell" exakt? Det är konstruktionen av en algoritm som bygger på en given uppsättning egenskaper och kan utvärdera den valda webbplatsen. Det är önskvärt att systemets utvärdering och den genomsnittliga lärarnas utvärdering delar ett minimiklyft i deras slutliga utvärderingar.

Vi har beslutat att använda gradient boosting-metoden över beslutsträden, eftersom det är en av de mest populära och effektiva metoderna. Med hjälp av grundläggande algoritmer konstruerar den en uppsättning, vars totala resultat överstiger resultaten för en separat algoritm.

Genom att lägga till varje efterföljande basalgoritm försöker den förbättra kvaliteten på svaren i hela uppsättningen.

För att påskynda och underlätta processen använde vi CatBoost-biblioteket från Yandex som gör det möjligt att bygga en gradientbaserad booster i så kallade "glömska beslutsträd" som säkerställer goda utbildningsmöjligheter för en modell från början och en snabb övergång till att ge förutsägelser (uppskattningar ) för nya objekt.

Lägga till ett neuralt nätverk. När den grundläggande algoritmen var klar beslutade vi att genomföra ett experiment: kommer resultaten att förbättras om vi lägger till ett neuralt nätverk? Vi visste faktiskt redan hur man skulle ”titta på” en webbplats och dess design, och nu beslutade vi att ge systemet ett slags ”förstoringsglas” som det kan använda för att avslöja ännu mer detaljer.

Vi valde ett av de mest populära nätverken, resnet50, det är känt som en bra algoritm för att extrahera funktioner på hög nivå. Och vi har lärt oss hur man får 1000 ytterligare attribut för webbplatsutvärdering. Som ett resultat karakteriserar systemet nu en URL med totalt 1125 funktioner och hittar webbplatsens 'plats' på en 10-punkts skala. Processen tar upp till flera dussintals sekunder, det är därför vi överväger att påskynda modellen genom att minska antalet tecken och samtidigt hålla kvaliteten på utvärderingen på samma nivå.

Första resultat. Modellen som utbildats på detta sätt kan göra tre gånger mer exakta uppskattningar jämfört med de för enskilda "lärare".

Vi kan säga att modellen överträffade sina första lärare eftersom fokusgruppens uppskattningar skiljer sig från det genomsnittliga mer än uppskattningen av det neurala nätverket. Nu lägger vi in ​​algoritmen i nätverket för vidareutbildning. Och du kan bli läraren också.