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
Cookpad_R&D_internship_2018_byumeco
Search
umeco
September 06, 2018
Technology
0
460
Cookpad_R&D_internship_2018_byumeco
In 2018, I had worked summer internship of R&D at Cookpad.
This slides is my report of it.
umeco
September 06, 2018
Tweet
Share
More Decks by umeco
See All by umeco
Clineプロンプト徹底解剖
umeco
0
590
LLMでの多言語対応どうする問題
umeco
0
180
大生成AI時代の新規事業戦略を考える
umeco
0
140
【WSSIT2019】食材名の分散表現学習を用いた料理レシピの栄養推定手法
umeco
0
580
Distributed prioritized experience replay
umeco
0
500
【WSSIT2018】料理レシピの分散表現を用いた代替食材の発見手法
umeco
2
650
Using an Artificial Financial Market for studying a Cryptocurrency Market
umeco
0
610
【WSSIT2017】過去の変動に対する類似検索を用いた短時間USD/JPY為替レート予測
umeco
0
500
Other Decks in Technology
See All in Technology
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
Android Audio: Beyond Winning On It
atsushieno
0
3.4k
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/06 - 2025/08
oracle4engineer
PRO
0
110
プラットフォーム転換期におけるGitHub Copilot活用〜Coding agentがそれを加速するか〜 / Leveraging GitHub Copilot During Platform Transition Periods
aeonpeople
1
240
20250905_MeetUp_Ito-san_s_presentation.pdf
magicpod
1
100
メルカリIBISの紹介
0gm
0
370
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
190
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1.1k
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
270
Create Ruby native extension gem with Go
sue445
0
130
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
320
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
For a Future-Friendly Web
brad_frost
180
9.9k
BBQ
matthewcrist
89
9.8k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Optimizing for Happiness
mojombo
379
70k
Why Our Code Smells
bkeepers
PRO
339
57k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Transcript
レシピの分散表現を用いたアレンジ度の算出 青山学院大学大学院 知能情報コース1年 梅本晴弥 2018 年 8 月 24 日
目次 1. 個人ワークのアイデアと目標 2. アプローチした手法 3. 実験と考察
目次 1. 個人ワークのアイデアと目標 2. アプローチした手法 3. 実験と考察
個人ワークにおけるアイデア 検索方法 • 現在、大きく分けて新着順と人気順が実装 • つくれぽ数、調理時間、レシピの種類等で絞り込みが可能 別の検索方法が実装されれば便利なのでは?
現在の検索方法の考察 新着順 • 新しいレシピが上位に表示(完全に時系列順ではない?) • 時間が経過したレシピは検索されづらくなる 人気順 • 人気のレシピが上位に表示(閲覧数orつくれぽ数?) •
新しいレシピはこの上位に入りづらい(古いレシピが有利?) 時間が経過し見られなかったレシピは埋もれてしまう!
目標:アレンジ度を用いたレシピの検索 個人的な考えとして 料理経験が浅い人:基本的なレシピを検索したい 料理経験が深い人:アレンジされたレシピも検索したい レシピのアレンジ度が計算できれば実現可能 かつ 時間・人気に縛られず検索可能
目次 1. 個人ワークのアイデアと目標 2. アプローチした手法 3. 実験と考察
アレンジ検索のイメージ レシピを分散表現化 検索によるレシピの絞り込み(カレー) 重心ベクトルを算出し基本レシピとする 基本レシピと他のレシピの類 似度をアレンジ度とする
レシピの分散表現化 doc2vecを用いてレシピの分散表現を獲得 レシピ(100万件)から得た2種類のデータに対しdoc2vecを適用 1. レシピの手順を全て結合し、1文書とみなし学習(step-vec) 2. レシピの食材を1文書とみなし学習(food-vec) 前処理としてNEologdで分かち書き 1. step-vecは名詞、動詞のみ
2. food-vecは名詞のみ parameter: PV-DM, 100dim, window-8, min_count-10, 30 epochs
アレンジ検索のその他の詳細 レシピの検索 • レシピのタイトルに検索文字列が 含まれているものを抽出 • 誤抽出もある程度存在 重心ベクトルの算出 • 抽出されたレシピの分散表現の平
均を取ることで算出 • 外れ値に対する処理は行わなかっ た
目次 1. 個人ワークのアイデアと目標 2. アプローチした手法 3. 実験と考察
分散表現の妥当性 獲得した分散表現で上手く類似レシピを発見できるか step-vec target: 子供が喜ぶクリスマスケーキ デコ♪ 子どもと一緒に!こいのぼりのケーキ トーマスケーキ 6歳の誕生日ケーキ 宝箱 ミニーちゃんキャラケーキ
新定番!!南瓜の塩バター煮。 キャラデコケーキ*スーパーマリオ ☆ふわふわしっとり☆チーズ蒸しパン♪ 誕生日キャラケーキ 長~いSLマン 4歳 仮面ライダーダブルのケーキオリジナル かわいい♪リラックマのカップケーキ food-vec target: 子供が喜ぶクリスマスケーキ デコ♪ キャラ弁☆オカザえもんのおにぎり 特製★梅シロップ★ 新じゃがのガーリック炒め もやしナムル 簡単な作り方 簡単!! トロ玉キャベツだぁ~ ☆今日のおやつはオムレット☆ 鶏とサラダ豆のオーロラソースサンド めかぶ★パスタ 旨苦ニガ☆ゴーヤのさっぱりおひたし ネバネバオクラの三色丼 step-vecのほうがより正確に類似レシピを算出できている
重心ベクトルは基本料理か確認(カレーを検索:26000件) 重心ベクトルは基本料理ではなさそう... step-vec:類似TOP10 0.95:残りカレーで チーズカレー トースト♪ 0.95:残りカレーでドリア! 0.95:2日目カレーで☆なんちゃってドリア 0.94:骨付き鶏肉のグリーンカレー 0.94:白身魚のクリーム&カレー風味
0.94:残ったカレーでカレードリア★ 0.94:エビと夏野菜のさらさらスパイシーカレー 0.94:本場の味☆簡単焼きカレー 0.94:豆腐ちくわカレー 0.94:じゃじゃっと牛蒡でカレーパスタ step-vec:非類似TOP10 0.05:バターチキンカレー:ルー不使用★簡単本格 0.08:イカとピーマンのカレー炒め 0.08:細切りジャガイモとハムのカレー炒め 0.08:スタミナ★夏野菜カレー☆ 0.09:味付け玉子カレー醤油風味☆お弁当のおかず 0.09:牡蠣のオイル漬けカレー風味 0.10:カレー鍋の残りでホットミルクパスタ 0.10:カレーの残りで野菜炒め 0.10:デコカレー 虹色ご飯 0.10:♪お正月に作ろう♪カレー
可視化による基本料理の確認1 PCAによって2次元に圧縮(1000サンプル)
可視化による基本料理の確認2 重心ベクトルの場所(-0.0062 -0.0236)
可視化による基本料理の確認3 オーソドックスな料理を分散表現化、その 位置を表示させてみる 入力手順:ジャガイモ、人参、鳥肉は一口 大のサイズにカット、玉ねぎはみじん切 り。カットした具材におろしにんにく、おろし しょうがをお好みで加えてきっちり炒める。 水1250mlを加えて15分中火で煮込む。こ の時灰汁をとっておく。カレー粉を加えて 中火で10分煮込む。カレー粉が溶けたら
完成。 重心ベクトル(-0.0062 -0.0236) 基本 料理ベクトル(0.6449 -0.4223)
基本料理ベクトルが上手く取得できた場合 先程の基本料理ベクトルを基準とした場合 step-vec:類似TOP10 0.65:こくまろ〜なカレー 0.63:夏野菜コロコロドライカレー♪ 0.61:夏野菜いっぱいラブリーカレー 0.61:意外と美味しい♪ ちくわのカレー 0.61:夏野菜ドライカレー 0.60:夏野菜たっぷり!我が家の夏野菜カレー 0.60:グリーンカレー
0.60:我が家のカレー(黒豆投入編) 0.60:鶏肉のカレー煮込み 0.60:コロコロ野菜のカレー step-vec:非類似TOP10 -0.20:*おつまみに*手羽先のカレー粉揚げ* -0.16:簡単!1晩寝かせたカレーを今日♪ -0.13:すき家のカレーをアレンジしたよ♡野菜♡ -0.13:ミートソース味のドライカレーもどき -0.13:簡単★タイ風エビのグリーンカレー -0.13:ママのドライカレー -0.12:グリンピースとパニール のインドカレー -0.11:ご飯の時間ですよ~◆花時計カレー -0.11:私流のカレーうどん -0.10:挽肉とトマトのカレー 見た感じ重心ベクトルよりもアレンジ度がより良く計算できている
基本料理ベクトルが上手く取得できた場合 先程の基本料理ベクトルを基準とした場合 food-vec:類似TOP10 0.60:カレーライス 0.60:すき家の新カレーで!超簡単ひよこ豆のパテ 0.56:簡単☆ヘルシー☆炊飯器でカレーライス 0.55:お手軽キーマカレー 0.55:圧力鍋で作る牛スジカレー 0.53:デミグラスソースでひき肉カレー 0.52:キャベツとグリーンピースのカレー
2 0.50:サラサラがお好み❤ひき肉のカレーライス 0.50:ダイエットドライカレー 0.50:30分で激うまカレー♡ food-vec:非類似TOP10 -0.35:お弁当に!カレーライスおいなりさん☆ -0.32:クリスマスに☆カレーマリネチキン焼き -0.31:ツルムラサキのカレー味炒め -0.31:ジャガ&ベーコン ちょっぴりカレー風味 -0.30:☆10分で簡単!ガーリックビーフカレー☆ -0.30:ほんのりココナッツ風味の牛乳カレー -0.29:余ったカレーで♪焼きカレー -0.29:チキンカレー -0.27:昆布水を使ってビーフカレー大好評♪ -0.27:残ったカレーと麺つゆの簡単カレーうどん
2種の分散表現を用いてアレンジ度を算出 step-vec → 先程の基本料理ベクトルを基準とする food-vec → 'にんにく', 'ルー', '塩コショウ', '肉こま切れ', 'じゃがいも', 'にんじん', 'たまねぎ'の分散 表現を基準とする
類似度:2種類の分散表現による類似度の積を最終的な類似度とする アレンジ度: 類似度が高い → 基本料理ベクトルに似ているのでアレンジ度は低い 類似度が低い → 基本料理ベクトルと似ていないのでアレンジ度は高い
2種の分散表現を用いたアレンジ度 類似TOP10 0.19:簡単♪ドライカレー 0.19:釜玉風♥カレーうどん 0.18:自分流カレー(覚書)圧力鍋 0.18:豆腐ペーストでカレールー♪ 0.17:ホットプレートで簡単カレーパエリア 0.15:野菜カレー! 0.15:野菜たっぷり鶏天カレー 0.14:ニラ鶏そぼろ乗っけカレー
0.14:フルーティーな秋味ドライカレー✿◌ฺ 0.14:カレー焼きそば 非類似TOP10 6e-09:春菊とハムのカレーヨーグルト和えサラダ 7e-07:きいろのトラネコちゃんカレー 1e-06:隠し味はカラメル!?こくあまカレー 1e-06:簡単キャラカレー ライオンさん 2e-06:リメイクレシピ★お味噌汁からのカレー! 3e-06:簡単!ジャーマンポテトサラダカレー風味 3e-06:レンジ料理☆タニタ流豆腐のカレー風味丼 6e-06:鶏団子ゴロゴロ!ポパイスープ❤カレー風味 6e-06:簡単☆ドライカレー 6e-06:鶏レバーのカレー風味炒め=ブッタン 非類似にカレーではない食材が多く出現 アレンジ度がの算出が以前より正確に
考察 重心ベクトルが基本料理ベクトルとならなかった → 基本的なレシピの投稿が少なく、単純な平均では求められない レシピ間の類似度は良い精度で取れていた → 基本料理ベクトルさえ取得できれば、アレンジ度の計算は可能 2種の分散表現を用いることでより良くアレンジ度が計算できた → 1種では手順や食材の書き方によって分散表現が大きくぶれてしまう が、2種にすることによってより堅牢な分散表現が獲得できた