ec : A Modular Framework for Extensible Op Open enRec and - - PowerPoint PPT Presentation

ec a modular framework for extensible
SMART_READER_LITE
LIVE PREVIEW

ec : A Modular Framework for Extensible Op Open enRec and - - PowerPoint PPT Presentation

ec : A Modular Framework for Extensible Op Open enRec and Adaptable Recommendation Algorithms Lo Longqi Yang Joshua Gruenstein Cheng-Kang(Andy) Eugene Bagdasaryan Deborah Estrin Hsieh Funders: 1 Pr Prom omising future e of of per


slide-1
SLIDE 1

Op Open enRec ec: A Modular Framework for Extensible

and Adaptable Recommendation Algorithms

1

Funders:

Lo Longqi Yang

Eugene Bagdasaryan Deborah Estrin Cheng-Kang(Andy) Hsieh Joshua Gruenstein

slide-2
SLIDE 2

Pr Prom

  • mising future

e of

  • f per

erson

  • nali

lization

  • n and rec

ecom

  • mmen

ender er system ems

2

Education Healthcare Social network Media Food and Diet e-Commerce

slide-3
SLIDE 3

3

Re Recomme mmendat dation al algorithms hms ar are increasi asingly compl mplex

slide-4
SLIDE 4

4

Re Recomme mmendat dation al algorithms hms ar are increasi asingly compl mplex

Diverse user feedback signals click like skip follow rating save watch listen …

slide-5
SLIDE 5

5

Re Recomme mmendat dation al algorithms hms ar are increasi asingly compl mplex

Diverse user feedback signals Heterogeneous data streams and context click like skip follow rating save watch listen user demographics user social media posts Item descriptions videos images activities location mood … …

slide-6
SLIDE 6

6

Re Recomme mmendat dation al algorithms hms ar are increasi asingly compl mplex

Diverse user feedback signals Heterogeneous data streams and context Complex goals click like skip follow rating save watch listen user demographics accuracy diversity novelty quality user social media posts Item descriptions videos images activities location mood … … … interpretability fairness

slide-7
SLIDE 7

7

Bag of algorithms

slide-8
SLIDE 8

8

Ho However, current recomme mmendat dation al algorithms hms lac ack k si simpl mplicity an and d mo modu dular arity.

Bag of algorithms

slide-9
SLIDE 9

9

O pe penRec

Mod Modul ular arity ty

  • Easy to ex

exten end and ad adap apt to various scenarios.

  • Quick experimentation (e.g., model selection) and idea exploration.
  • Comparable (sometimes even better) performance.

Ap Apache e Lic icen ense e 2.0 .0

slide-10
SLIDE 10

10

Cu Current practice vs. Op Open enRec ec

Pr Prior rese search Yo Your research/application cur urrent nt pr practice News recommender Music recommender

slide-11
SLIDE 11

11

Cu Current practice vs. Op Open enRec ec

Pr Prior rese search Yo Your research/application cur urrent nt pr practice News recommender Music recommender

different user feedback signals different data sources tangled implementations

slide-12
SLIDE 12

12

Cu Current practice vs. Op Open enRec ec

Pr Prior rese search Yo Your research/application cur urrent nt pr practice Op Open enRec ec News recommender Music recommender

user clicks news keywords twitter following user clicks user demographics audio

different user feedback signals different data sources tangled implementations

slide-13
SLIDE 13

13

1 2 3 4

Ab Abstract action and

  • n and i

int nter erface ace Im Implementatio ions Si Simpl ple us use cas ases Ta Takeaways and Future work

slide-14
SLIDE 14

14

Abs Abstrac ract entit itie ies in in re recommenda ndatio tion n alg lgorith rithms

user (or group) context (environment) item

1 Ab Abstra raction n and nd int nterfa rface

slide-15
SLIDE 15

15

En Entit ity User Context Item

Bu Building a a re recommenda ndatio tion n alg lgorith rithm

1 Ab Abstra raction n and nd int nterfa rface

slide-16
SLIDE 16

16

En Entit ity Pr Profile User Context Item

Bu Building a a re recommenda ndatio tion n alg lgorith rithm

1 Ab Abstra raction n and nd int nterfa rface

slide-17
SLIDE 17

