Online EM を実際のタスクに適用するとどうなるのだろうか

今日の機械学習の勉強会では

  • Percy Liang, Dan Klein. Online EM for Unsupervised Models. NAACL-2009.

@tettsyun くんが紹介してくれた。日本語による解説は@hillbigくんのオンラインEMアルゴリズムに詳しい。(ohmm(オンラインEMによるHMM学習)をリリースしましたソースコードも公開されている) ちなみに@tkngさんがChaIMEの高速化とモデルファイルのサイズを縮小するために、このohmmを用いており、大規模データに対してスケールする、ということを示していた、というのがここまでの経緯。

しかし今回きちんと論文を読んでみると、どうも彼らは新しいことを提案したというよりは、自然言語処理のいくつかのタスクでしっかり実験しました、という話のようである。そして、品詞タグ付けと単語分割、文書クラスタリング機械翻訳の単語アライメントで評価しているのだが、このうち本質的に教師なしでやるのは単語アライメント(とせいぜい文書クラスタリング)だけである。

そして詳しく結果を見てみると、単語アライメントの場合はオンラインEMでもバッチEMでも数回で収束しているし、とても差がついている品詞タグ付けは、とてもがんばると精度が60%を超えるのだが、数千文でもタグづけすれば9割近い精度になるタスクなので、そんなにこのタスクが役には立つようには思えない。(役に立たないから意味ない、と言いたいわけではない、というのは先週書いた通り)

確かに速度が5倍高速になるというのはよいことだと思うのだが、5倍速くなったからスケーラブルかというとそうでもないわけで、やっぱり全部のデータを見ないといけないとなると根本的な速度は変わらないのかな、と思ったり。この論文の実験では大規模データではないので数回反復を繰り返しているが、大規模データでやればオンラインEMは1回やるだけで収束するのではないかと思う。そういう意味では、4つのタスクでやるよりは、大規模データでどうなのかを実験してほしかったところである。

教師なしで高速に動くモデルはウェブスケールのデータを対象にすると嬉しいモデルなので、うまい応用先が見つかるとブレイクするのだろうなー