研究に必要なのは好きなことをしていていい環境

午前中はアルゴリズム演習の授業。せっかく慣れてきたのだが、もうあと2回しかない。今回も、演習課題を少し軽めにしてみたところ、好評であった(できる人も「これくらいでないと、できない人もいるから仕方ないですね」と慰めて?くれたが)。これまでは90分全部喋って演習は各自持ち帰ってやってもらっていたのだが、先週からは喋る時間を60分にして、30分課題を解いてもらう(質問も適宜受け付ける)ことにしたら、これくらいがちょうどいいらしい。来年は、学生の様子も分かっているし、2年生の前期で顔を合わせる人も多いだろうから、もっとスムーズに行くだろう……。

午後一で進捗報告。LibSVM 形式(ラベルが行頭にあり、素性IDと値のペアがコロンで区切られているファイル)の bag-of-words の素性がうまく作れないようで、自然言語処理のプログラミングの経験が少ないとはいえ、30分とは言わないでも1週間もかからないのでは?と思っていたのだが、2週間かけてもできないようなので、即興でスクラッチから5分ほどで書いて渡す。全く自分の見積もりミスで、申し訳ないことをした。

こんなところで時間を取られるのは本意ではないので、自分が書いて渡すのが一番早いのだが、簡単に書けるところを代わりに書いてしまうと、難しいところばかり残ってやる気がなくなりがちなので、あえて簡単そうなところを(ウォーミングアップのために)残してやってもらおうと思っていたのだが、何が難しくて何が簡単か、という感覚がどうも違うようなのである。

最近こういう話題ばかりであるが、目下自分の最重要課題は、ACLに通すような研究をすることではなく、大学に新しく自然言語処理の研究室を作るという試みなので、研究のできる人がいかに研究するかではなく、研究をしたことない人がどのようにできるようになっていくか、に興味があるのである。

翻ってみると、うちの研究室の学生は @neubig さんのNLPチュートリアルをやっていたときは、みんなさくっと実装できていた気がする(想像以上に実装力があって感動した)のだが、誘導があるのとないのとでは違うようで、擬似コードをコードに落とす能力と、口頭で説明した入出力から擬似コードを起こす能力はかなり違う能力であることが分かった(もっと言うと、何がアルゴリズムの入力で何がアルゴリズムの出力かを設計する能力も、別であろう)。何が足りないかは分かったのだが、(数をこなす以外で)どうやったらこの能力が身に付くのだろうか? とりあえず、ひたすら場数を踏むのが最短のような気がするのだが……。

プログラミングを学ぶ環境についてを読んでまさにその通りだと思う。

結局、プログラミングというのは、講師が前の黒板に90分間板書したものを読んで学べるものではないのだ。自分で調べて、コードを書いて、動かして学ばなければならないのだ。
ただし、「自分で調べて」というのが、大抵の場合、非効率的になる。(中略)自力で調べるとすると、無駄に時間がかかる。まずどこを調べればいいのかわからない。ドキュメントがどこにあるのかもわからない。

しかし(中略)理解しているものが教えれば、5分、10分で原理を教えられるようなものだし、ドキュメントがどこにあるのか指し示すのも一瞬ですむ。こういう時、複数人が、めいめい自分勝手に作業をしていて、たまに相談できるような環境があればいい。

自分からすると研究室というものがそれに当たるのだが、だからこそ、研究室の学生には、別に研究をするためでなくていいから、きっかけは漫画を見るためでも、(他の人の邪魔をしない程度に)ゲームをするためでも、定期的に研究室に来てほしいなぁ。ときどき研究、開発をしているなら、あとは好きなことをしていればいいと思うのだけど……。

今さらながら、NAISTで学部3年生向けにレクチャーしていた自然言語処理の基礎のスライドを取り出してきて、タスクやツールを紹介したりする。どこまで知れば、自力でいろいろできるようになるのか分からないが、とにかく自分の持っている知識を引き出せるだけ引き出してもらいたい。(もちろん、段階を踏まないと分からないと思うので、順を追って少しずつ、ではあるが)

夕方は事務手続きx2。コピペするだけでも時間がかかる。お金をもらったら使うのが大変だから、もらわないほうがいい、と喜連川先生が真顔でおっしゃっていたのを思い出した。

夜は研究等に関する相談。学生は(どこかからお金をもらっているのでなければ)仕事で研究をしているわけではないので、基本的に好きなペースで研究してもらえばいいと思うし、研究テーマも自分で決めてくれるのが一番いいと思うなぁ。ベストなのは、自分で未踏や学振に通したりして、研究費も自ら獲得して研究してもらうことだけど(笑) 

自分自身、修士のときアルバイト代をもらっていた共同研究は進捗報告をするのが苦しかった(幾度となく先生方、先輩方に助けてもらった)ので、学振に通って共同研究系をやらなくてよくなったのが、ほっとしたのを思い出す(内容が苦しいわけでなく、共同研究なのである程度定期的に研究員の方を前に形になるものを出したりする必要があるのが、共同研究なので当然ではあるのだが、研究のペースもよく分かっていないうちは、なんともしんどいのだ)。

いまも、スタッフが自分しかおらず、代わりにコードを書いたり話を翻訳したりしてくれる、間に入る人がいないので、自分が両方を兼ねる必要がある。幸いまだコードを書く能力はあるのでよいが、どんどんプログラミングから離れると、やばそう。

夜は研究室公開の資料作成。みなさん優秀な学生を獲得するために、写真を入れたりした腕によりをかけた資料をカラーで用意されたりするのだろうが、今年は勝手がよく分からないので、様子見のため白黒で地味に作る。どれくらい自分の研究室が人気なのか、謎であるが、あまりに人気があって成績優秀でないと入れないようになるのもいまいちだし、といったところ……。