SlideShare a Scribd company logo
1 of 14
Download to read offline
PYDATA TOKYO
2015-05-22
LDA IN PYTHON
1
Wednesday, June 3, 15
WHO
• バクフー株式会社 柏野 雄太
• 大規模リアルタイムデータのPPPP (P4)
• preprocess /process /persistence /providing
Wednesday, June 3, 15
WHAT IS LDA
• Latent Dirichlet Allocation
• 文章群から教師なしで「トピック」を探し出す
• トピック:複数単語のまとまり
• トピックは単語の分布関数を持つ
• 文章はトピックの分布関数を持つ
w
w
w
w
w
w
w1 w2 w3 w4
k
k1
トピック毎単語分布
z1 z2 z3
w
w
w
w
w
w
z1
z2
✓d
ドキュメント毎トピック分布
Wednesday, June 3, 15
WHAT IS LDA
• グラフィカルモデル
✓d zd,i wd,i k
N K
M
zd,i ⇠ Multi(✓d)
wd,i ⇠ Multi( zd,i
) k ⇠ Dirichlet( )
↵
✓d ⇠ Dirichlet(↵)
z1 z2 z3
w
w
w
w
w
w
w
w
w
w
z1
z2
✓d
ドキュメント毎トピック分布
w
w
w
w
w
w
w1 w2 w3 w4
k
k1
トピック毎単語分布
Wednesday, June 3, 15
WHAT IS LDA
• 何をするの?
w1 w2
w3 w4
w5 w6
w7 w8...
LDA
w
w
w
w
w
w
w
w
w
w
w
w w
w
w
w
w
w
w
w
w
w
w w
w
w
w
w w
w
w
w
w
w
w
w
w
w
w1 w2 w3 w4
k
k1
k2
k1
k3k4
z1 z2 z3
w
w
w
w
w
w
w
w
w
w
w
z1
z2
✓d
単語をトピック別にクラスタリング
トピック毎単語分布
ドキュメント毎トピック分布
ドキュメント群
Wednesday, June 3, 15
WHAT IS LDA
• パイプライン
w1 w2
w3 w4
w5 w6
w7 w8...
LDA
w
w
w
w
w
w
w
w
w
w
w
w w
w
w
w
w
w
w
w
w
w
w w
w
w
w
w w
w
w
w
w
w
w
w
w
w
w1 w2 w3 w4
k
k1
k2
k1
k3k4
z1 z2 z3
w
w
w
w
w
w
w
w
w
w
w
z1
z2
✓d
単語をトピック別にクラスタリング
トピック毎単語分布
ドキュメント毎トピック分布
ドキュメント群
tokenize vectorizing modeling
word
dictionary
corpus BoW
Variational
Bayes
Gibbs
sampling
word id: word
1: 政治
2: 自民
3: 総理
[(word id, freq)…]
[(1, 2), (3, 2), …]
[(1, 19), (4, 1), …]
...
Wednesday, June 3, 15
LDA IN PYTHON 1/7
• lda-c Blei et al. 2003
• https://www.cs.princeton.edu/~blei/lda-c/
index.html
• 実装: C
• モデル: 変分ベイズ
• 全ての始まり・コーパス固定/辞書固定
Wednesday, June 3, 15
LDA IN PYTHON 2/7
• onlineldavb.py Hoffman et al. 2010
• http://www.cs.princeton.edu/~blei/
downloads/onlineldavb.tar
• model: 変分ベイズEM
• オンラインLDA
• メモリ効率はいいが,遅い.
Wednesday, June 3, 15
LDA IN PYTHON 3/7
• gensim
• http://radimrehurek.com/gensim/
• Hoffman+のpython版オンラインLDAをラッピン
グ, LSIも実装している
• Pyroによる分散処理が可能
• 基本遅い.辞書・コーパスを更新できない
Wednesday, June 3, 15
LDA IN PYTHON 4/7
• Vowpal_Wabbit /w pyvw
• Hoffman自身がonlineldavb.pyをC++で実装
• 激速い
• pyvw経由でpythonから使える
• ただin/outのファイルが特殊
Wednesday, June 3, 15
LDA IN PYTHON 5/7
• lda
• http://pythonhosted.org/lda/
• scikit-learnライクなインタフェース
• collapsed Gibbsサンプリング
• 野良LDA的…
Wednesday, June 3, 15
LDA IN PYTHON 6/7
• dato graphlab
• https://dato.com/products/create/docs/
generated/graphlab.topic_model.create.html
• C++ /w pythonインタフェース
• collapesed Gibbsサンプリング
• graphlabの仕組みで並列化できる
Wednesday, June 3, 15
LDA IN PYTHON 7/7
• 大量の野良実装
• 自分も辞書・コーパスを更新できるオンラインLDA
を実装
• https://bitbucket.org/yutakashino/nhkssf4w/
src/cd1ffc7f46ce/streamlda/?at=master
Wednesday, June 3, 15
LDA IN X
• MALLET (Java): 階層LDAもある
• Stanford Topic Modeling Toolbox (scala): LDA
and Labeled LDA, Excelから使える
• Wang&Blei 2009 class-slda (c++)
• GibbsLDA ++ (c++)
• Multithreaded LDA (c)
• ...
Wednesday, June 3, 15

