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
4.6k
トピックモデルで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
49
第3回 クイズ大会 解答
funain
0
42
第2回 クイズ大会 問題
funain
0
100
第2回 クイズ大会 解答
funain
0
94
2023年度にやりたいこと(めぐろLT会 #2)
funain
0
480
スクリーニング評価の注意点
funain
0
660
第1回 クイズ大会 問題
funain
0
550
第1回 クイズ大会 解答
funain
0
210
フェアな比較を崩すもの ~交絡と効果修飾~ / Confounding EffectModification
funain
1
460
Other Decks in Technology
See All in Technology
Fargateを使った研修の話
takesection
0
120
AIを駆使したゲーム開発戦略: 新設AI組織の取り組み / sge-ai-strategy
cyberagentdevelopers
PRO
1
130
生成AIと知識グラフの相互利用に基づく文書解析
koujikozaki
1
140
Shift-from-React-to-Vue
calm1205
3
1.3k
AWSコンテナ本出版から3年経った今、もし改めて執筆し直すなら / If I revise our container book
iselegant
15
4k
独自ツール開発でスタジオ撮影をDX!「VLS(Virtual LED Studio)」 / dx-studio-vls
cyberagentdevelopers
PRO
1
180
MAMを軸とした動画ハンドリングにおけるAI活用前提の整備と次世代ビジョン / abema-ai-mam
cyberagentdevelopers
PRO
1
120
Figma Dev Modeで進化するデザインとエンジニアリングの協働 / figma-with-engineering
cyberagentdevelopers
PRO
1
430
生成AIとAWS CDKで実現! 自社ブログレビューの効率化
ymae
2
330
「視座」の上げ方が成人発達理論にわかりやすくまとまってた / think_ perspective_hidden_dimensions
shuzon
2
4.4k
Apple/Google/Amazonの決済システムの違いを踏まえた定期購読課金システムの構築 / abema-billing-system
cyberagentdevelopers
PRO
1
220
いまさらのStorybook
ikumatadokoro
0
140
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
4 Signs Your Business is Dying
shpigford
180
21k
It's Worth the Effort
3n
183
27k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
GraphQLとの向き合い方2022年版
quramy
43
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Building Your Own Lightsaber
phodgson
102
6.1k
Building an army of robots
kneath
302
42k
Visualization
eitanlees
144
15k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
664
120k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Done Done
chrislema
181
16k
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