lsa, plsa, lda - keio university...1 トピックモデル lsa とplsa とlda 櫻井彰人 lsa,...

14
1 トピックモデル LSA pLSA LDA 櫻井 彰人 LSA, pLSA, LDA 文書・単語行列をモデル化する ノイズと偏りを除去する方法に諸手法あり LSA, LSI: Latent Semantic Analysis/Indexing pLSA: Probabilistic Latent Semantic Analysis LDA: Latent Dirichlet Allocation なお、tf/idf が非常に重要な概念であるが、今回は省略 最近は、Nonnegative matrix factorization (NMF) も注 目されている Wikipediaより Chris Ding, Tao Li, Wei Peng. On the equivalence between Non-negative Matrix Factorization and Probabilistic Latent Semantic Indexing. Computational Statistics & Data Analysis, 52(8), 2008. なお、下記文献参照のこと LSA vs. PLSA (a) z1,…,zK w1,…,wM 0 0 d1,…,dN d1,…,dN P(di) P(w |zk) wj 文書 d1,..,dN z1,…,zK 0 0 z1,…,zK z1,…,zK z1,…,zK w1,…,wM k 文書di wj uk vk P(d |zk) 文書 d1,..,dN z1,…,zK 文書di Blei 04 PLSA/LDA in Graphical Models ) | ( ) | ( ) ( ) , ( ) | ( ) | ( ) ( 1 1 k j K k k i k j i k j K k i k i z w P z d P z P w d P z w P d z P d P d z w d z w pLSA または | | 1 1 ) | ( ) | ( ) ( ) ( | | 2 1 i i d d l K k k jl i k i j j j i z w P d z P d P w w w d P ߣ をパラメータとする 多項分布と考える ߚ をパラメータとする 多項分布と考える d z w P z P P P K k z k k k k 1 ) , | ( ) | ( ) | ( ) , | (w ߠをパラメータとする多 項分布と考える ߚ をパラメータとする 多項分布と考える LDA ߠに関する 平均をとる 目次 Latent Semantic Analysis/Indexing (LSA/LSI) Probabilistic LSA/LSI (pLSA または pLSI) 長所・短所 作り方 アスペクトモデル Tempered EM LSA との比較 Latent Dirichlet Allocation (LDA) 長所・短所 作り方 LSA/pLSA との比較 LSA vs. LSI LSA LSAI LSA: Latent Semantic Analysis LSI: Latent Semantic Indexing 両者の違いは? LSI: 情報の indexing , i.e. 情報検索に用いる. LSA: 解析(いろいろ)に用いる. 同じ技術を異なる分野に適用しただけ.

Upload: others

Post on 11-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LSA, pLSA, LDA - Keio University...1 トピックモデル LSA とpLSA とLDA 櫻井彰人 LSA, pLSA, LDA • 文書・単語行列をモデル化する • ノイズと偏りを除去する方法に諸手法あり

1

トピックモデルLSA と pLSA と LDA

櫻井 彰人

LSA, pLSA, LDA

• 文書・単語行列をモデル化する

• ノイズと偏りを除去する方法に諸手法あり– LSA, LSI: Latent Semantic Analysis/Indexing

– pLSA: Probabilistic Latent Semantic Analysis

– LDA: Latent Dirichlet Allocation

– なお、tf/idf が非常に重要な概念であるが、今回は省略

• 最近は、Non‐negative matrix factorization (NMF) も注目されている

Wikipediaより

Chris Ding, Tao Li, Wei Peng. On the equivalence between Non-negative Matrix Factorization and Probabilistic Latent Semantic Indexing. Computational Statistics & Data Analysis, 52(8), 2008.

なお、下記文献参照のこと

LSA vs. PLSA (a)

z1,…,zK

w1,…,wM

0

0

d1,…,dN

d1,…,dN P(di)

P(w |zk)単語wj

文書d1,..,dN

z1,…,zK

00

z1,…,zK

z1,…,zK z1,…,zK

w1,…,wM

k

文書di

単語wj

uk vk

P(d |zk)

文書d1,..,dN

z1,…,zK

文書di

Blei 04 PLSA/LDA in Graphical Models

)|()|()(),()|()|()(11

kj

K

kkikjikj

K

kiki zwPzdPzPwdPzwPdzPdP

d z w d z w

pLSAまたは

||

1 1)|()|()()(

||21

i

id

d

l

K

k kjlikijjji zwPdzPdPwwwdP

をパラメータとする多項分布と考える

をパラメータとする多項分布と考える

dzwPzPPP

K

k z kkkk1

),|()|()|(),|(w

をパラメータとする多項分布と考える

をパラメータとする多項分布と考える

LDA

に関する平均をとる

目次

Latent Semantic Analysis/Indexing (LSA/LSI)

Probabilistic LSA/LSI (pLSA または pLSI) 長所・短所

作り方

アスペクトモデル

Tempered EM

LSA との比較

Latent Dirichlet Allocation (LDA) 長所・短所

作り方

LSA/pLSA との比較

LSA vs. LSI

• LSA と LSAI

– LSA: Latent Semantic Analysis

– LSI: Latent Semantic Indexing

• 両者の違いは?

– LSI: 情報の indexing , i.e. 情報検索に用いる.

– LSA: 解析(いろいろ)に用いる.

– 同じ技術を異なる分野に適用しただけ.

Page 2: LSA, pLSA, LDA - Keio University...1 トピックモデル LSA とpLSA とLDA 櫻井彰人 LSA, pLSA, LDA • 文書・単語行列をモデル化する • ノイズと偏りを除去する方法に諸手法あり

2

問題

• ベクトル空間モデルを用いたときに出てくる二つの問題:

– 同義語: 同じもの・事を意味する異なる語.

• 「リコール率」が悪くなる– 「オートバイ」で検索したら、「二輪」が出てこない

– i.e. 結果にあるべきものがないことが多くなる

– 多義語: 多くの単語には複数個の意味がある

• 「精度(precision)」が悪くなる– Java (コーヒー)で検索したら Java (プログラム言語)に関する

ものが得られる

– i.e. 結果に間違ったものが入っていることが多くなる

問題例

• 例: ベクトル空間モデルで

– cosine 類似度で考える: 大きい方がより類似

autoenginebonnettyreslorryboot

caremissions

hood makemodeltrunk

makehiddenMarkovmodel

emissionsnormalize

同義語

Cosine 類似度が小さいが、関連している

多義語

Cosine 類似度が大きいが、関連せず

(from Lillian Lee)

道具立て

• コーパス, N 個の文書の集合– D={d_1, … ,d_N}

• 語彙,  M 個の単語の集合– W={w_1, … ,w_M}

• 大きさ N * M の行列で、文書に単語が出現していることを表す– 文書・単語行列と呼ばれる

– 0‐1行列(現れる(1)か否(0)か)、または頻度行列(出現回数)を用いる

LSI: Latent Semantic Indexing

• Latent – "潜在", "隠れ"

• Semantic – “意味”

LSI を用いると単語の “隠れた意味”を、

単語が文書中に現れる様子から見出す

潜在意味空間Latent Semantic Space

• LSI は、単語と文書を潜在意味空間に写像する

• 潜在意味空間においては、同義語(類義語)は近くにくるべきである

LSI の方法

• 特異値分解: SVD (Singular Value Decomposition )

A{mn行列} = U{mr 行列} Σ{rr 行列} V*{rn行列}

近似行列を得る: k (r)個の特異値のみ使用 Ak{mn行列} = U{mk 部分行列} Σ{kk 部分行列} V*{kn 部分行列}

単語と文書ベクトルを k次元ベクトルに変換する

r = min( m, n )

Page 3: LSA, pLSA, LDA - Keio University...1 トピックモデル LSA とpLSA とLDA 櫻井彰人 LSA, pLSA, LDA • 文書・単語行列をモデル化する • ノイズと偏りを除去する方法に諸手法あり

3

LSA と SVD

=A U Σ

VT

文書

単語 単語トピック トピック

m x n m x r r x r r x n

kk

k

文書d1,..,dN

z1,…,zK

00

z1,…,zK

z1,…,zK z1,…,zK

w1,…,wM

k

文書di

単語wj

uk vk

r = rank(A) <= min( m, n )

(Berry 1995) では、単語と文書がこれとは逆になっている。またトピックは factor と呼ばれている

簡単な例AnthonyandCleopatra

JuliusCaesar

TheTempest

Hamlet Othello Macbeth

ANTHONY 1 1 0 0 0 1BRUTUS 1 1 0 1 0 0CAESAR 1 1 0 1 1 1CALPURNIA 0 1 0 0 0 0CLEOPATRA 1 0 0 0 0 0MERCY 1 0 1 1 1 1WORSER 1 0 1 1 1 0

ANTHONY BRUTUS CAESAR CALPURNI CLEOPATRMERCY WORSERAnthony and Cleopatra 1 1 1 0 1 1 1

Julius Caesar 1 1 1 1 0 0 0The Tempest 0 0 0 0 0 1 1

Hamlet 0 1 1 0 0 1 1Othello 0 0 1 0 0 1 1

Macbeth 1 0 1 0 0 1 0

または

Christopher D. Manning, Prabhakar Raghavan and Hinrich Schütze, Introduction to Information Retrieval, Cambridge University Press. 2008.

簡単な例setwd("E:/R/")d <- read.csv("08LSI-Shakespeare.csv", header=T, row.names=1)

d.svd <- svd(d)

d - d.svd[[2]] %*% diag(d.svd[[1]]) %*% t(d.svd[[3]])

plot(d.svd[[2]][,1:2])text(d.svd[[2]][,1:2],labels=rownames(d),pos=3)

plot(d.svd[[3]][,1:2])text(d.svd[[3]][,1:2],labels=colnames(d),pos=3)

-0.60 -0.55 -0.50 -0.45 -0.40 -0.35 -0.30 -0.25

-0.6

-0.4

-0.2

0.0

0.2

0.4

d.svd[[2]][, 1:2][,1]

d.s

vd[[2

]][, 1

:2][,

2]

and Cleopatra

Julius Caesar

The Temp

Hamlet

Othello

Macbeth

-0.5 -0.4 -0.3 -0.2 -0.1

-0.4

-0.2

0.0

0.2

0.4

d.svd[[3]][, 1:2][,1]

d.sv

d[[3

]][, 1

:2][,

2]

ANTHONY

BRUTUS

AESAR

CALPUR

CLEOPATRA

MERCY

WORSER

ANTHONY BRUTUS CAESAR CALPURNI CLEOPATRMERCY WORSERAnthony and Cleopatra 1 1 1 0 1 1 1

Julius Caesar 1 1 1 1 0 0 0The Tempest 0 0 0 0 0 1 1

Hamlet 0 1 1 0 0 1 1Othello 0 0 1 0 0 1 1

Macbeth 1 0 1 0 0 1 0

簡単な例: 近似

> d.svd[[2]][,1:2] %*% diag(d.svd[[1]][1:2]) %*% t(d.svd[[3]][,1:2])[,1] [,2] [,3] [,4] [,5] [,6] [,7]

[1,] 0.8327142 0.87075536 1.2819192 0.258569439 0.3538872 1.12392852 0.9036710[2,] 1.1568480 0.92786465 1.0082634 0.665723465 0.2585694 0.06248386 -0.1700712[3,] -0.1699857 0.03122636 0.3112280 -0.280056074 0.1005788 0.88202181 0.8725302[4,] 0.3948208 0.52230162 0.9078465 0.003571743 0.2582987 1.11497839 0.9820280[5,] 0.1137595 0.29134444 0.6477284 -0.152156330 0.1909063 1.07039479 0.9953852[6,] 0.6006586 0.58576299 0.8086186 0.232555085 0.2202575 0.58555509 0.4377091> d.svd[[2]][,1:4] %*% diag(d.svd[[1]][1:4]) %*% t(d.svd[[3]][,1:4])

[,1] [,2] [,3] [,4] [,5] [,6] [,7][1,] 1.02285340 1.02912701 0.9457880 0.009006517 0.965970538 1.0385090 0.99063266[2,] 0.92900279 1.06869323 1.1062884 0.840727430 0.009006517 -0.0134736 -0.09274244[3,] -0.17268628 0.03570139 0.3098034 -0.279034563 0.101727564 0.8796082 0.87498743[4,] 0.06021168 0.84004232 0.9495523 0.218959286 0.054149957 0.9436014 1.15649897[5,] 0.05649234 0.14951847 0.8357352 -0.041673681 -0.131215398 1.1468902 0.91750879[6,] 1.00590863 -0.08575238 1.0223925 0.079268842 0.047876347 0.9477444 0.06898092> d.svd[[2]][,1:6] %*% diag(d.svd[[1]][1:6]) %*% t(d.svd[[3]][,1:6])

[,1] [,2] [,3] [,4] [,5] [,6] [,7][1,] 1.000000e+00 1.000000e+00 1.000000e+00 -2.949030e-16 1.000000e+00 1.000000e+00 1.000000e+00[2,] 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 -1.491862e-16 -8.222589e-16 -6.002143e-16[3,] -1.734723e-17 -1.089406e-15 -6.591949e-16 2.151057e-16 -6.245005e-17 1.000000e+00 1.000000e+00[4,] -3.851086e-16 1.000000e+00 1.000000e+00 -4.857226e-17 -4.857226e-16 1.000000e+00 1.000000e+00[5,] -3.261280e-16 -8.049117e-16 1.000000e+00 1.665335e-16 -9.714451e-17 1.000000e+00 1.000000e+00[6,] 1.000000e+00 -9.020562e-16 1.000000e+00 -5.412337e-16 -1.318390e-16 1.000000e+00 -9.228729e-16

> dANTHONY BRUTUS CAESAR CALPURNIA CLEOPATRA MERCY WORSER

Anthony and Cleopatra 1 1 1 0 1 1 1Julius Caesar 1 1 1 1 0 0 0The Tempest 0 0 0 0 0 1 1Hamlet 0 1 1 0 0 1 1Othello 0 0 1 0 0 1 1Macbeth 1 0 1 0 0 1 0

蛇足: 固有値と特異値

kkk

kk

K

kkkk

N

N

N

uu

u

uu

'

:,:,:'

'1

T

固有ベクトル固有値実対称行列

固有値分解:

Tkk

Tkkkk

ijjTiijj

Ti

kkk

K

kkkk

NN

N

vuuv

vvuu

vu

vu

,

,

:,:,:1

T

右特異ベクトル左特異ベクトル特異値

特異値分解:

ベクトルは縦ベクトル

SVDの次元とスパース性の対応

部分は存在しない(0としてもよいが)

Page 4: LSA, pLSA, LDA - Keio University...1 トピックモデル LSA とpLSA とLDA 櫻井彰人 LSA, pLSA, LDA • 文書・単語行列をモデル化する • ノイズと偏りを除去する方法に諸手法あり

4

長所短所

• LSI を用いると、共通の単語がなくとも文書間

の関係を示すことができる。ただし、頻繁に共起する単語(の片方)を持っている場合。

– 頻繁に共起する単語には、強い共通性がある

• 短所:

– 統計的な意味合いがない

pLSA: 確率的トピックモデル

確率的トピックモデル

• LSA/LAI の確率モデル版.

• 統計的機械学習の分野から– (e.g., Hoffman, 2001; Blei, Ng, Jordan, 2003)

• 文書集合から トピック を抽出する

• このトピックは、解釈(意味づけ)可能である。この点がLSA/LSI と異なる– LSA/LSI では、各特異ベクトルの意味付けができな

文書はトピックからなり、トピックは単語からなる

トピック

確率的に生成する

生成モデル

パラメータを推定する各文書を形作るトピックを推定する各トピックを形作る単語を推定する

確率的トピックモデル

• 各文書は、トピックの上のある確率分布

• 各トピックは、単語上のある確率分布

文書の生成過程

文書=トピックの分布

トピック トピック

単語 単語

...

...

1. 各文書につき、トピックの、ある分布を定める

2. 各トピックにつき、単語の、ある分布を定める

3. (各文書の各単語位置で)トピックをサンプルし、

4. そのトピックから単語をサンプルする

...

単語の現れる位置

Page 5: LSA, pLSA, LDA - Keio University...1 トピックモデル LSA とpLSA とLDA 櫻井彰人 LSA, pLSA, LDA • 文書・単語行列をモデル化する • ノイズと偏りを除去する方法に諸手法あり

5

TOPIC 1

TOPIC 2

DOCUMENT 2: river2 stream2 bank2 stream2 bank2 money1 loan1

river2 stream2 loan1 bank2 river2 bank2 bank1 stream2 river2 loan1

bank2 stream2 bank2 money1 loan1 river2 stream2 bank2 stream2

bank2 money1 river2 stream2 loan1 bank2 river2 bank2 money1

bank1 stream2 river2 bank2 stream2 bank2 money1

DOCUMENT 1: money1 bank1 bank1 loan1 river2 stream2 bank1

money1 river2 bank1 money1 bank1 loan1 money1 stream2 bank1

money1 bank1 bank1 loan1 river2 stream2 bank1 money1 river2 bank1

money1 bank1 loan1 bank1 money1 stream2

.3

.8

.2

文書の生成例

.7

http://helper.ipam.ucla.edu/publications/cog2005/cog2005_5282.ppt

DOCUMENT 2: river? stream? bank? stream? bank? money? loan?

river? stream? loan? bank? river? bank? bank? stream? river? loan?

bank? stream? bank? money? loan? river? stream? bank? stream?

bank? money? river? stream? loan? bank? river? bank? money? bank?

stream? river? bank? stream? bank? money?

DOCUMENT 1: money? bank? bank? loan? river? stream? bank?

money? river? bank? money? bank? loan? money? stream? bank?

money? bank? bank? loan? river? stream? bank? money? river? bank?

money? bank? loan? bank? money? stream?

モデルの学習

TOPIC 1

TOPIC 2

?

?

?

Probabilistic Latent Semantic Analysis

隠れ状態(トピック)を EM 法で発見することができる

次の問題の解決が可能 多義語

Java はコーヒーを意味するがあるコンピュータ言語も意味する

同義語

計算機、コンピュータ、PC はほぼ同じ意味

LSI/LSAに比し、統計的意味がある

pLSA

• アスペクトモデル

– 文書は、基盤である(潜在的な) K 個のアスペクトの混合である

– 個々のアスペクトは単語分布 p(w|z) で表される

• 学習には Tempered EM を使用

アスペクトモデル

• 生成モデル

– 確率 P(d) で文書を選ぶ

– 確率 P(z|d) で、潜在クラス z を選ぶ

– 確率 p(w|z) で、単語 w を選ぶ

d z w

P(d) P(z|d) P(w|z)

Hofmann 1999 の提案

共起するデータに対する潜在変数モデル

個々の観測データ (w,d) にクラス変数 z  Z={z_1,…,z_K} を付随させる

等価なモデル

)|()|()(),(1

k

K

kkk zwPzdPzPwdP

K

kkk dzPzwPdwP

dwPdPwdP

1

)|()|()|(

where),|()(),(

d z wd z w

Page 6: LSA, pLSA, LDA - Keio University...1 トピックモデル LSA とpLSA とLDA 櫻井彰人 LSA, pLSA, LDA • 文書・単語行列をモデル化する • ノイズと偏りを除去する方法に諸手法あり

6

文書クラスタリングとの比較

• 文書は、クラスタ(アスペクト)一つだけに関連付けられるものではない

– 文書ごと P(z|d) はアスペクトのある混合を定める

– より柔軟性が高く、より有効なモデルができよう

ただ,  P(z), P(z|d), P(w|z) を計算しないといけない. あるのは文書(d) と単語(w)のみなのに.

Tempered EM を用いたモデル学習

• アスペクトモデルに従い、対数尤度を記述することができる。それを最大化すればよい

• EM (Expectation Maximization) 法が使える– 過学習を避けるため tempered EM を用いる

D W

Ld w

wdPwdn ),(log),(

EM のステップ

• E‐ステップ

– 現在のパラメータ値に従って、対数尤度関数の期待値(潜在変数に関する期待値)を求める

– 今回は例によって、その途中で求める、潜在変数の分布を求める

• M‐ステップ

– 上記「対数尤度関数の期待値」を最大化するようパラメータを定める

E ステップ

• 潜在変数 z の分布は、文書 d 中に単語 w が現れることを z が説明する確率である

K

kkkk zwPzdPzP

zwPzdPzPwdzP

1

)|()|()(

)|()|()(),|(

M ステップ

• 下記のパラメータは、E ステップで求めたp(z|d,w) を用いて表現できる

• 尤度関数の局所最大値に収束する

wd

d

wdzPwdn

wdzPwdnzwP

,),|(),(

),|(),()|(

wd

w

wdzPwdn

wdzPwdnzdP

,),|(),(

),|(),()|(

wd

wd

wdn

wdzPwdnzP

,

,

),(

),|(),()(

pLSI更新式まとめ• pLSI の対数尤度

• EM アルゴリズム

- E - Step

-M- Step

D W

Ld w

wdPwdn ),(log),( )|()|()(),( zwPzdPzPwdPz

Z

wd

d

wdzPwdn

wdzPwdnzwP

,),|(),(

),|(),()|(

wd

w

wdzPwdn

wdzPwdnzdP

,),|(),(

),|(),()|(

wd

wd

wdn

wdzPwdnzP

,

,

),(

),|(),()(

Zz

zwPzdPzP

zwPzdPzPwdzP

)|()|()(

)|()|()(),|(

Page 7: LSA, pLSA, LDA - Keio University...1 トピックモデル LSA とpLSA とLDA 櫻井彰人 LSA, pLSA, LDA • 文書・単語行列をモデル化する • ノイズと偏りを除去する方法に諸手法あり

7

過学習

• ところが、pLSA ではパラメータ数が多いため、

過学習(学習データはよく説明するが、未知データ上での性能は悪い)が起こってしまう

• E ステップを少し修正する

• フィットしすぎないようにする

TEM (Tempered EM)

• 学習量を制御するパラメータ β を導入する

• β (> 0)は1から開始し、次第に減少していく

zzwPzdPzP

zwPzdPzPwdzP

)|()|()(

)|()|()(),|(

Simulated Annealing

• 焼きなまし(annealing): 金属を加工するにあたって、

加工硬化による内部のひずみを取り除き、組織を軟化させ、展延性を向上させるため、一定温度に熱したのち、ゆっくりと冷却する方法 – 初期状態よりさらに内部エネルギーが低い状態にもっていく

• 疑似焼きなまし: 最小値解の候補解を繰り返し求めるにあたり、パラメータ β が大きければ大きく動き、小さければ小さく動くようにし、繰り返すに従って、徐々にβ を小さくしていく方法。 β が温度の働きをする。

β の選び方

• 適切な β はどう選べばよいか?

• β は 学習不足と学習過多を分ける

• Validation データセットを用いる簡便な方法は– 学習データを対象とした学習を β =1 から開始する

– Validation dataset を用いて学習モデルをテストする

– 前回より改善しているなら、同じ β で継続する

– 改善がなければ、 β <‐ β where <1

例: Perplexity の比較

• Perplexity – Log‐averaged inverse probability (対未知データ)

• 確率が高ければ(よく予測できていれば) perplexity は下がる

Figure 6. Perplexity results as a function of the latent space dimensionality for (a) the MED data (rank 1033) and(b) the LOB data (rank 1674). Plotted results are for LSA (dashed-dotted curve) and PLSA (trained by TEM =solid curve, trained by early stopping EM = dotted curve). The upper baseline is the unigram model correspondingto marginal independence. The star at the right end of the PLSA denotes the perplexity of the largest trained aspectmodels (K = 2048).

(Hofmann 2001)

例: トピック分解

• 1568 文書のアブストラクト• 128 潜在クラスに分解

• "power" と名付けたいトピックに属する単語の語幹, i.e.,p(w|z) が大きい語幹

Power1 – 宇宙関連Power2 ‐ 電気関連

Thomas Hofmann. Probabilistic Latent Semantic Analysis. In Proceedings of the Fifteenth Conference on Uncertainty in Artificial Intelligence (UAI'99)

Page 8: LSA, pLSA, LDA - Keio University...1 トピックモデル LSA とpLSA とLDA 櫻井彰人 LSA, pLSA, LDA • 文書・単語行列をモデル化する • ノイズと偏りを除去する方法に諸手法あり

8

例: 多義語

• 二つの異なる文脈(一文書一文脈)に出現する “segment” を検出している

Thomas Hofmann. Probabilistic Latent Semantic Analysis. In Proceedings of the Fifteenth Conference on Uncertainty in Artificial Intelligence (UAI'99)

Latent Dirichlet Allocation

pLSI の欠点

• pLSI においては, 観測可能変数 d はある学習

データで用いる索引番号である。従って、未知文書を扱う自然な方法がない.

• pLSI のパラメータ数は、学習データ中の文書数に比例する. 過学習する(そこで、T‐EM を用いている)

• トピック混合にもベイズ的にできないか.

Unigramの混合

Unigrams 混合モデル (単に Naïve Bayes)

M 個の文書それぞれにつき,

トピック z (一個)を選ぶ.

N 単語を選ぶ。各単語を独立に、z を条件とするある多項分布から生成される.

この Unigrams 混合モデルでは, 一文書に一トピック

Zi

w4iw3iw2iwi1

ところで: pLSI モデルは

確率潜在意味解析 (pLSI) モデル

学習データの文書 d 中の各単語につき,

文書(のインデックス) d を条件と

するある多項分布に従い、トピック z を選ぶ.

トピック z を条件とするある多項分布に従い、単語を生成する.

pLSI では, 一文書が複数個のトピックをもってもよいことになる.

d

zd4zd3zd2zd1

wd4wd3wd2wd1

Dirichlet 分布

• 有用な性質:– この分布は (k‐1)‐単体の上で定義される.  すなわち,  k 個の非負の引

数を持ち、その総和は1であるという制約がある.  従って、これは多項分布に対して用いるのに極めて自然な分布である.

– 事実, Dirichlet 分布は多項分布の双対分布である (これは、用いる尤度が、 Dirichlet 分布を事前分布とする多項分布であれば、事後分布もDirichlet 分布となることを意味する)

– Dirichlet 分布のパラメータ i は、i 番目のクラスの「事前」発現回数と考えることができる.

k

i i

k

i ik

i i

k

i iiip

1

1

1

1

1

1)|(

Page 9: LSA, pLSA, LDA - Keio University...1 トピックモデル LSA とpLSA とLDA 櫻井彰人 LSA, pLSA, LDA • 文書・単語行列をモデル化する • ノイズと偏りを除去する方法に諸手法あり

9

グラフィカルモデル

A

B

p(A,B) = p(B|A)p(A)

A

Bin

A

B2 BnB1

Plate記法

Bayesian Network の表現方法

ベイズ混合モデル

~Dirichletk(, …, )要素 z (z (1 … k)) は基底分布 G0 からのサンプル

z ~ G0 (例. Dirichletv( , …, ))各データ点(文書)に対し、一要素 z をサンプルする:

zi ~ Multinomial()そしてデータ点をある分布 F() からサンプルする

xi ~ F(z ) (例. Multinomial(z ))i i

zi

i n

xi

zz k

パラメータ: Θ = (, ) = (1 … k, 1 … k ) 潜在変数: z = (z1 … zn)観測変数: x = (x1 … xn)

k

z

n

iiiziz zpxpppxzp

i1 1

)|()|()()(),,,(

Latent Dirichlet Allocation(Blei, Ng, & Jordan, 2001; 2003)

Nd M

zi

wi

(d)

(j)

(d) Dirichlet()

zi Discrete( (d) ) (j) Dirichlet()

wi Discrete( (zi) )

K

文書毎のトピック上の分布

単語毎のトピック割当てトピック毎の単語の分布

割当てられたトピックから生成された単語

Dirichlet 事前分布

2003の論文で、smoothed LDAとして導入

LDA モデル (2種類)

• 各文書につき, Dirichlet()• N 単語 wnのそれぞれにつき:

– トピック zn ~ Multinomial()– 単語 wn ~ p(wn|zn,),  ただし、

p は多項分布, i.e., ~ .

zi,jj N

wi,j

z z K

ii M

zi,jj N

wi,j

zz K

ii M

z ではなく、を用いて記述することが多い

smoothed LDA LDA

• 各文書につき Dirichlet()• 各トピックにつき Dirichlet()• 全N 単語 wnのそれぞれにつき:

– トピック zn ~ Multinomial()– 単語 wn ~ p(wn|zn,),  ただし、

p は多項分布, i.e., ~ .

LDA モデル (plateを展開して)

• 各文書につき Dirichlet()• 各トピックにつき Dirichlet()• 全N単語のそれぞれ(のindex n where n=1,…,N)につき:

– トピック zn ~ Multinomial()– 単語 wn ~ p(wn|zn,),  ただし、p は多項分布, i.e.,  ~ .

zi,j

j N

wi,j

zz K

i

i M

z4z3z2z1

w4w3w2w1

z8z7z6z5

w8w7w6w5

z12z11z10z9

w12w11w10w9

1トピックにつき1個生成される

(位置 i から見て、どの に繋がるかは、zによって、いわば動的に決まる

LDA モデル(繰り返しですが)

z

w

M

N

• For 文書 d = 1,,M

• 生成 d ~ Dir( | )

• For (文書中)位置 n = 1,, Nd

• 生成 zn ~ Mult( | d)

• 生成 wn ~ Mult( | zn)

M

dd

N

n kkwdkd

M

dd

N

n kkndnd

M

dN

d

d

n

d

d

d

dp

dwpkzpp

wwp

1 1

1 1

11

)|(

)|()|()|(

),|,...,(

Page 10: LSA, pLSA, LDA - Keio University...1 トピックモデル LSA とpLSA とLDA 櫻井彰人 LSA, pLSA, LDA • 文書・単語行列をモデル化する • ノイズと偏りを除去する方法に諸手法あり

10

1. Sample from a Dirichlet( ) prior2. For each word in document

(a) Draw from (b) Draw from (c) If 1, then draw from , else

draw from

pLSA モデル(比較のために)

d

z

w

M

• 文書(トピック分布)選択 d ~ Mult()

• For 文書内位置 n = 1,, Nd

• 生成 zn ~ Mult( | d)

• 生成 wn ~ Mult( | zn)

d

N

トピック分布

M

d

N

n kkwdkd

M

d

N

n kkndn

M

dN

d

n

d

d

wpdkzpdp

dwwp

1 1

1 1

11

)|(),|()(

),|,,...,(

pLSA の特徴

• Probabilistic Latent Semantic Analysis 

– (Tempered) EM を用いた学習

– 完全な生成モデルとはいえない

• 学習用の文書集合上の分布 がある: 新規の文書に適用できない

– それにも関わらず, 混合モデルより現実的

• 例えば、各文書中に複数のトピックがあってよい

LDAの特徴

• Latent Dirichlet Allocation

– PLSA の問題を解決• (生成モデルとして)任意のランダム文書が生成できる

• 新規文書に対応できる

– パラメータ学習:• 変分 EM (Variational EM)

• Gibbs サンプリング

– 統計的なシミュレーション

– 解にバイアスはない

– 統計的な収束

Gibbsサンプリング

• Gibbs サンプリング– 結合分布の評価は難しいが、条件付き確率なら容易な時

– マルコフ連鎖を生成するようなサンプルの列を作る

– この連鎖の定常分布が、求める結合分布になる

1. : の初期化

2. for  0to 1• サンプルする: ~ | , , … ,

• サンプルする: ~ | , , … ,

• サンプルする: ~ | ,… , , , … ,

• サンプルする: ~ | ,… ,

導出 ポイントだけ

N

nnnn zwpzpppp

1

,||||,|wz,,,

K

i

M

j

N

tztjjtjji tj

wpzpppp1 1 1

,, ,||;;,;,,, wzθφ

K

ii

M

j

N

tztji

M

jj

N

tjtjj

K

i

M

j

N

tztji

M

j

N

tjtjj

itj

j

tj

dwppdzpp

dwppdzpp

ddp

p

1 1 1,

1 1,

1 1 1,

1 1,

,

,

|;|;

|;|;

,;,,,

,;,

φθ

θ φ

φθ

θφwzθφ

wz

Page 11: LSA, pLSA, LDA - Keio University...1 トピックモデル LSA とpLSA とLDA 櫻井彰人 LSA, pLSA, LDA • 文書・単語行列をモデル化する • ノイズと偏りを除去する方法に諸手法あり

11

K

iV

r ri

r

V

r ri

r

V

r r

V

r rM

jK

i iij

K

i iij

K

i i

K

i i

K

ii

V

r

nriV

r r

V

r rM

jj

K

i

nijK

i i

K

i i

K

ii

M

j

N

tztji

M

jj

N

tjtjj

n

n

n

n

dd

dwppdzpp

i

irr

j

iji

itj

j

11 ),(

1 ),(

1

1

11 )(,

1 )(,

1

1

1 1

1,

1

1

1 1

1,

1

1

1 1 1,

1 1,

)(

)(

)()(

)(

)(

)()(

|;|;

),()(,

,

, : i-th トピック中の(辞書中) r-th 単語が j-th 文書に現れた回数

1

)(

)(

1

1,

1 )(,

1 )(, )(,

j

iji

j

K

i

nijK

i iij

K

i iij d

n

n

1

)( 1

1

1

1

dxxK

iiK

i i

K

i ii

K

iV

r ri

r

vi

vK

ii

im

K

iV

r ri

r

vi

v

K

i iim

K

i iim

K

i

V

vrrr

ir

K

V

r r

V

r r

M

mjjK

i iij

K

i iij

M

K

i i

K

i i

K

iV

r ri

r

V

r ri

r

V

r r

V

r rM

jK

i iij

K

i iij

K

i i

K

i i

nmnm

nmnm

n

nn

n

n

n

n

n

n

n

n

n

n

n

kzp

kzp

11 ),(

),(

1)(,

11 ),(

),(

1 )(,

1 )(,

1 ,1),(

1

1

,11 )(,

1 )(,

1

1

11 ),(

1 ),(

1

1

11 )(,

1 )(,

1

1

),(),(

),(),(

)(

)()(

)(

)(

)(

)(

)()(

)(

)(

)(

)(

)(

)()(

)(

)(

),;,,(

),;,|(

wz

wz

V

r rnmk

r

vnmk

vk

nmkm

V

r rnmk

r

vnmk

vk

nmkm

K

iV

r rnmi

r

vnmi

vK

ii

nmim

K

iV

r ri

r

vi

vK

ii

im

nmnm

n

nn

n

nn

n

nn

n

nn

kzp

1

),(,),(

),(,),(),(,

)(,

1

),(,),(

),(,),(),(,

)(,

11

),(,),(

),(,),(

1

),(,)(,

11 ),(

),(

1)(,

),(),(

)()(

)()(

)(

)()(

)(

)()(

),;,|(

wz Collapsed Gibbs サンプリング

• Dirichlet 分布と多項分布の双対性を用い, 連続値パラメータを積分消去する

• zの更新式をこれから求める

dpPP )(),|()|( zwzw

dpPP )()|()( zz

)()|(

)()|(

)()|()|(

zzw

zzw

zzwwz

z

PP

PP

PPP

K

kw

kw

Ww

kw

n

Wn

1)(

)(

)(

)(

)(

)(

M

dk

dk

Tk

dk

n

Tn

1)(

)(

)(

)(

)(

)(

は文書 d 中のトピック k の出現回数

は単語wのトピック k としての出現回数

は文書数は異なり単語数はトピック数

Collapsed Gibbs サンプリング

• 各 zi を、次の z-i で条件づけた分布でサンプルする

• 容易に実行可能:– メモリ: 数え上げは、2個の疎行列で行える

– 最適化: 特殊な関数はいらない, 単純な算術

– z と w が与えられれば と の分布は求めることができる

Wn

nn

Wn

n

Kn

nzP

i

i

ii

ii

i

i

i

i

i

z

zwd

zz

zw

d

dz

ii

)(

)()(

)(

)(

)(

)(

)(),|( zw

は文書 d 中のトピック k の出現回数

は単語wのトピック k としての出現回数

は文書中の i-th 単語が属する文書のIDは文書中の i-th 単語の単語IDは文書中の i-th 単語のトピックID

は文書数は異なり単語数はトピック数

z z z z

w w w w

Tn

n

Wn

nzP

i

i

i

i

i

i

d

dz

z

zw

ii

)(

)(

)(

)(

),|( zw

z4z3z2z1

w4w3w2w1

z4z3z2z1

w4w3w2w1

z4z3z2z1

w4w3w2w1

Page 12: LSA, pLSA, LDA - Keio University...1 トピックモデル LSA とpLSA とLDA 櫻井彰人 LSA, pLSA, LDA • 文書・単語行列をモデル化する • ノイズと偏りを除去する方法に諸手法あり

12

パラメータ推定

z

w

M

N

は文書 d 中のトピック j

の出現回数

は単語wのトピック j としての出現回数

は異なり単語数はトピック数

Wn

n

Kn

n

k

ki

ik

j

kj

kj

)(),(

),(,

)()(,

)(,,

ˆ

ˆ

Wn

n

Kn

n

j

jww

j

d

djd

j

)(

)()(

)(

)()(

ˆ

ˆ

, : i-th トピック中の(辞

書中) r-th 単語が j-th 文書に現れた回数

LDA における Gibbs サンプリング

i wi di zi123456789

101112...

50

MATHEMATICSKNOWLEDGE

RESEARCHWORK

MATHEMATICSRESEARCH

WORKSCIENTIFIC

MATHEMATICSWORK

SCIENTIFICKNOWLEDGE

.

.

.JOY

111111111122...5

221212212111...2

iteration1

LDA における Gibbs サンプリング

i wi di zi zi123456789

101112...

50

MATHEMATICSKNOWLEDGE

RESEARCHWORK

MATHEMATICSRESEARCH

WORKSCIENTIFIC

MATHEMATICSWORK

SCIENTIFICKNOWLEDGE

.

.

.JOY

111111111122...5

221212212111...2

?

iteration1 2

LDA における Gibbs サンプリング

i wi di zi zi123456789

101112...

50

MATHEMATICSKNOWLEDGE

RESEARCHWORK

MATHEMATICSRESEARCH

WORKSCIENTIFIC

MATHEMATICSWORK

SCIENTIFICKNOWLEDGE

.

.

.JOY

111111111122...5

221212212111...2

?

iteration1 2

Wn

n

Kn

njzP

ji

wji

di

dji

ii

i

i

i

)(

,

)(,

)(,

)(,),|( zw

Kunpeng Zhang の資料より

LDA における Gibbs サンプリング

i wi di zi zi123456789

101112...

50

MATHEMATICSKNOWLEDGE

RESEARCHWORK

MATHEMATICSRESEARCH

WORKSCIENTIFIC

MATHEMATICSWORK

SCIENTIFICKNOWLEDGE

.

.

.JOY

111111111122...5

221212212111...2

?

iteration1 2

Wn

n

Kn

njzP

ji

wji

di

dji

ii

i

i

i

)(

,

)(,

)(,

)(,),|( zw

Kunpeng Zhang の資料より

LDA における Gibbs サンプリング

i wi di zi zi123456789

101112...

50

MATHEMATICSKNOWLEDGE

RESEARCHWORK

MATHEMATICSRESEARCH

WORKSCIENTIFIC

MATHEMATICSWORK

SCIENTIFICKNOWLEDGE

.

.

.JOY

111111111122...5

221212212111...2

2?

iteration1 2

Wn

n

Kn

njzP

ji

wji

di

dji

ii

i

i

i

)(

,

)(,

)(,

)(,),|( zw

Kunpeng Zhang の資料より

Page 13: LSA, pLSA, LDA - Keio University...1 トピックモデル LSA とpLSA とLDA 櫻井彰人 LSA, pLSA, LDA • 文書・単語行列をモデル化する • ノイズと偏りを除去する方法に諸手法あり

13

LDA における Gibbs サンプリング

i wi di zi zi123456789

101112...

50

MATHEMATICSKNOWLEDGE

RESEARCHWORK

MATHEMATICSRESEARCH

WORKSCIENTIFIC

MATHEMATICSWORK

SCIENTIFICKNOWLEDGE

.

.

.JOY

111111111122...5

221212212111...2

21?

iteration1 2

Wn

n

Kn

njzP

ji

wji

di

dji

ii

i

i

i

)(

,

)(,

)(,

)(,),|( zw

Kunpeng Zhang の資料より

LDA における Gibbs サンプリング

i wi di zi zi123456789

101112...

50

MATHEMATICSKNOWLEDGE

RESEARCHWORK

MATHEMATICSRESEARCH

WORKSCIENTIFIC

MATHEMATICSWORK

SCIENTIFICKNOWLEDGE

.

.

.JOY

111111111122...5

221212212111...2

211?

iteration1 2

Wn

n

Kn

njzP

ji

wji

di

dji

ii

i

i

i

)(

,

)(,

)(,

)(,),|( zw

Kunpeng Zhang の資料より

LDA における Gibbs サンプリング

i wi di zi zi123456789

101112...

50

MATHEMATICSKNOWLEDGE

RESEARCHWORK

MATHEMATICSRESEARCH

WORKSCIENTIFIC

MATHEMATICSWORK

SCIENTIFICKNOWLEDGE

.

.

.JOY

111111111122...5

221212212111...2

2112?

iteration1 2

Wn

n

Kn

njzP

ji

wji

di

dji

ii

i

i

i

)(

,

)(,

)(,

)(,),|( zw

Kunpeng Zhang の資料より

LDA における Gibbs サンプリング

i wi di zi zi zi123456789

101112...

50

MATHEMATICSKNOWLEDGE

RESEARCHWORK

MATHEMATICSRESEARCH

WORKSCIENTIFIC

MATHEMATICSWORK

SCIENTIFICKNOWLEDGE

.

.

.JOY

111111111122...5

221212212111...2

211222212212...1

222122212222...1

iteration1 2 … 1000

Wn

n

Kn

njzP

ji

wji

di

dji

ii

i

i

i

)(

,

)(,

)(,

)(,),|( zw

Kunpeng Zhang の資料より

77 / 57

結果の例

• pLSA等の比較

小さい方がよい

Unigram

LDA

Blei et al. 2003

結果の例

• 過学習をしないという意味において、LDAの方がすぐれているという実験結果が多い。

http://chasen.org/~daiti-m/paper/topic2006.pdf

Page 14: LSA, pLSA, LDA - Keio University...1 トピックモデル LSA とpLSA とLDA 櫻井彰人 LSA, pLSA, LDA • 文書・単語行列をモデル化する • ノイズと偏りを除去する方法に諸手法あり

14

パラメータ数による比較

手法 パラメータ数 効率的な解法

LSA (KV+KN) SVD (Lanczos法)

PLSA KV+KN EM Nが入っているのでoverfitしやすい

LDA KV+K 変分ベイズ 問題のNを消した

(KV+KN) Gibbs sampler 事前分布による正則化

K: topicの数V: 語彙数N: 文書数

http://www.r.dl.itc.u-tokyo.ac.jp/study_ml/pukiwiki/index.php?openfile=PLSV.pptx&plugin=attach&refer=schedule%2F2008-11-06

参考: 他のモデル

• Multinomial Naïve Bayes

C

W1 W2 W3 ….. WN

M

• For 文書 d = 1,, M

• 生成 Cd ~ Mult( | )

• For 文書位置 n = 1,, Nd

• 生成 wn ~ Mult( |,Cd)

M

d

N

nwCC

M

d

N

ndnd

M

ddN

d

ndd

d

d

CwpCp

Cwwp

1 1,

1 1

11

),|()|(

),|,,...,(

参考: NBのplate表現

C

W1 W2 W3 ….. WN

C

W

N

M

M

他のモデル: 混合モデル

• 混合モデル: 教師なし naïve Bayes モデル

C

W

NM

• 単語とクラスの結合確率分布:

• しかし、クラスは見えない:Z

M

d

N

nwzz

M

ddN

d

ndddzwwp

1 1,

11 ),|,,...,(

M

d

K

k

N

nwkk

M

dN

d

ndwwp

1 1 1,

11 ),|,...,(