Top Banner
Online Learning to Rank for Recommending Daan Odijk Lead data scientist @ Blendle
45

Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Jan 22, 2018

Download

Science

Daan Odijk
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Online Learning to Rank for Recommending

Daan Odijk Lead data scientist @ Blendle

Page 2: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

@dodijk

MissionHelp you discover and support the world’s best journalism

International May 2014: The Netherlands Sept 2015: GermanyMarch 2016: United States

Publisher-backeda.o. NY Times, Nikkei, Axel Springer

70 employees10 journalists & 50 developers

Blendle

Page 3: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

@dodijk

In Blendle you can browse through all quality newspapers and magazines

Page 4: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

@dodijk

You only pay for what you read, with a single click

Page 5: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Scale at Blendle

@dodijk

Articles> 6M in total> 7K new every day> 30% is read

Users> 1M users~ 1 in 5 converts to a paying user

Events~ 2B in total> 2M new every day

! "

Page 6: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

@dodijk

Our editors select the best articles for our email newsletter every day

Our personalisation algorithms create a personal bundle from this

Page 7: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

@anneschuthBlendle

Page 8: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

@dodijk

Page 9: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

@dodijk

Page 10: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Why we personalize

@dodijk

Page 11: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Why we personalize

@dodijk

Page 12: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

@dodijk

Random Forest classifier trained on a year of editorial picks

Clustered based on Cosine similarity with TF.IDF vectors

Prioritised Selection

Page 13: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Sale

s →

Toda

y

1w

|

2w

|

3w

|

Short shelve life

Page 14: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Daily cold start•>7K new articles every night•Our newsletter is an important traffic driver

•No usage info to rank the newsletter before we send the newsletter

Page 15: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Article enrichment pipeline

Author extraction

Semanticlinking

Sentimentanalysis

Stylometry

Named Entity RecognitionPoS-tagging

Length, word variation, vocabulary richness, …

Polarity scores (negative, positive)

Locations, persons, organizations

Wikipedia concepts

@dodijk

Language detection

Topic modeling

Tokenization

Spark LDA EM

Page 16: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

User Profiling

Enrich

Aggregate Profile

• Reads • Views • Negative feedback

Page 17: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Learning to rank: preference learning

Model

Enrich EnrichProfile Profile

Extract ML Features

Learning to predict

Page 18: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Learning to rank: preference learning

Model

Enrich EnrichProfile Profile

Extract ML Features

Learning to predict

Enrich Profile

Extract ML Features Rank

Ranking

Page 19: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Online Learning to Rank

•Learning with a user in the loop•Daily updates to our model

Page 20: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

query

[Yue et al, 2009; Hofmann et al., 2011]

Dueling Bandit Gradient Descent

wAuthor

wTopic

wAuthor

wTopic

Explorative RankerExploitative Ranker

For Blendle the user is the query

Page 21: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Interleaved Ranking Explorative RankingExploitative Ranking

A

B

C

D

E

F

C

G

D

A

B

E

query

TeamDraft Interleave

Radlinski, F., Kurup, M., & Joachims, T. (2008). How does clickthrough data reflect retrieval quality? In CIKM ’08.

Page 22: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Interleaved Ranking Explorative RankingExploitative Ranking

A

B

D

E

F

C

G

D

A

B

E

query

TeamDraft Interleave

Radlinski, F., Kurup, M., & Joachims, T. (2008). How does clickthrough data reflect retrieval quality? In CIKM ’08.

Page 23: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Interleaved Ranking Explorative RankingExploitative Ranking

AB

D

E

F

C

G

D

B

E

query

TeamDraft Interleave

Radlinski, F., Kurup, M., & Joachims, T. (2008). How does clickthrough data reflect retrieval quality? In CIKM ’08.

Page 24: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Interleaved Ranking

A

B

E

C

G

D

query

TeamDraft Interleave

Radlinski, F., Kurup, M., & Joachims, T. (2008). How does clickthrough data reflect retrieval quality? In CIKM ’08.

Page 25: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Interleaved Ranking

A

B

E

C

G

D

query

TeamDraft Interleave

Radlinski, F., Kurup, M., & Joachims, T. (2008). How does clickthrough data reflect retrieval quality? In CIKM ’08.

note: the interleaving

method is NOT part of

DBGD, it just provides feedback

Page 26: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

query

wAuthor

wTopic

Explorative RankerExploitative Ranker

wAuthor

wTopic

G

Dueling Bandit Gradient Descent

[Yue et al, 2009; Hofmann et al., 2011]

Page 27: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

query

wAuthor

wTopic

Explorative RankerExploitative Ranker

wAuthor

wTopic

G

Dueling Bandit Gradient Descent

[Yue et al, 2009; Hofmann et al., 2011]

Page 28: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

query

Exploitative Ranker

wAuthor

wTopic

G

Dueling Bandit Gradient Descent

[Yue et al, 2009; Hofmann et al., 2011]

Page 29: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Online Evaluation

@dodijk

-2%

0%

2%

4%

6%

Online Learning A/B Test

Lift in articles

read

Days →

Page 30: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

User Cold Start

@dodijk

Page 31: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

User Cold Start

@dodijk

+ Newspapers

Rank

er W

eigh

t in

Sco

re

0%

50%

100%

Articles Read0 5

Onboarding Reading

5% lift in articles read

Page 32: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

@dodijkBlendle

Relevance

For

you

Diversification

Page 33: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

@dodijkBlendle

Relevance

For

you

Similarity

Diversification

Page 34: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

@dodijkBlendle

Relevance

For

you

Similarity

Diversification

Page 35: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

@dodijkBlendle

Relevance

For

you

Similarity

Diversification

Page 36: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

@dodijkBlendle

Relevance

For

you

Similarity

✓ ✓

Diversification

Page 37: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

@dodijkBlendle

Relevance

For

you

✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓

Diversification

Page 38: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

@dodijkBlendle

Breaking Bubbles Editorial selection Must reads Diversification Little effect of popularity

Filter Bubbles

For

you

Mu

st R

ead

s

Making Bubbles Onboarding Reading history Explicit feedback

Page 39: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Timing problem•Our editors wake up at 5am and are done reading at 7am

•Which is also when we want to send our newsletter

•We simply can’t wait for a batch process

Page 40: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

@dodijk

article published

articles

enrich articleenrich articleenrich article

articles updates

persist update

articles

picks

editor picks article

create pick update

picked articles

article features

article features

users

user article features

user article features

ranker A

ranker B

ranker Z

user article scores

persist score scores filled nightly with a batch process

scores arrive after seconds

#users x #updates = 200M#users x #updates x #rankers = 600M

#updates = 200

Page 41: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

personalize bundle

@dodijk

scores

editor sends newsletter

newsletters

users

select users

user newsletters personalized newsletter

send newsletter

computed realtimefilled with a batch process

#newsletters = 1#newsletters x #users = 1M

#newsletters x #users = 1M

~7am

~7.15am

personalizepersonalize bundle

experimentation

Page 42: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Cold start problem

•So we enrich our content

Page 43: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Timing problem

•So we precompute as much as possible

Page 44: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

Explanations: #FATREC

Why this article?Because you seem to like a long read article every now and then.

@dodijk

Page 45: Blendle @ RecSys'17: Online Learning to Rank for Recommender Systems

@dodijk research.blendle.io