SENAN

4人の仲間が交代で書く雑記

対話型AIについて

      2016/01/28

背景

ホームページ( http://pictzzz.com/ )をリニューアルするにあたり、ホームページに対話可能なAIキャラを置いて、そのキャラにサイト内コンテンツを説明させたら面白いんじゃないかと思い、対話型AIについて調査しましたのでまとめておきます。(ただし、私は人工知能などの分野の専門家ではありませんので、あしからず。)

そもそも思い至った理由は、『さくら荘のペットな彼女』に「メイドちゃん」( 動画検索 さくら荘のペットな彼女 メイドちゃん )というAIが出てきてメールやチャットに自動返信してくれたり、登場人物のアシスト(ナビゲーション、企画書へのアドバイスなど)をしてくれたり、感情を持っていたり理解したりしていて、自分もこういうAIを作ってみたいということからスタートしました。

対話型AIの実装レベル

対話型AIと一言で言ってもアルゴリズム(仕組み)によって実装のレベルはかなり違ったものになると思います。

・低レベル
制御(if文)をうまく利用して対話しているように見せかけるレベルです。例えば、「おはよう」や「おはよー」と入力されたら、「おはようございます」と返答するプログラムです。プログラムされているパターンにうまくマッチすれば一見対話できているように見えます。

・中レベル
さらに一歩進んで「おはよう」と入力されたら、「おはようございます」と返答すればいいと自分で学習するプログラムです。例えば、大量のTwitter上のつぶやきやメールのログを読み込み、「おはよう」に対する返信は何が多いかということを学習するといった機能を持ちます。低レベルの時とは違って、すべてのパターンを準備しておかなくてもプログラムにサンプルとなる大量のデータを学習させることで、対話を実現するものです。

・高レベル
「おはよう」と入力され、理解できなかったら、過去のデータやインターネット、その入力者に「どういう意味ですか?」と聞いて学習していく、人間と同じ学習方法を行えるプログラムです。

実装方法調査

実装する対話型AIのレベルとしては「高」のものが理想ですが、今回のAIはWebにおく対話用のAIなので自己学習をしていなくても、対話が成り立っているように見えればいいので、「中」レベルの実装を考えます。

・形態素解析+マルコフ連鎖
形態素解析で単語や文の句切れを見つけ、それをマルコフ連鎖で繋げていくことでそれっぽい文章を作り上げる方法です。

・Microsoft 女子高生AI りんな
http://rinna.jp/rinna/
すごく自然に対話できているのですが、法人でしか利用できないようで、また、個人のホームページへお招きするのにはすごく高そうです。

・TrueTALK
http://www.jetrun.co.jp/curation/truetalk_lp.html
これも個人で利用できるかは不明。

・docomo Developer support
https://dev.smt.docomo.ne.jp/
商用利用も可能とあるので、まずはこのAPIで実装して見たいと思います。

次回

docomo Developer supportで対話を試してみます。

 - プログラミング ,