AI hodnotí webové stránky napodobňovaním skutočných ľudí a dokonca ich prevyšuje. Ako sa to robí?

Dnes je jedna z komponentov inteligentného systému redizajnovania webových stránok uKit AI zverejnená. Je to prototypový modul na hodnotenie krásy webových stránok. Kombinuje neurónovú sieť a rozhodovacie stromy, čím napodobňuje reakciu obyčajného návštevníka na návrh athe webovej stránky.

V budúcnosti bude taký modul hodnotiť prácu algoritmu generatívneho dizajnu, kľúčového prvku uKit AI, ktorý bude navrhovať stránky bez účasti ľudí na základe dostupného obsahu a „znalosti“ rozdielu medzi neefektívnou webovou stránkou a cieľom bolo zvýšenie miery konverzie.

Aktuálna verzia WebScore AI odráža pohľad priemerného používateľa internetu na vzhľad webovej stránky. Môžeme však vytvoriť aj iné možnosti, napríklad je možné hodnotiť použiteľnosť webových stránok.

Webové stránky používané na školenie systému. Najprv sme zhromaždili 12 000 webových stránok a online obchodov vytvorených v rôznych rokoch na rôznych platformách av rôznych jazykoch. Hlavnou úlohou bolo získať dostatok príkladov vizuálnej gradácie, od celkom zlých webových stránok po veľmi dobré. Týmto spôsobom sme ukázali systému, na čo sa môže v modernom webe stretnúť.

Niekoľko webových stránok z tréningovej vzorky.

Každá gradácia sa meria pomocou stupnice a táto stupnica by mala byť chápaná bežným človekom, ktorého názor sa snažíme modelovať. Preto sme prišli s predstavou o stupnici od 1 do 10, ktorá sa používa v našich službách.

Ľudia, ktorí sú napodobňovaní WebScore AI. Potrebovali sme dve veci na vytvorenie súboru údajov (súboru údajov pre vzdelávací model) z rôznych webových stránok:

  • znaky, podľa ktorých systém určí, či je webová stránka atraktívna;
  • hodnotenia (značky) vykonané pomocou našej stupnice pre určité množstvo webových stránok. Stanú sa vzorom systému.

Niekto by mal uviesť tieto počiatočné hodnotenia. Takýto „učiteľ“ alebo skupina „učiteľov“, konkrétne povedané, bude mať veľký vplyv na fungovanie modelu.

Rozhranie na hodnotenie webových stránok: čoskoro si zoberte a používajte náš GitHub.

Aby sme zhromaždili cieľovú skupinu, vykonali sme predbežný výber kandidátov na 1500 príkladoch webových stránok. Rutinná práca, ale zodpovedná práca, ktorá si vyžaduje veľké zameranie. Predbežný výber nám pomohol vylúčiť nevhodných kandidátov a zo vzorky vylúčiť aj „kontroverzné“ (ak ich niekto ohodnotí ako 1 a druhý ako 10).

Najprv sme experimentovali s metódami hodnotenia.

Napríklad sme ponúkli vyhodnotenie jednej webovej stránky súčasne, potom dvoch webových stránok súčasne alebo výber jedného z dvoch najatraktívnejších. Prístup, pri ktorom respondent videl jednu jedinú webovú stránku a vyhodnotil ju, fungoval najlepšie. Použili sme ho na vyhodnotenie 10 000 zvyšných webových stránok.

Osoba hodnotila, či je webová stránka krásna alebo nie. Ako to bude stroj robiť? Vy a ja potrebujeme iba jeden pohľad, aby sme vytvorili názor na celkovú krásu niečoho. Ale vieme, že diabol je v detailoch.

Kľúčové momenty pre celý projekt sú znaky vizuálnej príťažlivosti webovej stránky, ktoré povedú model. Dizajnový tím pre tvorcov webových stránok sme požiadali o ruku, ich práca sa používa ako základ pre stovky tisíc webových stránok a milióny ľudí to vidia. Spoločne sme zostavili rozšírený zoznam funkcií, ktorým odborníci venujú pozornosť pri vývoji dizajnu webových stránok. A potom sa to pokúsil znížiť, pričom zostali len tie najdôležitejšie.

tím dizajnérov uKit.com.

Výsledkom bolo, že sme dostali kontrolný zoznam 125 celkom odlišných, ale významných kritérií zoskupených do pätnástich kategórií. Zoznam má napríklad: prispôsobenie populárnym obrazovkám, rôzne veľkosti písma, čistotu farieb, dĺžku nadpisov, pomer obrázkov na celej stránke atď. Zostáva to, aby sa model naučil pomocou týchto pravidiel.

Vytvorte algoritmus. Čo je to „vyučovací model“? Je to konštrukcia algoritmu, ktorý je založený na danej skupine charakteristík a dokáže vyhodnotiť vybratú webovú stránku. Je žiaduce, aby hodnotenie systému a priemerné hodnotenie učiteľa zdieľali minimálny rozdiel vo svojich konečných hodnoteniach.

Rozhodli sme sa použiť metódu zosilnenia gradientu nad rozhodovacími stromami, pretože je to jeden z najpopulárnejších a najúčinnejších prístupov. Pomocou základných algoritmov vytvára množinu, ktorej celkový výsledok presahuje výsledky ktoréhokoľvek samostatného algoritmu.

Navyše, pridaním každého nasledujúceho základného algoritmu sa snaží zlepšiť kvalitu odpovedí celého súboru.

Na urýchlenie a uľahčenie procesu sme použili knižnicu CatBoost od spoločnosti Yandex, ktorá umožňuje budovanie zosilňovača založeného na gradiente v takzvaných „zabudnutých rozhodovacích stromoch“, ktoré zabezpečujú dobré výcvikové schopnosti modelu od začiatku a rýchly prechod na poskytovanie predpovedí (odhady) ) pre nové objekty.

Pridanie neurónovej siete. Keď bol základný algoritmus pripravený, rozhodli sme sa vykonať experiment: zlepšia sa výsledky, ak pridáme neurónovú sieť? Vlastne sme už vedeli, ako „pozerať“ web a jeho dizajn, a teraz sme sa rozhodli dať systému nejaký „lupu“, ktorý môže použiť na odhalenie ďalších podrobností.

Vybrali sme jednu z najpopulárnejších sietí, resnet50, ktorá sa nazýva dobrý algoritmus na extrahovanie funkcií na vysokej úrovni. Naučili sme sa, ako získať 1 000 ďalších atribútov na vyhodnotenie webových stránok. Výsledkom je, že systém teraz charakterizuje webovú adresu celkovo 1125 funkciami a „miesto“ webovej stránky nájde v 10-bodovej stupnici. Proces trvá niekoľko desiatok sekúnd, preto uvažujeme o zrýchlení modelu znížením počtu znakov pri zachovaní kvality hodnotenia na rovnakej úrovni.

Prvé výsledky. Model trénovaný týmto spôsobom by mohol urobiť 3-krát presnejšie odhady v porovnaní s odhadmi jednotlivých „učiteľov“.

Dá sa povedať, že model predčil svojich prvých učiteľov, pretože odhady cieľovej skupiny sa od priemeru výrazne líšia od odhadu neurónovej siete. Teraz vložíme algoritmus do siete pre ďalšie školenie. A vy sa môžete stať jeho učiteľom.