13. 10. 2017

RecSys 2017 – postřehy z konference o doporučování

Doporučovací systém (v angličtině recommender system – často zkracován jako recsys) je systém, který se snaží odhadovat preference uživatelů a vybírat pro ně ten nejvhodnější obsah. Doporučovat se dají videa, články, produkty v e-shopu, body zájmu na mapách anebo třeba vhodné reaktanty pro vědecké pracovníky ve farmacii. Návrhem a Implementací těchto systémů se zabývá konference RecSys. Ta po dvou letech opět zavítala do Evropy, tentokrát do Italského městečka Como.  Konference pod křídly ACM má ambice propojit výzkum v akademické sféře a průmysl v oblasti doporučovacích systémů a letos se konal již 11. ročník. V Seznamu už téměř tři roky pracujeme na doporučování článků a videí. Blízkost letošního ročníku nás zlákala, a proto jsme se tam vydali nasát atmosféru a nápady pro další rozvoj.

image

Como – obrázek ve větší kvalitě

Villa Erba

Jelikož byl o konferenci i přes nemalý peníz (600 euro) velký zájem, došlo k přesunutí z budovy městského divadla do prostor Villa Erba.

image

Villa Erba (photo by ACM RecSys)

Naše nadšení ze změny lokality po příjezdu vystřídalo vystřízlivění, jelikož konference se nekonala v samotné vile ale v přilehlém konferenčním prostoru, který připomínal spíš skleník v botanické zahradě. Nutno podotknout, že to ve skutečnosti bylo místo zajímavé a určitě důstojné pro tuto akci a naše očekávání vyplývalo z naší vlastní nepozornosti.

image

Konferenční prostory (photo by ACM RecSys)

Organizace

Týden před samotnou konferencí probíhala tzv. summer school v 300 km vzdáleném Bolzanu. Jednalo se o pět dní nabitých praktickými přednáškami a hands on tutoriály na téma doporučování. Účastníci si mohli vyzkoušet použití metod od maticové faktorizace po neuronové sítě. Nevěděli jsme příliš co od summer school čekat, ale kolega, který se zúčastnil byl s průběhem a obsahem více než spokojený.

image

Summer school (photo by ACM RecSys)

Program hlavní konference byl naplánován na tři dny. Hlavní program byl pak rozšířen dvěma dny workshopů, jedním před a jedním po konferenci. Každý den byl organizován v tématických blocích. V rámci hlavní konference probíhaly vždy dva bloky paralelně a v rámci workshopů běželo dokonce pět paralelních bloků současně. To byly chvíle, kdy jsme byli rádi, že jsme se rozhodli vyrazit ve čtyřech.

image

Základní čísla o konferenci

Přednášky byly rozděleny na workshopy, tutoriály, paper session a industry session. Upřímně nebyl často poznat rozdíl mezi tutorialem, workshopem a paper session. Zjednodušeně lze říci, že na workshopech bylo více diskuse a méně posluchačů. Skutečný hands on tutorial jsme za konferenci potkali jen jeden a ten se díky nefunkční wi-fi příliš nepovedl.

Velké minus si konference zaslouží za absenci nahrávání přednášek na video. Prezentace z přednášek se objevují postupně na této adrese. Z konference jsme si odváželi pouze sborník z akademických paper sessions a o nasdílení prezentací se vůbec nemluvilo. Dlouho jsme si tedy mysleli, že zůstaneme odkázáni na naše poznámky, řídké fotky prezentací na plátně a slideshare.

Zajímavou akcí byla poster reception, kde se formou plakátů prezentovaly jednotlivé firmy nebo výzkum PhD studentů z celého světa. Byla zde lepší možnost se vrátit k některým prezentacím, které se objevili jak v hlavním programu tak následně v poster reception a v klidu se o nich pobavit.

image

Poster reception (photo by ACM RecSys)

Druhý večer se konal social evening, který překvapil bleskovým přerodem hlavního konferenčního sálu v obrovskou restauraci s výborným jídlem a perfektní obsluhou. Škoda, že tento večer nebyl nijak organizován, takže například o tom, že bude ohňostroj, jsme se dozvěděli až když jsme ho slyšeli uprostřed večeře. Při této příležitosti byly vyhlášeni vítězové RecSys Challenge, která byla letos na téma push doporučování pracovních nabídek na datasetu od firmy Xing.

image

Social evening (photo by ACM RecSys)

Ač jsme od italské organizace neočekávali zázraky, tak vše probíhalo bez problémů až na již tradiční nefunkční konferenční Wi-Fi připojení, které totálně nezvládalo počet návštěvníků.

 

Přednášky

