![]() | File No.10 APPENDIX
D型人工無脳の世界 |
|
|
前項で辞書設計の話をしたので、それをもとにした人工無脳を稼動させて戦略の検証と改良を試みよう.今回用意する人工無脳は辞書を使って会話をする.辞書にはタグと組み込み変数埋めこむことができ、それを再帰的に展開するようにすることで、文に変化を持たせる.また学習機能は辞書と関係ない話なので省略し、テストが容易になるようにCGIでもスタンドアロンでも同一のモジュールが使えるようにする.D型精霊石ver2.0x一つの辞書を持ち、時刻関係と仮想環境の変数を展開可能にし、%queue%タグによって次の発言をキューに積めるようにした。このバージョンではキューは深さ1のみである。%queue%タグはそれなりに効果的であったが、時刻関係のタグは手間の割にヒットが少ないという感触であった。頻出するキーワードについては10前後の記憶を置くが不充分であった sspd_202.lzh D型精霊石ver2.1x会話のログの観察から、人間の発言は二通りに分類できる。これらはMagicでいうところのインスタントとソーサリーのようなもので、前者はあいさつ、相槌、擬音語など特に返答を必要としなかったり大きな文脈の中に埋めこまれて存在する小さな単位の発言である。後者は2〜5行程度続く「話題」であり、%queue%を多用してつながりのある発言を行なう。通常はこれらが混ざっているために、いったん話題をはじめてしまった人工無脳はユーザの単発的な相槌に対応しきれずに文脈が保てない.このことはプライマリとセカンダリの二つの辞書を使うことで解決できる。これらはそれぞれが独立したキューを保持し、プライマリはインスタントスピードの発言を格納し、セカンダリはプライマリで対応できなかったときに使われて、おおきな話題と$NOT_FOUND$を取り扱う。こうすれば、大きな話題を維持しつつ細かい返答に対応できると考えられる。 見方を変えればこれは深さが1に固定されたスタックだということができる。 sspd_210.lzh D型精霊石ver2.2xsspd22xからはユーザ情報(名前,lastaccess,利用回数)などの管理をサポートした。将来的にはPネットモードのソシオグラムを格納する能力を持つ。ユーザ情報の獲得と同時に情報へのアクセスもサポートした。2.21では%freq%がそれにあたり,はじめてきたユーザ,久しぶりのユーザ,頻繁に来るユーザなどを区別できるようにした。前バージョンで辞書を二つに分けたが,大まかな指針としてプライマリ辞書にはあいさつおよび否定語を,セカンダリ辞書にはそれ以外を置くと良いようである。また本バージョンからソースを少しクリーンアップした sspd220 |
|
| 意識のモデル |