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
20250130_『SUUMO』の裏側!第2弾 ~機械学習エンジニアリング編
Search
Recruit
PRO
February 02, 2025
Technology
0
65
20250130_『SUUMO』の裏側!第2弾 ~機械学習エンジニアリング編
2025/1/30に開催したConnpassイベント『SUUMO』の裏側!第2弾~機械学習エンジニアリング編の資料です
Recruit
PRO
February 02, 2025
Tweet
Share
More Decks by Recruit
See All by Recruit
顧客の声を集めて活かすリクルートPdMのVoC活用事例を徹底解剖!〜プロデザ!〜
recruitengineers
PRO
0
200
Asset Centric な データ変換パイプラインの攻略法
recruitengineers
PRO
1
120
Kotlin Multiplatformのポテンシャル
recruitengineers
PRO
2
180
デザイン初め新年会2025_川端_PdM Days2025
recruitengineers
PRO
0
49
Azure Functions HTTPトリガーにおけるタイムアウトでハマったこと
recruitengineers
PRO
2
350
実務につなげる数理最適化
recruitengineers
PRO
7
970
うちにも入れたいDatadog
recruitengineers
PRO
2
1.7k
リクルートのデータ基盤 Crois 年3倍成長!1日40,000コンテナの実行を支える AWS 活用とプラットフォームエンジニアリング
recruitengineers
PRO
3
520
Splunk Enterpriseで S3のデータを直接検索してみた!
recruitengineers
PRO
2
280
Other Decks in Technology
See All in Technology
論文紹介 ”Long-Context LLMs Meet RAG: Overcoming Challenges for Long Inputs in RAG” @GDG Tokyo
shukob
0
270
消し忘れリソースゼロへ!私のResource Explorer活用法
cuorain
0
140
Autify Company Deck
autifyhq
2
41k
レイクハウスとはなんだったのか?
akuwano
15
2k
Zenn のウラガワ ~エンジニアのアウトプットを支える環境で Google Cloud が採用されているワケ~ #burikaigi #burikaigi_h
kongmingstrap
18
6.8k
[2024年10月版] Notebook 2.0のご紹介 / Notebook2.0
databricksjapan
0
1.6k
extensionとschema
yahonda
1
100
Redshiftを中心としたAWSでのデータ基盤
mashiike
0
100
ObservabilityCON on the Road Tokyoの見どころ
hamadakoji
0
210
もし今からGraphQLを採用するなら
kazukihayase
9
4.2k
2025/1/29 BigData-JAWS 勉強会 #28 (re:Invent 2024 re:Cap)/new-feature-preview-q-in-quicksight-scenarios-tried-and-tested
emiki
0
310
private spaceについてあれこれ調べてみた
operando
1
160
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
427
64k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Practical Orchestrator
shlominoach
186
10k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Agile that works and the tools we love
rasmusluckow
328
21k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
Automating Front-end Workflow
addyosmani
1367
200k
A designer walks into a library…
pauljervisheath
205
24k
Transcript
None
© Recruit Co., Ltd. All Rights Reserved 『SUUMO』の裏側!第2弾 〜機械学習エンジニアリング編 19:00~19:10:オープニング
19:10~19:30:ユーザーの住まい希望から生成するテーマ別レコメンドの取り組み 19:30~19:50:LLMを用いたフリーワードテキストの活用、 およびリアルタイムパイプラインへの導入 19:50~20:10:ディープニューラルネットワーク(DNN)の活用の試行錯誤 20:10~20:20:クロージング
© Recruit Co., Ltd. All Rights Reserved 登壇者ならびに事務局への質問は ZoomのQ&Aにご記入ください。 質問をお送りいただく際は、必ず
「匿名で送信」をチェックしてください。 質問者の名前が表示されてしまいます。 時間の関係上、質問への回答ができない 場合がございます。 ご了承ください。 質問について
© Recruit Co., Ltd. All Rights Reserved モデレーター • 所属
株式会社リクルート データ推進室 住まいデータソリューション部 部長 • 略歴 2018年にリクルート住まいカンパニー(現リクルート)へ 新卒入社。 『SUUMO』のデータサイエンティストとして、カウンター 出店やTVCM効果可視化・CRMなどマーケティングを主と したデータ分析案件に参画。2021年より住まい領域のデー タ活用を推進するグループのマネジャーを務め、2023年10 月~現職。 友近 圭汰 Keita Tomochika
© Recruit Co., Ltd. All Rights Reserved 領域紹介:SUUMO 『SUUMO』の裏側!第2弾〜機械学習エンジニアリング編 2024/01/30
© Recruit Co., Ltd. All Rights Reserved 6 住まいを探している ユーザ
不動産会社 ユーザと不動産会社の双方にとって 最適なマッチングを生み出す「場」を提供 進学に伴って 一人暮らしを 始めたい 家族が増えたので 今よりも広い マンションか戸建 を買いたい 実家を リフォームしたい 賃貸仲介会社 マンションデベロッパー 売買仲介事業者 ハウスメーカー 工務店 リフォーム事業者 住まいマッチングプラットフォーム SUUMOとは
© Recruit Co., Ltd. All Rights Reserved 7 主なサービス APP検索画面より
対応している種別と主なサービス ・アプリ(iOS / Android) ・Webサイト(PC / スマートフォン) ・相談カウンター (新築マンション / 注文住宅 / リフォーム)
© Recruit Co., Ltd. All Rights Reserved 8 SUUMO内のプロダクト体制 戸建・流通
新築 マンション 注文 カウンター 賃貸 リフォーム ・ 引越し 横断 マーケティング : TVCMなどのブランド・SEO/有料集客など プロダクトデザイン : UX磨き込み・業務オペレーション改善など プロダクトマネジメント : 事業戦略立案・投資計画策定など プロダクトディベロップメント : プロダクト設計・開発・運用など データ : リコメンド開発・業務生産性改善など それぞれの専門性を プロダクト改善に生かす 領域ごとの不解消に、Cross-Functionalなチームでコミットする
© Recruit Co., Ltd. All Rights Reserved 新築 マンション 9
SUUMOのデータ組織体制 戸建・流通 注文 カウンター 賃貸 リフォーム ・ 引越し 横断 アナリティクス エンジニア(AE) データエンジニア (DE) データサイエンティスト (DS) 機械学習 エンジニア(MLE) 専門性に特化した組織体制で SUUMOの中で優先度が高いデータ案件にコミットする ※グループについて、実際は複数に分かれてます
© Recruit Co., Ltd. All Rights Reserved 戸建・流通 賃貸 新築
マンション 注文 カウンター リフォーム ・ 引越し 横断 アナリティクス エンジニア(AE) データエンジニア (DE) データサイエンティスト (DS) 機械学習 エンジニア(MLE) 10 本日のLT Topics 1. ユーザーの住まい希望から生成するテーマ別レコメンドの取り組み 2. LLMを用いたフリーワードテキストの活用、およびリアルタイムパイプラインへの導入 3. ディープニューラルネットワーク(DNN)の活用の試行錯誤 3. MLE MLE 1. MLE MLE 2. MLExDE MLE DE
© Recruit Co., Ltd. All Rights Reserved 『SUUMO』の裏側!第2弾 〜機械学習エンジニアリング編 19:00~19:10:オープニング
19:10~19:30:ユーザーの住まい希望から生成するテーマ別レコメンドの取り組み 19:30~19:50:LLMを用いたフリーワードテキストの活用、 およびリアルタイムパイプラインへの導入 19:50~20:10:ディープニューラルネットワーク(DNN)の活用の試行錯誤 20:10~20:20:クロージング
© Recruit Co., Ltd. All Rights Reserved ユーザの住まい希望から⽣成する テーマ別レコメンド実現の取り組み 株式会社リクルート
データ推進室 住まいデータソリューション部 町⽥ 和哉 2025/01/30
© Recruit Co., Ltd. All Rights Reserved データ推進室 住まいデータソリューション部 住まい機械学習エンジニアリング2グループ
『SUUMO』の物件レコメンドの機械学習ロジックやAPI開発を担当 2017-2019 東⼯⼤⼤学院修了(専攻はNLP) 2019 新卒⼊社、SUUMOのデータ組織に配属 2019-現在 売買領域のレコメンド業務に従事 町⽥ 和哉 Machida Kazuya 写真 Profile 経歴 所属 13
© Recruit Co., Ltd. All Rights Reserved Agenda 1. 施策概要‧背景
2. テーマ⽣成処理 3. 検証結果と今後の展望 14
© Recruit Co., Ltd. All Rights Reserved SUUMOアプリについて SUUMOアプリは、賃貸‧売買物件検索アプリ 物件を探しをするユーザと、物件を掲載するクラインアントをマッチングさせるプラットフォーム
15
© Recruit Co., Ltd. All Rights Reserved 施策概要 アプリの初回起動時、簡単なプロフィールをユーザから取得し、 そのプロフィールを元に、様々なテーマに沿ったレコメンドをホーム画⾯で表⽰
※ 本施策はAndroidアプリの売買領域(*新築マンション除く)で実施 16 テーマ
© Recruit Co., Ltd. All Rights Reserved 施策背景 新規でアプリをインストールしたユーザの多くが、何もアクションせずに離脱しており 離脱率を改善したいという課題感があった
離脱要因として、2つの仮説と打ち⼿を整理 1. 住まいの希望条件を⾔語化できず、物件閲覧まで辿り着けない → 必要最⼩限のプロフィールをヒアリングし、その内容を元にテーマ別レコメンドを提供し、 興味のある物件を閲覧してもらう 2. 希望条件を⾔語化しても、SUUMO上で条件に合う物件を⾒つけることが難しい → 能動的に検索⾏動をせずとも、レコメンドを介した物件閲覧を繰り返すことで、 レコメンドが進化し、理想の物件に出会える体験を実現 17
© Recruit Co., Ltd. All Rights Reserved カスタマージャーニー 2つの打ち⼿から全体のジャーニーを描いた 18
物件閲覧 レコメンド精 度UP 行動ログ 蓄積 使えば使うほどレコメンド精度が上がり 受動的に理想の物件と出会える! プロフィール取得 ホーム画面遷移 アプリ インストール
© Recruit Co., Ltd. All Rights Reserved 取得するプロフィール 4項⽬をヒアリング •
おうちの種類 (新築⼀⼾建て / 中古⼀⼾建て / 新築マンション / 中古マンション / ⼟地) • 希望エリア (都道府県→市区郡まで) • 希望価格 (価格下限 ~ 価格上限) • 住む予定の⼈数 (⼤⼈⼈数, ⼦ども⼈数) 19
© Recruit Co., Ltd. All Rights Reserved テーマ別レコメンドの全体像 上記の⼀連の流れをリアルタイム処理で実現 今回の発表では「テーマ⽣成」部分を中⼼にお話しします
20 ホーム画面へ遷移 テーマ生成 1. 田園都市線沿い 2. 徒歩5分以内, 築10年以下 3. 世田谷, 3LDK, 7000万円以下 4. … レコメンド物件⽣成 画⾯表⽰ 1. 田園都市線沿いの物件 2. 徒歩5分以内, 築年数10年以下 3. 世田谷, 3LDK, 7000万円以下 4. …
© Recruit Co., Ltd. All Rights Reserved Agenda 1. 施策概要‧背景
2. テーマ⽣成処理 3. 検証結果と今後の展望 21
© Recruit Co., Ltd. All Rights Reserved テーマ⽣成処理 テーマ⽣成では⼤きく3つのステップから成る 1.
タグ候補⽣成 2. タグを組み合わせてテーマを⽣成 3. テーマの物件数判定 タグについて: タグはテーマを構成する要素であり、1~3個からなるタグの組み合わせをテーマと呼ぶ 7種類のタグカテゴリを⽤意 (カッコ内は具体例) • おうちの種類 (中古マンション) • 価格帯 (7000万円台) • エリア (世⽥⾕区) • 間取り(3LDK) • ⾯積 (100~110㎡) • 築年数 (築10年以下) • 駅徒歩 (徒歩5分以内) 22
© Recruit Co., Ltd. All Rights Reserved 1.タグ候補⽣成 プロフィールと照らし合わせ、タグカテゴリのタグ候補をユーザに合うものに絞り込む 例:「おうちの種類」カテゴリ
タグ候補 (新築⼀⼾建て / 中古⼀⼾建て / 新築マンション / 中古マンション / ⼟地) タグ候補 (中古マンション) プロフィールで取得していない間取り‧⾯積のタグカテゴリについては推定する⼿法を考案 23 おうちの種類:中古マンション希望 エリア:... 希望価格:... 住む予定の人数:... プロフィール
© Recruit Co., Ltd. All Rights Reserved 相互情報量を使った間取り‧⾯積の推定 「どのようなプロフィールの時に、どのような間取り‧⾯積が希望されやすいか」 を推定するため、SUUMOに蓄積されたデータを分析し、変換ルールを作成
分析対象データ:iOSアプリにて先⾏リリースされたおうちリクエストのデータ ∟ おうちリクエストとは:ユーザーの希望条件を細かく取得し、希望に沿った物件を提案する機能のこと ユーザーが回答した住まいの希望に関する約20問程度のアンケートデータが蓄積されている 分析内容: • 間取り:(住む⼈数, 間取り) • ⾯積 :(住む⼈数, ⾯積) (価格の上限, ⾯積) の関係を分析し「⼀⽅の情報を知った時に得られる、もう⼀⽅の情報量の多さ」の指標である相互情 報量に着⽬ この指標が⾼いほど相関が強いと⾔えるため、各組み合わせについて相互情報量を計算し、 値の⾼い組み合わせをユーザーが希望する間取り‧⾯積とした 24
© Recruit Co., Ltd. All Rights Reserved 住む⼈数の情報を知った時、各間取りについてどの程度の情報量が得られるかを定量化 相互情報量を I(X;
Y)と表すと 例: • I(間取り=1R; 住む⼈数=1⼈) = 0.2 • I(間取り=1LDK; 住む⼈数=1⼈) = 0.15 • I(間取り=2LDK; 住む⼈数=1⼈) = 0.05 • … という結果が得られ、この結果から住む⼈数が1⼈の場合は1Rである可能性が⾼いと解釈できる 間取り‧⾯積の推定(具体イメージ) 25
© Recruit Co., Ltd. All Rights Reserved 2.タグを組み合わせてテーマを⽣成 タグ候補を組み合わせてテーマを⽣成 26
タグ候補 • おうちの種類 (中古マンション / 中古⼀⼾建て) • 価格帯 (〇〇円台 / △△円台) • エリア (XX市 / YY市) • … テーマ • 中古マンション, 〇〇円台 • 中古⼀⼾建て, △△円台, XX市 • 中古マンション , △△円台, YY市 • …
© Recruit Co., Ltd. All Rights Reserved テーマと合致する物件数を計算し、レコメンド可能かを判定 この判定は、後続に物件レコメンド処理が控えているため、⼀定数以上の物件が残ることを担保する ために必要
しかし、リアルタイム処理の都合上、テーマのタグ1つ1つに対して、物件数の存在判定をしていくこ とは性能要件を満たせなかった そこで、タグを⽤いたフィルタ判定は最初に⾏わず、 各テーマがおおよそどの程度物件数を持つかを期待値で事前判定するステップを挟む⽅式とした 1. 物件数期待値の事前判定 2. タグを⽤いたフィルタ判定 3.テーマの物件数判定 27 1.中古マンション, 〇〇円台 全物件を中古マンションでフィルタ →〇〇円台でフィルタ →残った件数を確認 2.中古一戸建て, △△円台, XX市 全物件を中古一戸建てでフィルタ →〇〇円台でフィルタ →XX市でフィルタ→残った件数を確認
© Recruit Co., Ltd. All Rights Reserved 3-1.物件数期待値の事前判定 28 テーマに含まれるタグの発⽣確率を計算し、発⽣確率の積(=同時確率)から物件数の期待値を求める
この期待値が⼀定のラインを超えたテーマのみを採⽤し、期待値が低いテーマはこの時点で除外 発⽣確率は、各タグカテゴリごとに度数分布を計算し、擬似的に定義 例:テーマ「世⽥⾕, 3LDK, 7000万円台」 • エリア:世⽥⾕:3%, ⽬黒:2%、… • 間取り:1R:8%, …, 3LDK:10%, … • 価格帯:1000万円台:5%, …, 7000万円台:8%, … 仮に全国の物件を10万件とすると、物件数期待値は次のようになる 10万件 * 3% * 10% * 8% = 24件
© Recruit Co., Ltd. All Rights Reserved 3-2.タグを⽤いたフィルタ判定 テーマのタグに基づいて、必要な物件数が物件データに担保されているかを確認 3-1で⼤まかな件数の担保はできているが、厳密な物件数は同時確率では分からないため、
最終チェックを⾏う 最終的なテーマ群は、フィルタ判定を通過したテーマからランダムに選んだものを使っている 例:テーマ「世⽥⾕, 3LDK, 7000万円台」(物件数期待値は24件) 実際の物件データを使って件数を確認 • タグ1:世⽥⾕の物件 10万件→1000件 • タグ2:かつ、3LDKの物件 1000件→100件 • タグ3:かつ、7000万円台の物件 100件→20件 29
© Recruit Co., Ltd. All Rights Reserved テーマ別レコメンドの全体像 上記の⼀連の流れをリアルタイム処理で実現 30
ホーム画面へ遷移 テーマ生成 1. 田園都市線沿い 2. 徒歩5分以内, 築10年以下 3. 世田谷, 3LDK, 7000万円以下 4. … レコメンド物件⽣成 画⾯表⽰ 1. 田園都市線沿いの物件 2. 徒歩5分以内, 築年数10年以下 3. 世田谷, 3LDK, 7000万円以下 4. … 再掲
© Recruit Co., Ltd. All Rights Reserved Agenda 1. 施策概要‧背景
2. テーマ⽣成処理 3. 検証結果と今後の展望 31
© Recruit Co., Ltd. All Rights Reserved 検証結果 テーマ別レコメンド有無でABテストを実施 結果:
• コンバージョンレートが105%改善 • アプリ起動初回セッションにおいて、ユーザの物件閲覧率が改善 • プロフィール回答ユーザの再訪率も改善 アクションユーザー増、再訪率増という結果から 狙い通り物件探しの⼀歩⽬をサポートすることでき、離脱を減らすことができた! 32
© Recruit Co., Ltd. All Rights Reserved 今後の展望 現状のテーマ別レコメンドはまだまだ改善の余地がたくさんあるので、今後も改善活動を続けていき ます!
• タグカテゴリの拡充 • テーマのパーソナライズ • レコメンド物件ロジックの改善 • さらなる物件数判定の⾼速化 • などなど 33
Q&A
© Recruit Co., Ltd. All Rights Reserved LLMを⽤いたフリーワードテキストの活⽤、 およびリアルタイムパイプラインへの導⼊ 株式会社リクルート
データ推進室 住まいデータソリューション部 ⽣川 亮太 宮﨑悠樹 2025/01/30
© Recruit Co., Ltd. All Rights Reserved session 1:施策背景 session
2:LLMを⽤いたフリーワードテキストの活⽤ session 3:LLMを⽤いたパイプラインの構築と課題 session 4:まとめ Agenda 36
© Recruit Co., Ltd. All Rights Reserved データ推進室 住まいデータソリューション部 住まい機械学習エンジニアリング2グループ
『SUUMO』の物件レコメンドの機械学習ロジックやAPI開発を担当 2021- SUUMOのデータ組織に配属 2024-現在 SUUMO売買領域のレコメンド業務に従事 ⽣川 亮太 Narukawa Ryota Profile 経歴 所属 37
© Recruit Co., Ltd. All Rights Reserved 施策背景 session 1
© Recruit Co., Ltd. All Rights Reserved SUUMOアプリについて 39 SUUMOアプリは、賃貸‧売買物件検索アプリ
物件探しをするユーザーと、物件を掲載するクラインアントをマッチングさせるプラットフォーム
© Recruit Co., Ltd. All Rights Reserved SUUMOでの物件探しは絞り込み体験がメイン 40 SUUMOアプリは、絞り込み体験を基本としている
細かく検索条件を設定することで希望の物件を探すことが可能だが、ある程度の検索⼒が必要 マンションor戸建 新築or中古 都道府県選択 エリアor駅選択 基本条件の設定 こだわり条件の設定 一覧画面表示 物件の選択
© Recruit Co., Ltd. All Rights Reserved できれば⽇当たりが良く て2階以上、⾷洗機とかも あると嬉しい‧‧
⼀⽅で、ユーザーニーズは⼗⼈⼗⾊ 41 • ユーザーは⾃分のニーズを必ずしもSUUMOの検索条件に落とし込めるわけではない • ユーザーに要望をフリーワードで⼊⼒してもらうことで、ユーザーの多様なニーズを把握し、 ユーザー体験改善を狙う 買い物に便利なエリアが良いけ ど、住む場所は⾞通りの少ない静 かなところが良いかな ⼦どもがもうすぐ⽣まれ るけど、近くに⼦どもが 遊べる場所あるかな? おうちリクエストという機能の中 でユーザーの希望条件をフ リーテキストで入力可能 築浅かリフォーム済みで きれいな物件がいいな。 耐震性能なども気になる ‧‧
© Recruit Co., Ltd. All Rights Reserved • 基本的にSUUMOで扱うのはテーブルデータ ◦
物件ごとのデータ × レコメンド対象のユーザーのデータ で構成 • どのようにフリーテキストを活⽤するか?が論点となる SUUMOのレコメンドにどうテキストを活⽤するか? 42 都道府県 賃料 間取り … 最近見た エリア 最近見た 物件の賃料 最近見た 物件の間取り … 物件1 東京都 12万円 1LDK … 関東 11万円 1DK … 物件2 愛知 8万円 2DK … 関東 11万円 1DK … … … … … … … … … … 物件N 神奈川 10万円 ワンルーム … 関東 11万円 1DK … 物件データ ユーザーデータ
© Recruit Co., Ltd. All Rights Reserved LLMを⽤いたフリーワードテキストの活⽤ session 2
© Recruit Co., Ltd. All Rights Reserved • 施策アイデア ◦
フリーテキストからユーザーのニーズをタグとして抽出し、物件や物件が存在するエリア のタグとの⼀致特徴量を作ることで、レコメンド精度改善に寄与するのではないか? ◦ ユーザーニーズに合致したタグをユーザーに優先的に表⽰することでユーザーの物件探し がやりやすくなるのではないか? フリーテキスト活⽤施策アイデア 44 買い物に便利なエリア が良いけど、住む場所 は⾞通りの少ない静か なところが良いかな 抽出されたタグ • スーパーが近い • コンビニが近い • 閑静な住宅街 …. タグの活用 • ユーザーニーズに合致 したタグを優先表示 • 推薦モデルの特徴量に 入れて精度改善 ….
© Recruit Co., Ltd. All Rights Reserved • ルールベースでの抜き出しだと取りこぼしが多く、多くのユーザーの希望が抽出できない ◦
「南向きで、ペットと住める住宅」など、具体的なスペックを記載してくれると抜き出し やすい ◦ 「⼦どもが⼩さいので⾼い階ではない⽅がよいです」「共働き家庭で⼦育てする際の⽀援 が充実している地域に住みたい」など、抽象的な記載や要望はルールベースだと拾いきれ ない • タグの種類が変更になった場合にルールベースだと運⽤が⼤変になる ◦ 時代の流れで「低炭素住宅」のニーズが⾼まるなど • リリース当初でデータが⼗分になく、また正解データを作ることが困難なので、⾃前でタグ抽 出モデルを作るのには限界がある フリーテキスト活⽤の課題 45 LLMを活⽤することで学習データが少ない中 でもタグ抽出を⾏うことができるのでは?
© Recruit Co., Ltd. All Rights Reserved • サンプル評価データに対して正解を⼈⼒で作成し、ルールベース、各LLM×複数プロンプトで性 能評価を実施し、(当時)最善の結果だったLLM&プロンプトを採⽤
1. サンプル評価データに対して正解データを⼈⼒で作成 a. 例)「南向きで、ペットと住める住宅」→「南向き、ペットOK」のタグを正解とす るなど 2. ルールベース、各種LLM×プロンプトでタグ抽出を⾏い、結果をまとめる 3. 採⽤するモデルを選択する タグ抽出の評価⽅法 46 タグ抽出方法 Precision Recall F1 score ルールベース 0.8 0.3 0.44 GPT プロンプト1 … … … GPT プロンプト2 … … … Gemini プロンプト1 … … … … … … … 結果イメージ
© Recruit Co., Ltd. All Rights Reserved レコメンドシステムへの応⽤と今後の展望について 47 •
ユーザーが⼊⼒したフリーテキストからリアルタイムにタグを抽出し、タグをユーザーに表⽰ することや、モデル特徴量に⼊れることで精度改善することを確認した(処理の流れは次章以 降で説明) • 今後はタグ抽出モデルの作成や、テキスト⾃体をモデルに組み込んでいく等の取り組み(DNN の活⽤等)が考えられる レコメンド API Redis Lambda Kinesis APIGW おうち リクエスト OpenAI API カスタマー おうちリクエストの中の 住まいで重視する点 (フリーテキスト)を LLMでタグ付け ユーザーの入力から数秒後にはレコメン ドAPIから利用可能な状態に ユーザーの入力したテキストを リアルタイムに処理を行う
© Recruit Co., Ltd. All Rights Reserved LLMを⽤いたパイプラインの構築と課題 session 3
© Recruit Co., Ltd. All Rights Reserved データ推進室 住まいデータソリューション部 住まいデータエンジニアリング1グループ
『SUUMO』のリアルタイムデータ連携パイプラインの開発を推進 2022-現在 スタディサプリのデータ基盤開発に従事 2024-現在 SUUMOのデータ連携パイプラインの開発に従事 宮﨑 悠樹 Miyazaki Yuki Profile 経歴 所属 49
© Recruit Co., Ltd. All Rights Reserved LLMを⽤いたリアルタイム パイプラインの構築と課題 50
カスタマーが⼊⼒した おうちリクエスト を Redisに格納し、レコメンドAPIに提供 住まいで重視する点の⾃由記述項⽬に対し、OpenAI APIを利⽤し LLM でタグ付け レコメンド API Redis Lambda Kinesis APIGW おうち リクエスト OpenAI API カスタマー おうちリクエストの中の 住まいで重視する点 (自由記述項目)を LLMでタグ付け
© Recruit Co., Ltd. All Rights Reserved LLMを⽤いたリアルタイム パイプラインの構築と課題 51
OpenAI APIの利⽤にあたってはいくつか課題も‧‧‧ 課題1: 利用可能なトークン数が限られる 課題2: 遅い 課題3: 不安定
© Recruit Co., Ltd. All Rights Reserved 課題1: 利⽤可能なトークン数が限られる 52
OpenAI APIでは1分間に利⽤可能なトークン数が決まっている (クォータ) 住まいで重視する点の⾃由記述項⽬には「特になし」などの内容の無い記述も‧‧‧ → 限られたトークンを消費しないよう前処理でスキップ 有効な記述のみ APIコール 無効な記述はLLMをス キップ レコメンド API Redis Lambda Kinesis APIGW おうち リクエスト OpenAI API カスタマー
© Recruit Co., Ltd. All Rights Reserved 課題2: 遅い 53
OpenAI APIのレイテンシは平均1.2秒だが、最⼤は30秒もかかる おうちリクエストはLLM以外のレコメンドにも活⽤ 低レイテンシが求められるレコメンドとLLMで性能要件に応じて分岐 レコメンド API Redis Lambda OpenAI API 低レイテンシ レコメンド LLMの レコメンド
© Recruit Co., Ltd. All Rights Reserved 課題3: 不安定 54
OpenAI APIは結構不安定 (タイムアウト、通信エラー、レスポンスのフォーマット違反) ⽇次バッチでRedisをチェックし、OpenAI APIが失敗していたレコードはリトライ レコメンド API Redis Lambda Kinesis APIGW おうち リクエスト OpenAI API カスタマー 日次 バッチ (1) 有効なタグか チェック (2) 無効なタグは リトライ
© Recruit Co., Ltd. All Rights Reserved LLMを⽤いたリアルタイム パイプラインの課題と対策 55
OpenAI APIの課題とその対策 課題1: 利用可能なトークン数が限られる 課題2: 遅い 課題3: 不安定 前処理で意味のない記述はLLMをスキップ 要件に応じてLLMとパイプラインを分割 日次バッチでリカバリ処理を用意 今後はGPTモデルのEOSL対応や、Geminiなど他モデルへの対応をしていきたい
© Recruit Co., Ltd. All Rights Reserved まとめ session 4
© Recruit Co., Ltd. All Rights Reserved まとめ 57 •
ユーザーが入力したフリーテキストの要望をLLMを使ってタグ化 • 抽出したタグによりレコメンドが精度向上 • パイプライン実装にあたってはLLMならではの課題への対策を実施 • 検索条件に落とし込めないユーザー体験を改善したい
Q&A
© Recruit Co., Ltd. All Rights Reserved ディープニューラルネットワーク(DNN)の 活⽤の試⾏錯誤 株式会社リクルート
データ推進室 住まいデータソリューション部 芹澤 恒誠 2025/01/30
© Recruit Co., Ltd. All Rights Reserved 芹澤 恒誠 Serizawa
Kosei Profile 60 データ推進室 住まい MLE2G SUUMO(元々は賃貸、最近では⼾建)のレコメンドモデル‧API開発 2022-20XX 新卒⼊社 2022-2025 住まい DSとして従事(新卒3年⽬) 経歴 所属
© Recruit Co., Ltd. All Rights Reserved SUUMOのレコメンドって? 61 •
SUUMOには様々なレコメンドが存在する ◦ デバイス(Web‧アプリ)/ 領域(賃貸‧⼾建‧マンション)/ ページ に 応じたレコメンド 様々なレコメンド 様々な領域 様々なデバイス PC スマホ アプリ
© Recruit Co., Ltd. All Rights Reserved SUUMOのレコメンドって? 62 •
基本的にSUUMOで扱うのはテーブルデータ ◦ 物件ごとのデータ × レコメンド対象のユーザのデータ で構成 ◦ 決定⽊ベースの⼿法(LightGBM、CatBoost、etc…)が得意とする分野 都道府県 賃料 間取り … 興味 エリア 最近見た 物件の賃料 最近見た 物件の間取り … 物件1 東京都 12万円 1LDK … 関東 11万円 1DK … 物件2 愛知 8万円 2DK … 関東 11万円 1DK … … … … … … … … … … 物件N 神奈川 10万円 ワンルーム … 関東 11万円 1DK … 物件データ ユーザデータ
© Recruit Co., Ltd. All Rights Reserved SUUMOのレコメンドって? 63 •
物件数Nに⽐例して計算コストが⾮常にかかる ◦ 賃貸では数百万件の掲載物件すべてが候補になりうる ◦ 全ての物件について、⼀件ずつ決定⽊⼿法でスコアリングするのは⾮現実的 都道府県 賃料 間取り … 興味 エリア 最近見た 物件の賃料 最近見た 物件の間取り … 物件1 東京都 12万円 1LDK … 関東 11万円 1DK … 物件2 愛知 8万円 2DK … 関東 11万円 1DK … … … … … … … … … … 物件N 神奈川 10万円 ワンルーム … 関東 11万円 1DK … 物件データ ユーザデータ + 予測スコア 0.9 0.5 … 0.8 → → → … スコアリング
© Recruit Co., Ltd. All Rights Reserved SUUMOのレコメンドって? 64 •
ルールベースでスコアリング対象を限定 ◦ モデルのスコアリング対象を減らすことで計算コストを削減 都道府県 賃料 間取り … 興味 エリア 最近見た 物件の賃料 最近見た 物件の間取り … 物件1 東京都 12万円 1LDK … 関東 11万円 1DK … 物件2 愛知 8万円 2DK … 関東 11万円 1DK … … … … … … … … … … 物件N 神奈川 10万円 ワンルーム … 関東 11万円 1DK … 物件データ ユーザデータ + 予測スコア 0.9 … 0.8 → → … スコアリング → × ↑ スコアリング対象をユーザーの興味のあるエリアの物件に限定(一例)
© Recruit Co., Ltd. All Rights Reserved SUUMOのレコメンドって? 65 •
ルールベースの2-stage型 のメリット ◦ ユーザのニーズに合った物件を、わずか数百msでレコメンドすることが可能 物件データ ユーザデータ 1st stage 2nd stage ルールベース 候補生成 決定木 モデル N=数百万 N=数千 N=数十 レコメンド
© Recruit Co., Ltd. All Rights Reserved SUUMOのレコメンドって? 66 •
ルールベースの2-stage型 のデメリット ◦ 1st stageの候補⽣成ロジックに依存したレコメンドになる ◦ ルールベースによる候補⽣成はベースラインとしては良いものの 性能改善には限界があり、ルールが複雑化するほど計算コストもかかる… 物件データ ユーザデータ 1st stage 2nd stage ルールベース 候補生成 決定木 モデル N=数百万 N=数十 N=数千 レコメンド
© Recruit Co., Ltd. All Rights Reserved SUUMOのレコメンドって? 67 •
性能改善がしやすく計算コストも抑えられる候補⽣成アプローチとして、1st stage に 「DNN(Two-Tower)モデル」と「近似最近傍探索(ANN)」による候補⽣成ロジックを導⼊ 物件データ ユーザデータ 1st stage 2nd stage 決定木 モデル N=数百万 N=数十 N=数千 レコメンド ルールベース 候補生成 DNNモデル
© Recruit Co., Ltd. All Rights Reserved DNN(Two-Tower)モデル 68 •
Two-Tower ◦ DNN Encoderでユーザ/物件のEmbeddingをそれぞれ⽣成 ◦ ユーザEmbedding に類似する 物件Embedding を 近似最近傍探索(ANN)で取得 → ⾼速かつルールベースよりも⾼精度な候補⽣成が可能 ユーザデータ 物件データ DNN Encoder DNN Encoder ユーザ Embedding 物件 Embedding 近似最近傍探索(ANN)
© Recruit Co., Ltd. All Rights Reserved DNN(Two-Tower)モデル 69 •
Two-Towerのメリット ◦ 物件の属性(賃料‧⾯積など)が加味されたEmbeddingを⽣成‧利⽤するため、 協調フィルタリングやMatrix Factorizationが抱えるコールドスタート問題に対処可能 ◦ 物件のEmbedding は事前計算が可能なので、推論時の計算コストを軽くできる ユーザデータ 物件データ DNN Encoder DNN Encoder ユーザ Embedding 物件 Embedding 事前計算が可能 リアルタイムに計算
© Recruit Co., Ltd. All Rights Reserved DNN(Two-Tower)モデル 70 •
DNN化のメリット ◦ SUUMOには 様々なページのデータがある & ページに応じたレコメンド ▪ DNNなのでfine-tuningといったことが可能 ▪ ⾊々なページ、領域(賃貸‧⼾建‧マンション)間のデータで転移学習ができる ◦ ⾮構造データとの親和性 ▪ 決定⽊モデルでは扱いにくい画像やテキストなどのデータも扱える → さらなる精度向上のために試せることが⼤幅に増える
© Recruit Co., Ltd. All Rights Reserved 現在取り組んでいること 71 •
2nd Stage Model よりも⾼精度な 1st Stage Model を作りたい ◦ レコメンドが1つのモデルで完結できる 物件データ ユーザデータ 1st stage 2nd stage DNNモデル 決定木 モデル レコメンド N=数百万 N=数十
© Recruit Co., Ltd. All Rights Reserved 検証⽬的 72 •
モデルが1つになることで… ◦ 2-stageと⽐較し、さらに計算コストを軽減! ◦ 完全なend-2-endでの学習ができる! ◦ シンプルなシステム構成になるので、開発‧保守‧運⽤が楽になる! などなど、メリットが盛り沢⼭
© Recruit Co., Ltd. All Rights Reserved 検証時の課題とのぼり⽅ 73 •
2-Stage時のTwo-towerモデル は 決定⽊モデル と⽐べ、ランキング予測の精度では⼤きく劣る ◦ 当初は、特徴量追加 / 学習データ量の増加 などの細かい改善では到底勝てないレベル → 根本的な⾒直しが必要 • リクルートならではの環境を活⽤し、課題解決のための⽅針を迅速に⽴てた ◦ 上⻑や同期からの多数のアドバイス(個⼈ではなくチームで取り組む) ◦ リクルート全体で蓄積された過去の事例に基づくノウハウ ◦ (場合によっては)国際学会での情報収集 上長とのディスカッション 国際学会参加
© Recruit Co., Ltd. All Rights Reserved 実際の検証内容 74 •
前提として「モデルに求められる役割が違う点」が問題であると仮説⽴て ◦ 2-Stage時 … 「候補⽣成」が⽬的 ◦ 今回 … 「ランキング」が⽬的 • 学習⽅法を根本に⾒直した ◦ データセットの作り⽅を変える ▪ In-batch Negativeで学習 → Listwiseなデータセットに ◦ 学習Lossを変える ▪ CrossEntropyLoss → ランキング学習系のLossに • 他にも精度向上のための⼿⽴てを併せて実施 ◦ 転移学習を⾏う ▪ 社内先⾏事例で有⽤性が⽰されていた
© Recruit Co., Ltd. All Rights Reserved 検証結果 75 •
オフライン評価(ランキング指標)で、2-stageのLightGBMよりも⾼精度であることを確認 • 賃貸の⼀部レコメンド(App)で3週間ほどのオンラインABテストを実施(12.5万⼈が対象) 既存の2-stageのレコメンドと⽐較し、 ◦ ユーザーが将来的に資料請求する物件の予測率:4% 改善! ◦ 資料請求するユーザー数:0.9% 改善! ◦ 1ユーザーあたりの資料請求回数:0.7% 改善! → 当初の⽬的を達成!
© Recruit Co., Ltd. All Rights Reserved 今後の展望 76 •
検証としては本当に始まったばかりの段階 ◦ オフラインでの改善が確認できたのでとりあえず検証してみた、ぐらいの温度感 • 今後の展望として ◦ モデル構造を作り込む ◦ 特徴量の精査 ◦ データセットの作り⽅‧学習Loss設定まわりの改善 ◦ etc… といった具合に試したいこと‧改善余地が数多くある
© Recruit Co., Ltd. All Rights Reserved SUUMOだからこそ 77 •
SUUMOは物件数No1 ◦ DNNの学習では必須となる、⼤量のデータがある ◦ データ管理専⾨の部署が扱いやすいように保守‧運⽤してくれている • 技術検証に意欲的 ◦ ⾊々なことに挑戦させてもらえる環境がある ◦ 部署内外から様々なアドバイスがもらえる • 作ったモデルが実際にどの程度の効果を創出できているかがわかる ◦ ⾃分の作ったものがユーザーの役に⽴っていることが実感できる
Q&A
https://www.recruit.co.jp/special/techconference2025 リクルート テックカンファレンス リクルートの開発事例・ナレッジを共有する 技術カンファレンス
© Recruit Co., Ltd. All Rights Reserved 本日はイベントに参加いただきありがとうございました! 弊社に少しでもご興味をお持ちいただけた方:まずは情報収集しませんか?
リクルート データ組織のイベント等各種情報配信をご希望の方は 下記よりぜひご登録ください!
© Recruit Co., Ltd. All Rights Reserved 本日はイベントに参加いただきありがとうございました! 今後の運営のために、 アンケートへのご協力をどうぞよろしくお願いします。
イベント等各種情報配信をご希望の方もアンケート上からご登録可能です。