murawaki の雑記

はてなグループから移転してきました

A Bayesian Mixture Model for PoS Induction Using Multiple Features

Christos Christodoulopoulos*1; Sharon Goldwater; Mark Steedman: A Bayesian Mixture Model for PoS Induction Using Multiple Features (EMNLP2011) (PDF)(slides).

教師なし POS induction。HMM でなく mixture model を使うのが特徴。

教師なし POS induction では、ここのところ HMM を Bayesian にしたモデルが流行っていた。この流れに水を差したのが同じ著者。EMNLP2010 で Bayesian で凝ったことをしたモデルは、実は単純な古典的なモデルと比べて精度がしょぼいという調査報告を出して、業界の一部に激震が走った (かどうかは定かでない)。*2今回の発表は、古典モデルを今風に Bayesian にしましたというもの。

HMM をやめて代わりにどうするかというと、Shütze の古典的手法のように、左右の context vector で clustering する。例えば、ball という単語の左には the, green などの語が来るので、これを特徴量ベクトルとする。そして似た特徴量ベクトルを持つ語に同じクラスを割り当てる。

Shütze は行列分解したあとで clustering しているのに対し、提案手法は Bayesian mixture model で clustering している。LDA の変種のようなモデル。LDA の文書が word type に、単語が特徴量の単語に対応している感じ。ただし、LDA だと単語ごとにクラスが別だけど、このモデルでは word type に対して一つのクラスを与える。

疑問。本当に Bayesian にする必要があるのか。質疑でも突っ込まれていた。一応 k-means には割と安定的に勝っている。prior なしで EM とかを回した場合よりも本当に良いのだろうか。

基本的にはただの特徴量ベクトルなのでいろんな拡張が可能。Morfessor を使って接尾辞を抽出してみたり、GIZA++ でアラインメントして別言語の context word を突っ込んでみたり。確かに過去の文献で有効性が主張されている手がかりを入れているのだけど、なりふり構わない感じで elegant ではない。せっかく生成モデルを作ったのだから、他のツールの結果を突っ込むのではなく、自分の中で解決したいところ。

one-tag-per-word 制約を入れている。例えば stocks は名詞の複数形かもしれないし、動詞の三単現かもしれないけど、一つのクラスを割り当てる。この制約は昔から使われていたけど、EMNLP 2010 の発表で再び有効性が主張されて、今回の発表でも使われている。majority voting の upper bound が 93% と高いから、とりあえずいいんじゃないかという割り切り。しかし、そうやって出てきた品詞は何なのかという分析がない。

精度が上がりましたというけど、その精度をどうやって測っているかというと、gold standard tagset とどれぐらい近いか。本当に gold standard に近付ければいいかというと謎。同じ EMNLP2011 のポスター発表で、教師なし依存構造解析に自動で induce された品詞を使うなら、one-tag-per-word 制約を入れないほうが良いという指摘があった。そろそろ gold standard との比較は限界にきていて、application における有効性で評価しないといけないなあと思う今日この頃。

*1:いかにもギリシャ人な名前。chair が早口で噛まずに名前を紹介すると、オーと感嘆の声があがった。

*2:state-of-the-art な手法を真面目に詰め込めば古典モデルに勝てましたという報告が ACL2011 に採択されている。