rによる文書モデルの可視化 #tokyor
TRANSCRIPT
![Page 1: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/1.jpg)
Rによる文書モデルの可視化~ディリクレ分布、混合ディリクレ分布、LDA
#tokyoR
@nokuno
![Page 2: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/2.jpg)
Twitter: @nokuno
はてな:id:nokuno
自然言語処理勉強会を主催(第2回は9/25開催)
PRML/R/Python/Hadoopなど
自己紹介 2
2002~2006:コミケで同人ゲーム売ってた2007~2008:未踏でSocial IMEの開発2009~現在:Web業界勤務(←今ここ)
![Page 3: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/3.jpg)
文書モデルとは
Wikipediaの可視化
生成モデルの可視化
ディリクレ分布
混合ディリクレ分布
LDA
今日の話題 3
![Page 4: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/4.jpg)
文書の生成確率をモデル化
単語の多項分布を利用するのが一般的
文書を、その文書が含む単語の割合で表す
文書モデルとは 4
Documents
w1: μ1w2: μ2w3: μ3・・・
bag-of-words
w1: μ1w2: μ2w3: μ3・・・
w1: μ1w2: μ2w3: μ3・・・
![Page 5: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/5.jpg)
ある文書で単語w_kがN単語中m_k回使われる確率
単語の多項分布 5
K
k
m
k
K
Kk
mmm
NNmmmMult
121
21...
),|,...,,( μ
パラメータμ_k:単語w_kが使われる確率
※単語の順序は無視=bag-of-words仮定
N
mkk
←全単語数
←単語w_kが使われた回数
![Page 6: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/6.jpg)
多項分布のパラメータμ_kは以下を満たす
パラメータ空間 6
10 k
1k
k
3変数の場合、この条件を満たすパラメータは図の三角形上の1点で表される
![Page 7: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/7.jpg)
Wikipediaのダンプデータから、記事ごとのunigram確率を出力
Wikipediaからの文書unigramの出力 7
本文抽出
形態素解析
unigramの集計
正規化して出力
前処理
単語に分割
正規化項で割り算
単語の出現頻度
![Page 8: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/8.jpg)
ソースコード(Python) 8
![Page 9: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/9.jpg)
データ例 9
Wikipediaの記事からbag-of-wordsを集計・正規化
正規化・単語選択
形態素解析・集計
![Page 10: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/10.jpg)
Wikipediaの可視化 10
東京 日本
アメリカ
![Page 11: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/11.jpg)
Wikipediaの可視化(+正規ノイズ) 11
東京 日本
アメリカ
noise<-matrix(rnorm(2000,sd=0.01),ncol=2)
plot(read.table("R/topic10.txt", fileEncoding="utf-8", header=T)[1:2]+noise, cex=0.1)
![Page 12: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/12.jpg)
Wikipediaの可視化 12
の 東京
R
![Page 13: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/13.jpg)
Wikipediaの可視化 13
的 物
こと
![Page 14: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/14.jpg)
Wikipediaの可視化 14
は の
に
![Page 15: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/15.jpg)
Wikipediaの可視化 15
日 年
月
![Page 16: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/16.jpg)
ディリクレ分布 16
K
k
kK
i
i
kDir1
1
1
0
)(
)()|(
正規化項
K
k
k
1
0
0
1)( dueux uxガンマ関数:
![Page 17: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/17.jpg)
ディリクレ分布 17
plot(rdirichlet(10000, c(1,1,1))[,1:2], cex=0.1)
![Page 18: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/18.jpg)
ディリクレ分布 18
plot(rdirichlet(10000, c(0.1,0.1,0.1))[,1:2], cex=0.1)
![Page 19: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/19.jpg)
ディリクレ分布 19
plot(rdirichlet(10000, c(10,10,10))[,1:2], xlim=c(0,1), ylim=c(0,1), cex=0.1)
![Page 20: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/20.jpg)
ディリクレ分布 20
plot(rdirichlet(10000, c(1,1,10))[,1:2], xlim=c(0,1), ylim=c(0,1), cex=0.1)
![Page 21: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/21.jpg)
ディリクレ分布 21
plot(rdirichlet(10000, c(10,10,1))[,1:2], xlim=c(0,1), ylim=c(0,1), cex=0.1)
![Page 22: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/22.jpg)
混合ディリクレ分布 22
x <- rdirichlet(10000, c(10,15,15))[,1:2]
y <- rdirichlet(10000, c(100,20,20))[,1:2]
z <- rdirichlet(10000, c(20,50,10))[,1:2]
plot(rbind(x, y, z), xlim=c(0,1), ylim=c(0,1), cex=0.1)
![Page 23: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/23.jpg)
混合ディリクレ分布 23
x <- rdirichlet(10000, c(1,1,10))[,1:2]
y <- rdirichlet(10000, c(10,1,1))[,1:2]
z <- rdirichlet(10000, c(1,10,1))[,1:2]
plot(rbind(x, y, z), xlim=c(0,1), ylim=c(0,1), cex=0.1)
![Page 24: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/24.jpg)
LDA 24
x <- rdirichlet(10000, c(1,1,1))[,1:2]
linear <- function(x) {x %*% matrix(c(0.7,0.1,-0.05,0.8),nrow=2) + c(0.05,0.05)}
plot(linear(x),xlim=c(0,1), ylim=c(0,1), cex=0.1)
![Page 25: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/25.jpg)
LDA 25
x <- rdirichlet(10000, c(5,1,1))[,1:2]
plot(linear(x),xlim=c(0,1), ylim=c(0,1), cex=0.1)
![Page 26: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/26.jpg)
文書モデルは、単語の多項分布の確率モデル
Wikipediaの分布を可視化した
ディリクレ分布を色々組み合わせてモデル化
推論とかわかりません><
混合ディリクレ分布は意外とよさげ
まとめ 26
![Page 27: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/27.jpg)
ご清聴ありがとうございました
27
Presentation by
![Page 28: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/28.jpg)
Wikipediaの可視化 28
世界 年
時代
![Page 29: Rによる文書モデルの可視化 #TokyoR](https://reader035.vdocuments.site/reader035/viewer/2022081511/55794e1ad8b42a31678b52a8/html5/thumbnails/29.jpg)
ベイジアンアップデート 29