Kako modelirati bolje preporuke u vreme kovida?

27. 10. 2020.

pexels photomix company 230544 scaled

Potrebe u IT sektoru se stalno menjaju. Nakon što nas je korona virus neočekivano pogodio, ova tvrdnja je tačna više nego ikad pre. Kako bismo držali distancu jedni od drugih, bili smo primorani da ograničimo sve naše aktivnosti koje se ne mogu obavljati onlajn. U početku je ovo bilo šokantno i nismo bili spremni za takvu promenu. Ali kada smo se navikli, shvatili smo da onlajn poslovanje nije budućnost, nago SADAŠNJOST.

Korisnici sada očekuju pouzdane platforme za e-trgovinu, sa zadovoljavajućim korisničkim iskustvom. Imajući u vidu veliki broj korisnika, proizvoda i konkurencije, jasno je da je to zaista teško ostvariti. Dakle, tokom karantina smo se trudili da to maksimalno iskoristimo i da smislimo nešto što može biti vredno našim klijentima i što će unaprediti i e-poslovanje i osnovnu delatnost. Odlučili smo da se fokusiramo na kreiranje sistema preporuka sledeće generacije.

U našim drugim blog-postovima  možete pronaći detaljno objašnjenje sistema preporuka. Ukratko, sistemi preporuka na veb-sajtovima za e-trgovinu predlažu nove artikle kupcima prikupljanjem preferencija ljudi na osnovu analize ponašanja ljudi. Sistemi preporuka mogu doneti brojne prednosti kompanijama koje ih koriste:

  1. korisnici mogu mnogo brže pronaći željene proizvode
  2. korisnici mogu biti ponudjeni odgovarajućim proizvodima tokom procesa plaćanja
  3. sprečavaju korisnike da odustanu od kupovine
  4. pokreću e-poštu na osnovu onlajn interakcija
  5. mnogo bolje korisničko iskustvo, posebno sa personalizovanim preporukama ili čak celim stranicama

 

Sistemi preporuka sledeće generacije

Industrija e-trgovine će se proširiti u većem obimu, kao i mašine za preporuke. Očekuje se da će sistemi preporuke sledeće generacije uključiti sledeće karakteristike:

  • personalizovanije preporuke – sistemi za preporuke postali bi sposobniji da kopaju duboko u uvide u podatke kupaca koji će im pomoći da im predstave relevantnije preporuke koje su usmerene na kupca.
  • dosezanje kupaca preko više kanala – sistemi za preporuke u budućnosti bi bili sposobniji da dopru do korisnika preko različitih medija kao što su e-pošta, kanali društvenih medija, vidžeti za kupovinu van sajta, mobilne aplikacije itd.
  • preporuke u stvarnom vremenu – sistemi preporuka zasnovani na dubokom učenju mogu da modelu obezbede ponašanje u stvarnom vremenu. Imaju za cilj da korisniku predstave odgovarajuć eartikle u vreme kada mu je to najkorisnije.

Znajući sve ovo, pokušali smo da pronađemo arhitekturu za novi mehanizam za preporuke koji može da radi sa onlajn podacima, u stvarnom vremenu i koji može da ostvari uvide u podatke o korisnicima za bolje i personalizovanije preporuke. Taj „jednorog“ je HRNN model.

Sistem preporuka zasnovan na sesijama sa HRNN (Hierarchical Recurrent Neural Networks – Hijerarhijske rekurentne neuronske mreže)

Zašto preporuka zasnovana na sesiji? U mnogim onlajn sistemima gde se primenjuju preporuke, interakcije između korisnika i sistema su organizovane u sesije i te sesije imaju cilj – pronaći određeni proizvod ili uslugu. Ako je model svestan šta je namera korisnika u datoj sesiji, performanse preporuka se mogu poboljšati sa tim informacijama i one će biti relevantnije. Ali istorija korisnika je takođe važna – ako dva korisnika u prethodnim sesijama imaju različita interesovanja, trebalo bi da dobiju različite preporuke u trenutnim sesijama, čak i ako su trenutne sesije iste. Kako bismo to postigli, koristimo model HRNN.

Screenshot 2020 10 22 at 12.35.55

Izvor: https://assets.amazon.science/96/71/d1f25754497681133c7aa2b7eb05/temporal-contextual-recommendation-in-real-time.pdf

U jednom od naših narednih blog-postova ćemo pisati o HRNN-u detaljno, ali generalno, ideja je da ovaj algoritam primenjujemo kada su identifikatori korisnika prisutni i širimo informacije iz prethodne korisničke sesije u sledeću, tako poboljšavajući tačnost preporuke .

Screenshot 2020 10 22 at 12.36.09

Izvor: https://arxiv.org/pdf/1706.04148.pdf

Na slici vidimo dva sloja neuronskih mreža. Gornji je predstavljanje na nivou sesije i u svojim memorijskim ćelijama čuva informacije samo jedne sesije. Te informacije (izlazna vrednost) se unose u donju mrežu, koja predstavlja predstavljanje na nivou korisnika. Memorijske ćelije niže mreže čuvaju informacije o svim sesijama za jednog korisnika i umnožavaju te informacije za svaku sledeću sesiju. Ovom arhitekturom smo pokrili slučajeve kada imamo identifikator korisnika, ali ako ga nemamo, ova arhitektura se svodi samo na preporuku zasnovanu na sesiji i uzima u obzir samo podatke o trenutnoj sesiji. Kao rezultat toga, dobijamo N najboljih preporuka za svaku korisničku sesiju, a to je upravo ono što smo želeli.

Ako vas zanima kako je ovo implementirano u stvarnoj upotrebi i kakvi su bili rezultati, pratite naš blog, rado ćemo podeliti naše iskustvo o tome u našim budućim blog-postovima. Možete nas kontaktirati kako biste dobili dublje objašnjenje, ili ako imate utisak o poboljšanju i razvoju preporučljivih sistema sledeće generacije – bili bismo više nego srećni da to čujemo. 🙂

 

Više izvora:

https://arxiv.org/pdf/1706.04148.pdf

https://assets.amazon.science/96/71/d1f25754497681133c7aa2b7eb05/temporal-contextual-recommendation-in-real-time.pdf

http://blog.analyticspath.com/artificial-intelligence/the-next-generation-recommender-systems/

https://www.xenonstack.com/blog/recommender-systems/

https://emerj.com/ai-sector-overviews/use-cases-recommendation-systems/

Naslovna slika preuzeta sa https://pexels.com/@munkee-panic-272941