Unix を使える学生は急速に減っている

午前3時から NLP自然言語処理)若手の会シンポジウム・情報処理学会自然言語処理研究会関係の仕事を黙々とする。大学運営関係のお仕事は9月中旬までないので、いまのうちに溜まった仕事を片付け、9月の準備をしておき、10月以降に備えたい(授業が週3コマある)。

(2014-08-21 追記)タイトルだけ見て反応する人が多いので、よくあるコメントについて冒頭で説明しておく。

  • 「最近の若い者はなっとらん」と言っているだけで、教育もしていないなら当然。→8月20日に追記したが、教員なので教育するのが仕事の一部であり、研究室に配属された学生は最初週20時間(1個2時間×10個)の勉強会に出てもらい、それぞれ合計すると演習を解いたりするのに週20時間かかるようなので、合計週40時間基礎勉強に使ってもらっている。(参考: 研究室の勉強会のスケジュール
  • 必要性がないとやらないのでは?→世の中の99%の人に必要がないというのには同意だが、情報通信コースの学生で、かつ自分の研究室の専門である自然言語処理の知識を活かした職場で働くのであれば、必要性の高いスキルである。そのため、研究室に配属されてからは、ちゃんと教育している(し、ほぼ全ての学生に共同研究やインターンシップで企業に行ってもらい、実際に現場ではほぼ例外なくそれらが使われていることも体験してもらっている)。

誤解しないでもらいたいのは、NAISTより首都大のほうがレベルが低い(あるいは昔と比べて現在の学生はダメ)というようなことを書いているのではない。たとえば、首都大の学生は、Unity を使って数時間でサクッとゲームを作ったり、売れるアプリを書いたりすることは逆に NAIST 生よりはるかにできる能力があり、実際にやっている印象だし、その点では単に興味・方向性が違うだけであって、優劣の問題ではない。(ただし、うちの研究室に来る学生に関しては、やはり B4/M1 で研究室に来てから計算機環境はトレーニングを受けてもらうし、昨年度・今年度に必要性が分かったので、いまは B2/B3 のうちから種を蒔いている)

午前中、研究室に来ると割とメンバーが来ていた。毎日インターンシップ先に行くものでもないらしい。しかしインターンシップは行き先の人と毎日顔を突き合わせ、日常的な過ごし方を見たり一緒にご飯を食べたりするのも含めてインターンシップなのであって、大学で作業するなら控えめに言って効果が半減するように思う。

ともあれ、大学での研究とインターンシップを並行して進めるのは大変だし、両方が中途半端になるのも本末転倒なので、8月末までの期間はインターンシップに集中してもらったほうがよいように思い、そのように伝える。インターンシップ中に大学のことを気にかけないといけないのは、経験上かなりしんどい(若いうちはなんとかなることも多いが……)。MSR(Microsoft Research)でも Apple でもどちらでインターンをしたときもあったのだが(両立している人もいたが)、一緒にインターン中の学生とか、インターン先の人からなにか誘われても、「〆切があるので……」と行けなかったりすることも多々あり、せっかくの機会をふいにしている感があることもしょっちゅうで、インターンシップ中はそれに全力で集中したほうがいいんじゃないかと思う。

個人的にはインターンシップは長期でやるからこそ効果があると考えていて、最近日本で増えている「インターンシップ」のように正味1週間しか作業できないようならそれはインターンシップではなく企業説明会だし、企業説明会だったら(その企業が就職したい第一志望群の企業でもなければ)参加しないで大学で研究したほうがいいのではないかな。今年インターンシップに参加していない人たちは研究を進めているので、NLP 若手の会シンポジウムでも2〜3件発表できそうな見通し。

研究に関しては lucene-gosen をさらに深追いしていたが、ant でビルドしてもどうしても辞書が作られない模様。UniDic も使えると書いてあるのに、はて? と思って調べてみると、どうやら(当然かもしれないが)lucene-gosen は ChaSen 形式の辞書でないと使えないらしい……(辞書のビルドのとき、活用を展開したりしていた)。ChaSen 形式で配布されていた UniDic はもうだいぶ昔のもので、これを使えばそのまま動くことは分かっているが、そのころと比べると最近の(BSD ライセンスになった)MeCab 形式のみ用意されている UniDic はエントリ数も3〜4倍あるし、悩ましい。lucene-gosen で MeCab 形式の辞書も使えるようにするよりは、Kuromoji を使うようにしたほうが簡単なんじゃないかな〜(lucene-gosen もまだ死んでないと思うけど)。

お昼から Skype ミーティング。実は先週の火曜日に最初しようとしていて、急遽共同研究のミーティングが入ったので金曜日に延期し、さらに急遽自分の体調が悪くなったので再度延期したので、かれこれ1週間延びたものであった。研究はモチベーションの維持が一番大変で、長くなればなるほど精神的にしんどいので、短期決戦でできたらいいのだけど……。

午後は、システムにインストールされたサンプルファイルを使って実験するとき、サンプルファイルがあるディレクトリで permission deined と言われて保存できない、という質問を受ける。当然のことながら一般ユーザでは書き込み権限がないし、ファイルの保存先を書き込み権限のあるところにすればいいだけなのだが、root だと書き込み権限がある、と言うと「じゃあ root で実験すればいいんですね」みたいな反応が返ってきたので、強くそれはやめるように伝えておいた。

聞いてみるとそもそもユーザの概念自体が分かっていないようなのだが、ユーザやグループ、パーミッションというような概念は、学部1年の情報リテラシーで学ぶ以外授業ではどこでも学ばないような気がするので(自分は人文系だったが授業で習った)、たまたま教えない授業に当たると、自分で学ばないかぎり意識しなくなるのかもしれない。しかし、root 権限はちゃんとそれがどういうことを引き起こすか分かっている人に渡さないと、システム全体を容易に破壊されかねないので、難しい。一般ユーザ権限の学生たちですら、今年度に入ってからそれそれ別の学生によるサーバの disk full が3回あったし……(まあ、こういうのこそ、学生のうちにやって痛い目を見ておくべきだが)。

Unix 環境の使い方は基本的に独習・周りの使い方を見て覚える、という方法なので、そういうのが苦手な人には難しいだろうし、どんどん使う人減っていくのだろうな(昔から多くなかったとは思うけど)。ただ、研究開発ではサーバにログインして作業をすることが多いので、使えないとそもそもバックエンドの開発ができないんじゃなかろうか……(だからこそ、研究室で強制的に使わせる意味もあるのだけど)。

(2014-08-20 追記)ちなみに研究室では全員に Mac を支給し、サーバは全て Ubuntu Linux で、言語処理100本ノックを新入生(B4/M1)全員にやってもらっている。修士から博士を経て助教まで合計8年間いた NAIST 松本研では(2年に1回くらい、常識を超える使い方をする変な人はいたけど)いわゆる文系出身の人も含めて、それなりの人が LinuxGentoo/Ubuntu)および Mac をターミナルから使えていたのと比べると、コマンドラインから Unix 環境を使えない人が増えてきたように思う、という話である(ちなみに、自然言語処理のツールはコマンドラインで操作するものが多いので、使えるかどうかはかなり研究開発効率に影響する。GUI のものもないわけではないが)。もちろん、大学が違うので、首都大の情報通信システムコース(知らない人もいるかもしれないけど、旧都立大。物理的には旧都立科学技術大の敷地にあるが、大半の教員は旧都立大所属で、南大沢から来ている)より奈良先端大の情報科学研究科のほうが、大学院大学なだけに、学部時代は独学で学んで情報系に興味がある人が進学してくる、ということなのかもしれないけど。

