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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Naoki Furuhama
April 10, 2024
Technology
750
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
RAGの精度向上とエージェント活用
kintotechdev
2
130
そのタスクオンスケですか?
poropinai1966
0
130
打造你的 AI 工作流:Agent Skill + MCP 實戰工作坊
appleboy
0
540
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
#エンジニアBooks 30分でわかる 「技術記事を書く技術」 / engineer-books 2026-06-30
jnchito
1
190
型は壁、Rustでもバグを直すな、表現できなくせよ
nwiizo
10
1.2k
Hatena Engineer Seminar 37 jj1uzh
jj1uzh
0
430
記録をかんたんに、提案をパーソナルに ── AIであすけんが目指すもの
oprstchn
0
140
はじめてのWDM
miyukichi_ospf
1
110
Compose 新機能総まとめ / What's New in Jetpack Compose
yanzm
0
120
Agentic AI 時代のテスト手法: Kiro とはじめるプロパティベーステスト (AWS Summit Japan 2026 | DEV212)
ymhiroki
0
210
Text-to-SQLをAgentCoreで実現し、生成されるSQLの精度を定量的に評価する
yakumo
2
560
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
150
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
270
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
220
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
760
Thoughts on Productivity
jonyablonski
76
5.2k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
330
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
270
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
180
How to train your dragon (web standard)
notwaldorf
97
6.7k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
460
Embracing the Ebb and Flow
colly
88
5.1k
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