見出し画像

自然言語処理に興味のある人のためのnote

僕は昔から世間話が苦手だった。集中力が無かったのと、相手の表情から相手の気持ちを察するのが苦手だったからだと思う。

そこで人と話せない代わりにたくさん文章を書いた。初めて文庫本一冊分の小説を書いたのは大学生の頃だった。某出版社の新人賞に送って小説家になる予定だったが、かすりもしなかった。

しかし今はどうにか人に見せられる文章を書けるようになったと思う。仕事でもプログラミングの解説など、文章を書くものが多くなった。ありがたいことだ。

そういった経緯だからプログラミングで取り組む課題そのものも、文章に関わるものが多くなった。文章の作り方は考えれば考えるほど分からなくなる。終わりは見えないが、おかげで退屈もしない。

プログラミングで文章を扱う分野に自然言語処理というものがある。「自然」とわざわざ名前についているのは言語=プログラミング言語というイメージがあるからだろう。そもそも僕たちが日常的に使う「言語」の方がずっと先輩のはずなので、なんだか偉そうなネーミングのような気もする。それは良いとして。

この分野の研究がインストールされているサービスで分かりやすい例を挙げると、iPhoneのSiriのような音声アシスタントがある。「ヘイSiri、今日の天気を教えて」などと聞けば、律儀に今日の天気を答えてくれる。コンピュータがこちらの声から意味を理解してくれるのは、自然言語処理研究者のおかげだ。

上の文章はまず音声認識によってテキストに文字起こしされ、スマホに載ったコンピュータで以下のように読み取られる。

「ヘイ」「Siri」「今日」「の」「天気」「を」「教えて」

文章が単語毎に分けられている。これは自然言語処理の基本的な操作である形態素解析という。日本語の文章は英語のように単語単位で分かれておらず、単語それぞれを意味付けて解析するためにこのような分かち書きを行っている。

ここまでやればあとはプログラム側で「天気」と「教えて」という単語が入力された時に、今日の天気の情報にアクセスしてアナウンスする処理を書くだけである。これだけならPythonで僕でも書くことができる(もちろんこれらをスマホ上で常に動くようにするのが一番難しい)。

ここまではプログラム上の話を書いたが、このような処理は特別なことをしているように見えて実は私たちが頭の中で無意識にやっていることを模倣して作られている。ディープラーニングのニューラルネットワークが人間の脳神経を参考に作られているのと同じだ。

私たちは物心ついた時から頭の中で常に自然言語処理をし続けている。友達に今日のランチの店をどうしようか、と聞かれた時にも脳内で同じことが起きている。そう考えれば、私たちがどんなコミュニケーションで喜びを感じ、どんなコミュニケーションで間違った道に進んでしまうのかの手掛かりがこの研究の世界には落ちているのかもしれない。そう考えると面白い。

コミュニケーションで道を踏み外そうとしているかつての僕やこれからの誰かのために、僕はこの研究を続ける。それだけの理由がなければこんな地味でお金にならないことはやっていられない。少しでも共感してくれるという方はこれからもよろしく。

この記事が参加している募集

自己紹介

サポートは料理好きなのでの食材費にさせていただきます。