Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
トピックモデルで1週間の献立をレコメンドする
Search
funain
March 02, 2019
Technology
0
6.2k
トピックモデルで1週間の献立をレコメンドする
コード付き解説ドキュメントの記事もアップしておきました。
http://moratoriamuo.hatenablog.com/entry/2019/03/05/004229
funain
March 02, 2019
Tweet
Share
More Decks by funain
See All by funain
第3回 クイズ大会 問題
funain
0
110
第3回 クイズ大会 解答
funain
0
110
第2回 クイズ大会 問題
funain
0
180
第2回 クイズ大会 解答
funain
0
150
2023年度にやりたいこと(めぐろLT会 #2)
funain
0
570
スクリーニング評価の注意点
funain
0
820
第1回 クイズ大会 問題
funain
0
1.8k
第1回 クイズ大会 解答
funain
0
290
フェアな比較を崩すもの ~交絡と効果修飾~ / Confounding EffectModification
funain
1
590
Other Decks in Technology
See All in Technology
5分で知るMicrosoft Ignite
taiponrock
PRO
0
360
Debugging Edge AI on Zephyr and Lessons Learned
iotengineer22
0
200
AIと二人三脚で育てた、個人開発アプリグロース術
zozotech
PRO
1
730
エンジニアリングをやめたくないので問い続ける
estie
2
1.2k
WordPress は終わったのか ~今のWordPress の制作手法ってなにがあんねん?~ / Is WordPress Over? How We Build with WordPress Today
tbshiki
1
770
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
210
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/09 - 2025/11
oracle4engineer
PRO
0
120
【AWS re:Invent 2025速報】AIビルダー向けアップデートをまとめて解説!
minorun365
4
520
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.5k
RAG/Agent開発のアップデートまとめ
taka0709
0
180
AIプラットフォームにおけるMLflowの利用について
lycorptech_jp
PRO
1
150
AWSセキュリティアップデートとAWSを育てる話
cmusudakeisuke
0
270
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
100
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
The Cult of Friendly URLs
andyhume
79
6.7k
Navigating Team Friction
lara
191
16k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
[SF Ruby Conf 2025] Rails X
palkan
0
520
Producing Creativity
orderedlist
PRO
348
40k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
Agile that works and the tools we love
rasmusluckow
331
21k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Transcript
トピックモデル ~ 1週間の献立を考える ~ Tokyo.R #76 LT 2019/03/02 1
自己紹介 2 • 名前 : もらとりあむお • Twitter : @moratoriamuo271
• 趣味 : ・飲酒 (ビールと日本酒) ・ 横浜DeNAベイスターズ ・バドミントン, カラオケ, ボードゲーム • 所属 : 4月から渋谷で働きます…
モチベーション 料理において、献立の決定は面倒くさい!! (プログラミングで名前付けが大変なように?) ↓ レコメンドエンジンを作ってしまおう!! • 同じものばかりオススメされても飽きるし、栄養も偏る • レシピをクラスタリングして、クラスタ別でオススメする 3
レコメンドエンジンの作り方 レシピデータの収集 {rvest}と{stringr} ワードクラウドで可視化 {wordcloud} 文書ターム行列の作成 {RMeCab}と{tm} LDAモデルの適用とトピック数の決定 {topicmodels}と{ldatuning} トピックによるレシピの分類とレコメンド
{tidytext}と自作関数 4
レシピデータの収集 5 クックパッドの「今日のご飯・おかず」カテゴリから500件収集
ワードクラウドで可視化 6
トピックモデルの説明 •文書が生成される過程をモデル化した確率モデル トピックごとに単語を生成する確率分布があり、単語の集合 である文書はそれぞれトピック(トピック分布)を持ち、それ らによって文書が生成されていくモデル • ユニグラムモデル → 混合ユニグラムモデル →
LDA と拡張 • 文書だけでなく、画像や購買履歴、ネットワークのデータ にも応用可能。 7
ユニグラムモデル 0 0.1 0.2 0.3 0.4 トピック : R データ
分析 前処理 パイプ 宇宙 8 <文書1> データの分析を する工程の9割 は前処理だ。汚 いデータ… <文書3> データ分析、そ れは宇宙。神。 … <文書2> パイプ演算子は 分析の工程を見 やすくする。パ イプはいいぞ…
混合ユニグラムモデル 0 0.1 0.2 0.3 0.4 0.5 トピック : スポーツ
野球 サッカー 選手 栄養 9 0 0.1 0.2 0.3 0.4 トピック : R データ 分析 前処理 パイプ 宇宙 0 0.1 0.2 0.3 0.4 0.5 トピック : 料理 切る 焼く 弱火 卵 <文書1> データの分析を する工程の9割 は前処理だ。汚 いデータ… <文書2> プロ野球の開幕 に向けて若手選 手がキャンプの … <文書3> ジャガイモを細 かく切って、カ リッとなるよう 焼きます… 0 0.1 0.2 0.3 0.4 0.5 0.6 トピック分布 R スポーツ 料理
LDA(Latent Dirichlet Allocation) 0 0.1 0.2 0.3 0.4 0.5 野球
サッカー 選手 栄養 10 0 0.1 0.2 0.3 0.4 データ 分析 前処理 パイプ 宇宙 0 0.1 0.2 0.3 0.4 0.5 切る 焼く 弱火 卵 <文書1> 過去のデータを 用いて、野球に おけるバントの 効果を分析… <文書2> スポーツ選手が アスリートとし ての身体を維持 するために卵料 理… 0 0.2 0.4 0.6 0.8 文書1のトピック分布 R スポーツ 料理 0 0.2 0.4 0.6 0.8 文書2のトピック分布 R スポーツ 料理
トピック数の決定方法 • パープレキシティ(perplexity)で評価 負の対数尤度から計算される値。testデータを使用。低い方が良いモデル。 • {ldatuning}パッケージを使用 4つの論文で提案された指標でモデルを評価。 • 変分下限でモデル評価 変分ベイズ法を用いて推定をしている場合。
• ディリクレ過程でトピック数もモデル化 階層ディリクレ過程を用いるとトピック数の推定が可能。 11
ldatuningとperplexity 12
分類と解釈をしてみる • Topic 3 グラタン, シチュー, スープ • Topic 8
唐揚げなど鶏肉料理 • Topic 15 サラダ • Topic 18 野菜炒め 13
レコメンドエンジンの完成 14
参考文献 • 岩田『トピックモデル』 • 佐藤『トピックモデルによる統計的潜在意味解析』 • 松浦『StanとRでベイズ統計モデリング』 • 小林『Rによるやさしいテキストマイニング[機械学習編]』 •
『Select number of topics for LDA model』 https://cran.r-project.org/web/packages/ldatuning/vignettes/topics.html • 『蒙古タンメン中本コーパスに対してのLDAの適用とトピック数の探索』 http://kamonohashiperry.com/archives/1619 • 『[R] トピックモデル(LDA)を用いた大量文書の教師なし分類』 https://qiita.com/YM_DSKR/items/017a5dddeb56fcdf1054 15
ENJOY!! 16