Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

122
REST + Recommendation: consume the right content, anywhere

description

This talk was given at IPC, Mainz, Oct. 10th. 2011. Please rate at : http://joind.in/3852

Transcript of Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Page 1: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

REST + Recommendation: consume the right content, anywhere

Page 2: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

REST + Recommendation: consume the right content, anywhere

Nicolas Pastorino - [email protected] Community - eZ Systems@jeanvoye - http://share.ez.no

Page 3: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

REST + Recommendation: consume the right content, anywhere

Nicolas Pastorino - [email protected] Community - eZ Systems@jeanvoye - http://share.ez.no

International PHP Conference 2011 - Mainz - October 10th

#ipc11

Page 4: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Our agenda :

Page 5: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Multichannel emotionOur agenda :

Page 6: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Multichannel emotionREST

Our agenda :

Page 7: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Multichannel emotionREST

Extensible REST API

Our agenda :

Page 8: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Multichannel emotionREST

Extensible REST API

Our agenda :

Content recommendation

Page 9: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Multichannel : emotion

3

Page 10: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11
Page 11: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Online content touches you,

Page 12: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Online content touches you, it spurs emotions anywhere, on any device

Page 13: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Online content touches you, it spurs emotions anywhere, on any device

Page 14: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Online content touches you, it spurs emotions anywhere, on any device

Page 15: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Online content touches you, it spurs emotions anywhere, on any device

Page 16: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11
Page 17: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

You are consuming content, all the time

Page 18: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

You are consuming content, all the time

Page 19: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

You are consuming content, all the time

Page 20: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

You are consuming content, all the time

Page 21: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11
Page 22: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Multichannel content distribution is “emotions anywhere”

Page 23: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11
Page 24: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Pre-requisites to multichannel distribution

8

Page 25: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Pre-requisites to multichannel distribution

8

Separation of layout and content at the content source level

1

Page 26: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Pre-requisites to multichannel distribution

8

Separation of layout and content at the content source level

1

Page 27: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Pre-requisites to multichannel distribution

8

Separation of layout and content at the content source level

1

Do not compromise on user experience 2

Page 28: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Pre-requisites to multichannel distribution

8

“The Superman Effect” Aral Balkan, DPC11

Separation of layout and content at the content source level

1

Do not compromise on user experience 2

Page 29: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Pre-requisites to multichannel distribution

8

“The Superman Effect” Aral Balkan, DPC11

“There is a lot of effort going into improving customer experience. It is key to get consistency across different channels so their experience does not vary” Jim Daviesni

Separation of layout and content at the content source level

1

Do not compromise on user experience 2

Page 30: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Pre-requisites to multichannel distribution

8

“The Superman Effect” Aral Balkan, DPC11

“There is a lot of effort going into improving customer experience. It is key to get consistency across different channels so their experience does not vary” Jim Daviesni

Separation of layout and content at the content source level

1

Do not compromise on user experience 2

Have a single source of content 3

Page 31: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Pre-requisites to multichannel distribution

8

“The Superman Effect” Aral Balkan, DPC11

“There is a lot of effort going into improving customer experience. It is key to get consistency across different channels so their experience does not vary” Jim Daviesni

Separation of layout and content at the content source level

1

Do not compromise on user experience 2

Have a single source of content 3

“Publishers usually can't afford a dedicated editorial team per channel”

Page 32: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11
Page 33: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Are 3 rules of thumb

enough ?

Page 34: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Are 3 rules of thumb

enough ? We’re

hardly off the ground.

Let’s dig further...

Page 35: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

CMSSingle Content Source /

Page 36: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

CMSSingle Content Source /

Page 37: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

CMSSingle Content Source /

Monetized Content Streams

Page 38: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

CMSSingle Content Source /

Monetized Content Streams

Mobile ApplicationsSmartphones, Tablets

Page 39: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

CMSSingle Content Source /

Monetized Content Streams

Mobile ApplicationsSmartphones, Tablets

Push ContentNewsletters

3rd partyCRM, ERP

Page 40: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

CMSSingle Content Source /

Monetized Content Streams

Mobile ApplicationsSmartphones, Tablets

Push ContentNewsletters

PrintLegacy publication chains

3rd partyCRM, ERP

