Když vám umělá inteligence doporučí, co koupit

V rámci studijního programu prg.ai Minor se studenti setkávají na přednáškách s předními odborníky na AI. Jedním z nich je docent na FIT ČVUT Pavel Kordík, který letos v březnu na Fakultě informačních technologií ČVUT vedl přednášku na téma Nejnovější výzkumy a reálné použití doporučovacích systémů.

V úvodu přednášky byly nejprve představeny doporučovací systémy obecně. Co je tedy jejich podstatou? Jsou postaveny na propojování uživatelů s produktyuživatelskými interakcemi ve formě tzv. user-item neboli interakční matice. Mezi takové interakce se řadí například hodnocení položek uživateli, produkty, které si uživatel pouze prohlédl, nebo doba, kterou strávil prohlížením jednotlivých položek. Následně je doporučovací systém schopen uživateli nabídnout položky, o které by podle získaných dat mohl mít zájem. Podobnost uživatelů a produktů je možno vypočítat pomocí několika metod, například metodou nejbližších sousedů, maticovou faktorizací nebo neuronovou sítí.

Multi-armed bandit jako řešení klasického dilematu? 

Při vyplňování user-item matice můžeme narazit na vícero problémů. Tím nejznámějším je cold-start problem, kdy máme velmi málo interakcí s novým uživatelem nebo produktem. V praxi to vypadá tak, že se systém snaží uživateli doporučit nějaký produkt, ale neví, co mu má doporučit, jelikož nezná jeho preference. Proto mu třeba nabídne populární produkty. S těmi ale uživatel nemusí být spokojen a nedojde tak k interakci s tzv. long-tail produkty, což opět oddálí vyplnění příslušných částí matice. Příkladem řešení tohoto problému u nových produktů je zkoumat podobnost jejich atributů s atributy produktů, které uživatel již viděl či koupil, díky čemuž můžeme nový produkt zařadit do jistých kategorií a začít ho alespoň částečně informovaně doporučovat. Tady narážíme na klasické dilema mezi explorací a exploatací vycházející z teorie posilovaného učení.

Častým řešením takových problémů je takzvaný multi-armed bandit přístup. U streamovacích platforem rekomendační systém získává odměnu za počet zhlédnutí videí uživatelem. Při požadavku na doporučení nabídne uživateli položku a zjišťuje, zda jej uživatel shlédl – pokud ano, je RS odměněn. Postupně systém vylepšuje svou strategii, která je založena na fixním předpokladu, že existují oblíbené položky, které se s časem nemění u většiny uživatelů. To samozřejmě nemusí být pravda, a proto naši výzkumníci, jako je Rodrigo Alves, pracují na lepších přístupech k banditnímu doporučování, které hledají  rovnováhu mezi loajálními uživateli a těmi zvídavými, kteří nereagují na dlouhodobě oblíbené položky. Vedle banditních algoritmů existuje samozřejmě celá řada dalších přístupů k doporučování. S těmi nejnovějšími se můžete seznámit například na konferenci RecSyS.

Výzkum je důležité testovat na reálných datech

Jelikož Recombee startup provozuje s Fakultou informačních technologií společnou výzkumnou laboratoř, proběhla také diskuze o aplikovatelnosti publikovaného výzkumu v praxi. Je důležité, aby výzkumníci porovnávali nové modely a přístupy na dobře uchopitelných metrikách a měli možnost je otestovat na reálných datech. Výzkum nevzniká proto, aby překonal ostatní modely o nepatrný zlomek na jakési obskurní metrice, ale usiluje o to, aby jeho výsledky byly co nejvíce využívané.

Pavel Kordík je jeden ze zakládajících členů prg.ai a zakladatel několika startupů, přičemž jeden z nich je Recombee. Startupy vnímá jako ideální platformu pro převod znalostí z akademického prostředí do praxe.

Firma Recombee je světový hráč vyvíjející doporučovací algoritmy a personalizované vyhledávání v podobě cloudové služby. Její produkt je v reálném čase schopný reagovat na změny doporučovaných položek i chování zákazníků v oblastech jako jsou media, e-shopy, online bazary, pracovní, edukační, nebo realitní portály.

  • Služby Recombee využívají např. Prima, Mafra, Český rozhlas, Slickdeals, Audiomack, Zumper, Showmax a další stovky zákazníků po celém světě

Články Pavla Kordíka najdete také na https://twitter.com/pavelkordik nebo https://medium.com/@pavelkordik