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
Databricksを活用してDELISH KITCHENのレシピレコメンドを開発した話
Search
Naoki Furuhama
April 10, 2024
Technology
1.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Databricksを活用してDELISH KITCHENのレシピレコメンドを開発した話
https://findy.connpass.com/event/313933/
Naoki Furuhama
April 10, 2024
Other Decks in Technology
See All in Technology
GoCon2026 - Open Source, Open World
sanposhiho
1
140
現場に行くだけでは足りない——プロダクトエンジニアが業務の流れを捉える観点と、その鍛え方
takumiengineering
0
320
Bet AI Day 2026丨Production-Ready AI Agents — エンタープライズの実務を任せるための設計と運用
layerx
PRO
4
2.6k
生成AIのテナント制御とシャドーMCP対策 | AIを"止めずに"、情報を守る
yukun
0
120
設計の世代交代を乗り越える、14年続くAndroidアプリの開発戦略
sansantech
PRO
1
150
PfEingのアプローチで働こう
rindrics
0
190
薬剤師(ドメインエキスパート)と一緒に育てる薬局向けAIアシスタント
kakehashi
PRO
2
120
20260906 「AWS運用入門」著者が教える、運用業務への生成AI活用入門
masaruogura
0
240
Tab5をRubyで動くパソコンにする
kishima
1
250
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
260
When Does a Local Qwen Start to Break
morshoto
0
190
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
0
190
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
440
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
710
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Statistics for Hackers
jakevdp
799
230k
Making Projects Easy
brettharned
120
6.7k
Designing Powerful Visuals for Engaging Learning
tmiket
1
530
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
290
My Coaching Mixtape
mlcsv
0
310
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
310
Transcript
Databricksを活用してDELISH KITCHENの レシピレコメンドを開発した話 2024/04/05 データ基盤だけじゃない! 意外と知らないDatabricks活用方法LT @Naoki_Furuhama
Copyright © 2015 every, Inc. All rights reserved. 2 自己紹介
株式会社エブリー 開発本部 CTO室 Data&AI データサイエンティスト 古濵 尚樹(Naoki Furuhama) 2022年 香川大学工学研究科 修了 2022年 株式会社エブリー 入社 現在3年目。入社後は、新規事業のデータ基盤構築や、 Databricksを用いた ETLパイプラインの開発に従事。現在は、 DELISH KITCHENのレシピレコメン ドの開発をメインで担当している。
3 Copyright © 2015 every, Inc. All rights reserved. 会社概要
会社名 設立 株式会社エブリー 東京都港区六本木 3-2-1 住友不動産六本木グランドタワー 38F 133.3億円 所在地 2015年9月1日(6月決算) 累計調達 主要株主 KDDI、伊藤忠食品、加藤産業、旭食品、セイノーホー ルディングス、味の素、 DCMベンチャーズ、グロービス・ キャピタル・パートナーズ、 WiL、DBJキャピタル、 SMBCベンチャーキャピタル、 SBIインベストメント他 エブリーは 3つの領域で日本最大級のメディアを運営! 生活に寄り添ったサービスを提供しています。 株式会社エブリー 開発部 X @every_engineer 株式会社エブリー 広報 X @every_pr
4 Copyright © 2015 every, Inc. All rights reserved. DELISH
KITCHENについて ▪ 日本最大級のレシピ動画サービス ▪ 「おいしい楽しい「食事」と「健康」をすべての人に」をミッションに毎日配信 ▪ SNS/APP/WEBを通じて専門家監修の50,000本以上のレシピ動画を提供
5 Copyright © 2015 every, Inc. All rights reserved. 今日する話
• DELISH KITCHENにおけるレシピレコメンドの概要 • Databricksを活用したレシピレコメンドの実装 ◦ ルールベース→機械学習(ML) 今日しない話 • データ基盤の詳細 • MLやレコメンドに関する詳しい説明 今日する話 / しない話
Copyright © 2015 every, Inc. All rights reserved. 6 メダリオンアーキテクチャを採用したデータ基盤
https://www.databricks.com/jp/glossary/medallion-architecture
Copyright © 2015 every, Inc. All rights reserved. 7 メダリオンアーキテクチャを採用したデータ基盤
https://www.databricks.com/jp/glossary/medallion-architecture
レシピレコメンド概要
9 Copyright © 2015 every, Inc. All rights reserved. 背景
▪ 日本最大級のレシピ動画サービス ▪ 「おいしい楽しい「食事」と「健康」をすべての人に」をミッションに毎日配信 ▪ SNS/APP/WEBを通じて 専門家監修の50,000本以上のレシピ動画 を提供 ユーザ数・レシピ数の増加とともに ユーザ自らが好みのレシピを見つけることが困難 DELISH KITCHENではユーザの嗜好に寄り添った アプリのパーソナライズに向けた開発をしています レシピのレコメンド開発を担当
10 Copyright © 2015 every, Inc. All rights reserved. レコメンドの対象面
ホーム 動画 レシピ詳細
11 Copyright © 2015 every, Inc. All rights reserved. レシピレコメンドの全体構成
全体構成 delta lakeにあるイベントログをデータソースとして、レコメンドするためのロジックを 集計する そのレコメンド結果をdelta lakeに保存 レコメンド結果をDelish ServerのRedisにデプロイし、アプリのリクエストに対して Serverがレシピを返す
12 Copyright © 2015 every, Inc. All rights reserved. レシピレコメンドの既存ロジック
データソース アプリのイベントログ ロジックはルールベースで集計 検索経由の視聴ログをもとに集計 動画の視聴秒数が多いレシピ上位k件をレコメンド
13 Copyright © 2015 every, Inc. All rights reserved. 既存ロジックの課題
動画を視聴をしないユーザもいる。 ユーザの目的が動画の視聴することではなく、レシピを探しているため。 このようなユーザには材料などが見れるレシピ詳細の表示ログをもとにレコメンドしたい。 動画を視聴したからと言って興味があるレシピとは限らない 複数のイベントログを組み合わせたい場合、ルールが複雑化 レコメンドの精度を上げるためにルールが複雑化していくのは目に見えている。 今回のケースで言えば、検索経由の視聴ログとレシピ詳細の表示ログを組み合わせたい など。
14 Copyright © 2015 every, Inc. All rights reserved. 新規ロジック
- 候補生成とリランキングによるアプローチ 候補生成 大規模なユーザ x アイテムの組み合わせを全て扱わず、 ユーザ一人当たりに対してレコメンド対象となる候補を生成 する リランキング ユーザの嗜好に合ったレシピをレコメンドするために、候 補を並び替える https://storage.googleapis.com/pub-tools-public-publication-data/pdf/45530.pdf 候補生成とリランキングの2つのステージにわ けてレコメンドする手法 候補生成 → spark.sqlで集計 リランキング → ML
候補生成とリランキングの実装
16 Copyright © 2015 every, Inc. All rights reserved. 候補生成とリランキングの全体像
17 Copyright © 2015 every, Inc. All rights reserved. リランキング(学習)
正解ラベル • 翌日以降の動画の視聴有無 ◦ 0 or 1 学習 • LightGBMで二値分類問題を解くタスク • 実験およびリランキングモデルはmlflowで 管理 既存ロジック 新規ロジック
18 Copyright © 2015 every, Inc. All rights reserved. リランキング(候補と特徴量)
候補 • 候補をfull outer joinして候補群を作成 ◦ 検索経由の視聴 ◦ レシピ詳細の表示 • 候補群のuser x recipeからレコメンド 検索経由 の視聴 レシピ詳細の 表示 候補群 ユーザ行動 特徴量 full outer join レシピの栄養素 特徴量 特徴量 候補群 特徴量 • 候補群と各特徴量をleft joinして特徴量 を作成 • ユーザ行動 ◦ 視聴秒数、タップログ等 • レシピの栄養素 ◦ カロリー、たんぱく質、脂質、糖質等 left join
19 Copyright © 2015 every, Inc. All rights reserved. 候補生成
候補生成の仕組みをmodule化 • 使い回しやすい 2-stage recommender systemの デザインパター ンを考えて実装した話 Databricksのpython fileで切り出し • Candidateクラス • QueryGeneratorクラス • Evaluatorクラス
20 Copyright © 2015 every, Inc. All rights reserved. 候補生成
候補生成モジュールに実装されている候補一覧 を、delta lakeに保存 候補生成 • queryをQueryGeneratorから取得 • spark.sql(query)を実行 評価 • 生成した候補と正解データを元に評価 • precision@k, recall@k, map@k等
21 Copyright © 2015 every, Inc. All rights reserved. リランキング(予測)
予測 • 最新の候補群と特徴量から動画の視聴する確率を 予測 • 確率の高いレシピの上位k件をレコメンド
22 Copyright © 2015 every, Inc. All rights reserved. A/Bテスト
評価指標 • クリック率 control • 既存ロジック(視聴秒数で降順に並び替え) test1 • 新規ロジック(リランキングモデルの予測値で並び替え)
23 Copyright © 2015 every, Inc. All rights reserved. まとめ
弊社テックブログに詳細な話をまとめてます! DELISH KITCHENのレシピのレコメンドに Two-stage Recommender Systemsを導入するまでの道のり https://tech.every.tv/entry/2024/03/27/160717 • ユーザ数・レシピ数の増加に伴い、DELISH KITCHENではレシピのレコメンドを開発中 • よりユーザの嗜好に寄り添ったレコメンドを実現するために、ルールベースから候補生 成とリランキングによるレコメンドを実装・検証した • A/Bテストしたところ、クリック率の改善がみられた
Copyright © 2015 every, Inc. All rights reserved. 24 エブリーからのお知らせ
一緒にサービスを作る仲間を大募集中です! 🔍 エブリー 採用 https://corp.every.tv/recruits • エンジニアリングブログもやってます • エブリー公式採用オウンドメディア「every.thing」はこちら https://tech.every.tv/ https://everything.every.tv/
None