Page 41: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

CMSSingle Content Source /

Monetized Content Streams

Mobile ApplicationsSmartphones, Tablets

Push ContentNewsletters

PrintLegacy publication chains

Social Media

3rd partyCRM, ERP

Page 42: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11
Page 43: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

"Multichannel media consumers have higher levels of engagement than those present in only one channel.

The more one watches TV, listens to the radio, spends time online, etc., the more advertising they consume.

This shows that multichannel content distribution will also have an important impact on the publishers revenue structure. It will evolve to become a competitive, critical, enabling technology for marketing communications."

Page 44: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11
Page 45: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Having a REST ?

:)

Page 46: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Having a REST ?

:)

We are not there yet, let’s

dig further

Page 47: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11
Page 48: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

“Media companies as well as consumer brands must recognize that adding mobile to the multichannel mix does not mean creating a mini-channel. Those building mobile strategies should recognize that:

• Mobile is not just about shrinking the desktop experience,

• The user environment is an element of the (mobile) experience,

• Mobile users are not simply a subset of online users – some are new.”

Page 49: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11
Page 50: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Least Common

Denominator :

Page 51: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Least Common

Denominator :

a REST API

Page 52: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11
Page 53: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Those were the

functional basics to increase

your REACHthrough multiple

channels

Page 54: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Those were the

functional basics to increase

your REACHthrough multiple

channels

Now come the technical bits

Page 55: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

REST

16

Page 56: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

REpresentational State Transfer

Page 57: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

REpresentational State Transfer

REST is a set of principles that define how Web standards, such as HTTP and URIs, are supposed to be used.

• Give every “thing” an ID• Link things together (“HATEOAS”) (cf David Zuelke’s keynote)• Use standard methods• Resources with multiple representations• Communicate statelessly

Page 58: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

REpresentational State Transfer

REST is a set of principles that define how Web standards, such as HTTP and URIs, are supposed to be used.

• Give every “thing” an ID• Link things together (“HATEOAS”) (cf David Zuelke’s keynote)• Use standard methods• Resources with multiple representations• Communicate statelessly

h"p://en.wikipedia.org/wiki/Representa4onal_State_Transferh"p://www.infoq.com/ar4cles/rest-­‐introduc4on

Page 59: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

REpresentational State Transfer

h"p://en.wikipedia.org/wiki/Representa4onal_State_Transferh"p://www.infoq.com/ar4cles/rest-­‐introduc4on

Page 61: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Extensible REST API

19

at the core of the eZ Publish CMS

Page 62: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

At the core of the eZ Publish CMS

REST as a core feature

20

Extensible REST API

Page 63: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Dedicated front-controller

21

At the core of the eZ Publish CMS Extensible REST API

Page 64: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11 22

REST setup

REST

FC

eZPREST  request

eZ  Publishweb-­‐request

At the core of the eZ Publish CMS Extensible REST API

Page 65: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11 22

REST setup

REST

FC

eZPREST  request

eZ  Publishweb-­‐request

At the core of the eZ Publish CMS Extensible REST API

Page 66: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11 23

Mapping content into resources

At the core of the eZ Publish CMS Extensible REST API

Page 67: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11 24

Makes data availableMakes data available

At the core of the eZ Publish CMS Extensible REST API

Page 68: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11 24

Makes data reusableMakes data reusable

At the core of the eZ Publish CMS Extensible REST API

Page 69: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11 25

Content is essentially liberated

At the core of the eZ Publish CMS Extensible REST API

Page 70: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

URI pattern

26

At the core of the eZ Publish CMS Extensible REST API

Page 71: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11 27

Prefix Provider VersionGET Host / / / / Call + params

Just a token to trigger your rewrite rule

ezpRestPrefixFilterInterface

At the core of the eZ Publish CMS Extensible REST API

Page 72: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11 27

Prefix

Provider

Version

Just a token to trigger your rewrite rule

ezpRestPrefixFilterInterface

At the core of the eZ Publish CMS Extensible REST API

Page 73: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11 27

Prefix

Provider

Version

Just a token to trigger your rewrite rule

ezpRestPrefixFilterInterface

At the core of the eZ Publish CMS Extensible REST API

Page 74: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11 27

Prefix