More Related Content

Viewers also liked

"Automatic Variational Inference in Stan" NIPS2015_yomi2016-01-20
"Automatic Variational Inference in Stan" NIPS2015_yomi2016-01-20"Automatic Variational Inference in Stan" NIPS2015_yomi2016-01-20
"Automatic Variational Inference in Stan" NIPS2015_yomi2016-01-20Yuta Kashino
 
Chainer meetup2016 03-19pub
Chainer meetup2016 03-19pubChainer meetup2016 03-19pub
Chainer meetup2016 03-19pubYuta Kashino
 
Deep learning Libs @twm
Deep learning Libs @twmDeep learning Libs @twm
Deep learning Libs @twmYuta Kashino
 
機械学習ビジネス研究会 第01回
機械学習ビジネス研究会 第01回機械学習ビジネス研究会 第01回
機械学習ビジネス研究会 第01回Yuta Kashino
 
日本のオープンデータプラットフォームをPythonでつくる
日本のオープンデータプラットフォームをPythonでつくる日本のオープンデータプラットフォームをPythonでつくる
日本のオープンデータプラットフォームをPythonでつくるYuta Kashino
 
Gunosy go2015 06-02
Gunosy go2015 06-02Gunosy go2015 06-02
Gunosy go2015 06-02Yuta Kashino
 
TensorFlow White Paperを読む
TensorFlow White Paperを読むTensorFlow White Paperを読む
TensorFlow White Paperを読むYuta Kashino
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデルYuta Kashino
 
深層学習ライブラリの環境問題Chainer Meetup2016 07-02
深層学習ライブラリの環境問題Chainer Meetup2016 07-02深層学習ライブラリの環境問題Chainer Meetup2016 07-02
深層学習ライブラリの環境問題Chainer Meetup2016 07-02Yuta Kashino
 
PyConJP2016: 週末サイエンティストのススメ
PyConJP2016: 週末サイエンティストのススメPyConJP2016: 週末サイエンティストのススメ
PyConJP2016: 週末サイエンティストのススメYuta Kashino
 
3.1節 統計的学習アルゴリズム
3.1節 統計的学習アルゴリズム3.1節 統計的学習アルゴリズム
3.1節 統計的学習アルゴリズムAkito Nakano
 
3.3節 変分近似法(前半)
3.3節 変分近似法(前半)3.3節 変分近似法(前半)
3.3節 変分近似法(前半)tn1031
 
読書会 「トピックモデルによる統計的潜在意味解析」 第2回 3.2節 サンプリング近似法
読書会 「トピックモデルによる統計的潜在意味解析」 第2回 3.2節 サンプリング近似法読書会 「トピックモデルによる統計的潜在意味解析」 第2回 3.2節 サンプリング近似法
読書会 「トピックモデルによる統計的潜在意味解析」 第2回 3.2節 サンプリング近似法健児 青木
 
逐次ベイズ学習 - サンプリング近似法の場合 -
逐次ベイズ学習 - サンプリング近似法の場合 -逐次ベイズ学習 - サンプリング近似法の場合 -
逐次ベイズ学習 - サンプリング近似法の場合 -y-uti
 
トピックモデルによる統計的潜在意味解析 2章後半
トピックモデルによる統計的潜在意味解析 2章後半トピックモデルによる統計的潜在意味解析 2章後半
トピックモデルによる統計的潜在意味解析 2章後半Shinya Akiba
 
第3章 変分近似法 LDAにおける変分ベイズ法・周辺化変分ベイズ法
第3章 変分近似法 LDAにおける変分ベイズ法・周辺化変分ベイズ法第3章 変分近似法 LDAにおける変分ベイズ法・周辺化変分ベイズ法
第3章 変分近似法 LDAにおける変分ベイズ法・周辺化変分ベイズ法ksmzn
 
