オープンキャンパス

僕の通う大学では今日オープンキャンパスがありました。理系単科大学なので見学に来る人もオタクばっかりで、しかもやたらと来場者数が多いのでコミケを思い出すような風景でした。ていうか今日はコミケ一日目でもあるんですよね。みんな大学なんか来てないでコミケ行こう。

僕も一応研究室公開でデモの実演をやってました。人見知りも激しいしあがり症でもあるので本来はこういうの向いてないはずなんですが、意外とうまくやれた気がします。僕は学部時代の四年間ずっと塾講師のアルバイトをしていて、集団授業を毎週やってたのでその経験が活きたのかもしれません。実を言うと去年から今年にかけては「塾よりプログラミング系のバイトしたほうがよかったかなあ……。」と後悔することも多かったんですが、英語が最低限(本当に最低限ですけど)できるのも塾でずっと中学生に教えていて基礎が身についているからだと思うし、あれも良い経験ではあったのかなと最近は思います。

そもそもオープンキャンパスの研究室紹介って、これからこの分野に進もうとしている高校生や、そうでなくともこの分野に興味がある人たち相手に「最新の研究ではこんなおもしろいことや役に立つことができるんですよ!」って説明するので当然かなり食いつきがよくて、まあこちらも高校生向けに”わかりやすくおもしろい”デモを用意してきていることもあって、適当に話してるだけですごく反応が良くて楽しいんですよね。普段はゼミで発表しても「これってこのパターンの時はどう対処するつもりなんですか?」みたいな鬼質問が飛んでくるだけですからね。

せっかくなので、ここでも今日のデモでやったことをかいつまんで (理系でない人にもなんとなくわかるように) 少しだけ話してみたいと思います!

word2vec - 単語を数値で表現する

僕がデモで紹介したのは、word2vec と呼ばれる、単語を数値で表現する手法でした。

つまり、

ドラえもん

という単語があったら、それをコンピュータ上では

[0.3, -0.4, 0.1, -0.7]

のようにいくつかの数値で表現するんですね。

これをすると何がうれしいかと言うと、まあ偉い人が考えたすごいやり方でうまくこの数値を割り振ってあげると、この数値がちゃんと単語の”意味”らしきものを表現するようになるんです。

これを使うといろいろおもしろいことができるんですが、まあ一番おもしろいのは単語の類推で、たとえば

のび太 - ドラえもん + ポケモン= サトシ

のように、単語の足し引きをすることで、この例で言えば「ドラえもんの主人公である『のび太』から『ドラえもん』を引くと”アニメの主人公”という意味だけが残り、そこに『ポケモン』を加えることで"ポケモンの主人公" (= サトシ)という表現を得る」みたいなことができます。すごい!!!!!!!