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

商品比較サービス「マイベスト」における パーソナライズレコメンドの第一歩

商品比較サービス「マイベスト」における パーソナライズレコメンドの第一歩

Avatar for Ucchiii

Ucchiii

July 16, 2025
Tweet

Other Decks in Programming

Transcript

  1. 自己紹介 内山 遼大 株式会社マイベスト 開発部 プロダクトチーム バックエンドエンジニア 大学院では、医療画像を用いた機械学習の研究に取り組みながら、 Web系複数社でのイ ンターンを通じてWeb開発を経験。

    2024年に新卒で株式会社マイベストに入社し、現在はモバイルアプリのバックエンドエン ジニアとして、要件定義から設計・開発・ QAまで幅広く担当。 •経歴 @ucchiii43 麻雀🀄/日本酒🍶 / 釣り🎣 /体を動かすこと全般 ⚽ 🎾 🏂 •趣味 2
  2. 各商材の「〇〇 おすすめ」検索の 3位以内割合 約 86% 月間利用回数 約 5,000万回以上 3位以内 4位以降

    2016/2 2017/2 2018/2 2019/2 2020/2 2021/2 2022/2 「検索」の領域では大きなプレゼンスを獲得 既存の選択におけるプラットフォームである「検索」において、月間利用回数 5,000万回以上のサービスにまで成長。 2023/06実績 12
  3. 2017 2018 2019 2020 2021 2022 2023 20XX 提供できる選択体験のよさ PMFに向けた取り組み

    フェーズを 3つにわけて、 PMFに向けて取り組む。 これまでは、選択肢のデータベース作りに最も注力してきました。 現在は、ユーザーデータの収集を目的とした施策に注力しており、最終的には選択肢のデータと ユーザーデータを掛け合わせ、パーソナライズされた選択体験を実現したいと考えています。 Phase 1 選択肢のデータベース作り Phase 3 パーソナライズされた選 択体験 …… Phase 2 ユーザーデータの収集 2024 2025 14
  4. 24 PoCプロジェクトにおける考慮点 • 短期間で検証できる ◦ 実装が簡潔かつ容易 ◦ 定量的・定性的に検証しやすい • モデルが軽量

    ◦ 学習に必要な計算リソースの削減とそれに伴うコスト削減 ◦ 学習時間の短縮により「学習 → 検証 → 改善」のスピードアップ
  5. 26 Item2Vecのメリット /デメリット • メリット ✅ モデルが軽量である ✅ 定性評価がしやすい ✅

    3つのカラム(user_id, item_id, datetime)のみで学習できる • デメリット ❌ 性別や年齢などの属性情報を使えない ❌ 順序や時系列情報を考慮できない(直近の履歴を重要視できない) ❌ データ量が少ないと正しいベクトルを生成できない
  6. 29 • epochs:50 • 学習データ数:約 1350万件 ◦ 1st-party Cookie で区別したユーザーごとの閲覧履歴

    • 使用ライブラリ: gensim • 学習形式: Skip-gram マイベストにおける利用法(学習)
  7. 30 マイベストにおける利用法(学習) • 閲覧したコンテンツの記事 ID を入力とする • ユーザーごとの直近 2ヶ月間の閲覧履歴を日時でソートして 1つのデータとする

    [“1231”, “41”, “5345”, “5241”, “12343”] [“141”, “6345”] [“5345”, “243”, “6342”, “5241”] [“243”, “1562”, “5241”]
  8. 31 マイベストにおける利用法(学習) • 取得したデータを配列にしてモデルに入力し、埋め込みベクトルを生成する [[“1231”, “41”, “5345”, “5241”, “12343”], [“141”,

    “6345”], [“5345”, “243”, “6342”, “5241”], [“243”, “1562”, “5241”]] V 1231 V 5241 V 5345 V 41 V 1562 V 243 V 6342 V 12343 V 141 V 6345 モデル
  9. 33 マイベストにおける利用法(推論) V 1231 V 5241 V 5345 V 41

    V 1562 V 243 V 6342 V 12343 V 141 V 6345 [“5345”, “1562”, “6342”] この男性におすすめの記事を 3つ教えて
  10. 34 マイベストにおける利用法(推論) input: [“5345”, “1562”, “6342”] V XXX V 1231

    V 5241 V 5345 V 41 V 1562 V 243 V 6342 V 12343 V 141 V 6345 ベクトル化 [V 5345 , V 1562 , V 6342 ] ベクトル合成 V XX X
  11. 35 マイベストにおける利用法(推論) V XXX と類似度の高いベクトルを算出 V 1231 V 5241 V

    5345 V 41 V 1562 V 243 V 6342 V 12343 V 141 V 6345 V XX X [V 5241 , V 243 , V 1231 ] 対応記事ID output: [“5241” , “243” , “1231”]
  12. 39 実際の出力を確認 ヘッドホン ワイヤレスヘッドホン 有線ヘッドホン マイクつきヘッドホン 有線無線両用ヘッドホン オーディオテクニカのヘッドホン ソニーのヘッドホン オーバーイヤーヘッドホン

    1万円前後のヘッドホン 軽いヘッドホン ゼンハイザーのヘッドホン コスパ最強のワイヤレスヘッドホン BOSEヘッドホン 密閉型ヘッドホン 高級ヘッドホン Aさん (仮称) 直近の閲覧履歴 システムによるレコメンド内容
  13. 40 実際の出力を確認 ボディーシート 日焼け止めスプレー・日焼け止めミスト 日焼け止めクリーム 日焼け止めジェル ホームルーター(置くだけ Wi-fi) クリームチーク ミネラルファンデーション

    シェーディング 女性向け制汗剤 水クレンジング シミを隠すコンシーラー カフェインレスコーヒー ペティナイフ クロスバイク メンズ雨傘 Lさん (仮称) の直近の閲覧履 歴 システムによるレコメンド内容 、男性
  14. 社内で定性評価を実施 41 • ユーザーごとの直近の 5記事を入力 • モデルによりレコメンドされた 10記事を出力 • 34名の社員が

    3段階で評価(閲覧履歴に沿っている・イマイチ・ダメ) 約72%が「閲覧履歴に基づいている」と回答
  15. Item2Vecを使って見えてきた課題 49 • 新たな発見が少ない ◦ 洗濯機を買いたい人に洗濯機の記事ばかりをおすすめするのはイマイチ ◦ ドライヤー → ヘアオイルのような関連商品への誘導があるとさらなる購買につな

    がる • 文脈に沿ったレコメンドが欲しい ◦ [ ベッド → 洗濯機 ] というログがあったら、引っ越しかも?と考えて家電や 日用品(調理器具など)をおすすめして欲しい ◦ そのような文脈の学習データがないと関連付けづらいが、現状あまりない
  16. 今回のプロジェクトに携わってみた感想 50 • Item2Vecの実装は比較的簡単だった ◦ PyTorchで一からモデルを作っていた学生時代と比べるととても簡単に実装できた ◦ 大量のデータを CPUだけで時間をかけずに学習できるものすごい •

    サービスにおけるシステム開発において考慮すべきことを知れた ◦ 「コスト」や「実装の容易さ」・「検証のしやすさ」など、サービス上での システム開発の考慮点を知れた ◦ また、これらを考慮した上での技術選定の大変さやおもしろさを学べた