Provider

Version

Just a token to trigger your rewrite rule

ezpRestPrefixFilterInterface

At the core of the eZ Publish CMS Extensible REST API

Page 75: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Prefix filter

28

Current provider

Current parsed version value

ezpRestPrefixFilterInterface

Page 76: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Versioned API

29

class ezpRestRouter extends ezcMvcRouter{ public function createRoutes() { // ezpRestApiProvider $routes = array( new ezcMvcRailsRoute( '/content/node/:nodeId/listAtom', 'ezpRestAtomController', 'collection' ), new ezcMvcRailsRoute( '/content/node/:nodeId/list', 'ezpRestContentController', 'list' ), new ezcMvcRailsRoute( '/content/node/:nodeId', 'ezpRestContentController', 'viewContent' ), new ezcMvcRailsRoute( '/content/node/:nodeId/fields', 'ezpRestContentController', 'viewFields' ), new ezcMvcRailsRoute( '/content/node/:nodeId/field/:fieldIdentifier', 'ezpRestContentController', 'viewField' ), new ezcMvcRailsRoute( '/content/object/:objectId', 'ezpRestContentController', 'viewContent' ), new ezcMvcRailsRoute( '/content/object/:objectId/fields', 'ezpRestContentController', 'viewFields' ), new ezcMvcRailsRoute( '/content/object/:objectId/field/:fieldIdentifier', 'ezpRestContentController', 'viewField' ),

new ezpRestVersionedRoute( new ezcMvcRailsRoute( '/foo', 'myController', 'myActionOne' ), 1 ), new ezpRestVersionedRoute( new ezcMvcRailsRoute( 'e/foo', 'myController2 or myControlerWhichExtendsmyController', 'myBetterAndScalingAction' ), 2 ), ); return ezcMvcRouter::prefix( '/api', $routes ); }}

Page 77: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Versioned API

makes the notion version a part of the routing decision

30

Version

ezpRestVersionedRoute

Page 78: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Build your own flavor,extend the interface(s)

31

At the core of the eZ Publish CMS Extensible REST API

Page 79: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Extending the interface

32

REST providers

Page 80: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Extending the interface

ezpRestProviderInterface

33

Page 81: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Overview of hooksthe places where you can go wild.

Page 82: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11 35

Page 83: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Route setup - Example

36

class ezpRestRouter extends ezcMvcRouter{ public function createRoutes() { $providerRoutes = ezpRestProvider::getProvider( ezpRestPrefixFilterInterface::getApiProviderName() )->getRoutes();

$routes = array( new ezpMvcRailsRoute( '/fatal', 'ezpRestErrorController', 'show' ), new ezpMvcRailsRoute( '/http-basic-auth', 'ezpRestAuthController', 'basicAuth' ), new ezpMvcRailsRoute( '/login/oauth', 'ezpRestAuthController', 'oauthRequired' ), new ezpMvcRailsRoute( '/oauth/token', 'ezpRestOauthTokenController', 'handleRequest'),

// ezpRestVersionedRoute( $route, $version ) // $version == 1 should be the same as if the only the $route had been present new ezpRestVersionedRoute( new ezpMvcRailsRoute( '/foo', 'myController', 'myActionOne' ), 1 ), new ezpRestVersionedRoute( new ezpMvcRailsRoute( '/foo', 'myController', 'myActionOneBetter' ), 2 ),

);

return ezcMvcRouter::prefix( '/api', array_merge( $providerRoutes, $routes ) ); }}

Page 84: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Extensible REST API

37

Key features

Page 85: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Content resources

38

Key featuresExtensible REST API

Page 86: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Key features

GET /[api]/v1/content/object/<objectId>/fields HTTP/1.1

39

Page 87: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Key features

fields/<fieldname>

type (datatype string)

identifier (attribute identifier)

value (string representation of data)

id (object attribute numerical ID)

classattribute_id (class attribute numerical ID)

40

Page 88: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Key features

GET /[api]/v1/content/object/<objectId>/field/

<FieldIdentifier> HTTP/1.1

41

Page 89: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Content Recommendation

42

YooChoose, eZ Recommender Engine

Page 90: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11
Page 91: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

A tough selection needs to be made amongst the infinite amount of content published