Co bylo velmi zřetelné byla nevyváženost v kvalitě prezentací z akademické sféry versus prezentace na industry sessions, které byly téměř bez výjimky velmi srozumitelně a zábavně podané (přitom často prezentovali sami výzkumnící nebo vývojáři).

Z velkých firem nechyběl Netflix, Spotify, Microsoft, Pandora, EA, LinkedIn, AirBnB, SkyScanner, Trivago, Booking.com a další.

Doporučování filmů a článků bylo pro tentokrát vytlačeno doporučováním hudby, zájezdů a velký prostor dostaly firmy z módního průmyslu, především eshopy s oblečením. Bylo to pro nás milé osvěžení a některé příklady použití doporučování byly opravdu zajímavé a originální a přesto 100 % praktické. Několik přednášek se věnovalo doporučení průchodu studijním plánem na vysokých školách. Doporučování hudby vedle toho vypadalo jako největší technologická výzva.

Algoritmům v praxi stále vévodí ALS a kolaborativní filtrování, které mimochodem používáme na doporučování i u nás v Seznamu. Jedním ze zajímavých trendů v doporučování se jevil pairwise případně listwise learning to rank přístup. Mnoho přednášek se věnovalo session-based doporučování zejména s využitím rekurentních neuronových sítí.

Nebylo až tak velkým překvapením, že řada společností outsourcuje infrastrukturu k Amazonu nebo Google a často se používá Github pro správu zdrojových kódů.

Příjemným zjištěním z přednášek bylo, že Seznam v doporučování drží krok.

 

Nejlepší články konference

Modeling the Assimilation-Contrast Effects in Online Product Rating Systems: Debiasing and Recommendations – link

Cenu za nejlepší článek konference si odnesli autoři z univerzity The Chinese Univeristy of Hong Kong. Ve své práci se zaměřili na problematiku uživatelských hodnocení. Nedávné experimentální studie totiž odhalily, že historická hodnocení produktu mohou významně ovlivnit uživatele a jejich následně udělené hodnocení.

Ve svých vlastních experimentech nad datasety TripAdvisoru a Amazonu pak ukázaly, že se v datech objevuje jev, kdy uživatelské hodnocení odpovídá historickému hodnocení, pokud se toto hodnocení významně neliší od kvality produktu a naopak se výrazně liší, pokud  se hodnocení výrazně liší od kvality produktu. Tento jev se dá popsat v psychologii dobře známou teorií “Assimilate-Contrast”. Z tohoto pozorování plyne, že i přestože mají dva produkty stejnou kvalitu, uživatelé v průměru dávají lepší hodnocení produktu, pokud má produkt historicky lepší hodnocení a naopak. Takováto zpětná vazba pak může negativně ovlivnit doporučovací systémy.

Aby se vypořádali s tímto jevem, navrhli autoři model HIALF – Historical Influence Aware Latent FactorModel, který je rozšířením tradičních faktorizačních modelů, které používáme i u nás v Seznamu a ukázali, že dosáhli významně lepších výsledků na vybraných datasetech.

Translation-based Recommendation – link

Druhé místo v soutěži o nejlepší článek získali autoři z univerzity UC San Diego. Ti se zaměřili na problematiku personalizovaného sekvenčního doporučování – tedy doporučení produktu potom, co uživatel zkonzumoval doporučení.

Největší výzvou tohoto problému je modelování interakce třetího stupně – interakce uživatele, jeho historie navštívených produktů a následným produktem.

Autoři předcházejících publikací řešili problém nejčastěji jeho rozdělením na dva separátní problémy: uživatel-produkt interakce a produkt-produkt sekvenční vztahy. Autoři prezentovaného článku navrhli elegantní a jednotné řešení, které nazvali “TransRec”.  Metodou, kterou zvolili, bylo embedování produktu (převedení entit na číselný vektor) do přechodového prostoru, kde uživatelé byli modelování jako přechodový vektor nad sekvencí embedovaných produktů. Tato metoda je dobře známá a často používaná při reprezentaci znalostí v tzv. Knowledge graphs.

Perličkou bylo, že se jeden z autorů přednášející prezentaci opakovaně omluvil sálu, že ukazuje tak “zřejmý a jednoduchý” model.

Oba vyhlášené články měly jednu věc společnou – autoři v nich použily dobře známé a prozkoumané znalosti z jiných oborů a využily je k vylepšení rekomendačních systémů. Tímto chtěla rozhodovací komise podpořit a vyzvat komunitu k tomu, aby se neuzavírali ve svých sociálních a profesních bublinách, navázali kontakt s ostatními vědními obory a přinesli čerstvý “vítr” do odvětví doporučování.

 

Co nás ještě zaujalo a bavilo