(2014-08-21 追記)いくつかコメントをいただいているので順に返信。ちなみに LinuxUnix ではない、というのは正しい指摘であるが、コメントをする人も LinuxUnix だと思っている人もいればそうでない人もいるし、広義には Unix と書いてよいように思う、というスタンス(ただし、Linux は明らかに UNIX ではない)。また、個人的には Unix ユーザを増やしたいわけではなく(慣れるまで使いにくいと思うし)、GUI で操作できる環境が増えているのは正統な「進化」だと思うが、学生たちの就職先など考えると、使えるようになっておいたほうがよいのでは、と思ってい(て、教育もし)ている、という話である。情報系の学生全員がやるべきであるとは考えていないので、学部の授業などでやらせる必要はないと思う(他にやるべきことはたくさんある)。

  • 昔も多くなかった→上の追記にあるように、ものすごく昔と比べているのではなく、せいぜい5〜10年前の、しかも情報系の学生と比べているが、それでも違う。
  • そもそも環境が作れていない→上の追記にあるように、研究室の内部ではトレーニングをしており(3ヶ月、毎週10時間)、普通に使えるようになっている。
  • 強制されないとやらない→自然言語処理やウェブ業界に関する開発では就職先によってはほぼ必須だと思われるので、研究室では新入生は全員強制的にトレーニングを受けさせている。研究室のデスクトップは Mac(=Unix)しかない。
  • Unix を使う学生が減ったのではなく CLI を使う学生が減ったのでは→これはその通りだと思う。タイトルは釣り(なので、本文の最初にはタイトルと関係ない枕をたくさん書いている)。

夕方、某国際会議の author response を見てコメントを書いたりスコアを再調整したりする。この作業、簡単そうに見えて、1件あたり1〜2時間はかかる。反応が必要なケースはだいたいボーダーラインなので、慎重にならざるを得ないからである。

娘が生まれてから今年度は新規のお仕事を基本的に引き受けないことにしているので、査読を頼まれても他の人を紹介している(NAIST受験の小論文の添削も以前はしていたが、今年は全て在学生を紹介した)のだが、初めて依頼される仕事を断るのは難しい。初めて頼まれるものは原則的に引き受ける(やってみるまで、その仕事がどういうものか分からないので、ダメそうに思っても事前に判断しない)、というポリシーがあるからである。

従って、案件によっては昔からの知り合いの依頼だったり、「どうしても小町以外ではダメ」という場合、引き受けることもあるのだが、やはりいまの仕事のペースだと、全部引き受けるとまずい(こなせなくなる仕事がある)ような気がする……。娘が保育園に入ればまた違うのだろうが、少なくとも9月1日から入る線はなくなったし、やっぱり今年度は無理かなぁ。