sigir 2013 bars keynote - the search for the best live recommender system

38
The Search for the Best Live Recommender System Torben Brodt plista GmbH Keynote SIGIR Conference 2013, Dublin BARS Workshop - Benchmarking Adaptive Retrieval and Recommender Systems August 1st, 2013

Upload: torben-brodt

Post on 01-Dec-2014

965 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: SIGIR 2013 BARS Keynote - the search for the best live recommender system

The Search for the Best Live Recommender System

Torben Brodtplista GmbH

KeynoteSIGIR Conference 2013, DublinBARS Workshop - Benchmarking Adaptive Retrieval and Recommender Systems

August 1st, 2013

Page 2: SIGIR 2013 BARS Keynote - the search for the best live recommender system

recommendations

where● news websites● below the article

different types● content● advertising

Page 3: SIGIR 2013 BARS Keynote - the search for the best live recommender system

quality is win win

● happy user● happy advertiser● happy publisher● happy plista*

* company i am working

Page 4: SIGIR 2013 BARS Keynote - the search for the best live recommender system

some years ago

Page 5: SIGIR 2013 BARS Keynote - the search for the best live recommender system

one recommender

● collaborative filtering○ well known algorithm○ more data means

more knowledge● parameter tuning

○ time○ trust○ mainstream

Page 6: SIGIR 2013 BARS Keynote - the search for the best live recommender system

one recommender = good result

2008● finished studies● publication● plista was born

today● 5k recs/second● many publishers

Page 7: SIGIR 2013 BARS Keynote - the search for the best live recommender system

netflix prize

" use as many recommenders as possible! "

Page 8: SIGIR 2013 BARS Keynote - the search for the best live recommender system

more recommenders

Page 9: SIGIR 2013 BARS Keynote - the search for the best live recommender system

lost in serendipity

● we have one score● lucky success? bad

loose? ● we needed to keep

track on different recommenders

success: 0.31 %

Page 10: SIGIR 2013 BARS Keynote - the search for the best live recommender system

how to measure success

number of● clicks● orders● engages● time on site● money

BAD

GOOD

Page 11: SIGIR 2013 BARS Keynote - the search for the best live recommender system

evaluation technology

● features○ SUM○ INCR

● big data (!!)● real time● in memory

Page 12: SIGIR 2013 BARS Keynote - the search for the best live recommender system

evaluation technology

impressions

collaborative filtering 500 +1

most popular 500

text similarity 500

ZINCRBY"impressions""collaborative_filtering""1"

ZREVRANGEBYSCORE "impressions"

Page 13: SIGIR 2013 BARS Keynote - the search for the best live recommender system

evaluation technology

impressions

collaborative filtering 500

most popular 500

text similarity 500

clicks

collaborative filtering 100

most popular 10

... 1

needs division

ZREVRANGEBYSCORE "clicks"

ZREVRANGEBYSCORE "impressions"

Page 14: SIGIR 2013 BARS Keynote - the search for the best live recommender system

evaluation results

● CF is "always" the best recommender

● but "always" is just avg of all context

lets check on context!

t = times = success

Page 15: SIGIR 2013 BARS Keynote - the search for the best live recommender system

evaluation context● our context is limited to the web● we have URL + HTTP Headers

○ user agent -> device○ IP address -> geolocation○ time -> weekday

Page 16: SIGIR 2013 BARS Keynote - the search for the best live recommender system

evaluation contextwe use ~60 context attributes

publisher = welt.de

collaborative filtering 689 +1

most popular 420

text similarity 135

weekday = sunday

collaborative filtering 400 +1

most popular 200

... 100category = archive

text similarity 200

collaborative filtering 10 +1

... 5

Page 17: SIGIR 2013 BARS Keynote - the search for the best live recommender system

evaluation context

publisher = welt.de

collaborative filterin 689

most popular 420

text similarity 135

weekday = sunday

collaborative filtering 400

most popular 200

... 100category = archive

text similarity 200

collaborative filtering 10

... 5

ZUNION clk ... WEIGHTS p:welt.de:clk 4 w:sunday:clk 1 c:archive:clk 1 ZREVRANGEBYSCORE "clk"

ZUNION imp ... WEIGHTS p:welt.de:imp 4 w:sunday:imp 1 c:archive:imp 1 ZREVRANGEBYSCORE "imp"

Page 18: SIGIR 2013 BARS Keynote - the search for the best live recommender system

evaluation context

recap● added 3rd dimension

result● better for news:

Collaborative Filtering● better for content: Text

Similarity

t = times = successc = context

Page 19: SIGIR 2013 BARS Keynote - the search for the best live recommender system

now breathe!

what did we get?● possibly many recommenders● know how to measure success● technology to see success

Page 20: SIGIR 2013 BARS Keynote - the search for the best live recommender system

now breathe!

what is the link to the workshop?“.. novel, personalization-centric benchmarking approaches to evaluate adaptive retrieval and recommender systems”

● Functional: focus on user-centered utility metrics

● Non-functional: scalability and reactivity

Page 21: SIGIR 2013 BARS Keynote - the search for the best live recommender system

the ensemble

● realtime evaluation technology exists

● to choose best algorithm for current context we need to learn○ multi-armed

bayesian bandit

Page 22: SIGIR 2013 BARS Keynote - the search for the best live recommender system

multi armed bandit

temporary success?

No. 1 getting most

local minima?

Interested? Look for Ted Dunning + Bayesian Bandit

Page 23: SIGIR 2013 BARS Keynote - the search for the best live recommender system

the ensemble = better results

● new total / avg is much better

● thx bandit● thx ensemble

t = times = success

Page 24: SIGIR 2013 BARS Keynote - the search for the best live recommender system

try and error

● minimum pre-testing

● no risk if recommender crashs

● "bad" code might find its context

Page 25: SIGIR 2013 BARS Keynote - the search for the best live recommender system

collaboration

● now plista developers can try ideas

● and allow researchers to do same

Page 26: SIGIR 2013 BARS Keynote - the search for the best live recommender system

big pool of algorithmsEnsemble is able to choose

Page 27: SIGIR 2013 BARS Keynote - the search for the best live recommender system

researcher has idea

Page 28: SIGIR 2013 BARS Keynote - the search for the best live recommender system

.. needs to start the server

... probably hosted by university, plista or any cloud provider?

Page 29: SIGIR 2013 BARS Keynote - the search for the best live recommender system

.. api implementation

"message bus"● event notifications

○ impression○ click

● error notifications● item updates

train model from it

plistaAPI

API research

Page 30: SIGIR 2013 BARS Keynote - the search for the best live recommender system

{ // json "type": "impression", "context": { "simple": { "27": 418, // publisher "14": 31721, // widget ... }, "lists": { "10": [100, 101] // channel } ... }

.. package content

api specs hosted at https://sites.google.com/site/newsrec2013/

long term URL to be announced

plistaAPI

API research

Context + Kind

Page 31: SIGIR 2013 BARS Keynote - the search for the best live recommender system

.. reply to recommendation requests{ // json "recs": { "int": { "3": [13010630, 84799192] // 3 refers to content recommendations } ... }

generated by researchersto be shown to real user

api specs hosted at https://sites.google.com/site/newsrec2013/

long term URL to be announced

recs

API

real user

researcher

Page 32: SIGIR 2013 BARS Keynote - the search for the best live recommender system

quality is win win #2

● happy user● happy researcher● happy plista

research can profit● real user feedback● real benchmark

recs

plista

real user

researcher

Page 33: SIGIR 2013 BARS Keynote - the search for the best live recommender system

quick and fast

● no movies!● news articles will outdate!● visitors need the recs NOW● => handle the data very fast

src http://en.wikipedia.org/w

iki/Flash_(comics)

Page 34: SIGIR 2013 BARS Keynote - the search for the best live recommender system

"send quickly" technologies

● fast web server● fast network protocol● fast message queue● fast storage

or Apache Kafka

Page 35: SIGIR 2013 BARS Keynote - the search for the best live recommender system

"learn quickly" technologies

● use common frameworks

src http://en.wikipedia.org/wiki/Pac-Man

Page 36: SIGIR 2013 BARS Keynote - the search for the best live recommender system

comparison to plista"real-time features feel better in a real-time world"

we don't need batch! see http://goo.gl/AJntul

our setup● php, its easy● redis, its fast● r, its well known

Page 37: SIGIR 2013 BARS Keynote - the search for the best live recommender system

Overview

Page 38: SIGIR 2013 BARS Keynote - the search for the best live recommender system

Questions?Torben

http://goo.gl/pvXm5 (Blog)

[email protected]

http://lnkd.in/MUXXuv

xing.com/profile/Torben_Brodt

www.plista.com

News Recommender Challengehttps://sites.google.com/site/newsrec2013/

#sigir2013 #bars2013@torbenbrodt @plista @BARSws