Rethinking Collaborative Filtering: A Practical Perspective on State-of-the-art Research Based on Real World Insights

Ač v této přednášce nebyl představen žádný nový algoritmus, obsahovala mnoho zajímavých podnětů k zamyšlení. Od Netflix Prize, která přinesla významný rozvoj doporučovacích systému, uplynulo přes deset let a technikám stále dominuje kolaborativní filtrovaní označované jako CF.

Noam Koenigstein z Microsoftu se zamýšlel nad nedostatky kolaborativního filtrování a v čem zaostává oproti skutečným potřebám současných doporučovačů. Postupně představoval problémy a navrhoval k nim možná řešení.

Často propíraným problémem je kompromis mezi přesností a pestrostí. CF se učí predikci pro jeden předmět a nebere v potaz rozdílnost ostatních předmětů v doporučení. Pak se může stát, že sice doporučí uživateli přesně dle jeho vkusu, ale celé doporučení bude na jedno téma, což uživateli často nevyhovuje. V přednášce se zmiňuje, že by tento kompromis vůbec neměl existovat a navrhuje učení predikce s ohledem na celý seznam předmětů k doporučení.

Dalším problémem je kompromis mezi přesností a překvapením. Tvrdí, že k populárním předmětům si uživatel najde cestu, ale že doporučování by mělo uživatele navézt ke konzumaci předmětů, o kterých by jinak neuvažoval. CF výchází z historie uživatele a překvapení se do ní obtížně zakomponovává. Jako řešení nabízí použití algoritmů zpětnovazebního učení například kontextového banditu, který by se učil množství překvapení, které maximalizuje pravděpodobnost ovlivnění uživatele. I přesto přiznává silné stránky CF jako je schopnost naučit se vkus uživatele a navrhuje propojení obou světů.

Další důležitou připomínkou byla nedostatečnost offline evaluace nutnost online vyhodnocování.

 

Recommendation Applications and Systems at Electronic Arts

V EA používají doporučování v eshopu k nabídce dalších titulů, ale i pro zlepšení herního zážitku. Tomu odpovídají i metriky, kdy optimalizují na návrat hráčů a čas strávený ve hře.

Například herní mapy a mody se doporučují s ohledem na hráčské preference a dovednosti, tak aby se maximalizoval herní prožitek.

Doporučování se využívá i na nastavování obtížnosti her, výběr protihráčů a matchmaking. V tomto případě razí heslo “fair is not enough”, tedy že hra nemusí být jen vyrovnaná, ale i zajímavá a zábavná pro všechny strany. Dokonce sestavují i psychologické kategorie hráčů.

Ke generování herních cílů používají multiarmed bandit. Mimo jiné používají i kolaborativní filtrování.

EA vyrábí hry pro širokou škálu herních platforem a zařízení a na všech se doporučuje v rámci jednoho flexibilního centralizovaného systému, který umožňuje i sjednocené A/B testování.

 

Déjà Vu: The Importance of Time and Causality in Recommender Systems – link

Na přednášku od výzkumníků z Netflixu jsme se všichni moc těšili. Příliš nás pod pokličku nahlédnout nenechali, ale i tak byla přednáška velmi zajímavá. Nejprve jsme se dozvěděli, že přechod z hvězdičkového hodnocení na palce přineslo 200% růst počtu hodnocení.

Zbylá část přednášky se zabývala významem časové složky v doporučovacím systému atˇ už z pohledu trénovaní a validace tak v samotném doporučovacím modelu. Čas označili po uživateli a doporučované položce jako třetí hlavní faktor v doporučovacím systému.

Zbylá část prezentace se zabývala tzv. feedback loopy, kdy stávající model, jehož výstupy se používají pro učení, ovlivňuje fungování modelu nového. Doporučují tedy mít tento cyklus neuzavřený – například pomocí hledání nebo jiného vstupu do systému, než je samotné doporučování.

 

Groove Radio – link

V přednášce od Noama Koenigsteina byl představen algoritmus pro generování personalizovaného playlistu v rámci hudební služby Groove radio od Mircrosoftu. Vstupem byl aktuální umělec a krátká uživatelova historie přehraných skladeb. Jako model byla zvolena logistická regrese a klasifikovala se přítomnost následující skladby. Použitou technikou byla bayesovká inference, pomocí níž se počítaly váhy modelu. Během přednášky odvodil Noam grafický hierarchický model složený ze žánru, podžánru a umělce. Model obsahoval i část pro personalizaci. Předvedené řešení bylo názorné a jednoduché a podle představených výsledků mělo i dobrý výkon. Pro výpočet byl použít variational bayesian.

Zajímavé bylo, že učící algoritmus si napsal autor sám a nepoužil žádnou knihovnu.

 

