AI vertina svetaines imituodamas tikrus žmones ir netgi juos lenkia. Kaip tai daroma?

Šiandien vienas iš „uKit AI“ - intelektualios svetainės pertvarkymo sistemos - komponentų išleidžiamas į viešumą. Tai prototipo modulis, skirtas įvertinti tinklalapių grožį. Jis sujungia neuroninį tinklą ir sprendimų medžius, kad imituotų paprasto lankytojo reakciją į svetainės dizainą.

Ateityje tokiu moduliu bus vertinamas generatyvinio projektavimo algoritmo, pagrindinio uKit AI elemento, darbas, kuris suprojektuos puslapius be žmogaus įsitraukimo, remdamasis turimu turiniu ir „žiniomis“ apie skirtumą tarp neveiksmingos svetainės ir kuria siekiama padidinti perskaičiavimo kursą.

Dabartinė „WebScore AI“ versija atspindi vidutinio interneto vartotojo požiūrį į svetainės išvaizdą. Nors galime sukurti kitas parinktis, pavyzdžiui, galima įvertinti svetainės naudojimą.

Tinklalapiai, naudojami sistemos mokymui. Visų pirma, mes surinkome 12 000 svetainių ir internetinių parduotuvių, sukurtų skirtingais metais įvairiose platformose ir skirtingomis kalbomis. Pagrindinė užduotis buvo gauti pakankamai vaizdinių gradacijos pavyzdžių, pradedant gana blogomis svetainėmis ir baigiant labai geromis. Tokiu būdu mes parodėme sistemai, ką ji gali pasiekti šiuolaikiniame žiniatinklyje.

Pora svetainių iš mokymo pavyzdžių.

Kiekviena gradacija matuojama skale, o šią skalę turėtų suprasti paprastas žmogus, kurio nuomonę mes stengiamės modeliuoti. Taigi, mes sugalvojome skalės „nuo 1 iki 10“, kuri naudojama mūsų tarnyboje, idėją.

Žmonės, kuriuos mėgdžioja „WebScore AI“. Norėdami suformuoti duomenų rinkinį (mokymo modelio duomenų rinkinį) iš įvairių svetainių, reikėjo dviejų dalykų:

  • ženklai, pagal kuriuos sistema nustatys, ar svetainė yra patraukli;
  • įvertinimai (pažymiai), atlikti naudojant mūsų skalę tam tikram tinklalapių skaičiui. Jie taps sistemos pavyzdžiu.

Kažkas turėtų pateikti šiuos pradinius įvertinimus. Konkrečiau kalbant, „mokytojas“ arba „mokytojų“ grupė turės didelę įtaką modelio veikimui.

Tinklalapių vertinimo sąsaja: netrukus pasinaudokite ir pasinaudokite mūsų „GitHub“.

Norėdami suburti tikslinę grupę, atlikome preliminarią kandidatų atranką 1500 interneto svetainių pavyzdžių. Įprastas darbas, tačiau atsakingas ir reikalaujantis didelio dėmesio. Preliminari atranka padėjo mums pašalinti netinkamus kandidatus ir iš imties pašalinti „prieštaringai vertinamas“ (kai kas nors įvertino jas kaip 1, o kitas kaip 10) svetaines.

Iš pradžių eksperimentavome su vertinimo metodais.

Pavyzdžiui, mes pasiūlėme įvertinti vieną svetainę vienu metu, tada dvi svetaines tuo pačiu metu arba pasirinkti vieną iš dviejų, patraukliausią. Geriausiai veikė požiūris, kai respondentas pamatė vieną svetainę ir ją įvertino. Mes tai panaudojome 10 000 likusių svetainių įvertinimui.

Žmogus įvertino, ar svetainė yra graži, ar ne. Kaip mašina tai padarys? Jums ir man reikia tik vieno žvilgsnio, kad susidarytumėte nuomonę apie bendrą kažko grožį. Bet mes žinome, kad velnias yra detalėse.

