テストファーストの自然言語処理

10日ぶりに出勤したので、朝はひたすら事務処理。娘を扶養に入れるため、戸籍謄本を提出したりもする。これまで戸籍謄本は1枚でよかったのだが、娘が産まれたことにより2枚になってしまったため、ScanSnap でスキャンできなくなってしまった(フラットヘッドのスキャナでスキャン)。

午前中は機械翻訳の勉強会。評価について学ぶ。コロナ社機械翻訳本を使って勉強しているのだが、2章に評価の話が来るのは思い切った配置である。無難には言語モデルや翻訳モデルの話をしてからおもむろに評価の話に行きそう。ただ、この本も、最適化は末尾にあるので、そういう意味では最後にあるのかもしれない(評価の話と最適化の話は近くにあった方がいいような?)。

まあ、我々も「言語処理のための機械学習」は第1章を読んだあと、末尾の評価の章に飛んでから第2章に戻ってくるので、一度も評価について聞いたことがない人には、イントロの次に評価の話が来る方があとあと助かるのではないかと思う。テストファースト自然言語処理を考えると、まず話すべきはどのように評価するか、なのである。

ただ、このように評価の話を先にするのは善し悪しで、何を「正解」と考えるかを given として、どう定量的に評価するか、というのが評価の話題なのだが、自然言語処理はやはり言語を扱うものなので、言語的な話を評価の話より先にしたい、という気持ちはある。何が「正解」なのかを議論して初めて評価できるわけだし、何を「正解」とするのかも必ずしもコンセンサスがない、というのが自然言語処理の難しく、かつおもしろいところだと思うので。(とはいえ初学者にそんなことを言っても混乱するかもしれないが)

あと、今回から勉強会で進捗報告をしてもらうことに。機械翻訳グループで Moses を使った京都フリー翻訳タスクのベースラインを作ってもらっているのだが、Moses の make のテストが通らないという話。テストのスクリプトbash -x で実行したりして深追いすると、どうも gawk がないので失敗している(awk はある)ようで、apt-get install gawk して解決。あと、ヘルパースクリプトが見当たらないとか。インストールするだけでできるし余裕かと思ったが、これは一人だと解決が困難かもしれない……(ので、複数人でやってもらっていてよかった)。

いまうちの研究室でも東北大学乾・岡崎研究室の「自然言語処理100本ノック」をやってもらっているが、[twitter:@chokkanorg] さんの研究者流コーディングの極意を読んで、研究室にいる1〜3年間で、何を身につけてもらえばいいか?ということを再考しているところである。

午後は機械学習の基礎勉強会。今回はクラスタリングの章である。EMアルゴリズムなど、難所が登場。とはいえ、このあたりの導出を一度やっておくと、トピックモデルなどブラックボックスじゃなくなってくるので、がんばりどころである。

インダストリアルアートの馬場先生(准教授)もこの勉強会に参加されているのだが、研究室での研究・論文執筆スタイルの話などしてくださって、参考になる。馬場研究室では開発には Xcode、論文執筆には LaTeX を使う人が多いらしい。うちは Python の人が多いと思うが、PyCharm を使う人もいれば、エディタだけでやっている人もいるかな。論文は、昨年度は大学院に進学する人は LaTeX、就職する人は Word も可、としたが、今年度は全員進学希望なので、全員 LaTeX かな?

夕方はそそくさと17時過ぎに退勤。思ったより時間がないものである。あと1時間あれば、もう少し研究室で研究の話に付き合ったりできるのだが(たとえば Moses のインストールとか)、16時半まで勉強会があると、その1時間が厳しい。ゴールデンウィークが明けてから、研究や勉強が佳境に入ってきて盛り上がり、時間がかかるようになってきているので、とてもよい傾向ではあるのだが、満足にサポートできず申し訳ない。子どもはあっという間に育つと思うので、ひとまず夏休みまで乗り切れれば……。