Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Wantedly Visitにおけるフリーワード検索時の推薦のオンライン化事例紹介
Search
Yudai Hayashi
January 15, 2025
1
170
Wantedly Visitにおけるフリーワード検索時の推薦のオンライン化事例紹介
MIXIさんとウォンテッドリーの合同イベント「エンジニアが語る プロダクトへの AI / ML 導入・活用事例」 で発表した内容です
Yudai Hayashi
January 15, 2025
Tweet
Share
More Decks by Yudai Hayashi
See All by Yudai Hayashi
RustとPyTorchで作る推論サーバー
yudai00
11
6.9k
BigQueryで作る簡単なFeature Store
yudai00
2
310
プロダクトのコードをPandasからPolarsへ書き換えた話
yudai00
8
3.3k
データサイエンティストになって得た学び
yudai00
1
200
社内での継続的な機械学習勉強会の開催のコツ
yudai00
2
730
会社訪問アプリ「Wantedly Visit」における新規ユーザーの行動量に基づいた推薦方策の選択
yudai00
0
1.6k
Polarsを活用した機械学習ジョブの高速化
yudai00
1
300
Voyagerを利用した宿画像の最近傍探索による候補生成
yudai00
1
230
推薦データ分析コンペに参加して得た知見
yudai00
2
440
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
174
51k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Transcript
© 2024 Wantedly, Inc. Wantedly Visitにおけるフリーワード 検索時の推薦のオンライン化事例紹介 エンジニアが語る プロダクトへの AI
/ ML 導入・活用事例 Jan. 15 2025 - Yudai Hayashi
© 2024 Wantedly, Inc. INTERNAL ONLY 自己紹介 林 悠大 • 経歴:
◦ 東京大学工学系研究科でPh.D取得 ◦ 2022年にウォンテッドリーにデータ サイエンティストとして新卒入社。 推薦システムの開発を行う • X: @python_walker
© 2024 Wantedly, Inc. INTERNAL ONLY 発表内容 • Wantedly Visitのスカウト検索機能についての紹介
• フリーワード検索で使っていた推薦システムの課題 • 推薦システムのオンライン推論化による課題解決 ◦ 何をしたか ◦ どのようにプロジェクトを進めていったか • 結果 • まとめ
© 2024 Wantedly, Inc. INTERNAL ONLY Wantedly Visitのスカウト検索機能 候補者一覧画面 フリーワードを使って条件にあう
候補者を探せる 検索でヒットした候補者の カードが一覧に順番に表示 される
© 2024 Wantedly, Inc. INTERNAL ONLY フリーワード検索の課題 誰が検索しても同じユーザー のランキングを目にする
© 2024 Wantedly, Inc. INTERNAL ONLY フリーワード検索の課題 採用担当者によって欲しい人材 の像は異なる パーソナライズされていない
ことで候補者の見つけづらさ が存在
© 2024 Wantedly, Inc. INTERNAL ONLY フリーワード検索の課題 キーワード検索結果のパーソナライズには技術的な困難があった • ランキングはバッチジョブによって事前
計算してBigQueryに結果を格納 • もしもパーソナライズしようとすると例 えば... ◦ 1,000人のリクルーター ◦ 10,000キーワード ◦ 10,000ユーザーを並び替え ◦ → 1,000 億行のデータを持ってお く必要がある 事前計算する前提でパーソナライズするの はデータ量的に困難
© 2024 Wantedly, Inc. INTERNAL ONLY どうやって課題を解決したか - オンライン推論化 ユーザーリクエスト時にランキングを計算す
るシステム(オンライン推論)を構築 • 計算に必要なembeddingだけを事前に計 算 • リクエスト時に推論サーバーでスコアを 計算してランキングを返す
© 2024 Wantedly, Inc. INTERNAL ONLY どうやってプロジェクトを進めたか プロジェクトのリスクを最小化し、価値を高速に検証するために2フェーズに分けて進行 元々 GBDT系
モデル バッチ ジョブ embedding ベース バッチ ジョブ Phase-1 embedding ベース 推論サーバー Phase-2 • Phase-1 (中身のロジックの変更) ◦ 推論モデルをembeddingベースの ものに変更 ◦ 一部のリクルーターを対象にパー ソナライズ • Phase-2 (システム構成の変更) ◦ バッチ推論からオンライン推論へ と移行 ◦ より広いリクルーターを対象に パーソナライズ
© 2024 Wantedly, Inc. INTERNAL ONLY Phase 2まで完了して得られた結果 • プロジェクト開始から10人日で最初のオフラインテスト結果を出せていた
◦ 高速に価値の検証が実現できていた ◦ はやく検証することで大きな手戻りが発生するリスクを軽減することができた • 利用企業の採用担当者の体験改善を実現 ◦ パーソナライズにより、同じキーワードでも異なるユーザーを見るようになっ た (表示ユーザー数が10 %以上の増加) ◦ スカウトの送信数も増加 → より魅力的な候補者が推薦できていた ◦ スカウトを受け取るユーザー数、マッチングの成立数も増加 ▪ これまでスカウトが欲しかったが送られていなかったユーザーが採用担当 者の目に入るようになった
© 2024 Wantedly, Inc. INTERNAL ONLY まとめ • 大きなアーキテクチャ変更に対して、少しずつ価値を検証しながら進めていくこと で顧客課題の緩和を実現することができた
• embeddingベースのシステムに移行したことによって、今後の改善の選択肢を広げ ることができた ◦ Neural Network ◦ LLM ◦ … • オンライン推論化によって新しくできるようになったことだけでなく、レスポンス タイムなどの制約でできなくなったことも存在する。推薦性能とユーザビリティの バランスを取りつつ推薦性能をあげていくことが今後の課題