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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
SREとQA 二人三脚で進めるSLO運用/sre-qa-slo
sugitak
0
1.2k
個人開発で育てる「大規模設計の苗床」 - AI時代の1人開発から始める業務への知識接続 / The Seedbed for Large-Scale Design - From AI-Era Solo Projects to Professional Knowledge
bitkey
PRO
1
300
全社でのソフトウェアサプライチェーン攻撃対策をやってみた with Takumi Guard
z63d
0
180
しくみを学んで使いこなそう GitHub Copilot app
torumakabe
2
320
AI Native なプロダクト組織の立ち上げ方 : 生産性 100 倍への挑戦
mikesorae
0
1.1k
探索・可視化・自動化を一本化 Amazon Quickでデータ活用スピードを上げる方法
koheiyoshikawa
0
160
“それは自分の仕事じゃない"を越えて行け
yuukiyo
1
510
『モデル + ハーネス』で読み解く AIエージェント入門
oracle4engineer
PRO
1
150
Network Firewallやっていき!
news_it_enj
0
240
AIとハーネスで育てるトランスコンパイラ / 20260722 Yasushi Katayama
shift_evolve
PRO
3
710
10年目を迎えた「ABEMA」がどのように AI 活用を推進して、AI 駆動開発にシフトしているのか / How ABEMA, entering its 10th year, is promoting the use of AI and shifting toward AI-driven development
miyukki
0
350
複数プロダクト組織のAIネイティブ化における戦略 / AICon2026_kude
rakus_dev
0
280
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
380
Chasing Engaging Ingredients in Design
codingconduct
0
240
Navigating Team Friction
lara
192
16k
Designing Experiences People Love
moore
143
24k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Test your architecture with Archunit
thirion
1
2.3k
Thoughts on Productivity
jonyablonski
76
5.3k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.8k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
660
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The SEO identity crisis: Don't let AI make you average
varn
0
520
Marketing to machines
jonoalderson
1
5.6k
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