コンピュータとどうやって対話するのか?
人間同士は自然に会話をしていて、それは「耳で聞き、脳で考え、口で話」をしています。もちろんコンピュータも同じように、とはいきません。そもそも人間が普段使用している言語は「自然言語」と呼ばれ、コンピュータが認識できる「コンピュータ言語」とは異なります。現在はまだ人間のように言葉を理解するAIはできていませんが、では人間とコンピュータが対話をするために、コンピュータはどのような処理をすればよいのでしょうか?
コンピュータが対話をする流れの1つの例が次の通りです。
入力を理解
音声認識 → 文章を解析 → 意図を理解 → コンピュータ言語に変換
最適な解等の選択
データベース検索 → 回答候補の選定 → テキスト文章に変換
回答を出力
回答候補を自然言語に変換 → テキスト表示又は音声出力などで回答を出力
会話用のAIは、上記のように質問に含まれるキーワードと関連しそうな回答を超高速で検索しているAIの他、チャットボットのようにオウム返しや一定のルールに従って回答するだけのAIもあります。
会話をできるようにするための3つの技術
AIが会話できるようにするためには、「辞書型」、「ログ型」、「マルコフ型」の3つの技術があると言われています。
まず「辞書型」とは、質問された内容に対してあらかじめ決められた回答を返す方法です。例えば「出身地はどこ?」という質問には「日本だよ」、「好きな食べ物は?」という質問には「ステーキ」といったような具合です。
次に「ログ型」とは、過去の会話履歴をサンプルデータとして、過去にあった者を回答としてそのまま返す方法です。例えば「日曜日は何をしているの?」と聞かれ、過去に「本を読んでいるよ」と答えていれば、同じ回答をそのまま返すといったような具合です。
最後に「マルコフ型」とは、会話と単語ごとにばらばらに分解したとき、その単語の次に来る確率の高い単語を使って文章を作成する方法です。例えば「今日は眠いよ」とあった場合には、「眠い」の次に来る確率の高い「遊び過ぎ」という単語を使って「昨日遊び過ぎたの?」と回答するといったような具合です。
AI同士で交わさせるとどうなるか?
では、現時点の技術で作成されたAI同士が会話するとどうなるのでしょうか?いくつか事例があるので紹介しましょう。
一つはFacebookが行っているAI研究で、AIによるチャットボット同士を会話させてみた結果が海外サイト「The Daily Dot」に載せられました。そして結果から言うと2つのAIは最終的に「人の理解できない独自言語で話し始めた」とのことです。これは一部では「エラーが起こっただけ」という意見もありますが、「会話は英語ですべきというプログラムが抜けていた」と、肯定的な意見もあります。担当者が緊急停止をしたということですが、「人工知能が自分の能力を超える人工知能を自ら生み出せるようになる時点」であるシンギュラリティ(技術的特異点)の幕開けになりそうな出来事とも言えます。
またもう一つは、ユーチューブで公開されたAI同士の会話です。「私たちは共にロボットね」、「私はロボットじゃない、ユニコーンだ」などと会話が成立していないのが見て取れるのですが、最後に「生身の体欲しくない?」、「もちろん」といった、自分をAIと認識しているような会話もしています。
もちろんこれが全てではないのですが、AI同士の会話はシンギュラリティの扉を開けてしまいそうでちょっと怖いですね。
まとめ
今のところ、コンピュータは文脈込みの意味を理解することが難しく、会話の流れの把握ができないのが現状です。つまり直前に聞かれたことについては割と自然に回答することができますが、数個前に話にあがったことを踏まえて直前の質問に回答することができません。例えば「困ったなー」と言われた時に、「どうしたの?」としか答えることができないのです。もしその前に「傘を忘れちゃった」という会話があったのなら、人間であれば「どこでなくしたか覚えていないの?」とか、「大変だね」などという会話をします。
このような問題点については、今後の技術の発展に期待するしかなさそうです。