人工知能開発における「はあちゅう」問題について
コンテンツ会議は毎週水曜日に更新ですが、年の瀬なのでちょっと番外編を。
ピースオブケイクは、メディアをもりあげていくためにいろんなことをしてるわけですが、人工知能による自然言語処理の研究開発もしています。たとえばcakesの記事下にある、リコメンドエンジンは、そうした技術で動いています。
本日は、有志で集まって人工知能の勉強会をしました。講師はCTOのkonpyuさん。生徒はエンジニアチームなんだけど、CEO特権でぼくも参加させてもらいました。
まず、自然言語処理のための、いろんなアプローチの解説を聞き、次は実践に。
pythonやchainerなど、必要なソフトウェアをインストールしていきます。
人工知能は、教師データを用意して、適切なニューラルネットワーク(NN)を用意して、NNの重み付けを調整しつつ学習させるという手順で作成します。
まず重要なのは、教師データをつくるところです。たとえば弊社でいうと、cakesやnoteの記事データを教師データにして、人工知能を作成するという作業を行います。そのためには、記事のデータをコンピュータが扱いやすくなるように前処理をする必要があります。
そこで使うのがmecabというソフトウェアです。このソフトは、文章の文節を区切り、品詞ごとに切り分ける、という処理をします。ただ、mecabに組み込まれている辞書はちょっと古くて、最新の単語がうまく認識できません。たとえば、「はあちゅう」という文字列を与えると、以下のような出力になります。
はい。うまく認識できていませんね。そのために最新の辞書データを追加したり、似た表現を同一視するようにしたり、いろんな前処理作業が必要になります。そういう準備をすると、
となります。完璧。
そして、「はあちゅう」だけでなく、「はぁちゅう」「はァちゅう」「はーちゅう」「ha_chu」「ha-chu」「ha~chu」など、すべて同じ「はあちゅう」だと認識できるようにしなくてはいけません。
こうした前処理を終えて、ニューラルネットワークにデータを放り込み、ねらった学習をさせて人工知能をつくるわけです。
自分のマシンでも動くようにしたので、年末年始にいろいろ試そうと思っています。ぼくがプログラミングをしていたころは、アルゴリズムの設計がプログラマのいちばん大きな仕事でしたが、もはやそこは人間の仕事じゃなくなるかもしれませんね。おもしろい時代になりそうで楽しみです。
P.S.
この分野の開発に興味があるエンジニアを募集しています。以下からお気軽に連絡ください。
「コンテンツ」☓「人工知能」でメディアに新しい流れを作るエンジニアを募集!
https://www.wantedly.com/projects/80091
読んでくださってありがとうございます。サポートいただいたお金は、noteの他のクリエイターのサポートに使わせていただきますね。