17

En Entit ity Pr Profile User Context Item … … …

Bu Building a a re recommenda ndatio tion n alg lgorith rithm

1 Ab Abstra raction n and nd int nterfa rface

slide-18
SLIDE 18

18

En Entit ity Pr Profile User Context Item … … … … … …

Bu Building a a re recommenda ndatio tion n alg lgorith rithm

1 Ab Abstra raction n and nd int nterfa rface

slide-19
SLIDE 19

19

En Entit ity Pr Profile User Context Item … … … … … …

Bu Building a a re recommenda ndatio tion n alg lgorith rithm

1 Ab Abstra raction n and nd int nterfa rface

slide-20
SLIDE 20

20

En Entit ity Pr Profile In Interactio ion User Context Item … … … … … …

Bu Building a a re recommenda ndatio tion n alg lgorith rithm

1 Ab Abstra raction n and nd int nterfa rface

slide-21
SLIDE 21

21

En Entit ity Pr Profile In Interactio ion User Context Item … … … … … … …

Bu Building a a re recommenda ndatio tion n alg lgorith rithm

1 Ab Abstra raction n and nd int nterfa rface

slide-22
SLIDE 22

22

En Entit ity Pr Profile In Interactio ion User Context Item … … … … … … …

Gr Ground-tr truth th in interactio ions Gr Ground-tr truth th in interactio ions

Bu Building a a re recommenda ndatio tion n alg lgorith rithm

1 Ab Abstra raction n and nd int nterfa rface

slide-23
SLIDE 23

23

En Entit ity Pr Profile In Interactio ion User Context Item … … … … … … …

Gr Ground-tr truth th in interactio ions Gr Ground-tr truth th in interactio ions

Extraction data representation

1 Ab Abstra raction n and nd int nterfa rface

Ex Extraction: extra xtract t re repre presenta ntatio tions ns

slide-24
SLIDE 24

24

En Entit ity Pr Profile In Interactio ion User Context Item … … … … … … …

Gr Ground-tr truth th in interactio ions Gr Ground-tr truth th in interactio ions

Fusion representation … representation representation representation

1 Ab Abstra raction n and nd int nterfa rface

Fu Fusion: fuse representations

slide-25
SLIDE 25

25

En Entit ity Pr Profile In Interactio ion User Context Item … … … … … … …

Gr Ground-tr truth th in interactio ions Gr Ground-tr truth th in interactio ions

Interaction predicted interactions user representation context representation item representation

1 Ab Abstra raction n and nd int nterfa rface

Int Intera ractio tion: n: pre predic dict t clic licks/lik likes/ra ratings tings…

slide-26
SLIDE 26

26

A A hypo pothetic ical al music ic re recommenda ndatio tion n alg lgorith rithm

