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

Big Dataで価値を生み出すためのSmall Trial & Method

Big Dataで価値を生み出すためのSmall Trial & Method

2019/02/13 みんなのPython勉強会#42での、河野・内田の講演資料になります

Recruit Technologies

February 13, 2019
Tweet

More Decks by Recruit Technologies

Other Decks in Technology

Transcript

  1. 1 Big Data で 価値を生み出すため Small Trial & Method 2019-02-13

    みんな Python勉強会#42 https://www.pexels.com/photo/adult-apple-device-business-code-340152/
  2. おすすめ順 開発プロセス 今回 おすすめ順 開発プロセス 話をします (ロジック 中身 話 しません)

    各工程 開発コストを下げて 高速にサイクルを回す工夫 誰でも 手軽に 開発 • 特定 開発者に縛られない • 素早いリリース • リスク 小さく 20 分析 実装 検証
  3. Google BigQueryとJupyter Notebookによる分析 23 おすすめ順ロジック 改良 直感で なく必ずデータに基づいて行う 主要なデータ(個人情報除く) Google

    BigQuery上に格納されており、 分析者 それにアクセスし作業する マッチング率 改善につながる 特徴量 作り込みや 施策 効果 見立てを行う
  4. マイクロサービス化による高速リリース 26 検索エンジン レコメンドAPI 定義 ファイル サービス バックエンド クライアント サービス

    バックエンドから検索エンジンに 直接クエリを投げる で なく、 おすすめ順ロジックを適用する機能をAPIとして切り出しそれを仲介
  5. メリット:更新時 コスト・リスク 軽減 27 検索エンジン レコメンドAPI 定義 ファイル サービス バックエンド

    クライアント 更新不要 更新不要 更新不要 更新 デプロイ 規模を小さくしてコスト・リスクを軽減 • ロジック 適用・切り戻しが容易 • 万が一 障害時、切り離しが容易 直接検索エンジンにリクエストする経路も用意
  6. メリット:誰でもおすすめ順をカスタマイズ可能 28 検索エンジン レコメンドAPI 定義 ファイル サービス バックエンド クライアント レコメンド定義をJSONファイルに切り出し

    ➔ 誰でも容易にロジックを変更可能 • エンジニアに依頼せずとも企画者が直接定義を編集できる (実際にプロダクトマネージャや企画者がロジックを調整している)
  7. A/Bテストによる効果検証 30 定義A 定義B A群 B群 それぞれ 群で測定指標を比較 レコメンド API

    A群 B群 • マッチング率 • いい !送信率 など • マッチング率 • いい !送信率 など 無作為に分け、異なるロジックを適用 比較 新ロジック適用前にA/Bテストでオンライン評価 ➔ 良い効果が観測された場合、新たなロジックを全適用する もし大きな毀損があった場合 、 即座に測定を中止し元 ロジックに切り戻しを実施
  8.      '   $%("!#&( 

     https://zexy-enmusubi.net/promise/
  9.    • Recruit Technologies Co., Ltd. • 

     •    @lapis_zero09 lapis-zero09 https://www.lapis-zero09.xyz/profile/ 3
  10. 4   FS  1 F( • KPI( •

    C-E( 2 8G5 •  ( 3 A8D  • ! ) '" • 8G5'&%A8D(  4 A8D6BG9E0 • :C@G56BG9E0 • ,E1E>D • ROI'&%6BG9E0 5 247? • Minimum Viable Product*$ 1G<4.E39,'247?
  11.   6    ! • • 

       !
  12. 8<, 7  42:<9  ! •  • "

    &%'  ! #0<7  42:<9'  ! ' #-/17'  +<6/*;.3)
  13. 3. 4.      3. $' •

    $' •  )  11 4. %)( • &#)%)( • (("' F 9 !! http://scikit-learn.org/stable/tutorial/machine_learning_map/index.html (("'https://www.slideshare.net/ShinsakuKono/introduction-to-ensemble-methods-for-beginners
  14. 5.  Feasibility Study5,6 12 READMEJ) 8:I • ?BQLZ]N=[S\B •

    * • -J9I3 OY]U=7F1A • argparse MVP= DI • ! J+A • BOPTJG9 • %&#=[S\B'4 @7<EH/<!A • % B;DB • ^XT\VRMA@I C@ 03  _($J2<".
  15.    13   "(!  FB 

       (% &# &#  'KPI 
  16. 14  FS ( ) 1 F( • KPI( •

    C-E( 2 8G5 •  ( 3 A8D  • ! ) '" • 8G5'&%A8D(  4 A8D6BG9E0 • :C@G56BG9E0 • ,E1E>D • ROI'&%6BG9E0 5 247? • Minimum Viable Product*$ 1G<4.E39,'247?
  17. 15 FS    1   2 

    3 "  "!  
  18.    -,03/! "  (%/3+1'& 1.  )$

    2.  #!)$  .03!2  16
  19. %(" 21  $#'(&  ! •  • 

        !  !!
  20. Amazon EC2   $& *  • * •

     •    )#'DB *!)  22 Web#% (*&
  21.  ($@&/2?3=: 1. F;  • )Deep Learing46>579A8,06*7<9+ 2. DCE;

     • ($<: 3. /.1 • ($< -+ • #<!"'%-+ 23