mots quotidiens. | |
Daichi Mochihashi (持橋大地) daichi <at> ism.ac.jp | by hns, version 2.10-pl1. |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
めきめきと有力候補となってきたのが文書を代表する単語をとる学習器作成と それによる極少数のfeatureによる文書分類。ちょっと考えたらとりあえずできることに気付いた。
基本は, 「その単語を外したらどうなるか (Leave-one-out)」を考えること。 その際に, 何らかの評価値を最大化するような語を探す。
classification でやるなら, その語がある文書で出なかった場合, classification error の期待値が最大になるような語を求める, などするのだと思う。
ベイズ的にやるなら, Uber SVM で話した Latent Dirichlet kernel と同じ方法が
使える。ある語 $w$ を外した時に得られるトピックの分布 p(θ|d\w) と,
元のトピック分布 p(θ|d) の KL-divergence が最大になるような語 w を代表語
とすればよい(多分)。
VB-EMをやって得られるトピック分布はその文書の"意味"
(という言い方はあまり使いたくないが) のようなものを表しているので,
この KL-divergence 最大化は, 「ある語を外した時に文書の"意味"がどれくらい
ビット落ちするか」を表していることになる。
技術的に言うと, a とか the のような機能語はどの隠れクラスからも高い確率で
出るので, 外しても事後分布にはほとんど影響しないはず。そういう意味で,
このやり方で事後分布を支配するような単語 w がとれる。(回数も事後分布に
関して考慮されるので, salient な語が複数回出現していればそれだけ候補に
なりやすいことに注意。)
他にも方法はあるかと思うが, これはかなり自然な方法だと思う。
他にやることがあるので, 僕はやらないけど。
タイトル一覧 |