9月7日
潜在的ディリクレ配分 (LDA) の概論とハンズオンセミナー
https://liberal-arts-beginners.connpass.com/event/144610/
に行ってきて、LDAについて聞いてきたのでメモメモ
Latent Dirichlet Allocation
潜在的ディリクレ配分
潜在的(latent)
配分(Allocation)
・自己紹介
LDA
「トピックモデルによる統計的潜在的意味解析」奥村先生
統計的潜在意味解析:言葉の持つ意味を定性的に
アプローチ方法:ぷんぷ仮説(はりすさん 1954)
単語の意味は、その単語の周囲に出現する単語によって決まる
→単語の共起に着目する
LDA
共起による潜在意味解析
文書集合がデータセット(自然言語処理の入力)
Doc1、Dic2、・・・
潜在的な
データによって現れる意味のカテゴリが変化する
潜在的意味のカテゴリを潜在トピックという
LDAはこの潜在トピックを抽出することは目的の1つ
→潜在変数として扱う
LDAのモデル:確率分布
ディリクレ分布
多項分布
→ディリクレ分布は多項分布の共役事前分布
Dir(μ|α) K次元のベクトルを入力に取る
μ、α ∈ R^k
Γ:gammma
定義
単語の種類 V
トピック数 K
出現確率φkv
文書dのi番目の単語W_di
コーパス:文書の集まり
分けた位
形態素解析(morphological analysis):トピック抽出
→名詞だけ:固有名詞を除く(NNとNNSだけ対象)
■はんずおん
import inflection
→複数形などをよしなにしてくれる
なので、エラーが出たら
pip install inflection
テスト用、訓練用に分ける
らんだむ
train=[:分けたいすう]
test=[分けたいすう:]
各要素のリストが文書になる
リストの要素は?=(ID,その文書での出現頻度)
→ID振られているのは1回以上出てくる単語
LookupError:
Resource punkt not found.
Please use the NLTK Downloader to obtain the resource:
がでる
python -c "import nltk; nltk.download()"
を実行
( https://qiita.com/ldap2017/items/158a9aa5ec330e907197 )
ModuleNotFoundError: No module named 'gensim'
がでる
pip install gensim
モデルの評価方法
lda.bound
lda.log_perplexity ;対数尤度の下界を返す→大きい値のほうが良い
1文書当たりでみる
hdpmodel トピック数をだしてくれる
(ノンパラメトリック ベイジアン インファレンスの一種)
■LDAの公式ドキュメント
https://radimrehurek.com/gensim/models/ldamodel.html
sklearnに
from sklearn.datasets import fetch_20newsgroup
というデータがある。
PLSA
probablistic latent semantic Analysis
単語の係り受けに着目している
潜在的ディリクレ配分 (LDA) の概論とハンズオンセミナー
https://liberal-arts-beginners.connpass.com/event/144610/
に行ってきて、LDAについて聞いてきたのでメモメモ
Latent Dirichlet Allocation
潜在的ディリクレ配分
潜在的(latent)
配分(Allocation)
・自己紹介
LDA
「トピックモデルによる統計的潜在的意味解析」奥村先生
統計的潜在意味解析:言葉の持つ意味を定性的に
アプローチ方法:ぷんぷ仮説(はりすさん 1954)
単語の意味は、その単語の周囲に出現する単語によって決まる
→単語の共起に着目する
LDA
共起による潜在意味解析
文書集合がデータセット(自然言語処理の入力)
Doc1、Dic2、・・・
潜在的な
データによって現れる意味のカテゴリが変化する
潜在的意味のカテゴリを潜在トピックという
LDAはこの潜在トピックを抽出することは目的の1つ
→潜在変数として扱う
LDAのモデル:確率分布
ディリクレ分布
多項分布
→ディリクレ分布は多項分布の共役事前分布
Dir(μ|α) K次元のベクトルを入力に取る
μ、α ∈ R^k
Γ:gammma
定義
単語の種類 V
トピック数 K
出現確率φkv
文書dのi番目の単語W_di
コーパス:文書の集まり
分けた位
形態素解析(morphological analysis):トピック抽出
→名詞だけ:固有名詞を除く(NNとNNSだけ対象)
■はんずおん
import inflection
→複数形などをよしなにしてくれる
なので、エラーが出たら
pip install inflection
テスト用、訓練用に分ける
らんだむ
train=[:分けたいすう]
test=[分けたいすう:]
各要素のリストが文書になる
リストの要素は?=(ID,その文書での出現頻度)
→ID振られているのは1回以上出てくる単語
LookupError:
Resource punkt not found.
Please use the NLTK Downloader to obtain the resource:
がでる
python -c "import nltk; nltk.download()"
を実行
( https://qiita.com/ldap2017/items/158a9aa5ec330e907197 )
ModuleNotFoundError: No module named 'gensim'
がでる
pip install gensim
モデルの評価方法
lda.bound
lda.log_perplexity ;対数尤度の下界を返す→大きい値のほうが良い
1文書当たりでみる
hdpmodel トピック数をだしてくれる
(ノンパラメトリック ベイジアン インファレンスの一種)
■LDAの公式ドキュメント
https://radimrehurek.com/gensim/models/ldamodel.html
sklearnに
from sklearn.datasets import fetch_20newsgroup
というデータがある。
PLSA
probablistic latent semantic Analysis
単語の係り受けに着目している