"Simplicial Mixtures of Markov Chains: Distributed Modelling of Dynamic User Profiles"
[PDF]
は, 最初にテクニカルレポートを読んだのは2003年くらいだと思うのだけれども,
やたら一般的な書き方をしているので, 何をやっているのかさっぱりわからなかった。
スライド
を前に見返すとだいぶわかってきたので, この場を借りて整理。
SMMCは一言で言うとLDAのバイグラム拡張と言っていいもので, 系列
s1s2..snが, 以下のプロセスに従って生成されたとする。
- Sample λ ~ Dir(α).
- For i = 1 .. n - 1,
- Sample k ~ Discrete(λ).
- Sample s(i+1) ~ p(・|s(i),k).
つまり, 系列
s
1s
2..s
nは, i = 1 .. n ごとに異なるバイグラムから生成されているとする。
論文はバイグラムでなくて, 一般の n-gram でも可能なように書いてあるので
何をやっているのかよくわからなかったが, 実際的には(特に自然言語の場合は)
記号の数が多いため, トライグラム以上を使うのは無理だと思う。
p(・|k) でなくて p(・|s(i),k) になっているというだけで, よく考えてみると
バイグラムである以外はLDAと同じモデル。
意味としては, 単語にはカテゴリがあって, 例えばあるカテゴリに属する動詞は
こういう語と続きやすい, という汎化をモデリングしていることになっている。
& どのようなカテゴリが出やすいかは, ある文書について最初にサンプルして
決まる。
(ただし, 汎化しすぎになる可能性があって, syntacticな制約が簡単に破られる
可能性があることと, バイグラム以上を使うのが難しいという問題はあると思う。)
そういう意味では, Hanna Wallach のICML'06の話はこの話とそっくりかも。