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
機械学習を使ったレシピ調理手順の識別
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.2k
AWSで実現した大規模日本語VLM学習用データセット "MOMIJI" 構築パイプライン/buiding-momiji
studio_graph
2
1.5k
技術を楽しもう/enjoy_engineering
studio_graph
1
590
めちゃくちゃ悩んでクックパッドに新卒入社して1年経った/newgrads_event2020
studio_graph
7
5.7k
クックパッドでの機械学習開発フロー/ml-ops-in-cookpad
studio_graph
9
15k
DWHを活用した機械学習プロジェクト/ml-with-dwh
studio_graph
6
5.3k
無理をしない機械学習プロジェクト2/step_or_not2
studio_graph
9
11k
知識グラフのリンク予測におけるGANを用いたネガティブサンプルの生成
studio_graph
4
4.2k
Other Decks in Technology
See All in Technology
ソニー銀行におけるビジネスアジリティ向上のためのクラウドシフト戦略
srenext
0
330
公式ドキュメントの歩き方etc
coco_se
0
110
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
2
470
なぜ私たちのSREプラクティスはなかなか機能しないのか 〜システムより先に組織を見る〜 / Why our SRE practices aren't really working
vtryo
3
3.8k
AI時代の開発生産性は、個人技からチーム設計へ
moongift
PRO
4
2.2k
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
1
120
SRE Next 2026 何でも屋からの脱却
bto
0
790
【Claude Code】鹿野さんに聞く 私の推しの並行開発環境 大公開 / claude-code-parallel-2026-07-15
tonkotsuboy_com
12
8.2k
CSに"SLO"は要らない、経営層に"99.9%"は伝わらない - SREを全社に"翻訳"する3原則
cscengineer
PRO
1
4.7k
Control Planeで育てるBtoB SaaSの認証基盤 - SRE NEXT 2026
pokohide
1
2.5k
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
13
6.3k
ruby.wasmとPicoRuby.wasmに対応した仮想DOMライブラリを作ってる話 #kaigieffect_kaigi
sue445
PRO
0
150
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
340
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Mobile First: as difficult as doing things right
swwweet
225
10k
Discover your Explorer Soul
emna__ayadi
2
1.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Believing is Seeing
oripsolob
1
170
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
45k
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