間違いを探すにはたくさん目があると速い

最近は歩くと右足が痛くなるので、なるたけ歩かないようにしている(自転車は大丈夫)が、歩かなくなったら痛みは落ち着いてきたようだ(しかしなくなったわけではない)。

午前中、論文紹介で以下の論文を紹介してもらう。

  • Prabhakaran, Rambow and Diab. Automatic Committed Belief Tagging. COLING-2010.

ある命題をどれくらい信じているか、という信念に関するタグ付けの研究である。といっても、タグ付けは Mona Diab さんの以前の研究で作ったコーパスをそのまま用いているので、そのコーパスを使って系列ラベリングとして信念の強さを自動で分類するタスクを解いた、という話。コーパスがあればそれを使った自動タグ付けの研究も出るだろうなという感じで、順当なところである。

ただ、タグ自体の良し悪しについての議論が少なく、コーパスありきで書かれているのがちょっと気になる。統語的な素性を入れると性能がよくなるということに異論はないのだが、SVM (YamCha) と  CRF を比べているが、CRF は前後1単語しか見ないのに対し、SVM は前後5単語まで見るようにしているとか、ちょっと何を比較したかったのかも謎だし……(アルゴリズムの違いを見たいなら、参照する文脈は同じにしないとフェアではない)。

これこそ Project Next NLP のように、自動でタグ付けする手法は単純に思いつく簡単な手法でいいので、解くのが難しい問題は何かしっかり議論して、それぞれコーパスに出現する実例を元に、どういう言語現象、あるいは世界知識によって、人間でもタグ付けが厳しいとか、機械的にやるのは難しいとか、そういう議論をしてほしかったな。

お昼は機械翻訳のプログラムに関するデバッグを手伝う。いま台湾から来ている留学生2人に英中翻訳をしてもらっているのだが、動作しているディレクトリごとコピーしたのに翻訳の精度(BLEU スコア)が大きく違う、ということなのだ。BLEU スコアは確かに低く出ているが、翻訳結果を見るとそんなに悪いようには見えないので、1ステップごとに確認。学習済みの翻訳モデル・言語モデルは同じだし、入力のテキストも同じ、そして出力のテキストも同じ(diff どころか cmp しても同じ)。こうなるとあとあやしいのは評価スクリプトなのだが、PATHを確認して使われている評価スクリプトを diff してみると、UTF-8 対応が入った評価スクリプトとそうでない評価スクリプトがあるようで、原因が判明。

デバッグはどつぼにはまることがあるし、「全部書かれている通りにしたのに」とか「全部コピーしてそのまま使っているのに」とか思っても、他人と確認すると間違いがすぐ分かったりするので、一人で悶々とせず周りに見てもらうといいと思う。しかしながら、スコアだけ見て判断するのは危険だから、ちゃんと出力を見てねと繰り返し言っているのだが、実際のデータを見るのは面倒かなぁ。スコアだけではなく翻訳結果をちゃんと見れば、翻訳自体に問題ないことは分かるのだが……

午後はコース会議。来週にも臨時のコース会議があることを知るが、全くもろ被りの時間に授業があるので欠席せざるをえない。南大沢でなければ都合つけられたかもしれないが、移動時間を入れるとどう考えても無理である。

夕方はコーパスの利用申請を出す。どのコーパスが必要で、ということを調べるだけで1時間強。あまり遅くなれないのでとりあえず申請だけしてみたが、いつから使えるようになるのだろうか……。