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
機械学習を使ったレシピ調理手順の識別
Search
開発室Graph
July 27, 2018
Technology
2.2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
機械学習を使ったレシピ調理手順の識別
機械学習を使ってレシピの調理手順を識別する話です。
開発室Graph
July 27, 2018
More Decks by 開発室Graph
See All by 開発室Graph
運転動画を検索可能にする〜Cosmos-Embed1とDatabricks Vector Searchで〜/cosmos-embed1-databricks-vector-search
studio_graph
3
1.4k
AWSで実現した大規模日本語VLM学習用データセット "MOMIJI" 構築パイプライン/buiding-momiji
studio_graph
2
1.7k
技術を楽しもう/enjoy_engineering
studio_graph
1
620
めちゃくちゃ悩んでクックパッドに新卒入社して1年経った/newgrads_event2020
studio_graph
7
5.8k
クックパッドでの機械学習開発フロー/ml-ops-in-cookpad
studio_graph
9
15k
DWHを活用した機械学習プロジェクト/ml-with-dwh
studio_graph
6
5.5k
無理をしない機械学習プロジェクト2/step_or_not2
studio_graph
9
11k
知識グラフのリンク予測におけるGANを用いたネガティブサンプルの生成
studio_graph
4
4.3k
Other Decks in Technology
See All in Technology
Sizing, Benchmarking and Performance Tuning Apache Flink Clusters
rmetzger
0
130
IoTとは〜? 数字で見るSORACOM UG【SORACOM UG Explorer 2026】
soracom
PRO
0
290
Kiro Crew 入門 (手を離しても進む仕事) | 目指せ Kiro マスター 11
inariku
PRO
4
490
Deep Data Security 機能解説
oracle4engineer
PRO
3
1k
bpf_arenaとstruct_opsを使うのが難しかった話
masu_mi
0
210
レガシーコードに対する loop engineering的なAI開発プロセス導入について
kubell_hr
0
280
ライフワーク「猫でもわかるDirectConnect」
kentapapa
0
270
`go get`したらELFが降ってきた件
taiyow
0
190
AI時代のエンジニアの情報発信〜個人の発信を組織の力に変える〜
ryo_kawamata
1
7.4k
Microsoft Entra Kerberos で実現するクラウド デバイス管理
tamaiyutaro
2
640
生成AI時代のIAMのマニアックな話
takuros
6
2.7k
Claude Codeで作ったアプリを安全に公開する/Built with Claude Japan 2026
yoshidashingo
0
200
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
610
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
560
WCS-LA-2024
lcolladotor
0
980
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
60k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
290
The Pragmatic Product Professional
lauravandoore
37
7.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
470
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Transcript
機械学習を使った レシピ調理手順の識別 C-8 #devsumiC クックパッド株式会社 研究開発部 エンジニア 1
クックパッド • 毎日の料理を楽しみにするサービス • 月間約5,500万人 • レシピ数は290万品 • 大量の画像・テキストデータ •
ユーザがレシピを書いて投稿 ◦ かなり自由な投稿が可能 ◦ 気軽に投稿できる 2
課題の設定 3
調理手順 • クックパッドのレシピ ◦ タイトル ◦ 材料・分量 ◦ 調理手順 ▪
画像とテキストで入力 できる 4
調理手順 or Not • 調理の手順そのものではないもの (非手順)がある • 料理に関する手順のみを抜き出した い ↓
• 非手順を識別するアルゴリズム を作った 5
ルールベースな方法を試す 6
機械学習を使わずに解けないか • データを眺めて開発者が自ら解いてみる ◦ 非手順には出てくる単語が限られている ◦ 文章全体を見ることはなく特定のキーワードで判断していた • まずはキーワード抽出でできないかやってみる •
機械学習を使わずに済むならそれに越したことはない ◦ メンテナンスも楽だし可読性も高い 7
キーワード抽出でやってみる • 非手順 ◦ 人気レシピに多い ◦ 必ず調理手順の後ろの方に存在 • 人気レシピの調理手順のうち後ろ10件 を取得する
• キーワードを抽出する ◦ 単語ごとに分割する ◦ 多く出現する順に並べる ◦ ['掲載', 'つくれぽ', '話題', '感謝', 'み なさん', '100人', 'レシピ', 'コメント', ' れぽ', 'ありがとう'] 8
キーワード抽出はうまくいかない • うまくいかない例 ◦ 上に三つ葉を散らしたらできあがり→非手順と判定 ◦ ◦◦さんがマヨネーズを足して作ってくれました→手順と判定 • Accuracy(正解率) ◦
51.7% 9
機械学習を試す 10
機械学習を試してみる • まずはスコアを出すことを第一に考える • 一般的な手法に頼る ◦ キーワードの組み合わせの出現の特徴量を使って分類 ▪ TF-IDFベクトル •
単語の出現回数を重み付けしたもの ▪ ロジスティック回帰 • データを2値分類する手法 11
92.4% Accuracy 12
実験だけでなくリリースまでやる • サービスから参照可能にするためにデータベースに投入 ◦ 毎週ペアプロしながらバッチにしていった ◦ スコアを確認しつつリファクタリング • 実際にサービスへ投入予定 ◦
スマートピーカーによるレシピの音声読み上げ ◦ レシピ検索のインデックスからの除外 13
まとめ 14
やるべきことをやるべき順でちゃんとやる • ディスカッション/ヒアリング しながら進めた ◦ 1人で黙々とやるものではない ◦ 課題設定も含めタスクの全行程で行った • 一般的な手法を使った
◦ 一般的な手法でちゃんとうまくいった ◦ ディープラーニングはうまくいかなかったときに使う • きちんと性能をチェックした ◦ 正解率だけを見ない ◦ 機械学習には性能をチェックする方法がいくつかある • ちゃんとバッチ化をした • 結果を記録に残していく 15