Page 92: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

A tough selection needs to be made amongst the infinite amount of content published

Which one is my slope ?

Page 93: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

A tough selection needs to be made amongst the infinite amount of content published

Page 94: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

A tough selection needs to be made amongst the infinite amount of content published

I only have 30 minutes a day, which posts should i read ?

Page 95: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

A tough selection needs to be made amongst the infinite amount of content published

Doesn’t it feel like this sometimes :

Page 96: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11
Page 97: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

One sometimes needs a helping hand to choose the right slope to ride, the right

content to consume

Page 98: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

One sometimes needs a helping hand to choose the right slope to ride, the right

content to consume

Page 99: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

One sometimes needs a helping hand to choose the right slope to ride, the right

content to consume

Page 100: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

One sometimes needs a helping hand to choose the right slope to ride, the right

content to consume

Content recommendation

Page 101: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Content recommendation

47

Page 102: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Content recommendation

47

Page 103: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Content recommendation

47

Track content consumption

Page 104: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Content recommendation

47

Track content consumption

+

Learn content metadata

Page 105: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Content recommendation

47

Track content consumption

+

Learn content metadata

=

Content Recommendation

Page 106: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11
Page 107: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Cloud-based learning of behaviors using • Events “Viewing, Purchasing, Rating, Sharing”

• Models Users who viewed A also viewed B

• Stereotypes Affinity calculated against larger sets of content

Page 108: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Content recommendation

49

Page 109: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Content recommendation

49

Hybrid filteringIncreasing recommendation quality by combining

methods for qualifying behaviors

Page 110: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Content recommendation

49

Content-based filtering

~

“Content like this”

Hybrid filteringIncreasing recommendation quality by combining

methods for qualifying behaviors

Page 111: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Content recommendation

49

Content-based filtering

~

“Content like this”

Collaborative filtering

“Customers who were interested in this product also bought …”

Hybrid filteringIncreasing recommendation quality by combining

methods for qualifying behaviors

Page 112: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Content recommendation

49

Content-based filtering

~

“Content like this”

Collaborative filtering

“Customers who were interested in this product also bought …”

Community-based filtering

~

“Customers like you also bought …”

Stereotype-based filtering

Recommendation combines content cluster with affinity vectors

Rock

Pop

R&B

Context-based filtering

Recommendation depends on location, time, mood, environment …

Hybrid filteringIncreasing recommendation quality by combining

methods for qualifying behaviors

Page 113: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Content recommendation

49

Content-based filtering

~

“Content like this”

Collaborative filtering

“Customers who were interested in this product also bought …”

Community-based filtering

~

“Customers like you also bought …”

Stereotype-based filtering

Recommendation combines content cluster with affinity vectors

Rock

Pop

R&B

Context-based filtering

Recommendation depends on location, time, mood, environment …

Hybrid filteringIncreasing recommendation quality by combining

methods for qualifying behaviors

+ A/B testing + near cold-start recommendations

Page 114: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Content recommendation

50

Page 115: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

30/05/2011Nicolas Pastorino - IPCse11

Content recommendation

50

I/O through REST

Native connection with any HTTP-enabled client ( simple with PHP, native extension for eZ Publish CMS )

Cloud-based : scales

Different methods for event tracking : JS, built-in the CMS,

Page 116: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

Famous Last Slides

51

Page 117: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

RECAP

Page 118: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

RECAP

Multichannel emotion

Page 119: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

RECAP

Multichannel emotionREST

Page 120: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

RECAP

Multichannel emotionREST

Extensible REST API

Page 121: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

RECAP

Multichannel emotionREST

Extensible REST APIContent recommendation

Page 122: Nicolas Pastorino - REST + recommendation, consume the right content, anywhere - IPC11

eZ Communityhttp://share.ez.no

eZ Publish Community Projecthttps://github.com/ezsystems/ezpublishhttp://share.ez.no/download http://share.ez.no/get-involved

YooChoose, recommendation enginehttp://www.yoochoose.com

eZ Systems & eZ Publish Enterprise Editionhttp://ez.no

Find me on Twitter : @jeanvoye

Rate this talk : http://joind.in/3852 Slides available soon at http://slideshare.net/jeanvoye

Thank you !