Slide 1

Slide 1 text

2019 DevDay The Art of Smart Channel > Naoki Watanabe > LINE AD Dev Team1 Manager

Slide 2

Slide 2 text

Smart Channel

Slide 3

Slide 3 text

Variation

Slide 4

Slide 4 text

Global

Slide 5

Slide 5 text

Concept Contents Personalize

Slide 6

Slide 6 text

User Experience Three Steps To Complete Purchase

Slide 7

Slide 7 text

Stats Impression / Day 500M Request / Second 250k Global DAU 100M+

Slide 8

Slide 8 text

Architecture

Slide 9

Slide 9 text

Flow CRS Engine Event Tracker Joiner Learning worker Importer Imp/Click Log Parameter Log Contents LINE APP Contents

Slide 10

Slide 10 text

2-Layered Personalization Online Contextual Bandits Recommendation Today’s Tomorrow’s Zodiac Notification Recommendation Notification Recommendation News Weather Fortune Sticker Manga Layer #2 Layer #1

Slide 11

Slide 11 text

Layer #1 CRS Engine Event Tracker Joiner Learning worker Importer Contents Imp/Click Log Parameter Log Contents LINE APP

Slide 12

Slide 12 text

How To Integrate With Service Service Side Mapping Provider Data Provider Redis Cluster HDFS User1, News_A User2, News_B Smart Channel Importer Get News Title, URL, Image

Slide 13

Slide 13 text

2-Layer Personalization(Again) Online Contextual Bandits Recommendation Today’s Tomorrow’s Zodiac Notification Recommendation Notification Recommendation News Weather Fortune Sticker Manga Layer #2 Layer #1

Slide 14

Slide 14 text

Layer #2 CRS Engine Event Tracker Joiner Learning worker Importer Contents Imp/Click Log Parameter Log Contents LINE APP

Slide 15

Slide 15 text

Which One Is the Best? Less Knowledge 35-39 Man Frequently Updated ?

Slide 16

Slide 16 text

Bandit Algorithms

Slide 17

Slide 17 text

Bandit Algorithms > Rewards is user happiness > Combination of exploration and exploitation > Algorithms to maximize the rewards (= earnings)

Slide 18

Slide 18 text

Exploration & Exploitation Exploitation Exploration Time Data Collection/ Sample Apply Learning https://conversionxl.com/blog/bandit-tests/

Slide 19

Slide 19 text

Bandit Selection https://conductrics.com/balancing-earning-with-learning-bandits-and-adaptive-optimization/ Content B Content C Content A

Slide 20

Slide 20 text

Supported Algorithms LinUCB Bayesian Factorization Machines Bayesian Liner Regression Bayesian Neural Factorization Machines

Slide 21

Slide 21 text

How To Evaluate Contents Click Do Nothing Mute

Slide 22

Slide 22 text

How To Evaluate Contents CRS Engine Event Tracker Joiner Learning worker Importer Contents Imp/Click Log Parameter Log Contents LINE APP

Slide 23

Slide 23 text

Reaction Timeline Impression 10min Evaluate point Mute Do Nothing Click Click

Slide 24

Slide 24 text

Delayed Consumer Imp/Click Joined Kafka Redis Joiner EventTracker Delayed Imp Kafka Click/Mute Kafka Imp Kafka Imp Consumer Click/Mute Consumer 10min later Imp Click/Mute Timer

Slide 25

Slide 25 text

Learning CRS Engine Event Tracker Joiner Learning worker Importer Contents Imp/Click Log Parameter Log Contents LINE APP

Slide 26

Slide 26 text

2-Sided Features User side > Age > Gender Content side > Time > Id > Type > etc..

Slide 27

Slide 27 text

Bandit Arms: News Contents 20-24 25-29 30-34 35-39 40-44 M F M F M F M F M F 4af3e1d 0.57 0.52 0.59 0.57 0.64 0.65 0.68 0.64 0.76 0.73 2ulf3a4 0.73 0.38 0.67 0.39 0.61 0.40 0.58 0.40 0.51 0.41 1a0ew3 0.42 0.71 0.46 0.66 0.48 0.61 0.54 0.54 0.58 0.50 w2ag67 0.51 0.61 0.53 0.67 0.51 0.68 0.56 0.69 0.57 0.70 xr02h1 0.65 0.55 0.61 0.58 0.63 0.59 0.59 0.60 0.58 0.60 age x gender x id

Slide 28

Slide 28 text

Bandit Arms: Weather Contents 20-24 25-29 30-34 35-39 40-44 M F M F M F M F M F Weather 0.48 0.56 0.47 0.58 0.51 0.57 0.52 0.58 0.55 0.59 0.53 0.51 0.51 0.52 0.55 0.53 0.55 0.57 0.54 0.54 0.61 0.62 0.62 0.63 0.62 0.66 0.62 0.64 0.62 0.66 0.68 0.67 0.65 0.67 0.67 0.67 0.66 0.67 0.68 0.67 0.72 0.73 0.71 0.72 0.71 0.75 0.74 0.72 0.73 0.74 age x gender x type x hour

Slide 29

Slide 29 text

Bandit Arms: Weather Contents 20-24 25-29 30-34 35-39 40-44 M F M F M F M F M F Weather 0.48 0.56 0.47 0.58 0.51 0.57 0.52 0.58 0.55 0.59 0.53 0.51 0.51 0.52 0.55 0.53 0.55 0.57 0.54 0.54 0.61 0.62 0.62 0.63 0.62 0.66 0.62 0.64 0.62 0.66 0.68 0.67 0.65 0.67 0.67 0.67 0.66 0.67 0.68 0.67 0.72 0.73 0.71 0.72 0.71 0.75 0.74 0.72 0.73 0.74 age x gender x type x hour