「トピックモデルによる統計的潜在意味解析」読書会「第1章 統計的潜在意味解析とは」
「トピックモデルによる統計的潜在意味解析」読書会「第1章 統計的潜在意味解析とは」「トピックモデルによる統計的潜在意味解析」読書会「第1章 統計的潜在意味解析とは」
「トピックモデルによる統計的潜在意味解析」読書会「第1章 統計的潜在意味解析とは」ksmzn
 
「トピックモデルによる統計的潜在意味解析」読書会 2章前半
「トピックモデルによる統計的潜在意味解析」読書会 2章前半「トピックモデルによる統計的潜在意味解析」読書会 2章前半
「トピックモデルによる統計的潜在意味解析」読書会 2章前半koba cky
 
PyData.Tokyo Meetup #11 LT
PyData.Tokyo Meetup #11 LTPyData.Tokyo Meetup #11 LT
PyData.Tokyo Meetup #11 LTdrillan
 
GmailとPythonでイベント管理
GmailとPythonでイベント管理GmailとPythonでイベント管理
GmailとPythonでイベント管理drillan
 

Viewers also liked (20)

"Automatic Variational Inference in Stan" NIPS2015_yomi2016-01-20
"Automatic Variational Inference in Stan" NIPS2015_yomi2016-01-20"Automatic Variational Inference in Stan" NIPS2015_yomi2016-01-20
"Automatic Variational Inference in Stan" NIPS2015_yomi2016-01-20
 
Chainer meetup2016 03-19pub
Chainer meetup2016 03-19pubChainer meetup2016 03-19pub
Chainer meetup2016 03-19pub
 
Deep learning Libs @twm
Deep learning Libs @twmDeep learning Libs @twm
Deep learning Libs @twm
 
機械学習ビジネス研究会 第01回
機械学習ビジネス研究会 第01回機械学習ビジネス研究会 第01回
機械学習ビジネス研究会 第01回
 
日本のオープンデータプラットフォームをPythonでつくる
日本のオープンデータプラットフォームをPythonでつくる日本のオープンデータプラットフォームをPythonでつくる
日本のオープンデータプラットフォームをPythonでつくる
 
Gunosy go2015 06-02
Gunosy go2015 06-02Gunosy go2015 06-02
Gunosy go2015 06-02
 
TensorFlow White Paperを読む
TensorFlow White Paperを読むTensorFlow White Paperを読む
TensorFlow White Paperを読む
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル
 
深層学習ライブラリの環境問題Chainer Meetup2016 07-02
深層学習ライブラリの環境問題Chainer Meetup2016 07-02深層学習ライブラリの環境問題Chainer Meetup2016 07-02
深層学習ライブラリの環境問題Chainer Meetup2016 07-02
 
PyConJP2016: 週末サイエンティストのススメ
PyConJP2016: 週末サイエンティストのススメPyConJP2016: 週末サイエンティストのススメ
PyConJP2016: 週末サイエンティストのススメ
 
3.1節 統計的学習アルゴリズム
3.1節 統計的学習アルゴリズム3.1節 統計的学習アルゴリズム
3.1節 統計的学習アルゴリズム
 
3.3節 変分近似法(前半)
3.3節 変分近似法(前半)3.3節 変分近似法(前半)
3.3節 変分近似法(前半)
 
読書会 「トピックモデルによる統計的潜在意味解析」 第2回 3.2節 サンプリング近似法
読書会 「トピックモデルによる統計的潜在意味解析」 第2回 3.2節 サンプリング近似法読書会 「トピックモデルによる統計的潜在意味解析」 第2回 3.2節 サンプリング近似法
読書会 「トピックモデルによる統計的潜在意味解析」 第2回 3.2節 サンプリング近似法
 
逐次ベイズ学習 - サンプリング近似法の場合 -
逐次ベイズ学習 - サンプリング近似法の場合 -逐次ベイズ学習 - サンプリング近似法の場合 -
逐次ベイズ学習 - サンプリング近似法の場合 -
 
トピックモデルによる統計的潜在意味解析 2章後半
トピックモデルによる統計的潜在意味解析 2章後半トピックモデルによる統計的潜在意味解析 2章後半
トピックモデルによる統計的潜在意味解析 2章後半
 
