基本はみんなで勉強すると楽しい

午前5時から7時まで、事務処理。朝は割り込みが入らず仕事にできるプレミアムタイムなのだが、今日〆切の書類なので仕方ない。

最強の台風8号が来るということで、昨晩中に午前中の勉強会の開始時刻を午後に繰り下げたのだが、台風どころか雨も降っていない。外した、と思ったが、なにが起きるか分からないのが自然なので、外れてよかった、というところだろう。

午前中はお仕事で赤坂へ。思いがけない人にお会いしたりする。こんなところでつながっているとは……。やはり東京には東京のよさがある、というのには納得。特に外に積極的に出て行ける人には、チャンスも多くていい場所なんだろうなー。(自分は引きこもり系だが)

午後は大学に出勤し、離散数学の基礎勉強会。演習問題をひたすら解く。研究室の中の勉強会は、わいわい議論しながら問題をみんなで解くので、楽しい。自分も解答を持っているわけではないので(教員なのでリクエストすればもらえるはずだが)、答えが正しいかどうか分からないが、極論すると答えが合っているかどうかは重要ではなく、解く過程をみんなで共有できたらな、と思うのである。研究するときも、答えがあるかどうか分からない問題にみんなで取り組んであーだこーだ七転八倒するわけで、「一つの正しい答えがあり、それをスマートにできるだけ速く見つける」というモードからシフトをチェンジしてほしいのであった(自分が答えを知っている問題をいくら解いてもらっても、自分はおもしろくないし)。

夕方は NLP チュートリアルの説明のために研究室へ。段々内容が難しくなってきていて、1回 TA から説明を受けただけでは分からない、ということである。どういう内容かと思ったら、決定的手法を用いた遷移ベースの係り受け解析器の実装の話で、構文解析は分かるが、アルゴリズムが何をやっているか分からない、とのこと。すでに機械学習については十分学んでいるので、入力単語列が与えられれば構築した分類器から「1単語読み込む」「左にかける」「右にかける」といったアクションを選択していって構文木が作れることは分かったようで、問題はどのように学習しているのか?というところ。

結局、構文木をアクション列に変換するところのコードが分かりにくいというのが問題で、そこを解説したのだが、確かにこういう変換は分かりにくいと思う。実際自分で作ればなんでこんなことをするのか腑に落ちると思うが、そうでなければ分かりづらいだろうなぁ。そういう意味では、ここでつまずくのは正しい。[twitter:@nozyh] さんの遷移型構文解析に関するスライドが分かりやすいと思うが、スタックの中で操作するので、そもそもスタックを知らないとどうしようもない(汗)

うちの学部、やっぱりスタックを低学年で教えていない(というか、いまは自分が教えているので、教えていなかった)のは、いかがなものか。学生は理解力も応用力もあるのになぁ。以前も別に教えていなかったが、基本情報処理技術者試験なんかを各自受けていて、授業で教えなくても自分で勉強していたそうだが……。