石見庵

木版画
文学
←HOME
行動
自己紹介
このページについて
 
 
人工知能
 
 
         

工知能はフェティッシュで官能的だ。自らの手で作り出した生命。右手を神の領域に差し込んだような興奮。今騒がれているクローン技術とは比較にもならないほど人工知能は官能的である。この官能性は自らの手の上で一個の生命をもてあそぶことが可能なことから来ているのかもしれない。生命をもてあそぶ。視線は限りなくフェティッシュになってゆく。
コンピュータの中に生まれた「人工知能」。これはどこか時代遅れの未来像の影を持っている。そんなアナクロなところが好きだ。単純なプログラムなのに「機械のなかに生命をみた」なんて逸話があるのが好きだ。適当に知的で、程よく無意味なところもたまらない。以下に掲載するプログラムはそんな「人工知能」である。自由にカスタマイズできるようにしてあるのでもてあそんでほしい。



ダウンロードする(11.8KB Zip圧縮されています)


れは古典的な人工知能プログラムの「ELIZA」をWINDOWS95に移植したものである。V−BASIC4.0で作られているので実行にはDLLが必要。ソースもつけておいたので細かな処理については各人の解析にゆだねる。このプログラムを実行したことで発生した損害について、著者は一切の責任を負わない。

ファイル構成

ELIZA2.vbp(ソース)
ELIZA2.Frm(ソース)
ELIZA2.frx(ソース)
ELIZA2.exe(実行用)
Setup.dat(初期設定用)
Conjugate.dat(僕←→君変換用)
Knowledge.dat(キーワードと返答)
Proper.dat(大文字←→小文字変換の際の固有名詞)
Readme.txt(解説文書)

処理の上での工夫は、

1)「患者」の一つの答えを処理するたびにプログラムを終了させるようにしたために、前回の 「患者」の解答を保管しておくための「men.Text」という名前の記憶用テキストボックス を作ったこと。このテキストボックスは「INPUT」と書かれた釦の後ろに隠した。

2)プログラムの答えは小文字で、「患者」の答えは大文字で表示するようにした。これは文字列 を全て小文字にする関数を用いて変換後、「僕←→君変換」と同様の手順で「Proper.da t(大文字←→小文字変換の際の固有名詞)」を辞書にして適宜大文字に直すようにした。この処 理は「患者」と「医者」の差異を際立たせるのに効果的ではないかと思ったので行った。

3)最大の工夫は「僕←→君変換」の辞書、キーワード(鍵)と「医者」の返事の辞書、「医者」 の発話や、空白が入力されたときや同じ言葉が繰り返されたときの反応、キーワードが発見できな かったときの返事の辞書を全て別のファイルから読み込むようにしたことである。このようにして おけばプログラム本体を変えることなく辞書ファイルを変えるだけで、さまざまな「人格」をプロ グラムに持たせる事ができる。辞書の書式は以下のようなものである。

Setup.dat(初期設定用)

"Please state your problem.","!"(←最初の「!」までがプログラムの発話)
"Do you have a problem?","!"(←次の「!」までが空白入力時の返事)
"Please don't repeat yourself!","!"(←次の「!」までが同語反復時の返事)
"Please go on.","What does that suggest to you?","!"(←次の「!」までが鍵なしのときの返事)

Conjugate.dat(僕←→君変換用)
" I "," YOU@ "
" US "," YOU@ "
" WE "," YOU@ " (←左の言葉が右の言葉に変換される)
" YOU "," ME@ "
" ME "," YOU "

Knowledge.dat(キーワードと返答)
"キーワード","!"(←"!"を読み込むまで次々にキーワードを読み取る)
"Do you often think about*?","."(←読み取ったキーワードに対応する返答。)

"DO ME@ REMEMBER","!"   (↓ *はキーワード以降の「患者」の答えを変換したものを挿入)
"Did you really think I would forget*?","."

"YOU@ DREAMED","!"
"Really,*?","."

"DREAM ","!"
"How does that dream make you feel?","."

" IF ","!"
"Do you think that its likely that if *?","."

"EVERYBODY","EVERYONE","NOBODY","NO ONE","!"
"Really,#?","."(←#はキーワードを小文字に変換したものを挿入)

Proper.dat(大文字←→小文字変換の際の固有名詞)
" i "," I "
"i'm","I'm"       (←左の言葉が右の言葉に変換される)
"japanese","Japanese"
"chinese","Chinese"

プログラムは主に「Command1」の「Click」に入っている。入力用テキストボックスに 入力後「INPUT」と書かれた釦をクリックすると処理が開始される。
また、プログラムの発話処理については、「Form」の「Load」に入っている。


会話例
Please state your problem.
:I WANT YOU TO HELP ME.
What would it mean to you if you got me to help you?
:I AM AFRAID TO TELL YOU.
How long have you been afraid to tell me.
:SO LONG.
Please go on.
:WHY I'M SO AFRAID TO TELL YOU?
It's because you are so afraid to tell methat you came to me?
:YES.
You seem quite sure!
:NO,I AM NOT SURE.
Did you think they might not be not sure?
:WHO ARE THEY?
I am not sure I understand you fully.
:ME TOO.
What does that suggest to you?
:ARE YOU SURE?
Why are you interested in whether I am sure or not?
:BECAUSE YOUR ANSWER WAS A BIT CRAZY. 
Is that the real reason?
:WELL,PERHAPS ME..
You don't seem quite certain.
:BUT,IT NOT ALWAYS.
Can you think of a specific example?
:I HAVE REMEMBERED WHEN I WAS IN CHINA.
Were you really?
:YES.
You seem quite sure!
:NOT SO.
Please go on.
:I CANNOT GO ON.
How do you know you can't  go on?
:I DON'T KNOW.
Don't you really know?
:NO.
Aren't we just a bit negative today?
:I THINK SO.
But are you sure  so.



お便りは iwami@geocities.com


This page is hosted by GeoCities
where you too can have your own Free Home Page


1