第3章 変分近似法 LDAにおける変分ベイズ法・周辺化変分ベイズ法
第3章 変分近似法 LDAにおける変分ベイズ法・周辺化変分ベイズ法第3章 変分近似法 LDAにおける変分ベイズ法・周辺化変分ベイズ法
第3章 変分近似法 LDAにおける変分ベイズ法・周辺化変分ベイズ法
 
「トピックモデルによる統計的潜在意味解析」読書会「第1章 統計的潜在意味解析とは」
「トピックモデルによる統計的潜在意味解析」読書会「第1章 統計的潜在意味解析とは」「トピックモデルによる統計的潜在意味解析」読書会「第1章 統計的潜在意味解析とは」
「トピックモデルによる統計的潜在意味解析」読書会「第1章 統計的潜在意味解析とは」
 
「トピックモデルによる統計的潜在意味解析」読書会 2章前半
「トピックモデルによる統計的潜在意味解析」読書会 2章前半「トピックモデルによる統計的潜在意味解析」読書会 2章前半
「トピックモデルによる統計的潜在意味解析」読書会 2章前半
 
PyData.Tokyo Meetup #11 LT
PyData.Tokyo Meetup #11 LTPyData.Tokyo Meetup #11 LT
PyData.Tokyo Meetup #11 LT
 
GmailとPythonでイベント管理
GmailとPythonでイベント管理GmailとPythonでイベント管理
GmailとPythonでイベント管理
 

More from Yuta Kashino

時系列データと確率的プログラミング tfp.sts
時系列データと確率的プログラミング tfp.sts時系列データと確率的プログラミング tfp.sts
時系列データと確率的プログラミング tfp.stsYuta Kashino
 
私は如何にして心配するのを止めてPyTorchを愛するようになったか
私は如何にして心配するのを止めてPyTorchを愛するようになったか私は如何にして心配するのを止めてPyTorchを愛するようになったか
私は如何にして心配するのを止めてPyTorchを愛するようになったかYuta Kashino
 
ベイジアンディープニューラルネット
ベイジアンディープニューラルネットベイジアンディープニューラルネット
ベイジアンディープニューラルネットYuta Kashino
 
深層学習とベイズ統計
深層学習とベイズ統計深層学習とベイズ統計
深層学習とベイズ統計Yuta Kashino
 
Wasserstein GAN Tfug2017 07-12
Wasserstein GAN Tfug2017 07-12Wasserstein GAN Tfug2017 07-12
Wasserstein GAN Tfug2017 07-12Yuta Kashino
 
確率的プログラミングライブラリEdward
確率的プログラミングライブラリEdward確率的プログラミングライブラリEdward
確率的プログラミングライブラリEdwardYuta Kashino
 

More from Yuta Kashino (11)

時系列データと確率的プログラミング tfp.sts
時系列データと確率的プログラミング tfp.sts時系列データと確率的プログラミング tfp.sts
時系列データと確率的プログラミング tfp.sts
 
Python kansai2019
Python kansai2019Python kansai2019
Python kansai2019
 
Mlse20190208
Mlse20190208Mlse20190208
Mlse20190208
 
Ml15m2018 10-27
Ml15m2018 10-27Ml15m2018 10-27
Ml15m2018 10-27
 
Pydata2017 11-29
Pydata2017 11-29Pydata2017 11-29
Pydata2017 11-29
 
私は如何にして心配するのを止めてPyTorchを愛するようになったか
私は如何にして心配するのを止めてPyTorchを愛するようになったか私は如何にして心配するのを止めてPyTorchを愛するようになったか
私は如何にして心配するのを止めてPyTorchを愛するようになったか
 
Pycon2017
Pycon2017Pycon2017
Pycon2017
 
ベイジアンディープニューラルネット
ベイジアンディープニューラルネットベイジアンディープニューラルネット
ベイジアンディープニューラルネット
 
深層学習とベイズ統計
深層学習とベイズ統計深層学習とベイズ統計
深層学習とベイズ統計
 
Wasserstein GAN Tfug2017 07-12
Wasserstein GAN Tfug2017 07-12Wasserstein GAN Tfug2017 07-12
Wasserstein GAN Tfug2017 07-12
 
確率的プログラミングライブラリEdward
確率的プログラミングライブラリEdward確率的プログラミングライブラリEdward
確率的プログラミングライブラリEdward
 

Recently uploaded

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Recently uploaded (9)

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

