Šiandien elektroninės parduotuvės susiduria su milžinišku iššūkiu – kaip iš tūkstančių ar net milijonų produktų pasiūlyti klientui būtent tuos, kurie jam labiausiai patiks? Čia į pagalbą ateina produktų rekomendacijų algoritmai, kurie naudoja mašininio mokymosi metodus. Šie algoritmai ne tik padeda klientams rasti norimą prekę, bet ir gali padidinti pardavimus iki 30%.
Rekomendacijų sistemos tapo neatsiejama elektroninės komercijos dalimi. Amazon teigia, kad 35% jų pardavimų generuoja būtent rekomendacijų algoritmai. Netflix investuoja milijardus dolerių į savo rekomendacijų sistemą, nes supranta – kuo geriau pažįsi savo klientą, tuo didesnė tikimybė, kad jis liks ištikimas.
Duomenų rinkimas ir paruošimas – pagrindas sėkmingam algoritmui
Prieš pradedant kurti bet kokį algoritmą, reikia suprasti, kokie duomenys yra prieinami ir kaip juos tinkamai paruošti. Elektroninėje parduotuvėje galima rinkti įvairius duomenų tipus:
Vartotojų elgsenos duomenys yra aukso kasykla bet kokiai rekomendacijų sistemai. Kiekvienas paspaudimas, peržiūra, pridėjimas į krepšelį ar pirkimas atskleidžia kažką apie vartotojo preferencijas. Svarbu sekti ne tik tai, ką žmonės perka, bet ir tai, ką jie peržiūri, bet neperka – šie duomenys gali būti lygiai taip pat vertingi.
Produktų charakteristikos ir metaduomenys formuoja antrą svarbų duomenų sluoksnį. Kategorijos, kainos, prekės ženklai, spalvos, dydžiai, aprašymai – visa tai padeda algoritmui suprasti produktų panašumus ir skirtumus. Ypač svarbu tinkamai kategorizuoti produktus ir išskirti svarbiausias charakteristikas kiekvienai kategorijai.
Duomenų valymas ir normalizavimas dažnai užima 80% viso projekto laiko, bet be šio etapo neįmanoma sukurti veikiančio algoritmo. Reikia pašalinti dublikatus, sutvarkyti trūkstamus duomenis, suvienodinti formatą. Pavyzdžiui, jei vienas produktas įvestas kaip „iPhone 13”, o kitas kaip „Apple iPhone 13 128GB”, algoritmas gali juos traktuoti kaip skirtingus produktus.
Kolaboratyvinio filtravimo metodai – mokymasis iš kitų vartotojų
Kolaboratyvinis filtravimas veikia pagal paprastą principą: jei du žmonės turi panašų skonį vienose srityse, tikėtina, kad jų skoniai sutaps ir kitose srityse. Šis metodas skirstomas į du pagrindinius tipus.
Vartotojų pagrįstas kolaboratyvinis filtravimas ieško panašių vartotojų ir rekomenduoja produktus, kuriuos mėgsta šie panašūs vartotojai. Algoritmas apskaičiuoja panašumą tarp vartotojų naudodamas įvairias metricas, tokias kaip kosinuso panašumas ar Pearsono koreliacijos koeficientas.
Praktiškai tai veikia taip: jei Petras ir Jonas abu pirko sportbačius, telefonus ir knygų, o Jonas dar nusipirko ausinių, algoritmas pasiūlys ausines ir Petrui. Šis metodas gerai veikia, kai turime pakankamai duomenų apie vartotojų elgseną.
Produktų pagrįstas kolaboratyvinis filtravimas analizuoja produktų tarpusavio ryšius. Jei daug žmonių, kurie pirko produktą A, taip pat pirko produktą B, algoritmas išmoks, kad šie produktai yra susiję. Šis metodas stabilesnis už vartotojų pagrįstą, nes produktų charakteristikos keičiasi rečiau nei vartotojų preferencijos.
Kolaboratyvinio filtravimo privalumas – jis gali atrasti netikėtus ryšius tarp produktų, kurių neaptiktų žmogus. Tačiau šis metodas susiduria su „šalto starto” problema – sunku rekomenduoti produktus naujiems vartotojams ar naujus produktus.
Turinio pagrįstos rekomendacijos – produktų charakteristikų analizė
Turinio pagrįstos rekomendacijos analizuoja pačių produktų savybes ir rekomenduoja panašius produktus pagal šias charakteristikas. Jei klientas domisi sportiniais batais, algoritmas pasiūlys kitus sportinius batus, sportinę aprangą ar sporto aksesuarus.
Šio metodo pagrindas – produktų charakteristikų vektorių kūrimas. Kiekvienas produktas aprašomas kaip daugiamatis vektorius, kur kiekviena dimensija atspindi tam tikrą charakteristiką. Pavyzdžiui, knygos vektorius gali turėti dimensijas žanrui, autoriui, leidimo metams, puslapių skaičiui.
Tekstinių duomenų apdorojimas čia ypač svarbus. Produktų aprašymai, atsiliepimai, kategorijų pavadinimai turi būti paversti skaitiniais duomenimis. Tam naudojamos TF-IDF (Term Frequency-Inverse Document Frequency) technikos arba modernūs word embedding metodai kaip Word2Vec ar BERT.
Turinio pagrįstos rekomendacijos puikiai sprendžia „šalto starto” problemą – net jei produktas naujas ir neturi pirkimų istorijos, algoritmas gali jį rekomenduoti pagal charakteristikas. Tačiau šis metodas linkęs siūlyti per daug panašius produktus ir gali neatsižvelgti į vartotojo keičiančiuosius poreikius.
Hibridiniai metodai – geriausia iš abiejų pasaulių
Realybėje daugelis sėkmingų rekomendacijų sistemų naudoja hibridinį požiūrį, kuris derina kolaboratyvinio filtravimo ir turinio pagrįstų metodų privalumus. Yra keletas būdų, kaip tai padaryti.
Svertinis derinimas – paprasčiausias būdas, kai skirtingų metodų rezultatai sumaišomi su tam tikrais svoriais. Pavyzdžiui, 70% rekomendacijų gali ateiti iš kolaboratyvinio filtravimo, o 30% – iš turinio analizės. Svoriai gali keistis priklausomai nuo situacijos: naujiems vartotojams didesnį svorį galima skirti turinio metodams.
Perjungimo metodas naudoja skirtingus algoritmus priklausomai nuo situacijos. Jei vartotojas naujas ir apie jį mažai žinoma, naudojamas turinio metodas. Kai surenkama pakankamai duomenų apie vartotojo elgseną, perjungiama prie kolaboratyvinio filtravimo.
Mišrūs metodai vienu metu pateikia rekomendacijas iš skirtingų algoritmų. Pavyzdžiui, svetainėje gali būti skyrius „Klientai, kurie pirko šį produktą, taip pat pirko” (kolaboratyvinis filtravimas) ir „Panašūs produktai” (turinio metodas).
Pažangesni hibridiniai metodai naudoja mašininio mokymosi algoritmus, kurie automatiškai išmoksta optimaliai derinti skirtingų metodų rezultatus. Neuronų tinklai gali analizuoti ir vartotojų elgseną, ir produktų charakteristikas vienu metu, sukurdami sudėtingesnius ir tikslesnius modelius.
Gilaus mokymosi sprendimai rekomendacijų sistemoms
Pastaraisiais metais gilaus mokymosi metodai revoliucionizavo rekomendacijų sistemas. Šie metodai gali apdoroti daug sudėtingesnius duomenų modelius ir rasti nelinearinės ryšius, kurių neaptinka tradiciniai metodai.
Autoencoders – tai neuronų tinklai, kurie išmoksta suspausti duomenis į mažesnės dimensijos erdvę, o paskui juos atkurti. Rekomendacijų sistemose jie gali išmokti vartotojų ir produktų latentinių charakteristikų, kurios nėra akivaizdžios iš pirmo žvilgsnio.
Rekurentiniai neuronų tinklai (RNN) ir jų pažangesni variantai LSTM bei GRU puikiai tinka sekų analizei. Jie gali analizuoti vartotojų elgsenos sekas laike ir prognozuoti, ko vartotojas gali norėti toliau. Pavyzdžiui, jei klientas pirma ieškojo nešiojamojo kompiuterio, paskui pelės, algoritmas gali pasiūlyti klaviatūrą ar kompiuterio krepšį.
Transformeriai, kurie tapo populiarūs natūralios kalbos apdorojime, taip pat randa pritaikymą rekomendacijų sistemose. Jie gali analizuoti sudėtingas vartotojų elgsenos sekas ir produktų aprašymus, suteikdami labai tikslias rekomendacijas.
Gilaus mokymosi metodų diegimas reikalauja daugiau išteklių ir ekspertizės, bet rezultatai gali būti itin įspūdingi. Svarbu pradėti nuo paprastesnių metodų ir palaipsniui pereiti prie sudėtingesnių, kai sukaupsite pakankamai duomenų ir patirties.
Algoritmo testavimas ir optimizavimas
Sukūrus rekomendacijų algoritmą, prasideda ne mažiau svarbus etapas – testavimas ir optimizavimas. Čia svarbu ne tik techninis tikslumas, bet ir realus poveikis verslui.
Offline vertinimas naudoja istorinius duomenis, kad įvertintų algoritmo tikslumą. Duomenys skirstomi į mokymo ir testavimo rinkinius. Populiarios metrikos: tikslumas (precision), atsaukimas (recall), F1 balas, RMSE (Root Mean Square Error). Tačiau aukštas offline rezultatas ne visada reiškia gerą veikimą realybėje.
A/B testavimas – tai aukso standartas rekomendacijų sistemų vertinimui. Dalis vartotojų gauna rekomendacijas iš naujo algoritmo, kita dalis – iš seno arba kontrolinės grupės. Lyginami verslo rodikliai: paspaudimų dažnis (CTR), konversijos, pardavimų apimtys, vartotojų pasitenkinimas.
Svarbu testuoti ne tik bendrą algoritmo veikimą, bet ir jo elgseną skirtingose situacijose. Kaip jis veikia su naujais vartotojais? Ar nepakartoja tų pačių rekomendacijų? Ar neformuoja „filter bubble”, kur vartotojas mato tik labai panašius produktus?
Rekomendacijų įvairovė yra kritiškai svarbi. Algoritmas gali būti techniškai tikslus, bet jei jis siūlo tik labai panašius produktus, vartotojai gali prarasti susidomėjimą. Reikia rasti pusiausvyrą tarp tikslumo ir įvairovės.
Praktiniai patarimai diegimui ir plėtrai
Diegiant rekomendacijų sistemą realioje elektroninėje parduotuvėje, svarbu pradėti paprastai ir palaipsniui plėsti funkcionalumą. Pirmas žingsnis – įdiegti paprastas rekomendacijas pagal populiarumą arba kategorijas. Tai leis pradėti rinkti duomenis apie vartotojų reakcijas į rekomendacijas.
Duomenų kokybė visada svarbesnė už kiekybę. Geriau turėti mažiau, bet patikimų duomenų, nei daug triukšmingų. Reguliariai tikrinkite duomenų kokybę, šalinkite anomalijas, atnaujinkite produktų informaciją.
Skalabilumo planavimas kritiškai svarbus. Algoritmas, kuris gerai veikia su 1000 produktų ir 100 vartotojų, gali visiškai „užstrigti” su milijonu produktų ir šimtu tūkstančių vartotojų. Nuo pat pradžių galvokite apie duomenų bazės architektūrą, indeksavimą, kešavimą.
Realaus laiko rekomendacijos reikalauja ypatingos architektūros. Vartotojas tikisi pamatyti rekomendacijas iš karto, todėl algoritmas turi atsakyti per šimtąsias sekundės dalies. Tai reiškia, kad sudėtingi skaičiavimai turi būti atliekami iš anksto, o realiu laiku tik ištraukiami paruošti rezultatai.
Privatumo ir etikos klausimai darosi vis svarbesni. GDPR ir kiti privatumo reglamentai reikalauja atsargiai elgtis su vartotojų duomenimis. Vartotojai turi turėti galimybę kontroliuoti, kokie jų duomenys naudojami, ir matyti, kodėl jiems siūlomi tam tikri produktai.
Algoritmo „paaiškinamumas” taip pat svarbus. Vartotojai labiau pasitiki rekomendacijomis, kai supranta, kodėl jos jiems siūlomos. „Klientai, kurie pirko šį produktą, taip pat pirko” yra daug suprantamiau nei „mūsų algoritmas mano, kad jums patiks”.
Ateities vizija ir galutinės įžvalgos
Rekomendacijų sistemų ateitis klostosi labai dinamiškai. Dirbtinio intelekto plėtra atskleidžia vis naujas galimybes – nuo vaizdo analizės, kuri gali suprasti vartotojo stilių iš nuotraukų, iki balso asistentų, kurie gali duoti personalizuotas rekomendacijas pokalbio metu.
Kontekstinės rekomendacijos darosi vis svarbesnės. Algoritmai mokosi atsižvelgti ne tik į tai, ko vartotojas nori, bet ir į tai, kada, kur ir kokiomis aplinkybėmis jis to nori. Rekomendacijos žiemą ir vasarą, darbo dienomis ir savaitgaliais, naudojant telefoną ar kompiuterį – visa tai gali skirtis.
Daugiakanalės rekomendacijos integruoja vartotojo elgseną skirtingose platformose. Jei klientas naršo produktus mobiliojoje programėlėje, vėliau gauna el. laišką su rekomendacijomis, o paskui ateina į fizinę parduotuvę – visa ši informacija turėtų būti sujungta į vieną nuoseklų patirtį.
Sėkmingas rekomendacijų algoritmo kūrimas – tai ne vienkartinis projektas, o nuolatinis procesas. Vartotojų poreikiai keičiasi, atsiranda naujų produktų, keičiasi rinkos tendencijos. Algoritmas turi mokytis ir prisitaikyti prie šių pokyčių. Svarbiausia – nepamirškite, kad už visų šių technologijų slepiasi realūs žmonės su savo poreikiais, svajonėmis ir problemomis. Geriausias algoritmas yra tas, kuris padeda jiems rasti būtent tai, ko jie ieško, net jei patys dar nežino, ko nori.