Svarbiausias viso projekto momentas yra tinklalapio vizualinio patrauklumo ženklai, kurie padės modeliui. Paprašėme „uKit“ svetainių kūrėjų projektavimo komandos rankos, jų darbas naudojamas kaip pagrindas šimtams tūkstančių svetainių, o milijonai žmonių tai mato. Kartu mes sudarėme išplėstinį funkcijų, į kurias specialistai atkreipia dėmesį kurdami svetainės dizainą, sąrašą. Ir tada bandė supjaustyti, palikdamas tik svarbiausius.

uKit.com dizaino komanda.

Dėl to gavome 125 gana skirtingus, tačiau reikšmingus kriterijus, suskirstytus į penkiolika kategorijų. Pavyzdžiui, sąraše yra: adaptacija prie populiarių ekranų, įvairus šrifto dydis, spalvų grynumas, antraščių ilgis, paveikslėlių proporcija visame puslapyje ir pan. Liko išmokyti modelį naudojant šias taisykles.

Sukurkite algoritmą. Kas tiksliai yra „mokymo modelis“? Tai algoritmo, pagrįsto tam tikru charakteristikų rinkiniu ir galinčio įvertinti pasirinktą svetainę, konstravimas. Pageidautina, kad sistemos vertinimas ir vidutinis mokytojo vertinimas atitiktų minimalų atotrūkį jų galutiniuose vertinimuose.

Mes nusprendėme naudoti nuokrypio didinimo metodą per sprendimų medžius, nes tai yra vienas populiariausių ir efektyviausių būdų. Naudodamas pagrindinius algoritmus, jis sukonstruoja aibę, kurios bendras rezultatas viršija bet kurio atskiro algoritmo rezultatus.

Be to, pridedant kiekvieną paskesnį algoritmą, bandoma pagerinti viso rinkinio atsakymų kokybę.

Norėdami pagreitinti ir palengvinti procesą, mes naudojome „CatBoost“ biblioteką iš „Yandex“, kuri leidžia pastatyti gradientu pagrįstą stiprintuvą vadinamuosiuose „užmaršiuose sprendimų medžiuose“, užtikrinant geras modelio treniravimo galimybes nuo pat pradžių ir greitą perėjimą prie prognozių teikimo (įvertinimai). ) naujiems objektams.

Pridedamas neuroninis tinklas. Kai pagrindinis algoritmas buvo paruoštas, nusprendėme atlikti eksperimentą: ar rezultatai pagerės, jei pridėsime neuroninį tinklą? Tiesą sakant, mes jau žinojome, kaip „pažvelgti“ į internetinę svetainę ir jos dizainą, ir dabar mes nusprendėme sistemai suteikti tam tikrą „padidinamąjį stiklą“, kurį ji gali panaudoti dar daugiau detalių atskleidimui.

Mes pasirinkome vieną iš populiariausių tinklų „resnet50“, jis yra žinomas kaip geras algoritmas aukšto lygio funkcijoms išgauti. Ir mes sužinojome, kaip gauti 1000 papildomų atributų vertinant svetainę. Dėl to dabar sistema apibūdina URL iš viso 1125 funkcijų ir nustato svetainės „vietą“ 10 balų skalėje. Procesas užtrunka kelias dešimtis sekundžių, todėl manome, kad reikia pagreitinti modelį sumažinant ženklų skaičių išlaikant to paties lygio vertinimo kokybę.

Pirmieji rezultatai. Tokiu būdu paruoštas modelis galėtų padaryti 3 kartus tikslesnius įverčius, palyginti su atskirų „mokytojų“ įvertinimais.

Galime pasakyti, kad modelis pranoko savo pirmuosius mokytojus, nes tikslinės grupės įvertinimai nuo vidutinių skiriasi labiau nei nervinio tinklo įvertinimai. Dabar mes įdėjome algoritmą į tinklą tolimesniems mokymams. Jūs taip pat galite tapti jos mokytoju.