徒然なる無能

プログラマにもイラストレータにもなれない

人工無能の要件定義

今回は、前回挙げた「人工無能を満たす要件」を少し掘り下げて見ようと思う。

 

人工知能を満たす3要件

言語要求に対する応答型を絞る

性格は設計段階で形作る

自己発展用の設計を組み込む

 

 

 

なぜこの3要件なのか

 

実はこの3つともが同じ考えからきている同一のものである。

というだけではわかりにくいので、

言語要求を説明して最後に全体説明をしようと思う。

 

 

言語要求って?

 

教育発達学あたりに「言語要求行動」などがあるが、

深い関わりを想定しているわけではない。

ただ単純に「こういった答えを返してほしい」という要求である。

人同士のやり取りでは「無応答」ですら、コミュニケーションの一つだが、

人工無能が相手の場合は必ず何かしらの応答を定める必要がある。

(もちろん最終的にはそういった返答も実装したいと考えてはいるが、)

 

その応答を型として決定付けてしまおうというものだ。

これは人工無能の一般的な形式からずれる。

 

それはなぜか?

「外部入力から文章形態型への変化を許容しないこと」

を意味するからである。

要は返答の形式が一定だということだ。

本当は東のエデンのジェイスみたく臨機応変にしたいけど。

 

 

なぜそうしないのか?

それは今回の開発環境にある。

実際人工無能を実行する環境はAndroidのSmart Phone上だ。

そのため機械的なスペックにかなり限りがある。

もちろん本体はネットワーク上のサーバで動作させるが、

迅速な動作環境を作るにはデバイス上で個別に動作する必要がある。

そうなってくると常に増加する応答型を維持するのが困難になる。

そうしないように応答系を固定してしまうのだ。

 

 

ただそれだと面白みにかけるので、

サーバ側には個別に自動生成の応答型を持っておき、

本体分には遊び領域を持たせてそこに格納できるようにする。

格納する型はその時の非急変型パラメータによって変化させる。

 

そうすることによって、

静的部と動的部を切り離すことによって、

システム的にはプラグマティックで使用者的にはユーモラスとなる。

このユーモラスは言語の応答型を決定できる事によって、

使用者好みの人工無能を作ることができ、

かつ予測のできない返答も返ってくることを指す。

 

この段階で他の2つも見えてきたとは思うが、

 

性格は設計段階で形作る

自己発展用の設計を組み込む

 

この2つも同じだ。

 

性格を設計段階で作ってしまうのは、

使用者の嗜好反映と不要な情報の増大抑制に起因する。

 

自己発展用の設計は、

先ほどの言語要求でも述べたユーモラスの部分だ。

動的な部分を持たせ、この部分においては人工無能側で変更可能にする。

もちろん変更できる範囲はこちらで指定し、必要であれば変更できる必要がある。

 

 

言語要求と性格形成の違い

 

見識ある諸賢は、この2つは根底では同じことを指していることに気づいているだろう。

性格を定義することで本来であればその言語要求は自ずと決定する。

しかし、あえてこの2つを分けているのには理由がある。

 

それは

 

人工無能形態素解析から逃れられない

 

という事に尽きる。

 

人工無能の歴史は文章解析と思考解析の歴史でもある。

それぞれ2つが独立して実装されてしまっているが故に人工無能で、

それが統合されてしまっては人工無能ではない。

 

今回は「人工無能」の実装だ。

故に言語要求と性格形成は異なるプロセスなのだ。

 

ただ私はこの2つのプロセスを独立させたのは問題ではないと思っている。