日本語のストップワードのリストを求めて

本日は大学院入試の2日目で、博士後期課程の試験である。昨日の博士前期課程の入試で疲労困憊し、今日も一日中朝からいろいろあることが分かっていたし、娘は今日が産まれて満3ヶ月で2回目の予防接種に行く日なので、朝の散歩はスキップさせてもらう。(と書くと、スキップで散歩した、というようにも読めるが、当然そんなわけはない)

午前中は10時に研究室に行き、朝のミーティングをする。それぞれ自分で夏休みの過ごし方、研究の方向性などが決まってきて、いい感じ。じっくり考えることも研究には必要なのだが、そもそも最初のうちは「下手の考え休むに似たり」なので、手を動かせば数時間でできるようなことは、深く考えず手を動かした方がよい(繰り返していくうちに手が速くなるし、そもそも繰り返さなくてよいように自動化するプログラムを書いたりするようになる)。

そういうわけでなんだかんだとお仕事をする。口頭試問の10分前になってもプロジェクターが映らずかなり焦ったが、つないでいるディスプレイケーブルが映像入力ではなく映像出力であったという……(汗)

うちは博士後期課程は口頭試問のみで、研究計画書に基づいて15分程度プレゼンテーションをしてもらい、それに続いてしばらく質疑応答する、というスタイルである。自分が NAIST の博士後期課程の入試を受けたときも同じで、プレゼンと質疑応答であったが、内部進学であったためか、半分くらい雑談であった。そのときは松本先生から「大学で教えるのはどう」と質問され、「大学教員にはこれといってなりたくありません」と答えたものだが、こうやって博士号取得直後から教員として大学にいるというのは不思議なものである。

お昼から研究に関するトークを聞く。実験結果があるとおもしろいな〜。最近 M2 の人と話す機会がときどきあるのだが、B4 から研究を始めて M2 くらいになるとかなりその分野の知識があるので、「どうしてこうやっているの?」というような質問の背景を理解してくれたり、「ここをこうやったほうがいいのでは」というコメントの意図を把握してくれたりするので、気持ちよく話ができる。みなさん各大学の各研究室でしっかりと教育を受け、研究してきているからだと思うのだが、うちの研究室の学生も、そういうふうに外部の人から思ってもらえるようにしていきたい。うちの研究室の問題点は、歴史が浅いというかまだ1年しかないので、M2 になったらみんなこれくらいできる、ということを示せないことかなぁ。来年度入学してくる人は、いまの M1 の人たち5人が M2 になっている(うち2人は B4 のころからいてくれている)ので、多少イメージできるようになっているかもしれないが……。

お昼ご飯は久しぶりに学食で、研究室のメンバーを交えて食べる。学食に行ってみると改装中で、食べられるかどうかヒヤヒヤしたが、なんとかなった(誰も改装中であることを知らなかったので、みんな利用していない、ということか……)。受験希望の人とは、どうしても予定が合わない場合を除けば、入学前に一度日野キャンパスの学食で一緒にランチを食べることにしているのだが、学食が閉まっていたら食べられないな。

ご飯のあとは研究室に戻り、1時間ほど博士後期課程の生活について雑談する。博士後期課程は同期がいないと孤独だが、大学外に出かけていって外に博士後期課程に在学中の友人を作ると、励まし合いながら最後まで乗り切れるように思う。

午後は細切れの時間をかき集めて研究室に行き、学生からの質問に答える。Favicon (ブラウザでホームページごとに表示されるアイコン)を設置したのだけど見えない、という質問があったが、

  • そもそも HTML をちゃんと書いているか
  • そもそもファイルのパーミッションが出ているか(アクセス可能になっているか)
  • 上記2つが正しいとして、ウェブサーバのログを見てちゃんとアクセスされているか

といったことを順に確認。「ファイルのパーミッション」という単語が通じなかったのだが、このあたりはどこで習うのだろうか……。情報リテラシーとか、学部1年生の授業で習っていないと、確かにその後習う機会がないような気がする。telnet とかを使ってコマンドラインから Linux サーバに接続したりする必修実習が学部3年前期にあるようだが、可能性があるとしたらそこかなぁ。HTML の書き方も、1年生の授業で習わないと、二度と習わなさそうである。また、Apache のログの見方(tail -f で出力しながらアクセスしたりとか)も教えたのだが、以下の特集を紹介し忘れてしまった。

/var/log を確認するとかいうのは基本だと思うのだが、言語処理100本ノックでも、最後のほうの課題は CGI 作成でみんなログを確認する必要があったので、あれはよく練られているすばらしい演習だと思った。

結局問題は Chrome のキャッシュで、Chrome で強制読み込みしたら解決した(Chrome でアクセスして Favicon にアクセスがなく、Safari でアクセスしたらアクセスがあって表示されたので、分かった)のだが、これも割と FAQ な気がする。

あと ssh でサーバにログインして emacs で日本語のファイルを開くと文字化けする、という質問もあったのだが、これも FAQ。問題は

  1. ファイルの文字コード
  2. エディタの文字コード
  3. ターミナルの文字コード

が全て一致しないと化けるので、それぞれ指定しないといけない。

文字コードに関しては、昨年度も同様の図をホワイトボードに書いて説明したのだが、覚えていないそうだ。そのときに、/var や /usr などの Unix の標準的なディレクトリ構成についても教えたし、いろいろ Unix の歴史とかも含めて話しているのだが、興味ない人は覚えられないだろうし、一般ユーザ的にはそんなのどうでもいいよなぁ。

まあ、HTML の書き方やサーバのログの見方・Unix の使い方も(情報リテラシー以外の)大学の授業で教えるようなものではないし、そういうのを授業形式で習いたいと思っているなら、専門学校に行った方がよい(こことかこことか)。大学なら、各自独学あるいは自主的な勉強会を開いたり、サークルやアルバイト等で先輩から手ほどきしてもらったりするか、こういうのが必要な研究室であれば、研究室単位で勉強会を開催するのだろう(うちは今年度の新入生は東北大学の「言語処理100本ノック」でやってもらった。)。

もっとも、こういうのが好きで独学する人はいるだろうし、自分は学部時代はそういうシステム管理のほうが好きで、大学院に入ってからは研究とソフトウェア開発に時間を使うため、システム管理は全部やめたが、そういう人から次々質問されると、嬉々として教えてしまうのだろうけど。

研究関係では、Wikipedia のテキストからの情報抽出について再確認したり(自分のところにもメールで記録があるし、絶対すぐ見つかると思って探してもらったところ、やっぱりすぐに見つかった。)、言語学習者の誤り訂正に Moses を使う方法を確認したり、UniDic と NAIST-jdic を混ぜる方法を確認したり。

日本語のストップワードのリストがあるのか調べたら、stop-words というプロジェクトがあるらしい。lucene-gosen にもstoptags というのがあって、こちらは品詞でフィルターしているようである。単純には単語の(出現あるいは文書)頻度でソートして上位 N 件を消せばいいと思うが、どんなタスクに使うのかで取り除きたい単語が違うので、目的別に用意するしかないのであろう(通常の検索では格助詞を消したいことが多いと思うが、日本語学の研究者は格助詞を見たいのでむしろ消してほしくない、ということもある)。

夕方からコースの懇談会。いつもは助教の人はコース会議に参加しないのだが、今回は審議するようなことがなく、報告事項のみだったので、「懇談会」という名前にして助教の人も参加したのであった。1時間で終わるかと思ったら1時間半あり、妻から「今日は体調が悪いので早く帰ってきて」とメールが来ていて心配だったが、帰りのバスはスムーズだったので、なんとか。