$30 off During Our Annual Pro Sale. View Details »
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
ガバメントクラウド利用システムのライフサイクルについて
techniczna
0
190
AI時代の開発フローとともに気を付けたいこと
kkamegawa
0
2.5k
チーリンについて
hirotomotaguchi
5
1.5k
日本Rubyの会の構造と実行とあと何か / hokurikurk01
takahashim
4
970
エンジニアリングマネージャー はじめての目標設定と評価
halkt
0
260
AWS Bedrock AgentCoreで作る 1on1支援AIエージェント 〜Memory × Evaluationsによる実践開発〜
yusukeshimizu
6
380
意外とあった SQL Server 関連アップデート + Database Savings Plans
stknohg
PRO
0
300
エンジニアリングをやめたくないので問い続ける
estie
2
480
Debugging Edge AI on Zephyr and Lessons Learned
iotengineer22
0
140
pmconf2025 - データを活用し「価値」へ繋げる
glorypulse
0
710
Sansanが実践する Platform EngineeringとSREの協創
sansantech
PRO
2
730
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
13
5.1k
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Designing for Performance
lara
610
69k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
YesSQL, Process and Tooling at Scale
rocio
174
15k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
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