雑感3
この数日間は、イベント等があって趣味のプログラミングはしていない。
前々回、 前回 とネガティブな日記を書いた。考えを論文にして、アルゴリズムに関するものであっても実験で性能を出して国際学会で採択されるなどしないと、アルゴリズムの内容も読んでもらえないということにちょっと不満があったから。
普通に考えると、しょうがないといえばしょうがない。人間はこんなに多いのに、誰かが「いいアイディア思いついたよ」と言っても、そんなのいちいち読んでいられない。こういう状況では、性能の出る応用に結び付いたアイディアだけをみんなが読むというのが効率的なんだろう。今のシステムよりいいものも特に考えつかない。
それにしても、学術界の業績駆動システムには疑問を感じないでもない。学術界の中ではそれで回っていくのかもしれないが、在野の者がちょっといいアイディアを思いついたと思っても、学術界の外では「業績」というのはそんなに価値のあるものではないので、英語で論文を書くほどのモチベーションにつながらないんじゃないだろうか。
元々、学術界というのはそういうものは誤差として無視するようになっているんだろうな。良質なアイディア発生装置があって、それによってアイディア選別装置がフル稼働しているなら、低質なアイディア発生装置からの入力を受け付けないほうが理にかなっている。
まあ、それはそれとして。
N-gram かな漢字変換については、今後ゆっくり解説を書いていこう。共通接頭辞検索とかのあたりは日本語自然言語処理に共通のところだし。N-gram デコードの部分は、今回きちんとソースを整理してみたらほとんど自明な動的計画法だったので、自分の知らないうちに他の人が論文の中でついでに実装していたりするかもしれないが、それでも一応書いてみる。
そもそも、N-gram デコードは自分が修士の時にやりかけていた「品詞・形態素混合 N-gram」の中で使ったアルゴリズムのシンプル版。誰か他の人が、同じように何かのついでに軽く実装していても不思議ではない。
可変次数 CRF のほうはそんなにシンプルではない。N-gram デコードに比べると何十倍もの時間をかけて考えに考え抜いて、定式化なんて自分には無理だと思ったけど、他人にもわかってもらえないと意味がないので必死に定式化して、実用的な実装なんてとてもできそうになかったけど、岡崎さんのCRFSuiteのおかげで何とか実装もできて、修士論文という形にもできた。それは修士論文・NLP2011 という流れがあったからこそできたことで、これを国際学会に出すようなエネルギーは、少なくとも今はない。
なんでそのモチベーションが出ないかというと、何よりもまず、「自分で確信が持てない」から。もちろん、自分なりの自信があるんだけど、誰かに、それを理解した上でいいとかダメとか言ってほしい。
でも、自分の論文が正しいか正しくないかは置いておいて、複雑すぎてとても手軽に読めるようなものではない。というか、ぼく自身も先行研究であるConditional Random Fields with High-Order Features for Sequence Labelingを読めていない(まったく…)。
こっちのほうは、手が空いた時にゆっくり修士論文を英訳してそれをアップロードして、誰かが読んでくれるのを期待しようかな。