ソースコードをメンテナンスするのも一苦労

午前中、来年度の共同研究のための電話会議ミーティング。打ち合わせ事項は少ないので10分ほどで終わり、松本先生と10分ほど雑談。なんだか来年度もいろいろありそうである。

プリントアウトするべき資料を印刷し、車で学研北生駒駅へ。普通に間に合う時間に出たのだが、駐車場がどこも満車で焦る。隣の駅まで行ったがそこも満車……。病院の併設駐車場 (一般の人でも停められる) に空きが1台だけあったので、速攻で停めて事なきを得る。焦った〜。しかし本来乗るつもりだった電車に乗れなかったので、時間的にはぎりぎり。

新大阪で打ち合わせ。自分よりタスクについて詳しい人たちと話すのは大変勉強になる。いろいろと考えなければならないことも……。問題解決 (能力) と問題発見・作成 (能力) とでは、研究者に取って大事なのは言うまでもなく後者である (前者ができるのは大前提) が、天と地ほど違うように思われる……。これはできない人がいても仕方ないと思うのであった。

たとえば大学入試センター試験で7割取る、というのは問題さえあれば (もし仮にできないとしても、ちゃんと勉強すれば) そんなに難しくないことのように思われるが、解いて意味のある問題を用意し、学力にものすごくばらつきがある受験生が受けてそれなりに点数が全体に散らばるように分布するような適当な難易度の試験を作る、というのは根本的に違う仕事 (能力) で、後者ができる人は恐らく前者もできるが、前者ができるからといって後者ができるわけではない。

生駒に帰ってきたらもう6時。どうしようか迷ったが研究室に行き、スプリングセミナー用の MacBook の設定を終わらせる (今週末は引っ越しの最終仕上げだろうし、早めに用意しておかないと、TA の人たちが残りの設定できないので)。MacPorts だと port install 一発で NLTK のインストールから KNP や CaboCha のインストールまでできてすばらしい。しかしながら KNP 4.0 のダウンロード時間の長さはなんとかならないものか。(そういえば lp_solve も port install lp_solve 一発でインストールできる)

こっそり ryu-i さんが syncha 0.2 を公開していたようだ。いま自分の知る限り、NAIST テキストコーパスで学習されている述語項構造解析器は以下のようなものがある (忘れていて抜けがあったらごめんなさい)。

  • 自分と ryu-i さんが NAIST で作っsourceforge.jp で公開しているトーナメントモデルを用いた SynCha (Perl)
  • ryu-i さんが東工大で作って公開している別実装の ILP を用いた SynCha 0.2 (Perl)
  • [twitter:@shirayu] くんが NAIST で作っているトーナメントモデルを発展させた YuCha (C++、未公開)
  • [twitter:@Wildkatze] くんが NAIST で作っていた Markov Logic Network を使って同時学習を発展させた実装 (言語不明、未公開)
  • NTT 研究所の I 村さんの最大エントロピー法を用いた実装と T さんの決定リストを用いた実装 (言語不明、未公開)
  • CMU の [twitter:@hidekishima] さんが Tree CRF を用いて作った Mallet ベースの実装 (Java、未公開)

もはや最初に公開した SynCha はメンテナンスされなくなって久しい (32bit 環境でしかバイナリが動かないのだが、デモ用のマシンしか 32bit 環境が残っていない) ので、そろそろ公開を止める潮時だろうかという気になってくる。How To Become A Hacker の和訳 を久しぶりに見たが、以前と比べると Python の地位が向上しているようである。自分でももう一度述語項構造解析器を作り直すなら C++Python だと思っているし……。

23時ごろ帰ろうとしたら tetsuo-s くんとすれ違ったので立ち話をしていたら、日付が変わってしまった。なんだか金曜日の気がしていたのだが、明日も普通に平日だ〜