○File No.5

人工無脳のココロ III


会話の駆動力

 前項で知識の表現についてよくもちいられている方法を紹介したが,いくら知識を積み重ねることができてもそれは単なるデータベースであり,そこから会話がスタートするわけではない.ではどうすれば自発的な会話を起こせるだろうか.

 ギャルゲー(註:女の子とのインタラクションを重視したゲーム)では,ゲームスタート時,目標の女の子についてユーザはほとんど何も知らない.その状態から,イベントをこなしたり質問に答えたりしていくうちに,ユーザはその女の子について知識を深め,気に入る/気に入らないといった評価をする.一方プログラムである女の子も同様にユーザの挙動を蓄積し,気に入った場合のみハッピーエンドとなる.
実は人間同士でもそれは本質的には同じで,出会った当初はパブリックな情報を,次第にプライベートな情報を交換するようになる.

 アルゴリズム的に解釈すれば,以下のようなルールを考えればよい.
  • 人工無脳は新しいユーザに出会うと『ユーザについて』というフレームを生成する.
  • フレームにはさまざまな個人情報の項目があり,生成されたときには値はすべて空である.格納される情報はパブリックなものほど先頭に来る.
  • 人工無脳は『ユーザについて』フレームを先頭から検索し,空のフィールドを埋めるため,ユーザに質問する.
  • 人工無脳は自分自身についても同様のフレームを持つが,内容は設計時に決められている.
  • たまにはすでに知っている内容について確認をおこない,更新する。


  •  前にも会話したことのあるユーザと会話する場合,フレームをロードしてくるためにユーザとは前回の続きから会話をすることができる.人工無脳がすでに知っていることと矛盾する情報が来た場合のリアクションや,ユーザが返事してくれなかったことに対するリアクションなどが期待できる.
     フレームに知識を蓄積する場合の大きな問題は、人工無脳の質問の後にユーザから帰ってきた文字列が,yesかnoかを判断したり,そもそも質問の答えになっているかどうかを調べなければならない点である.この部分は「自然言語の解釈」というそれ自体十分に人工知能なテーマであるだけでなく,ネットワーカーのかなり崩れた日本語表現がそもそも解釈可能なのかといったことも含めて人工無脳の枠を飛び出してしまう.まさに人工知能と人工無脳の境界領域である.

     そこで人工無脳がCGIとして稼動することを前提として,<FORM>を使った返答の限定とプロンプトをおこなうのが簡単である.たとえば
    通常時の入力フォーム
    name:


    人工無脳>こんにちは
     
    質問時の入力フォーム
    name:
    えすともさんの答え:はいいいえ

    人工無脳>あなたはくずのは探偵事務所のえすともさんでしたっけ?
     
     といった方法で強制的に答えさせてしまうことができる.yes/noだけでなく,5段階評価や,数字,文字列などもフォームのデザインを変えることでそれなりに答えが返ってくることが期待される.
     
     このシステムのできは豊かなフレームや個性的なフレームを設計できるかどうかにかかっているといっていいであろう.

    会話にテーマを持たせる

     人工無脳との会話は会話自体が目的になっているところが弱点である.すなわち,通常ヒトとヒトとの会話では,会話によって意見交換をしたり情報を伝えたり協同作業したりすることが目的であるが,人工無脳ではそういったテーマに乏しいのである.
     ルーチーンな会話や生活に彩りを添えるものとして,ギャルゲーではさまざまに工夫された四季折々のイベントやトラブルが発生する.それに対するキャラクタの反応や意見を通してそのキャラクタの人格がじわじわと提示される.逆にユーザの反応や意見は人工無脳によって蓄積される.

    上記のようなことを踏まえて,人工無脳が切り出す話題のライブラリにはシチュエーションの記述に重点を置いたデータを増やすと深みが増し,人工無脳に仮想的な職業を与えることもできる.すなわち:

    「今日の患者さんは○○症らしいんだけど前にかかってた医者が□□だったそうで・・・」
    →医者関係
    「今日隣りのヒトのハードディスクがクラッシュしてさー.バックアップなかったらしくて一ヶ月」
    →プログラマ
    「試験寝倒して留年?!」
    →学生
    「期限切れの弁当もらってきたよ」
    →コンビニバイト

    諸ユーザの豊富なバイト経験や職業的経験をガツンと組み込むと良い人工無脳ができそうである.またユーザにもそのような職業がらみの質問をしてそれを蓄積することによって人工無脳に単純な返事の蓄積にとどまらない多様な知識を与えることができる。

    [PREV] 人工無脳のココロ II 自然言語へのアプローチ[NEXT]