今年度の研究/勉強会の進め方

明け方まで研究室で研究計画書書き。いったん帰って一休みして、共同研究のミーティングなど。修士のころを思い出して、懐かしい感じである。

jordi-p さんに勉強会のキックオフでダメ出しされたのが自分的にダメージ大きかったので、勉強会の進め方を

の2本立てでやることにした。今日のお題はGetting Started on Hadoopということで、Hadoop のインストールとコーパスから単語の(unigram)頻度を計算する、という課題。Mac OS X だと Java や ant は最初から入っているし、データは subversion で取ってくればいいので、ダウンロードの時間も含めて数十分見当か? Cloudera VM という VMware 用の Hadoopレーニングキットがあり、基本的には Ubuntu のシステムなのだが、Hadoop が最初からインストールされていて(/usr/bin/hadoop があって)使いやすい。自分は Mac なので有償の VMware Fusion を使っているが、WindowsLinux なら無償の VMware Player が使える。

VMware Fusion 3

VMware Fusion 3

来週は unigram ではなく bigram (連続する2単語)の頻度を Hadoop を用いてやる課題なのだが、きっと学部生に1週間で解かせる内容なのでそこまでハードではないだろうと思いつつ、ハードだったらどうしようかと心配したりもしつつ……。
ちなみに論文紹介は

を読んでみた。簡単にまとめると、

  1. MapReduce を用いて大規模データにスケールする言語モデルアルゴリズムを提案しました
  2. データが(超)大規模になると複雑なモデルを使わなくてもよくなります(し、単純なモデルのほうがスケールします)
  3. どんどんデータを増やせばどんどん性能も上がるようです(ただし対数スケール)

という話。この論文自体は @taku910さんが何回か話した("Stupid Backoff")ので有名になったような気がする。ちなみにこの論文の第4著者の Franz J.Och さんが昨日書いた人である。

勉強会は英語で説明したので通じているのか通じていないのか分からないが、みなさんから活発に質問があったので、通じていたのだと信じたい(日本語の質問には日本語で答えたし、たくさん日本語で質問が来てよかった)。そういえば英語の論文紹介を英語ですると、(訳さないので)日本語でするより短くなる、という現象、Microsoft Research にいたときの reading group に出ていて思った。いつまでこの勉強会は英語が続くんだろうか。他の勉強会のようにどんどん人数が減ったら(※勉強会の人数は単調減少であり、夏休み前後と冬休み前後にギャップがある)どこかで転換するのかもしれないが……

しかし M1 の人相手には統計翻訳の仕組みから N-gram 言語モデルの話から type と token の違いからパープレキシティの話まで、MapReduce 以外の部分で説明しないといけない話が大量にあり、できるだけ自然言語処理の基本のところは飛ばさずに解説したつもりだが、「そもそも feature って何」「重みってなに」「スムージングって何」という人がほとんどのような気もするし、全部を毎回話すのは無理だと思うので、最初のしばらくは(つらいだろうけど)耐えてもらうしかないのかな? 恥ずかしながら自分も共同研究で自然言語処理のプログラムを書くまで機械学習を(ユーザとしても)理解できなかったので、分野外から自然言語処理研究室に来た人は、きっと夏休みくらいまでみんなチンプンカンプンではないかと思っているのだが……。

今年度の前半は少しずつこれらを使って基礎を固めつつ、夏休みから後半にかけて実験をしたい(夏休みには学内のインターンシップもあるので、そちらも並行して)。今年度研究的にやりたいことはいくつかあるので、それぞれ論文にできるといいのだが……。修士論文が佳境に入り、「SVM 祭り」と呼ばれるピークが来る前に実験を終わらせておきたいのであった。