Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
SREへの勘違いに気づいた後の話
tomodakengo
0
150
データ_AIの事業の勝敗をわけるもの
nek0128
1
480
リアーキテクチャ後の障害ゼロを目指したShadow Testingの取り組み
nihonbuson
PRO
1
170
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
140
2026_devsumi_ozono.pdf
o3
3
580
Azure Serverless 2026:Production-ready な AI エージェント基盤 / Azure Serverless 2026: Production-Ready AI Agent Platform
miyake
2
550
AI時代、データエンジニアが一番おもろい
genshun9
0
690
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
5
1.9k
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
140
aws-iot-platform-architecture-use-cases.pdf
ma2shita
0
550
え、こんなに早く改修できるの?──新人エンジニアとスクラムマスターの2人が語る、AI×アジャイル開発の現場
ysasago
2
680
「今盗んで、後で解く」に備える ― AWSのポスト量子暗号入門
yama3133
1
110
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
Between Models and Reality
mayunak
4
460
GitHub's CSS Performance
jonrohan
1033
470k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
550
New Earth Scene 8
popppiees
4
2.6k
Accessibility Awareness
sabderemane
1
220
Navigating Team Friction
lara
192
16k
The Curse of the Amulet
leimatthew05
3
15k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.2k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
700
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