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
410
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
【WSSIT2019】食材名の分散表現学習を用いた料理レシピの栄養推定手法
umeco
0
530
Distributed prioritized experience replay
umeco
0
450
【WSSIT2018】料理レシピの分散表現を用いた代替食材の発見手法
umeco
2
590
Using an Artificial Financial Market for studying a Cryptocurrency Market
umeco
0
570
【WSSIT2017】過去の変動に対する類似検索を用いた短時間USD/JPY為替レート予測
umeco
0
460
Other Decks in Technology
See All in Technology
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
830
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
170
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
150
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
23
11k
Snykで始めるセキュリティ担当者とSREと開発者が楽になる脆弱性対応 / Getting started with Snyk Vulnerability Response
yamaguchitk333
2
180
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
180
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
160
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
250
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
180
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
150
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
160
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Unsuck your backbone
ammeep
669
57k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
510
Embracing the Ebb and Flow
colly
84
4.5k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Bash Introduction
62gerente
608
210k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
94
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
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種にすることによってより堅牢な分散表現が獲得できた