PyDataTokyo201-05-22

  • 1. PYDATA TOKYO 2015-05-22 LDA IN PYTHON 1 Wednesday, June 3, 15
  • 2. WHO • バクフー株式会社 柏野 雄太 • 大規模リアルタイムデータのPPPP (P4) • preprocess /process /persistence /providing Wednesday, June 3, 15
  • 3. WHAT IS LDA • Latent Dirichlet Allocation • 文章群から教師なしで「トピック」を探し出す • トピック:複数単語のまとまり • トピックは単語の分布関数を持つ • 文章はトピックの分布関数を持つ w w w w w w w1 w2 w3 w4 k k1 トピック毎単語分布 z1 z2 z3 w w w w w w z1 z2 ✓d ドキュメント毎トピック分布 Wednesday, June 3, 15
  • 4. WHAT IS LDA • グラフィカルモデル ✓d zd,i wd,i k N K M zd,i ⇠ Multi(✓d) wd,i ⇠ Multi( zd,i ) k ⇠ Dirichlet( ) ↵ ✓d ⇠ Dirichlet(↵) z1 z2 z3 w w w w w w w w w w z1 z2 ✓d ドキュメント毎トピック分布 w w w w w w w1 w2 w3 w4 k k1 トピック毎単語分布 Wednesday, June 3, 15
  • 5. WHAT IS LDA • 何をするの? w1 w2 w3 w4 w5 w6 w7 w8... LDA w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w1 w2 w3 w4 k k1 k2 k1 k3k4 z1 z2 z3 w w w w w w w w w w w z1 z2 ✓d 単語をトピック別にクラスタリング トピック毎単語分布 ドキュメント毎トピック分布 ドキュメント群 Wednesday, June 3, 15
  • 6. WHAT IS LDA • パイプライン w1 w2 w3 w4 w5 w6 w7 w8... LDA w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w1 w2 w3 w4 k k1 k2 k1 k3k4 z1 z2 z3 w w w w w w w w w w w z1 z2 ✓d 単語をトピック別にクラスタリング トピック毎単語分布 ドキュメント毎トピック分布 ドキュメント群 tokenize vectorizing modeling word dictionary corpus BoW Variational Bayes Gibbs sampling word id: word 1: 政治 2: 自民 3: 総理 [(word id, freq)…] [(1, 2), (3, 2), …] [(1, 19), (4, 1), …] ... Wednesday, June 3, 15
  • 7. LDA IN PYTHON 1/7 • lda-c Blei et al. 2003 • https://www.cs.princeton.edu/~blei/lda-c/ index.html • 実装: C • モデル: 変分ベイズ • 全ての始まり・コーパス固定/辞書固定 Wednesday, June 3, 15
  • 8. LDA IN PYTHON 2/7 • onlineldavb.py Hoffman et al. 2010 • http://www.cs.princeton.edu/~blei/ downloads/onlineldavb.tar • model: 変分ベイズEM • オンラインLDA • メモリ効率はいいが,遅い. Wednesday, June 3, 15
  • 9. LDA IN PYTHON 3/7 • gensim • http://radimrehurek.com/gensim/ • Hoffman+のpython版オンラインLDAをラッピン グ, LSIも実装している • Pyroによる分散処理が可能 • 基本遅い.辞書・コーパスを更新できない Wednesday, June 3, 15
  • 10. LDA IN PYTHON 4/7 • Vowpal_Wabbit /w pyvw • Hoffman自身がonlineldavb.pyをC++で実装 • 激速い • pyvw経由でpythonから使える • ただin/outのファイルが特殊 Wednesday, June 3, 15
  • 11. LDA IN PYTHON 5/7 • lda • http://pythonhosted.org/lda/ • scikit-learnライクなインタフェース • collapsed Gibbsサンプリング • 野良LDA的… Wednesday, June 3, 15
  • 12. LDA IN PYTHON 6/7 • dato graphlab • https://dato.com/products/create/docs/ generated/graphlab.topic_model.create.html • C++ /w pythonインタフェース • collapesed Gibbsサンプリング • graphlabの仕組みで並列化できる Wednesday, June 3, 15
  • 13. LDA IN PYTHON 7/7 • 大量の野良実装 • 自分も辞書・コーパスを更新できるオンラインLDA を実装 • https://bitbucket.org/yutakashino/nhkssf4w/ src/cd1ffc7f46ce/streamlda/?at=master Wednesday, June 3, 15
  • 14. LDA IN X • MALLET (Java): 階層LDAもある • Stanford Topic Modeling Toolbox (scala): LDA and Labeled LDA, Excelから使える • Wang&Blei 2009 class-slda (c++) • GibbsLDA ++ (c++) • Multithreaded LDA (c) • ... Wednesday, June 3, 15