みんなで自然言語処理の最先端を共有する

最先端NLP勉強会参加のために朝から中央線。今回の会場は九十九里浜で、駅としては茂原という駅なのだが、在来線を乗り継いで行く方法と新宿から特急に乗る方法、そして東京駅から高速バスに乗る方法、という3通りあり、資料が準備できておらず車内で完成させるため、新宿から特急に乗るルートを選択したのである。

車中は快適で、さくっと資料を作成して M 林さんに送付。送ったあともさらに手を加えたけど……。

茂原駅でみんなと合流し、合宿の宿へ。他にも大学生が合宿をしているらしく、賑やかな感じ。

勉強会の概要と感想はdaiti-mさんが書かれていたり、[twitter:@conditional]さんが最先端NLP勉強会に参加してきましたで書いてくださっているので、自分の紹介した論文だけ説明する。自分が紹介したのは

  • Tim Van de Cruys, Thierry Poibeau and Anna Korhonen. A Tensor-based Factorization Model of Semantic Compositionality. NAACL 2013.

である (スライド)。Semantic Compositionality (意味の合成、あるいは構成性) というのは、自然言語処理でこの数年盛んに研究されているテーマであるが、個々の単語の意味から文の意味を合成するモデルである。

この研究が盛んになった背景には、(Mitchell and Lapata 2008) がある。この論文は、これまでは単語の意味の近さ、あるいは文の意味の近さを測るのはベクトル同士のコサイン類似度のような additive model (加算モデル) と呼ばれるものがよく用いられてきたが、実は要素同士の積で考える multiplicative model (乗算モデル) のほうがよい、ということを示したもので、意味解析に興味がある自然言語処理研究者の間ではこの論文はちょっとしたホットトピックになったのである。(これらの経緯は2008年にも2009年にも書いた)

その後、名詞はベクトルだが動詞や形容詞は行列だ (Baroni et al., Nouns are Vectors, Adjectives are Matrices, EMNLP 2010) とか、いやいや単語はベクトルと行列と両方持っている (Socher et al., Semantic Compositionality through Recursive Matrix-Vector Spaces, EMNLP 2012) だとか、いろいろな拡張が提案されているが、基本的には (Mitchell and Lapata 2008) が「発見」したテーマの延長線である。

この論文もそういった研究の続きで、単語をベクトルで表現し、単語から意味を合成するのは要素ごとの積で表す、というモデルである。どこが新しいかというと、主語・動詞・目的語 (SVO) をテンソルで表現し、Tucker 分解 (行列の特異値分解テンソル版に一般化したみたいなもの) するのだが、このとき名詞 (主語と目的語) だけを分解し、動詞は元の行列を使うようにした、ということと、名詞を分解するときに別のデータから非負値行列因子分解 (NMF) で求めた行列を用いる、というところ。まあ、なんでこれでうまくいくのか (一応書いてあるけど) よく分からないし、いろいろ謎パラメータがあるので、この研究自体はあとで参照されたりすることは少ないかも。

このあたりの意味の構成性の話が最近興味深いのは、deep learning  とも多少絡んでいるのだが、word2vec というようなツールが登場して、簡単に試せるようになったので、実用的ななにかができそうになってきた、というところだろう。たとえば、工藤さんが試した例も動いてそう。この技術は、使いやすくなればこれまでのコサイン類似度のような単純なモデルを置き換える可能性があるくらい重要な発展だと思う (2008年時点でそう思っていたので、ツールの登場まで5年間かかった、というわけでもあるが)。

晩ご飯を食べてから懇親会。神田外語大学の学生たちが隣で懇親会をしているようで、黄色い声も途中聞こえたりしつつ、アラサー (ときどきアラフォー) な方々とお話する。実は自分は学年的には30歳くらいのはずだが、年齢的には (1浪3留しているため) 35歳なので、年齢を聞いたら実は年下だった、みたいなことがよくある (この年齢になると5歳くらいは同じ歳に思えるが)。

乾先生からサシで研究室の立ち上げについていろいろ体験談とアドバイスをお伺いしたり。大変参考になる。結局どういう研究室にしていきたいか、ということに尽きるのであろう。研究がどうこういうのは関係なく、もっと学生と一緒にいる時間を増やそうと思った。研究室に来るのが楽しいと思ってもらうのが第一で、研究が進むかどうかというのは些細なことだと思うしなぁ。(と頭では分かっているのだが、どうしても「研究」になるように誘導してしまうので、どんだけ研究好きなんだ、という感じだが……)

お風呂に入って出てきてから、daiti-m さんや M 尾さんが部屋まで呼びにきたので、NLP の現在と今後について雑談。NLP はそんなにお金を使う学問分野ではないのだが、特定の (一定水準の研究ができる) 研究室に行かないと共有されないような細かいノウハウやらなにやらがあり、ちゃんと研究ができる人材の供給量が少ないので、大学や研究所、企業で人を奪い合っているのだと考えられる。

逆におもしろいのは就職してから言語処理に関する仕事をすることになる、あるいは興味を持ったエンジニアの人も少なくないことで、だからこそ「勉強会」文化が登場する背景があったのかなと。その企業の1-2人だけがやっているのでは分からない暗黙知が多すぎるので、どうしても企業の枠を越えて知識を共有・情報交換しないと (複数人自然言語処理の研究室で博士号・修士号を取ったエンジニアを雇える体力のある企業でもなければ) やっていけないのだろう。

首都大も、遅ればせながら自然言語処理タスクが一通りできるエンジニアを送り出せる大学にカウントしてもらえるよう、努力したいものである。