テスト、書いてますか -- 日本語入力は総合格闘技

Naver オフィスにあった壁にめり込んで

NLP若手の会2日目。午前中は@taku910さんの「Google日本語入力ができるまで」。前半の話はこれまでかれこれ4回くらい聞いたことのある話であったが、後半の話は新ネタもあり、それなりに楽しめた。日本語入力は

などなどの計算機科学の技術が詰まった「総合格闘技」であるという話はなるほどなと思う。(ちゃんとテスト書いていますか、という話はちょっと耳が痛い……) ともあれ、やっぱり研究脳なので、最初の2つくらいに一番興味があるので、自分はエンジニア脳じゃないなぁ、と悲しくもある。

とはいえ、自然言語処理的にもいろいろおもしろい話はある。たとえば、Google 日本語入力は(CRF などの)識別学習ではなく単純な HMM を使っているそうなのだが、これは CRF (や SVM などの) 識別学習器がたとえば100億文規模の大規模データに対してスケールしなかったためである、という話。質疑応答でも二宮さんがこの部分に食いついて「なんで識別学習を諦めたのか納得できない」とおっしゃっていたのだが、データが大規模だとナイーブな識別学習は全然適応できない(たとえば CRF はタスクやラベルの設計にもよるが、形態素解析くらいのレイヤーの処理であれば数万文くらいがせいぜい)し、単純に頻度で最尤推定するだけでも十分だったりするのである。

研究的には「ちゃんとタグ付けして識別モデルで学習するのがいちばんいいはず」だと思うのだろうが、現実問題としてはそういうスケーラビリティの問題や、「ちゃんとタグ付け」するのがそもそも非常に時間や人手(経験)がかかったり(基本的には全部自動でやりたい)、研究でベストとされている手法が必ずしも開発の現場でベストであるとは限らないのだ。

日本語入力の開発は他にもいろいろと考えなければならないところがあるのだが、Google 日本語入力の TechTalk が10月に予定されており、「Mozc ソースコードレビュー」に1時間半が割かれていたりするので、興味ある人は申し込みされたし (自分はライトニングトークは申し込まなかったけど)。Google 日本語入力 TechTalk 2010

日時
2010 年 10 月 23 日 土曜日 1:30 PM (受付開始)
申込締切
2010 年 10 月 10 日 日曜日
会場
Google 東京オフィス (六本木ヒルズ
プログラム
Google 日本語入力ができるまで』 (Talk 0:20 + QA 0:10), 『Google 日本語入力の設計概要』 (Talk 0:30 + QA 0:15), Mozc ソースコードレビュー』 (Talk 1:30 + QA 0:15), 『ライトニングトーク』(Talk 1:00)

ちなみに今日の日記のタイトルは

ライト、ついてますか―問題発見の人間学

ライト、ついてますか―問題発見の人間学

のもじりだが、「問題は解くより発見する方がずっとむずかしく、ずっとおもしろい」というのは同感で、上記の講演でも実装に取りかかる前にものすごく議論をして方向性を決めたのが重要で、最初徹底的に議論したからこそあとで作り直す必要がなかった、という話になるほどな、と思った。(タイトルは妙な本だけど古典的で内容は参考になるので読んだことない人がいたら古本で買ってみる価値はあると思う)

さて、昼は「神保町はカレーで有名」という話なので、欧風カレー ボンディ 神保町本店へ。@akfさんたちと大学の話をしたりなんだり。松本研のスタッフ4人で修士が20人いるのできついかも、と思っていたが、准教授でも1人で14人の学生の面倒を見ないといけないのは大変とか、むしろ学生が多いより研究室を志望してくれる学生がいないことのほうが深刻な問題だとか、なんだかんだ言って NAIST は恵まれているのだな、と思い直す。

午後は情報処理学会第198回自然言語処理研究会(NL研)で座長。NL研は初座長だったのでちょっと緊張したのだが、質疑応答も活発で一安心。「HMM を用いて分野適応する仮名漢字変換」という研究が出ていて、仮名漢字変換の研究をやる人が複数の場所で出てきてくれたのは喜ばしい限り。(深刻な人材不足なので……)

@unnonouno さんが NLP 若手の会シンポジウムについて日記を書かれている通り、議論も活発で若い世代の人が活躍していてなによりである。最近言語処理学会にも若手の会にも参加するばかりで発表していないので、来年はなにか話さないと、と思ってみたりする。

若手の会終了後、大崎のNaver オフィスへ。いろいろお話をお伺いする。お久しぶり、な人とお会いしてみたり。大学からなにか貢献できることがあるといいのだけど……。