Dressipi – link

Přednáška od Dressipi byla příjemným zpestřením nejen svým oborem, ale přístupem k doporučování. Společnost nabízí plugin do eshopů s módou, který umí pro daný kus oblečení doporučit celý oděv a vysvětlit proč by měl uživateli slušet.

Oblast doporučování módy je charakteristická tím, že denně přibývají nové kusy oblečení, je potřeba brát v potaz roční období a uživatelův vkus se časem mění. Také ho výrazně ovlivňují módní trendy, na které je potřeba rychle reagovat.

Featury jsou ručně vybrány stylisty. Stejně tak i pravidla pro odívání připravují odborníci a sestavují i sady oblečení.

Uživatel vyplní formulář, kde mimo jiné zadá i informace o své postavě. Při doporučení obdrží i vysvětlení doporučení a rady pro oblékání. Když uživatel označí, že se mu nějaká sada oblečení nelíbí, objeví se formulář, kde může vyplnit důvod.

 

3D Convolutional Networks for Session-based Recommendation with Content Features – link

Session based doporučování se věnovalo velké množství přednášek. Většinou se jednalo o různé modifikace rekurentních neuronových sítí. Tato přednáška ale představila použití 3D konvoluční neuronové sítě se zajímavým způsobem kódování vstupních dat, kde se všechna data převádí na jednotlivé znaky. Dle autorů tento model redukuje nutný feature engineering a má lepší výkon než doporučovače založené na rekurentních sítích.

 

Cross-Domain Recommendation for Large-Scale Data – link

Přenosů znalostí pro doporučování mezi doménami se věnovalo několik přednášek, ale postup představený v této měl nejlepší výsledky. Těchto znalostí lze využít pro běžné doporučování, ale hlavně pro řešení coldstart problému. Je důležité, aby ratingy napříč doménami byly sdíleny mezi uživatele. Pomocí algoritmu CD-LCCA byla z ratingových matic dvou domén vytvořena převodní matice. Bylo ukázáno, že doporučování se zlepší, pouze pokud jsou si domény sémanticky blízké. Algoritmus si dobře poradil s coldstart problémem. Dále bylo ukázáno, že dobře fungoval pouze jednokrokový přenos.

 

Music recommendation tutorial – link

Tento tutorial spoluorganizovaný Fabienem Gouyunem ze společnosti Pandora, Markusem Schedlem a Peterem Kneesem z Linecké technické univerzity provedl posluchače opravdu zevrubně tématem doporučování hudby a to od základů fungování hudebního průmyslu a změn, které v něm v posledních letech nastaly, až po samotné algoritmy doporučování. Je těžké vypíchnout nejzajímavější části prezentace. Její kvalita byla především v detailu a šíři záběru tohoto tématu a stojí za to si jí přečíst. Je to ukázková doména pro tzv. ensamble doporučovací systémy.

 

Deep learning tutorial – link

Tento tutoriál nepřinášel nic nového, ale velice hezky shrnoval přístupy založené na deeplearningu, které se používají v doporučování. Vhodné pro všechny, kteří chtějí za krátkou chvíli získat přehled o této oblasti v doporučovacích systémech.

 

Tak zase za rok?

Při plánování účasti na RecSysu jsme si nebyli jistí, jak to bude ve výsledku s přínosem této akce a jestli má cenu jezdit v tak hojném počtu (tvořili jsme přesně 50% z československé účasti). S odstupem času můžeme říct, že se to vyplatilo hned z několika důvodů:

  1. Získali     jsme nemálo tipů na zlepšení našich systémů i z hlediska organizace práce     a provozování infrastruktury
  2. Konference     nás solidně nabudila k další práci na našem projektu a byla zdrojem pro     rozplánování jeho dalšího zlepšování
  3. Ujistili     jsme se, že držíme krok s aktuálními trendy
  4. Zážitek     z návštěvy peruánské restaurace spojené s konzumací ryby, peruánské     pálenky, peruánského piva následovaný pěknou porcí italské zmrzliny byl     nezapomenutelný (především pro trávicí soustavu jednoho z nás :-))
image

Seznamáci na RecSysu

Nevíme, jak velký podíl ve spokojenosti s konferencí hraje fakt, že to byl náš první RecSys, každopádně máme určitě chuť se za rok znovu zúčastnit, i když je příští ročník trochu dál – ve Vancouveru. Kdo dočetl až sem, ten se o doporučování asi trochu zajímá. Pokud vás to nejen zajímá, ale chtěli byste doporučování také prakticky vyvíjet, můžete to s námi zkusit.

Petr Zelenka, vedoucí vývoje; Kuba Drdák, výzkumník; Standa Nowak a Michal Řehoř, programátoři