Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LINE TECHPULSE 2020 - SmartPOI

LINE TECHPULSE 2020 - SmartPOI

SmartPOI by Johnson Wu @ LINE TECHPULSE 2020 https://techpulse.line.me/

LINE Developers Taiwan

December 18, 2020
Tweet

More Decks by LINE Developers Taiwan

Other Decks in Programming

Transcript

  1. Agenda › What is SmartPOI? › What we need to

    build an LBS recommendation system? › More precisely recommendation: Knowledge Graph › The deployment of recommendation system 
  2. What is SmartPOI A recommendation system aiming for any location

    based system. Location (Point of Interest) recommendation
  3. How to build an LBS recommender system? ML pipeline in

    SmartPOI Data collection Data analysis Evaluation Model design What should I collect from LBS? Problem in collected data? Design model for situations How well the model performs? Serving How to let APP access results? 
  4. What does user click on LINE SPOT? Anywhere you click

    means for something! Data Collection Data analysis Evaluation Model design Serving -*/&'3*&/%4 4UPSF 6TFS" DMJDL@QIPUP@JDPO  DMJDL@pOE@MPDBUJPO DMJDL@-*/&@5"9*  Degree of interest in a POI A B A C D A E E A D A C E F G A
  5. In such data… Need to consider different scenario for different

    data. Data Collection Data analysis Evaluation Model design Serving   66% of users click <5 times in past two weeks. Cold start is necessary. 
  6. A glance at models Data Collection Data analysis Evaluation Model

    design Serving Light users (#click <=5 in LINE SPOT) UCB score: Aim to make user explore more. Popular poi Highly recommended Personal frequently clicked poi Less likely recommended Heavy users (#click >5 in LINE SPOT) POI and user embedding similarity recommendation: Degree of interest 5 4 1 3 5 5 1 4 5 POI and users Embeddings PCA KG refinement (GAT, GraphSage ComplEX) Embeddings Of POI and users with content information Foody guy Party animal Add content Heavy users (#click >5 in LINE SPOT) POI and user embedding similarity recommendation: Degree of interest 5 4 1 3 5 5 1 4 5 POI and users Embeddings PCA KG refinement (GAT, GraphSage ComplEX) Embeddings Of POI and users with content information Foody guy Party animal Add content
  7. Cont’d on models Data Collection Data analysis Evaluation Model design

    Serving Heavy users (#click >5 in LINE SPOT) Poi and User Embedding PCA: decompose co-interested matrix of poi Apply Deep walk, random walk trained with graph neural network LINE SPOT Graph, e.g. area, category, facility… same location Same category Same users like Same Co-click Light users (#click <=5 in LINE SPOT) UCB score: for a user and an item Popularity Exploration %# item score + time(rounds user clicks on item Line friend store score: 5 But seldom click Keep recommending! Heavy users (#click >5 in LINE SPOT) Poi and User Embedding PCA: decompose co-interested matrix of poi Apply Deep walk, random walk trained with graph neural network LINE SPOT Graph, e.g. area, category, facility… same location Same category Same users Co-click
  8. How good is the recommendation? Off-line and online testings are

    both important Data Collection Data analysis Evaluation Model design Serving Offline: NDCG@50 Online CTR (click through rate) Predict on yesterday users using data in past 2~15days PCA average Random recommendation average +50% +500% KG applied PCA average
  9. Serving How to recommend? Smart POI API user location item

    embedding user embedding explore API user2item scores geohash light user items user2item scores popular items nonpopular items Items table user2item table UCB scores top N items (category) recommend count recommend  Data Collection Data analysis Evaluation Model design Serving
  10. Serving How to recommend? Smart POI API user location item

    embedding user embedding explore API user2item scores geohash heavy user items user embedding popular items nonpopular items Item embedding cosine similarity (category) top N items recommend Data Collection Data analysis Evaluation Model design Serving
  11. Serving Serving storage and serving cluster Smart POI API LBS

    item data (LBS) user data (WTS) IU Smart POI DB item embedding user embedding Smart POI Learner LBS API item API user API explore API geohash user2item scores recommend Service domain User Location Data Collection Data analysis Evaluation Model design Serving
  12. Serving Efficiency matters SQT SFQMJFTQFSTFDPOE SQT SQT IO bound: cache

    on Redis Scalability: Move to Kerburnetes Data Collection Data analysis Evaluation Model design Serving
  13. We can have more with SmartPOI Closer distance with you.

    1. User expansion with explainable targeting A more specified targeting rule 2. A Chat-bot scenario for location services 6TFSJE" -JLFDBUSFTUBVSBOUBOECBS User A12345678 I want to find a restaurant or bar for dinner. (Sent from Xinyi Dist.) System )NN VTFSJTB DBUMPWFSBOE XJOFFYQFSU  pOEJOHGPS EJOOFS &JUIFS SFTUBVSBOUPS CBSJTpOF *O9JOZJEJTU How about Wake’ n Bake? A cat beer bar! Nice!