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
トピックモデルで1週間の献立をレコメンドする
Search
funain
March 02, 2019
Technology
0
5.8k
トピックモデルで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
99
第3回 クイズ大会 解答
funain
0
100
第2回 クイズ大会 問題
funain
0
170
第2回 クイズ大会 解答
funain
0
140
2023年度にやりたいこと(めぐろLT会 #2)
funain
0
550
スクリーニング評価の注意点
funain
0
790
第1回 クイズ大会 問題
funain
0
1.5k
第1回 クイズ大会 解答
funain
0
280
フェアな比較を崩すもの ~交絡と効果修飾~ / Confounding EffectModification
funain
1
570
Other Decks in Technology
See All in Technology
我々は雰囲気で仕事をしている / How can we do vibe coding as well
naospon
2
220
OpenAPIから画面生成に挑戦した話
koinunopochi
0
150
ドキュメントはAIの味方!スタートアップのアジャイルを加速するADR
kawauso
3
360
退屈なことはDevinにやらせよう〜〜Devin APIを使ったVisual Regression Testの自動追加〜
kawamataryo
2
470
あなたの知らない OneDrive
murachiakira
0
240
TypeScript入門
recruitengineers
PRO
14
3.9k
.NET開発者のためのAzureの概要
tomokusaba
0
230
Preferred Networks (PFN) とLLM Post-Training チームの紹介 / 第4回 関東Kaggler会 スポンサーセッション
pfn
PRO
1
190
小さなチーム 大きな仕事 - 個人開発でAIをフル活用する
himaratsu
0
120
実践アプリケーション設計 ③ドメイン駆動設計
recruitengineers
PRO
2
190
知られざるprops命名の慣習 アクション編
uhyo
10
2.5k
キャリアを支え組織力を高める「多層型ふりかえり」 / 20250821 Kazuki Mori
shift_evolve
PRO
2
300
Featured
See All Featured
Music & Morning Musume
bryan
46
6.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Writing Fast Ruby
sferik
628
62k
Done Done
chrislema
185
16k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Embracing the Ebb and Flow
colly
87
4.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
480
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