Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

れこめん道~とあるエンジニアの苦闘の日々

819 views

Published on

「ブレインパッドとエウレカが語る、データ分析と機械学習の活用」資料

Published in: Engineering
  • Be the first to comment

れこめん道~とあるエンジニアの苦闘の日々

  1. 1. 2018.11.15 ブレインパッドとエウレカが語る、データ分析と機械学習の活用 [自主規制版] ~とあるエンジニアの苦闘の日々 株式会社ブレインパッド 栁原淳宏
  2. 2. で、誰?
  3. 3. 名前 栁原 淳宏 (やなぎはら あつひろ) ※社内ではやぎぞうとよばれている 職種 エンジニア & プロダクトオーナー(兼務) 所属 株式会社ブレインパッド マーケティングプラットフォーム本部開発部 RtoasterチームとConomiチームに所属 申し遅れましたが、 ↑ エウレカさんみたいな おしゃれなカフェが社内にないので 会社非公認のコーヒー部に参加 ※飲むの専門(自分では淹れません)
  4. 4. 本日のお品書き
  5. 5. 本日10分で、 以下のことをさらっと話しま〜す - Rtoaster・Conomi と私(やぎぞう)の関係 - ブレインパッドのレコメンドアルゴリズムってどんなの? - プロダクトが成長していくってこんな感じだ! ※なお今回のLTの内容はエンジニアやぎぞうのバイアスがかかった情報であり、 必ずしもブレインパッド公式見解と一致するものではありません。
  6. 6. Rtoaster? Conomi?
  7. 7. Rtoasterとは 「Rtoaster」は、最先端のレコメンドエンジンと、ユーザー可視化・分析エンジンが搭載されたSaaS型プライベートDMPです。 開発担当 https://www.rtoaster.com/
  8. 8. Conomiとは 多彩なロジックからヒト・モノのマッチング・レコメンドデータ(貴社”好み”の価値ある情報)を生成し、 ビジネス、サービスを加速させるエンジンです。 https://www.conomi.plus/
  9. 9. Conomiとは 多彩なロジックからヒト・モノのマッチング・レコメンドデータ(貴社”好み”の価値ある情報)を生成し、 ビジネス、サービスを加速させるエンジンです。 https://www.conomi.plus/ Rtoasterで培った レコメンデーション 技術がベース Rtoasterのレコメンドロジックを、 • より簡易にシステムやサービスへ組 み込めること • 精緻かつ柔軟なレコメンドチューニ ングを実現すること を目指して、Rtoasterのレコメンドエンジ ンに含まれるロジックや技術を切り出し 設計し直したプロダクト。 プロダクトオーナー兼リードエンジニアとして 周囲の人を端から巻き込みつつ、プロダクトに 愛を注入中!!
  10. 10. どういう レコメンドロジック なの?
  11. 11. イチオシのロジック
  12. 12. グラフ理論に基づいたレコメンド手法[1] [1]大野尚志, and 矢島安敏. "グラフラプラシアンを用いた CD の特徴抽出とその利用." オペレーションズ・リサーチ: 経営の科学 =O perations research as a management science research 52.2 (2007): 101-107.
  13. 13. 行動履歴を使ったレコメンドでは、 グラフ・ネットワーク理論に基づいて ユーザーとアイテムの関係を学習※し、 グラフの探索によってユーザー、アイテムの 評価を行う ※ユーザーとアイテム間の関係を重み付き無向グラフで表現する グラフ理論に基づいたレコメンド手法
  14. 14. ● ユーザーとアイテムの結びつきを表現 ● ユーザーとアイテムに何らかの関係 ○ ユーザーとアイテム間のエッジ(リンク)で表現 ● 関係度合い(結びつき) ○ エッジの太さで表現 ● 結びつき ○ 入力するデータによって表現する内容が変わる ○ 関心がある、気になる、好き …. どういうグラフ?
  15. 15. ● 一般的な協調フィルタリングの基本ロジック ○ 「大規模なユーザー集団」の中から、「対象ユーザーに似たユーザー群の 小集団」を発見する ■ 類似度の高いユーザー群の抽出 ■ 似たような嗜好を持つ集団において、彼らが好きな他のアイテム群から、組み合わせ、評 価し順序付けをして、推奨リストを作成 ● グラフ理論に基づくレコメンド ○ グラフの探索によってアイテム(ユーザー)の評価を行うため、探索範囲を 伸ばすことで、近傍にいるユーザーの外側にいるユーザーの評価も加味す ることができる ○ アイテム属性やユーザー属性を加味することができる どうしてグラフ理論に基づくレコメンド?
  16. 16. 中年男性 中年女性 若者男性 若者男性 グラフという柔軟なデータ構造 (属性を加味する例) ジャンルA ジャンルB
  17. 17. 幅広い表現力を持ったレコメンド手法 ● 行動履歴についての理解力 ○ 単なるユーザーとアイテムの接触頻度で評価するの ではなく、時間の経過とともに薄れていくユーザー の興味の減衰を表現できる ○ ユーザーとアイテムの接触に対して、外部から重み 付けもできる ● 探索の表現 ○ 探索範囲が広がるにつれて、遠方にあるアイテムの 影響度の減衰を表現できる
  18. 18. 様々な提案ができるレコメンド手法 以下のリストを作成できる ● アイテム軸アイテムリスト ● ユーザー軸アイテムリスト ● アイテム軸ユーザーリスト ● ユーザー軸ユーザーリスト
  19. 19. 結局のところ 柔軟な表現力を持つグラフ構造が 好き❤︎ だから採用!
  20. 20. Rtoaster・Conomiには 他にもたくさんのアルゴリズムを 収録しているのですが 本題に入れなくなるので 割愛(また別の機会に)
  21. 21. Rtoasterと Conomiの歩み※conomi目線で
  22. 22. 2005 2010 2015 2006.09.12 Rtoaster 誕生!! サイト訪問者の行動遷移を基にした コンテンツ自動最適化ツールとして機能提供開始!! 【基幹機能の提供】 ● スコアリングエンジン ● ルールベースレコメンド ● 可視化(効果測定) http://www.jpubb.com/press/294918/
  23. 23. 2005 2010 2015 2006 Rtoaster 誕生!! 2008.03.26 自動レコメンドエンジン誕生!! ※製品名は無かった(哀) Conomiの前身で社内ではtoscanaと呼ばれている ECサイト向けレコメンデーションシステム構築 サービス開始 「購買情報」と「閲覧情報」を活用するレコメンデーション システムをセミオーダーで構築 第一弾としてHMVのオンラインショップに導入 Rtoaster サイト訪問者の行動遷移を基にした コンテンツ自動最適化ツールとして機能提供開始!! http://www.jpubb.com/press/294914/
  24. 24. 華々しくデビューしたものの その後売れなかった(゚Д゚;)
  25. 25. その時歴史が動いた!
  26. 26. 2005 2010 2015 2006 Rtoaster 誕生!! 2009 Rtoaster に自動レコメンド搭載!! ルールベースレコメンドと自動レコメンド の最強ペア誕生!! ※現在のRtoasterの原型がここでできる 2008 自動レコメンド提供開始
  27. 27. といえば聞こえは良いが、 売れないプロダクトの吸収合併が行われた... (エンジン単体売りって難しいことを痛感)
  28. 28. グラフ分割技術を導入し解決 サーバーも1台増設してもらえた❤︎ ※最初は真面目に計算していたが 後にk-meansベースの分割でも 精度に影響がないことが分かり ロジックを変更 2005 2010 2015 2006 Rtoaster 誕生!! 2008 自動レコメンド提供開始 2009 レコメンド機能統合 契約サイトが 増えてきて いい感じ 2010 規模の大きな契約サイトが登場! 当時1台だった分析サーバーに対して、この1サイトの演算処理で24 時間以上かかることが判明(=運用が回らない問題)。急遽、AWS上で 並列処理を実施することで危機を回避するが完全な赤字。
  29. 29. 2005 2010 2015 2006 Rtoaster 誕生!! 2008 自動レコメンド提供開始 2009 レコメンド機能統合 大規模サイトの出現 2010 更新データ量の増大!! ユーザー数が多いサイトは、ボットや休眠ユーザーも含まれるので 、毎日全量レコメンドリストを更新するのは無駄が多い →アクティブユーザーと非アクティブユーザーで更新頻度を調節 する機能をリリース
  30. 30. メジャー(Rtoaster)の洗礼を浴びながら 精神と時の部屋で プロダクトとして急成長を実感
  31. 31. ところが
  32. 32. 2005 2010 2015 2006 Rtoaster 誕生!! 2008 自動レコメンド提供開始 2009 レコメンド機能統合 大規模サイトの出現 2011 L2Mixerを救え!! ※正確には2010年12月末の出来事 社内事情により、極端にリソースが不足したL2Mixerの エンジン開発をやぎぞう兼務 (というかほぼそちらの開発に注力) この暗黒時代は「失われた1年」と呼ばれ語り継がれているとかいな いとか ※1年後L2Mixerのエンジン開発エンジニアの採用が決まり、無事引き継ぎ完了
  33. 33. ベンチャーあるあるによって 開発が停滞 (゚д゚lll)
  34. 34. このあと
  35. 35. 2005 2010 2015 2006 Rtoaster 誕生!! 2008 自動レコメンド提供開始 2009 レコメンド機能統合 大規模サイトの出現 2011 失われた1年 2012 ~ 2014 EC以外のいろいろな業界・業種の契約が増える 様々な業界固有の問題に対応するための細かな裏パラメータがたく さん増える →問題解決能力の強化(手数を増やす) 例えば、属性を加味したレコメンドがヒット! 大規模サイト導入、運用規模拡大(サーバー数増加) 知見が溜まり、運用ノウハウも蓄積。全般的にプロダクトの扱いが 小慣れてきたころ
  36. 36. 2005 2010 2015 2006 Rtoaster 誕生!! 2008 自動レコメンド提供開始 2009 レコメンド機能統合 大規模サイトの出現 2011 失われた1年 問題解決能力を強化 知見が溜まってくる 2014 第一次 Conomi(※まだ名前はない) ブーム到来 社内でRtoasterのレコメンドロジックを使いたいという需要が高ま り、他の案件でも使いやすいようにインターフェースを設計し直し たモジュールを作成し配布(=他部署での需要に気づく) Rtoaster以外の案件で提案、採用が始まる♪
  37. 37. 2005 2010 2015 2006 Rtoaster 誕生!! 2008 自動レコメンド提供開始 2009 レコメンド機能統合 大規模サイトの出現 2011 失われた1年 問題解決能力を強化 知見が溜まってくる Rtoaster以外の活用始まる 2015 ASP環境のお引越し Rtoasterの環境をデータセンターからクラウドに引っ越すという一 大プロジェクト。サービスを継続しながらの引越しということで、 なかなか大変だった。いやほんと大変だった。これ以上言うと止ま らなくなるくらい大変だった。
  38. 38. 2005 2010 2015 2006 Rtoaster 誕生!! 2008 自動レコメンド提供開始 2009 レコメンド機能統合 大規模サイトの出現 2011 失われた1年 問題解決能力を強化 知見が溜まってくる Rtoaster以外の活用始まる Rtoaster クラウド移行 2016 自動パラメータチューニング機能実装による進化 特性の異なるサイト毎のパラメータチューニングを手動で行うのは 限界にきていた →ゴール(CTR,CVR...などの指標)を設定し、シナリオベースで作成 された異なるパラメータをスプリットランして、一番効果の高いパ ラメータを残していく機能を作成! 2018 Rtoaster ver.5.0リリース ユーザーが管理画面より設定できるようになった
  39. 39. なんだかんだと いろいろな経験を積み
  40. 40. 運命の日が!
  41. 41. 2005 2010 2015 2006 Rtoaster 誕生!! 2008 自動レコメンド提供開始 2009 レコメンド機能統合 大規模サイトの出現 2011 失われた1年 問題解決能力を強化 Rtoaster以外の活用始まる Rtoaster クラウド移行 2016 自動パラメータチューニング 2018.07.19 ブレインパッド、企業に眠るデータを価値に変える マッチングエンジン「Conomi」を新開発 http://www.brainpad.co.jp/news/2018/07/19/8064
  42. 42. ついに裏メニューから 看板メニューに!!!!! (´;ω;`)ブワッ
  43. 43. ふたたび 独り立ちした‼️ 10年かかった...
  44. 44. 第1部 Conomi 大地に立つ! 完
  45. 45. 気になる今後の展開!!
  46. 46. 第2部 Conomi 親孝行に励む!! [鋭意製作中?]
  47. 47. ご静聴 ありがとう ございました 道は続くよ、どこまでも 極めてみたい これからも精進してまいります
  48. 48. 株式会社ブレインパッド 〒108-0071 東京都港区白金台3-2-10 白金台ビル3F TEL:03-6721-7002 FAX:03-6721-7010 www.brainpad.co.jp info@brainpad.co.jp やぎぞう yanagihara@brainpad.co.jp Facebook : https://www.facebook.com/atsuhiro.yanagihara Qiita : https://qiita.com/yagizo こっそり告知 当社では、開発エンジニアを積極的に募集しています!ぜひ、新卒採用・キャリア採用ともに皆さまのご応募をお待ちしています! 興味ある方はこちらから https://hrmos.co/pages/brainpad/jobs/4010401

×