Slide 30

Slide 30 text

Bandit Arms Contents 20-24 25-29 30-34 35-39 40-44 M F M F M F M F M F 0.52 0.53 0.51 0.54 0.52 0.54 0.53 0.54 0.53 0.54 0.53 0.52 0.55 0.51 0.56 0.54 0.57 0.53 0.58 0.54 0.58 0.59 0.57 0.58 0.55 0.54 0.54 0.54 0.51 0.52 0.58 0.56 0.57 0.56 0.55 0.54 0.55 0.54 0.52 0.53 0.58 0.57 0.58 0.56 0.52 0.54 0.51 0.52 0.52 0.51

Slide 31

Slide 31 text

Ideas for Learning Huge Traffic Stability Learning Efficiency Distributed Architecture

Slide 32

Slide 32 text

For Huge Traffic CRS Engine Imp/Click Joined Kafka Model Parameter Redis Ranker Learning Dispatcher

Slide 33

Slide 33 text

Load Balancing > Store data for each arm Arms > Split every K into Partition P=1 P=2 P=3 > Always use the same instance for arm and partition id pairs > Consistent hash by Proxy(NGINX) 1 2 3 4 5 6 7 Arm=3 Partition=3 Arm=2 Partition=1

Slide 34

Slide 34 text

For Huge Traffic CRS Engine Imp/Click Joined Kafka Learning Worker Worker Proxy Parameter Proxy Parameter Server Model Parameter Redis Trainer Ranker Learning Dispatcher

Slide 35

Slide 35 text

Hetero-Architecture CRS Engine Imp/Click Joined Kafka Learning Worker Worker Proxy Parameter Proxy Parameter Server Model Parameter Redis Learning Dispatcher Realtime Async

Slide 36

Slide 36 text

Hetero-Architecture CRS Engine Imp/Click Joined Kafka Learning Worker Worker Proxy Parameter Proxy Parameter Server Model Parameter Redis Learning Dispatcher Java Python

Slide 37

Slide 37 text

Flow CRS Engine Event Tracker Joiner Learning worker Importer Contents Imp/Click Log Parameter Log Contents LINE APP

Slide 38

Slide 38 text

Operation & Improvement

Slide 39

Slide 39 text

Test Problem > Test with limited users in the Production environment > Verify the performance of recommendation > Hard to test recommendation on test environment

Slide 40

Slide 40 text

Gradual Rollout > A/B test support tool called Libra > Exposure is limited to n% users > ID can also be specified

Slide 41

Slide 41 text

Health Check of Service Mute Click Click / Mute = Score

Slide 42

Slide 42 text

A/B Test > A/B test also uses Libra > Easy to configure

Slide 43

Slide 43 text

A/B Analysis > A/B result is analyzed by Data scientist

Slide 44

Slide 44 text

Disadvantages of Bandit > Bandit arms are only age x gender. > Should optimize by user basis > It takes a certain time(10min~) to learn Content B Content C Content a Personalize??

Slide 45

Slide 45 text

2-Sided Features+ User side > Age > Gender Contents side > Time > Id > Score > etc.. > Past CTR > Past xCTR

Slide 46

Slide 46 text

User Feature User CTR xCTR CTR xCTR CTR xCTR CTR xCTR CTR xCTR UserA 0.57 0.47 0.87 0.37 0.47 0.57 0.67 0.47 0.37 0.47 UserB 0.53 0.37 0.47 0.57 0.67 0.47 0.51 0.52 0.67 0.37 UserC 0.51 0.52 - - 0.57 0.52 0.57 0.53 - - UserD 0.52 0.51 0.57 0.53 0.54 0.53 - - 0.56 0.53 UserE 0.55 0.54 0.57 0.51 0.53 0.51 0.68 0.34 0.53 0.47

Slide 47

Slide 47 text

Personalize by User User A User B User C User D User E

Slide 48

Slide 48 text

Future

Slide 49

Slide 49 text

Life Information

Slide 50

Slide 50 text

Life Information

Slide 51

Slide 51 text

Bandit API

Slide 52

Slide 52 text

Bandit API Flow Bandit API Other Service Event Tracker Learning Worker UserID, IDs A,B,C,D UserID, Ranked IDs C,D,B,A Imp/Click Log Parameter

Slide 53

Slide 53 text

Recommend 2 Other Services

Slide 54

Slide 54 text

Recommend 2 Other Service CRS Talk Tab Home Tab Wallet Tab Sticker News Manga

Slide 55

Slide 55 text

Location & Beacon

Slide 56

Slide 56 text

Location & Beacon >Limited content in specific places > Make LINE Beacon experience mach more fun > Show local weather by user location

Slide 57

Slide 57 text

> Day2: C2-1 12:00-12:40 > LINE-Like Product Development Using Smart Channel as an Example "LINE-Like" Product Management > Poster Session 13:40-14:20/15:30-16:10 (2days) > Case Studies on Smart Channel Platforms and How To Improve Content > Day1: C1-7 18:10-18:50 > Explanation of SmartChannel From the Perspective of ML / DA Engineer Building a Smart Recommender System Across LINE Services Continuous Improvements in Smart Channel Platform/Contents Related Presentation

Slide 58

Slide 58 text

Thank You