demographical information tweets latent factor LSTM concat location spatial- temporal audio MFCC CNN lyrics MLP music id latent factor user id (s (skip ip) (l (lik ike) masking PointwiseMSE PairwiseLog 1 Ab Abstra raction n and nd int nterfa rface

slide-27
SLIDE 27

27

demographical information tweets latent factor concat location spatial- temporal audio MFCC CNN lyrics MLP music id latent factor user id (s (skip ip) (l (lik ike)

… … … … … … … … … … … …

1 Ab Abstra raction n and nd int nterfa rface

A A hypo pothetic ical al music ic re recommenda ndatio tion n alg lgorith rithm

slide-28
SLIDE 28

28

demographical information latent factor concat mo mood LS LSTM ar artist lat atent fac actor music id latent factor user id (s (skip ip) (l (lik ike) masking PointwiseMSE PairwiseLog 1 Ab Abstra raction n and nd int nterfa rface

A A hypo pothetic ical al music ic re recommenda ndatio tion n alg lgorith rithm

slide-29
SLIDE 29

29

Module

Interaction

Pointwise MSE Pointwise MLP

Fusion

Concatenation Average Weighted sum

Extraction

LF ResNet MLP LSTM AutoEncoder

Recommender

R-1: click logs, text posts, and content topic modeling. R-2: watch history, content visual analysis, and activity detection.

Utility Sampler

Pairwise sampler Pointwise sampler

Evaluator

AUC Recall@K Pairwise distance

R-n: …

Op Open enRec ec fra framework rk stru ructure re

2 Im Implementation

  • ns
slide-30
SLIDE 30

30

In Inside e a Re Recomme mmende der

Recommender build_inputs(train) build_user_extractions(train) build_item_extractions(train) build_extra_extractions(train) build_default_fusions(train) build_custom_fusions(train) build_default_interactions(train) build_custom_interactions(train) build_extractions(train) build_fusions(train) build_interactions(train) … … build_optimizer() if train==true build_training_graph() build_serving_graph() train=true train=false train(...) serve(…) save(…) load(…)

2 Im Implementation

  • ns
slide-31
SLIDE 31

31

In Inside e a Re Recomme mmende der

Recommender build_inputs(train) build_user_extractions(train) build_item_extractions(train) build_extra_extractions(train) build_default_fusions(train) build_custom_fusions(train) build_default_interactions(train) build_custom_interactions(train) build_extractions(train) build_fusions(train) build_interactions(train) … … build_optimizer() if train==true build_training_graph() build_serving_graph() train=true train=false train(...) serve(…) save(…) load(…)

2 Im Implementation

  • ns
slide-32
SLIDE 32

32

In Inside e a Mod Module le

build_shared_graph() build_training_graph() build_serving_graph() user repr. item repr. context repr.

train=True train=False

  • utputs

loss data module #1 module #n

Extraction Fusion Interaction 2 Im Implementation

  • ns
slide-33
SLIDE 33

33

In Inside e a Mod Module le

build_shared_graph() build_training_graph() build_serving_graph() user repr. item repr. context repr.

train=True train=False

  • utputs

loss data module #1 module #n

Extraction Fusion Interaction 2 Im Implementation

  • ns
slide-34
SLIDE 34

34

In Inside e a Mod Module le

build_shared_graph() build_training_graph() build_serving_graph() user repr. item repr. context repr.

train=True train=False

  • utputs

loss data module #1 module #n

Extraction Fusion Interaction 2 Im Implementation

  • ns
slide-35
SLIDE 35

35

3 Si Simple u e use c se cases ses

  • Co

Conduct model selection (E

(E-co commerce book reco commendation).

  • De

Develop new al algor

  • rith

thms ms --

  • - bri

brief

  • Co

Compare modular and monolithic implementations.

slide-36
SLIDE 36

36

Tw Two kinds of model selection

struc tructure ture selecti tion: n: what data traces to incorporate and how mod

  • dul

ule s e sel elect ection:

  • n: select best modules given a structure

3 Co Conduct mo model selection - E-co commerce bo book recommenda dation

slide-37
SLIDE 37

37

Am Amazon n dataset [McA McAule ley et

  • et. al.
  • l. 15]

Us User r da data: user id & purchases in other categories Bo Book data: book id & book cover image In Interactio ion data: user reviews

3 Co Conduct mo model selection - E-co commerce bo book recommenda dation

slide-38
SLIDE 38

38

Ex Exp 1.

  • 1. structure selection

PMF

user id book id PointwiseMSE latent factor latent factor 3 Co Conduct mo model selection - E-co commerce bo book recommenda dation

slide-39
SLIDE 39

39

user id other purchases MLP book id average PointwiseMSE latent factor latent factor

Ex Exp 1.

  • 1. structure selection

UserPMF

3 Co Conduct mo model selection - E-co commerce bo book recommenda dation

slide-40
SLIDE 40

40

user id book id visual feature MLP average PointwiseMSE latent factor latent factor

Ex Exp 1.

  • 1. structure selection

VisualPMF

3 Co Conduct mo model selection - E-co commerce bo book recommenda dation

slide-41
SLIDE 41

41

user id other purchases MLP latent factor book id visual feature MLP latent factor average average PointwiseMSE

Ex Exp 1.

  • 1. structure selection

UserVisualPMF

3 Co Conduct mo model selection - E-co commerce bo book recommenda dation

slide-42
SLIDE 42

42

user id book id visual feature MLP average Po PointwiseMSE latent factor latent factor

Ex Exp 2.

  • 2. module selection

VisualPMF

3 Co Conduct mo model selection - E-co commerce bo book recommenda dation

slide-43
SLIDE 43

43

user id book id visual feature MLP average Po PointwiseMSE/Pa PairwiseLog/Pa PairwiseEuDist/Po PointwiseGeCE PMF

[Salakhutdinov et. al. 08]

BPR

[Rendle et. al. 09]

GMF

[He et. al. 17]

CML

[Hsieh et. al. 17]

latent factor latent factor

Ex Exp 2.

  • 2. module selection

VisualPMF/VisualBPR/VisualCML/VisualGMF

3 Co Conduct mo model selection - E-co commerce bo book recommenda dation

slide-44
SLIDE 44

44

20 40 60 80 100 . 0.20 0.25 0.30 0.35 0.40 5eFall@.

30F, A8C 0.637 9iVual30F, A8C 0.700 8VeU30F, A8C 0.671 8VeU9iVual30F, A8C 0.689

Ex Experimental Results

20 40 60 80 100 . 0.15 0.20 0.25 0.30 0.35 0.40 5eFall@.

VLVualG0F, A8C 0.713 VLVual30F, A8C 0.700 VLVualB35, A8C 0.673 VLVualC0L, A8C 0.710

3 Co Conduct mo model selection - E-co commerce bo book recommenda dation

St Struc ructure ure selection Mo Module selectio ion

slide-45
SLIDE 45

45

3 Si Simple u e use c se cases ses

  • Co

Conduct model selection (E

(E-co commerce book reco commendation).

  • De

Develop new al algor

  • rith

thms ms --

  • - bri

brief

  • Co

Compare modular and monolithic implementations.

slide-46
SLIDE 46

46

It Iter erative e re recommendation

Ne Netf tflix da data taset

a static algorithm t t+1 t+2 user id latent factor movie id latent factor PointwiseMSE

slide-47
SLIDE 47

47

It Iter erative e re recommendation

Ne Netf tflix da data taset

a static algorithm t t+1 t+2 user id tem emporal l la laten ent fa factor movie id PointwiseMSE tem emporal l la laten ent fa factor 6% 6% MSE improvements compared to static model

slide-48
SLIDE 48

48

Ta Takeaways

Share the same programming model and low-level APIs with Tensorflow/Keras.

Op Open enRec ec fo for r re researc rchers rs:

  • Demonstrate model generalizability.
  • Facilitate comparisons.
  • Encourage usage.

Op Open enRec ec fo for r pra practi titi tioners rs:

  • Select models/parameters.
  • Adapt state-of-the-art solutions.

4 Ta Takeaways an and future work

slide-49
SLIDE 49

49

Fu Future work

En Enric ichin hing modules, s, recommenders s and util ilit ity functio ions. s.

  • Your recommendation paper/code.
  • Your favorite recommendation algorithms.
  • Become a contributor.

No Non-ne neur ural al ne netw twor

  • rk

k mod model els.

  • Tree and graph based models.

4 Ta Takeaways an and future work

slide-50
SLIDE 50

50

Pro Progra ramming la language Ma Machin ine la language

Specify where to store each bit

Hi High-le level l la languages

OS, file system, virtual memory

Mo Modern la languages

More abstractions, e.g., save, load.

Pre Pre-ca caffe er era

Write CUDA code for any matrix

  • peration

ca caffe er era Some layer implementations in C++ Po Post-ca caffe er era (Te Tensorflow, , Py Pytorch, , mx mxnet, , etc.) .)

High-level python API

DN DNN

Mod Modula ularity ty in n oth

  • ther dom
  • mains

ns

slide-51
SLIDE 51

51

“Modularity based on abstractions is the way things get done”

  • Bar

Barbar ara a Lis Liskov

“You will never succeed in extracting simplicity If don’t recognize it is different from mastering complexity.”

  • Sc

Scott Shen Shenker er

slide-52
SLIDE 52

52

O pe penRec

http://www.openrec.ai

Github link, documents, and tutorials

Lo Longqi Yang

Ph.D. candidate Computer Science, Cornell Tech, Cornell University Email: ylongqi@cs.cornell.edu Web: bit.ly/longqi Twitter: @ylongqi Connected Experiences Lab http://cx.jacobs.cornell.edu/ Small Data Lab http://smalldata.io/

Funders: