AI ocenjuje spletna mesta tako, da posnema resnične ljudi in jih celo premaga. Kako je to storjeno?

Danes je ena od komponent uKit AI, inteligentni sistem prenove spletnih strani, javno objavljen. To je prototipni modul za ocenjevanje lepote spletnih strani. Združuje nevronsko mrežo in drevesa odločitev, ki posnemajo reakcijo navadnega obiskovalca na zasnovo spletnega mesta athe.

Takšen modul bo v prihodnosti ovrednotil delo algoritma generativnega oblikovanja, ključnega elementa uKit AI, ki bo oblikoval strani brez človekove udeležbe, pri čemer se bo zanašal na razpoložljivo vsebino in "znanje" o razliki med neučinkovitim spletnim mestom in tista, ki je namenjena povečanju stopnje konverzije.

Trenutna različica AI WebScore odraža pogled povprečnega uporabnika interneta o videzu spletnega mesta. Čeprav lahko ustvarimo druge možnosti, je na primer mogoče oceniti uporabnost spletnega mesta.

Spletna mesta, ki se uporabljajo za usposabljanje sistema. Najprej smo zbrali 12.000 spletnih mest in spletnih trgovin, ustvarjenih v različnih letih na različnih platformah in v različnih jezikih. Glavna naloga je bila dobiti dovolj primerov vizualne stopnje, od precej slabih spletnih strani do zelo dobrih. Na ta način smo sistemu pokazali, do česa lahko pride v sodobnem spletu.

Nekaj ​​spletnih mest iz vzorca usposabljanja.

Vsako gradacijo merimo z lestvico in to lestvico naj bi razumel navaden človek, katerega mnenje skušamo modelirati. Tako smo si zamislili lestvico od 1 do 10, ki jo uporabljamo v naši storitvi.

Ljudje, ki jih posnema WebScore AI. Za oblikovanje nabora podatkov (niz podatkov za model usposabljanja) smo potrebovali dve stvari iz različnih spletnih mest:

  • znake, s katerimi bo sistem ugotovil, ali je spletno mesto privlačno;
  • ocene (ocene), narejene s pomočjo naše lestvice za določeno količino spletnih mest. Postali bodo vzor sistemu.

Nekdo bi moral postaviti te začetne ocene. Tak učitelj ali skupina učiteljev, če smo natančnejši, bo močno vplival na to, kako bo deloval model.

Vmesnik za ocenjevanje spletnih strani: kmalu ga vzemite in uporabljajte iz našega GitHub-a.

Da bi zbrali fokusno skupino, smo izvedli predhodni izbor kandidatov na 1500 primerih spletnih strani. Rutinsko delo, vendar odgovorno in zahteva veliko osredotočenosti. Preliminarni izbor nam je pomagal odstraniti neprimerne kandidate in tudi izključiti "sporna" (ko nekdo oceni kot 1, drugi pa 10) iz vzorca.

Sprva smo eksperimentirali z metodami ocenjevanja.

Ponudili smo na primer ocenjevanje enega spletnega mesta hkrati, nato dveh spletnih strani hkrati ali pa izbrali eno od dveh, najbolj privlačnih. Pristop, kjer je anketirani videl eno samo spletno mesto in ocenil, da je najbolje deloval. Uporabili smo ga za oceno 10.000 preostalih spletnih mest.

Oseba je ocenila, ali je spletno mesto lepo ali ne. Kako bo stroj to storil? Jaz in jaz potrebujemo samo en pogled, da oblikujemo mnenje o celotni lepoti nečesa. Vemo pa, da je hudič v podrobnostih.

Ključni trenutek za celoten projekt je ključna točka vizualne privlačnosti spletnega mesta, ki bo vodila model. Za roko smo prosili oblikovalsko ekipo za graditelje spletnih strani uKit, njihovo delo je uporabljeno kot osnova za več sto tisoč spletnih strani in milijone ljudi si jih ogleda. Skupaj smo sestavili razširjen seznam funkcij, na katere so strokovnjaki pozorni pri razvoju spletnega oblikovanja. In nato poskusil razrezati, pri čemer so pustili le najpomembnejše.

uKit.com oblikovalska ekipa.

Kot rezultat tega smo dobili kontrolni seznam s 125 precej različnimi, vendar pomembnimi merili, razvrščenimi v petnajst kategorij. Seznam ima na primer: prilagoditev priljubljenim zaslonom, različne velikosti pisave, čistost barv, dolžino naslovov, razmerje slik na celotni strani in tako naprej. Preostane še, da treniramo model s temi pravili.

Ustvari algoritem. Kaj je natančno "model poučevanja"? To je izdelava algoritma, ki temelji na določenem nizu lastnosti in lahko ovrednoti izbrano spletno mesto. Zaželeno je, da ocenjevanje sistema in ocena povprečnega učitelja delita minimalno vrzel v svojih končnih ocenah.

Odločili smo se, da bomo uporabili metodo povečevanja gradientov nad drevesi odločitev, ker je to eden najbolj priljubljenih in najbolj učinkovitih pristopov. Z osnovnimi algoritmi oblikuje niz, katerega skupni rezultat presega rezultate katerega koli ločenega algoritma.

Poleg tega z dodajanjem vsakega naslednjega osnovnega algoritma poskuša izboljšati kakovost odgovorov celotnega niza.

Za pospešitev in olajšanje postopka smo uporabili knjižnico CatBoost iz Yandexa, ki omogoča gradnjo ojačevalnika, ki temelji na gradientu, v tako imenovanih „neopazivnih odločitvenih drevesih“, kar zagotavlja dobre sposobnosti treninga modela od samega začetka in hiter prehod k zagotavljanju napovedi (ocene ) za nove predmete.

Dodajanje nevronske mreže. Ko je bil osnovni algoritem pripravljen, smo se odločili za poskus: se bodo rezultati izboljšali, če dodamo nevronsko mrežo? Pravzaprav smo že vedeli, kako „pogledati“ spletno stran in njeno zasnovo, zdaj pa smo se odločili, da damo sistemu nekakšno „lupo“, ki jo lahko uporabi, da razkrije še več podrobnosti.

Izbrali smo eno najbolj priljubljenih omrežij, resnet50, znan je kot dober algoritem za pridobivanje funkcij na visoki ravni. In naučili smo se, kako pridobiti 1000 dodatnih atributov za ocenjevanje spletnega mesta. Kot rezultat, sistem zdaj označi URL s skupno 1125 funkcijami in najde spletno mesto na svojem mestu na 10-točkovnem merilu. Postopek traja do nekaj deset sekund, zato mislimo, da bomo model pospešili z zmanjšanjem števila znakov in obdržali kakovost ocenjevanja na isti ravni.

Prvi rezultati. Model, ki je tako usposobljen, bi lahko naredil 3-krat natančnejše ocene v primerjavi z ocenami posameznih učiteljev.

Lahko rečemo, da je model presegel svoje prve učitelje, saj se ocene fokusnih skupin močno razlikujejo od povprečnih od ocene nevronske mreže. Zdaj algoritem postavimo v mrežo za nadaljnje usposabljanje. In lahko postanete tudi njen učitelj.