![]() | File No.10 APPENDIX 2
意識モデル |
|
|
D型人工無脳ではこれまで話題を長続きさせるためにQueueを導入して,次にしゃべる台詞を用意した。しかしこの方法は辞書のあらゆる所にQueueを仕込まないとうまく機能せず,またある話題に何ターンかのあいだ集中するといった意識を感じさせるような仕掛けにはいたらなかった。何が問題だったのだろうか?一つにはこの方法が辞書中の一つの記憶を単に複数の文に分けるに過ぎなかったことが挙げられる。また,本来の意識は注目しているトピックをやり取りの間保存しているが,辞書をいじる方法ではある特定の文法構造が保存されるだけなので,会話の形式を追うことはできても内容を追うことができなかったからであると考えられる。 意識を実装する方法はいくつか考えられる。意識=意味ネットワーク上を移動するイテレータという考え方や連想によって活性化されたニューロン同士の競争的な現象という考えかたなどがよく見られる。ここでは,意識をより意識的に捕捉するために,辞書型人工無脳に中間コードを導入しよう。中間コード(参考(停止中))ではより抽象的な意思だけを記述する。“○○について聞く”とか“○○について教える”などであり,コード上はT012とかI145と表現される。数字はトピックスの番号であり,ユーザにはこれが日本語にレンダリングされてから伝えられる。
この方法の利点は,これまで知識と会話が融合してしまっていた辞書から知識だけを分離できること,レンダリング層を加えることで同じT012からでもさまざまな発話のパターンを生成し得ること,T012-I012→「あなたはどう思う?」のように文脈上省略が必要になることを知ることができる,現在の話の核心を人工無脳が知っていること,などが挙げられる。さらにG-T012-T452-I-12-C-Bのようにプログラム的に都合のよい形態で文脈を保存,追跡できる。 意識のコード化さて意識,すなわち中間コードの並びの決定をどのように行なえばよいのだろうか。最も単純な方法としてはカード型会話モデルを利用したデッキの構築がある。ただし場合によってデッキを使い分けなければならない。それはTの直後にGが来たり,話の途中でBが来たりするとおかしくなるからである。とりあえずはTの後に使うデッキ(DeckT),Iの後に使うデッキ(DeckI),それ以外の場合に使うデッキ(DeckS)を考えよう。一例として,お喋りの長さを制御するにはDeckTに含まれるTの割合を変えればよい。これはTのあとにTが続く確率を示しており,簡単な計算で期待値が求められる。(共重合における反応性比を思い浮かべるとわかりやすい) この3つのデッキを使う方法は,実は直前の中間コード一つしか評価していない。より高度な精神を記述するには2つないしは3つ以上のコードの流れを評価した意思決定法が必要になるだろう。 |
|
| 人工無脳のココロIV |