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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
funain
March 02, 2019
Technology
6.8k
0
Share
トピックモデルで1週間の献立をレコメンドする
コード付き解説ドキュメントの記事もアップしておきました。
http://moratoriamuo.hatenablog.com/entry/2019/03/05/004229
funain
March 02, 2019
More Decks by funain
See All by funain
第3回 クイズ大会 問題
funain
0
130
第3回 クイズ大会 解答
funain
0
130
第2回 クイズ大会 問題
funain
0
210
第2回 クイズ大会 解答
funain
0
170
2023年度にやりたいこと(めぐろLT会 #2)
funain
0
610
スクリーニング評価の注意点
funain
0
900
第1回 クイズ大会 問題
funain
0
2.4k
第1回 クイズ大会 解答
funain
0
320
フェアな比較を崩すもの ~交絡と効果修飾~ / Confounding EffectModification
funain
1
630
Other Decks in Technology
See All in Technology
Harnessing the Power of Mocks and Stubs in PHPUnit / #laravellivejp
asumikam
0
700
大学生が本気でDatabricksを活用してDiscordサークルをデータ駆動させてみた
phantomjuju
0
220
「使われるデータ基盤」を目指してデータアナリストとワークショップをやった話
jackojacko_
2
900
なぜハノーバーメッセに行くべきなのか 〜初参加だから語れること〜
tanakaseiya
0
140
AI駆動開発でなんでもハンズオン環境をつくってみた
yoshimi0227
0
160
DI コンテナ自動生成ツールを実装してみた / intro-autodi
uhzz
0
870
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
4
970
さきさん文庫の書籍ができるまで
sakiengineer
0
270
データ基盤構築・運用の現場から 〜 Snowflake Intelligence 導入で変わった、データ活用の未来 〜
wonohe
0
200
Kaggle未経験社員をメダリストに育てる「AIドラゴン桜」
lycorptech_jp
PRO
0
630
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
230
開発を止めない CI/CD ~CI Visibilityによる継続的最適化~
pensuke628
0
120
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
140
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
270
Designing Powerful Visuals for Engaging Learning
tmiket
1
380
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
150
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
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