今時の開発環境で動きそうなELIZA実装は?

2018/07/02
藤田昭人

 

『ELIZAをめぐるあれこれ(仮)』について その1 

ワイゼンバウムの作ったオリジナルとの互換性を維持し、今時のソフトウェア開発環境でも比較的容易に動作する ELIZA 実装を探して見ました。

 

まずは LISP の実装から…

書籍 "Artificial Intelligence: A Modern Approach" (邦題『エージェントアプローチ人工知能 第2版』)の著者として有名な Peter Norvig のもう一つの名著 "Paradigms of AI Programming: Case Studies in Common Lisp" (邦題『実用 Common Lisp』)の5章では ELIZA について実装ベースで解説しています。ちなみに、いずれも翻訳本は1万円を越す馬鹿高い書籍ですが、原書はタダでダウンロードできるので頑張って英語を読む方が安上がりです。もちろん原書に掲載されているソースコードも公開されています。

github.com

それから、この書籍の Lisp コードを Python に書き直す paip-python なるプロジェクトも存在しているようです。

github.com

もちろん ELIZA の実装も収録されています。他にも Python ベースの ELIZA 実装が比較的簡単に見つけられます。

ちなみに『ひょっとしたら?』と思い立ち、PAIP in Clojure も調べてみたところ、そういう狙いのプロジェクトがいくつか見つかりました。が、ELIZA の実装は見つけられませんでした。

ご存知ない方も多いと思いますが、元祖スクリプト言語とも呼べそうな Lisp は今時のウェブ系の開発でも重宝するとのこと。頭の柔らかい方々にはこちらの方がオススメなんじゃないかと思います。

 

もう少し頭の固い人向けには…

とかオススメしておきながら何ですが、昔から Lisp ができない(苦手な)僕のような少し頭の固い人向けには、よくできた Java の実装があります。

Charles HaydenEliza test はワイゼンバウムのオリジナルと同じ動作をするように注意して開発された Java による Eliza 実装です。

まずはページの The Source にあるソースコードを全部ダウンロードしてください。

15本あるJavaファイルを全部ダウンロードし終えたら、 "Eliza" という名前のディレクトリを作成して、そこへダウンロードしたファイルを全て移動させてください。あとは "Eliza" ディレクトリの上位ディレクトリで普通に javac でコンパイルするだけです。

$ ls
Eliza
$ javac Eliza/*.java
注意:一部の入力ファイルは推奨されないAPIを使用またはオーバーライドしています。
注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください。
注意:入力ファイルの操作のうち、未チェックまたは安全ではないものがあります。
注意:詳細は、-Xlint:uncheckedオプションを指定して再コンパイルしてください。
$ java Eliza/ElizaApp
There was a problem reading the script file.
Tried script
$

 ワーニングは無視してください。おそらく Java のバージョンも問わないはずです。(僕は Oracle JDK10 でコンパイルしました)

次に実行に必要な2つのファイルを用意します。1つ目は DOCTOR スクリプトHayden Eliza はスクリプトシンタックスが異なります。"How Eliza Works" なるドキュメントの後ろ半分にDOCTOR スクリプトですので、このファイルをダウンロードしてきて、後ろ半分(initialから始まる行以降全部)を切り出し、"script" という名前のファイルとしてセーブしてください。もう1つは Eliza への入力データです。以下はワイゼンバウムの論文に掲載されていた実行例の入力のみを "test" というファイルにセーブして Eliza を実行した例です。

$ ls
Eliza script
$ cat > test
Men are all alike.
They're always bugging us about something or other.
Well, my boyfriend made me come here.
He says I'm depressed much of the time.
It's true. I am unhappy
I need some help, that much seems certain.
Perhaps I could learn to get along with my mother.
My mother takes care of me.
My father.
You are like my father in some ways.
You are not very aggressive but I think you don't want me to notice that.
You don't argue with me.
You are afraid of me.
My father is afraid of everybody.
Bullies.
$ java Eliza/ElizaApp
>> Hello.
How do you do. Please state your problem.
>> Men are all alike.
In what way ?
>> They're always bugging us about something or other.
Can you think of a specific example ?
>> Well, my boyfriend made me come here.
Your boyfriend made you come here ?
>> He says I'm depressed much of the time.
I am sorry to hear that you are depressed.
>> It's true. I am unhappy
Do you think that coming here will help you not to be unhappy ?
>> I need some help, that much seems certain.
What would it mean to you if you got some help ?
>> Perhaps I could learn to get along with my mother.
Tell me more about your family.
>> My mother takes care of me.
Who else in your family takes care of you ?
>> My father.
Your father ?
>> You are like my father in some ways.
What resemblence do you see ?
>> You are not very aggressive but I think you don't want me to notice that.
What makes you think I am not very aggressive but you think I don't want you to notice that ?
>> You don't argue with me.
Why do you think I don't argue with you ?
>> You are afraid of me.
Does it please you to believe I am afraid of you ?
>> My father is afraid of everybody.
What else comes to mind when you think of your father ?
>> Bullies.
Lets discuss further why your boyfriend made you come here .
$

ワイゼンバウム論文と同じ返答が返ってくることを確認できましたでしょうか?このように ELIZA は非常にポータブルなプログラムでもありました。では、Eliza のもう一つの有名な会話録を実行して見ましょう。

$ java Eliza/ElizaApp script parry
>> Hello.
How do you do. Please state your problem.
>> People get on my nerves sometimes.
Your nerves sometimes ?
>> You should pay more attention.
We were discussing you -- not me.
>> You're entitled to your own opinion.
What makes you think I am entitled to my own opinion ?
>> It bothers me just to be around people in general.
Does that have anything to do with the fact that your nerves sometimes ?
>> I went to the track at Bay Meadows a while back.
You say you went to the track at bay meadows a while back ?
>> I went to the races.
Can you elaborate on that ?
>> Horseracing interests me.
I'm not sure I understand you fully.
>> There's a lot of crooked gambling going on there.
Please go on.
>> It's clear to me if not to you.
Do you think its likely that not to I ?
>> I went to the races.
Do you say you went to the races for some special reason ?
>> I gamble on horses.
That's quite interesting.
>> I went to the races.
You say you went to the races ?
>> Gambling has been nothing but trouble to me.
What does that suggest to you ?
>> I've had experience with crooks gambling at the track.
Do you feel strongly about discussing such things ?
>> I've already told you enough about that.
Oh, I enough about that ?
>> I went to the races.
Can you elaborate on that ?
>> Do you know anything about bookies?
You're not really talking about me -- are you ?
>> A bookie didn't pay me off once.
I'm not sure I understand you fully.
>> I beat up the bookie who did not pay off, and I thought he might use his friends in the underworld to get even with me.
Do you say you beat up the bookie who did not pay off for some special reason ?
>> What do you know about racketeers?
Why do you ask ?
>> What experience have you had gambling?
Does that question interest you ?
>> I like horseraces.
That's quite interesting.
>> I know the mob controls the big rackets.
You say you know the mob controls the big rackets ?
>> Have you ever really thought about the MAFIA?
What are your feelings now ?
>> Let's talk about something else.
Please go on.
>> You keep asking me the same things, why not change the topic?
In what way ?
>> What do you mean?
What is it you really wanted to know ?
>> I thought I told you, people get on my nerves.
Perhaps in your fantasies we thought you told each other.
>> Well, I don't know.
Don't you really know ?
>> I would say so.
Can you elaborate on that ?
>> I would rather not discuss that anymore.
Do you say you would rather not discuss that anymore for some special reason ?
>> I guess so.
That's quite interesting.
>> What are you getting at?
Are such questions much on your mind ?
>> It's not a matter or like or dislike.
What does that suggest to you ?
>> I am getting tired of answering the same questions over and over.
What resemblence do you see ?
>> Why do you need to know that?
What answer would please you most ?
>> I don't understand your motives.
Why don't you understand my motives ?
>> Shouldn't I be?
You say shouldn't you be ?
>> That's just the way it is.
Do you feel strongly about discussing such things ?
>> So?
I'm not sure I understand you fully.
>> You harp on the same questions too much.
What does that similarity suggest to you ?
>> I don't get you.
Do you wish to be able to get I ?
>> It's about time you showed some interest in my feelings.
Why do you say your feelings ?
>> I will help you if I trust you.
Do you wish that you trust I ?
>> Maybe yes, maybe no.
You don't seem quite certain.
>> Really?
Does that have anything to do with the fact that your feelings ?
>> In my opinion you have a one-track mind.
Does that suggest anything else which belongs to you ?
>> I used to go to the track every week.
Can you elaborate on that ?
>> I avoid racetracks now because the races are fixed.
Do you say you avoid racetracks now because the races are fixed for some special reason ?
>> I'd rather not discuss it.
Lets discuss further why your opinion I have a one track mind .
>> That's something I don't want to go into.
Does that trouble you ?
>> I went to the races.
That's quite interesting.
>> It's none of your business.
Why are you concerned over my business ?
>> I don't confide in strangers.
Don't you really confide in strangers ?
>> Let's change the subject.
Please go on.
>> I went to the races.
You say you went to the races ?
>> What's wrong with you that you keep on bugging me about this?
Why do you think I that I keep on bugging you ?
>> The way you repeat yourself is getting ridiculous.
We were discussing you -- not me.
>> There are some tricky operators down there.
Did you think they might not be some tricky operators down there ?
>> The guys involved in the horseracing racket.
What does that suggest to you ?
>> You are a real nag.
Does it please you to believe I am a real nag ?
>> I have had enough of this.
Can you elaborate on that ?
>> Goodbye.
Goodbye. Thank you for talking to me.
$

この会話、実はインターネットのプロトコル仕様のドキュメントである Request for Comment (RFC) に収録されています。

RFC 439 - PARRY encounters the DOCTOR

この時の話し相手である PARRY の正体は後ほど紹介するとして、この事例から見てもELIZA がいかにもっともらしい返事をするか?を十分納得してもらえるのではありませんか?

 

その2に続く

 

『ELIZAをめぐるあれこれ(仮)』について

『ELIZAをめぐるあれこれ(仮)』について

 

実は、昨今のAIブームに乗っかって、個人的に興味のある対話システムについて書きたいとの思いから、割と安直にその始祖であるELIZAに着目したのです。おそらくそれを出発点にその後のいろんな研究成果を追っかけて行くことになるのだろう…と言う僕の浅はかな見通しは文献調査に着手した早々に崩れてしまいました。

ELIZAをめぐる話は本当に多岐に分かれていて、いずれも実に重い。

「これだけで一冊書ける内容だ」というのが今の印象です。

ということで…

軽めの印象を狙った『ELIZAをめぐるあれこれ(仮)』と改題して作業を続行します。もう少し掘っていかないと適切な書籍構成にはまとめられないと感じてますが、既にかなりの情報が溜まってきているので、備忘録がわりにここでは思いつくままダンプすることにします。

 

*「ELIZA」という名前の由来

まずは軽めの名前の由来から。ジョゼフ・ワイゼンバウムが開発した対話プログラムに付けられた ELIZA という名前は『ピグマリオン』という戯曲の主人公から拝借されたものであるとオリジナルの論文では語られていますが、ワイゼンバウムがこのプログラムの開発に着手した1964年は、この戯曲を原作とする映画版『マイ・フェア・レディ』オードリー・ヘップバーン主演の名画ですよね?)の公開と重なるので「まぁ、そういうことなんだろう」と僕は想像しています。

ちなみに『ピグマリオン』の作者であるバーナード・ショーは、アイルランド生まれの作家だそうで、19世紀後半のアイルランド人と言えば産業革命の影の部分を背負わされた人々が想起されます。作家であったバーナード・ショーリベラリストであったことも容易に想像が付きます。彼の作品の多くには辛辣な社会風刺のテイストも盛り込まれていてそれが作品に奥行きを与えていることが高く評価されているそうです。事実、『ピグマリオン』も上流階級の男性二人が訛りの強い田舎娘に言葉遣いや作法を仕込んで上流階級のパーティにデビューさせようとする話ですから、社会の差別(階級や性別)を扱った作品という見方もできます。

もっとも、ハリウッドのフレーバーをまぶした『マイ・フェア・レディ』の方はもっとスィートなテイストなので社会風刺など微塵も感じられませんけどね(笑)あらすじについては、Wikipediaミュージカル版『マイ・フェア・レディ』が詳しいです。ただ、『マイ・フェア・レディ』のミュージカル版と映画版については主演女優のジュリー・アンドリュースオードリ・ヘップバーンの確執がよく知られていて、この確執の原因は映画版の製作にあたったプロデューサーのジャック・ワーナーの投資回収を優先するやり方にあったそうですから、結果的に別の意味で社会風刺になってしまった感はあります。この話、ミラマックスのハーヴェイ・ワインスタインを思い出す人もいるかと思うので、案外今時向けのエピソードかもね(笑)

 

*ジョゼフ・ワイゼンバウムについて

Wikipediaジョゼフ・ワイゼンバウムの記事を翻訳してあります。この記事を読むと彼が MIT の同僚とはかなり違った経歴の持ち主であることがわかります。

彼はベルリン生まれのユダヤ系ドイツ人でナチス・ドイツが台頭しつつあった1936年、家族と一緒にアメリカに亡命しています。彼が13歳の時です。同じ境遇のユダヤ系ドイツ人と言えばアンネ・フランクを思い出しますが、ワイゼンバウムは彼女より6つ年上です。意外なところではヘンリー・キッシンジャーも1923年生まれのユダヤ系ドイツ人です。日本人では司馬遼太郎と同じ歳です。

この世代の人は幼少期からティーンエイジャーの頃に第2次世界大戦を経験していることから世代に共通する属性があるように思います。幾つかの文献から知ったワイゼンバウムの言動に、ある種の既視感を感じたからなのですが、それは地に足のついた本物のリベラリズムといったようなもので、例えば、司馬遼太郎のそれとよく似ている。現実を踏まえた迫力のある、それでいて多少鬱屈したような理想主義と言うか、どんな説得も受け入れない芯の強さのある主張を感じてます。やはり幼少期に「暴力のある日常」の実体験を持つ人達ならではの属性ではないかと思います。

その意味では MIT の Project MAC の主要人物と比較するとワイゼンバウムの出自の違いが際立ちます。彼らはほぼ同世代ですが、同じユダヤ系だがニューヨーク生まれのマービン・ミンスキーアイルランド系とユダヤ系の混血でボストン生まれのジョン・マッカーシ、カリフォルニア出身の生粋のアメリカ人だったフェルナンド・コルバトと、いずれもアメリカで生まれ育っているところがワイゼンバウムとの大きな違いで、ユダヤ系と言うよりはむしろ(非暴力的な)ドイツ移民であることにワイゼンバウムのアイデンテティーを見出すべきかと今のところ僕は考えてます。事実、ワイゼンバウムは1996年に統一されたドイツ(のベルリン)に帰省してますしね。

同じ第2次世界大戦の敗戦国に生まれ育った我々が、ワイゼンバウムの主張に(正しいか誤りかはともかく)どこか既視感を感じるのはこのような歴史的な必然があるからなのかもしれません。

 

*『ELIZA』と言うプログラムについて 

WikipediaELIZA の記事を翻訳してみました。が、僕の好みとしてはちょっとイマイチな感じ。記述がちょっと表層的で散漫な印象を受けます。もし書籍を「ジョゼフ・ワイゼンバウムの物語」としてまとめていくなら、やはりここは彼の論文『ELIZA -- 人間と機械の自然言語コミュニケーション研究のためのコンピュータプログラム』を軸にした情報の収集・整理を進めています。

またまた余談になりますが、ELIZA論文をはじめとする1960年代に書かれたコンピュータ・サイエンスの論文(これはデニス・リッチーバトラー・ランプソンの論文にも共通するのですが)内容が具体的かつ読み物としても成立している文書が多いと思います。おそらく、この時代はまだコンピュータ・サイエンスが海のものとも山のものともつかない学問領域で、そういった学問をわざわざ選択する人はかなり物好きなオタクだったと思うし、社会的な注目度もすごく低かっただろうから「何を書いても怒られない」「最初に書いたもん勝ち」的なムードがあったんじゃないかと個人的には想像しています。

で、ELIZA論文。冒頭の "Introduction" はいきなり下記のような癖のある文章で始まります。

It is said that to explain is to explain away. This maxim is nowhere so well fulfilled as in the area of computer programming, especially in what is called heuristic programming and artificial intelligence. For in those realms machines are made to behave in wondrous ways, often sufficient to dazzle even the most experienced observer. But once a particular program is unmasked, once its inner workings are explained in language sufficiently plain to induce understanding, its magic crumbles away; it stands revealed as a mere collection of procedures, each quite comprehensible. The observer says to himself "I could have written that". With that thought he moves the program in question from the shelf marked "intelligent" to that reserved for curios, fit to be discussed only with people less enlightened that he.

The object of this paper is to cause just such a reevaluation of the program about to be "explained". Few programs ever needed it more.

僕の怪しげな翻訳では…

説明とは上手に釈明することだと言われています。この格言は、コンピュータ・プログラミングの分野、特に発見的プログラミングや人工知能と呼ばれる領域でも同様です。その領域では、マシンは驚異的な方法で動作し、しばしば最も経験豊富な観察者でさえも十分に驚嘆させます。しかし、一旦、そのプログラムの仮面が剥がされて、その内部の仕組みへの理解を促すのに十分な説明される(それぞれはかなり分かりやすい手順を単に掻き集めたものであることを明らかにする)と、その魔法は消滅します。説明を受けた人は「私でも書けるかもしれない」と呟きます。問題のプログラムを「インテリジェント」と記された棚から珍しいものの棚に移して、まだ知らされていない人とだけ議論する事を願います。
この論文の目的は、プログラムをこのような再評価するように「説明」することです。今まで、このようなプログラムはほとんどありませんでした。

 ここでの記述から察するに、この論文が発表された1966年1月の段階で既にELIZAに対する過剰な反応にうんざりしているワイゼンバウムの様子が伺い知れます。そもそも、このプログラムを "ELIZA" と名付けた彼は、プログラムをゆっくり育てていくつもりでいたのだと想像しますが、そのデモンストレーションをみた聴衆は彼が全く想像していなかった(過剰に高く評価する)反応を示したのだと思います。彼にとって、この論文は聴衆を沈静化するための種明かしのつもりだったのでしょうが、開発者が正直に語った魔法の種明かしすら聴衆は信じない…デビューの時は散々な目にあった戯曲のイライザとは全く異なる。(僕の記憶によれば)映画『メトロポリス』のアンドロイド「マリア」が初めて登場したシーンのような反応といったところでしょうか?

・オリジナル ELIZA のパフォーマンスは?

でも聴衆がここまで過剰に反応するにはそれなりの理由があるはず?…ですよね。

上記のワイゼンバウムの論文には女性とELIZAとの対話の事例と(巻末には)実際に用いられた(と思われる)"DOCTOR" スクリプトのソースが掲載されています。

Men are all alike.
男性はみんな似ています。
IN WHAT WAY?
どうしたの?
They're always bugging us about something or other. 彼らはいつも何かについて私たちを悩ませています。 CAN YOU THINK OF A SPECIFIC EXAMPLE? 具体的な例を考えられますか?
Well, my boyfriend made me come here. うーん、私のボーイフレンドは私をここに来させました。 YOUR BOYFRIEND MADE YOU COME HERE あなたのボーイフレンドはあなたをここに来させましたか?
He says I'm depressed much of the time. 彼は、私が長時間が落ち込んでいると言います。 I AM SORRY TO HEAR YOU ARE DEPRESSED 私はあなたが落ち込んでいると聞いて悲しいです。
・ ・ ・ ・

うーむ、もしこの会話を側で聞いていたとしたら、人間同士の会話と錯覚しそうですよね?ワイゼンバウムには申し訳ないですが、聴衆が過剰に反応したのは当然のような気がします。むしろ「巻末のスクリプトだけで、このような応対が可能になるのかなぁ?」と素朴に考えてしまう。これは是非試してみたいところです。

 

・オリジナルのELIZAの実装って?

…ということで、まずはワイゼンバウムが開発したオリジナルの ELIZA の実装を探して見ました。ご存知の方も多いと思いますが、ELIZAは様々なコンピュータや言語に移植された歴史(マイクロコンピュータの黎明期に気の利いたゲームとしての需要が大きかった)があるので、いろんなバージョンが手に入ります。

僕が探し当てた限りでは、オリジナル・コードについては "The Genealogy of Eliza" が一番詳細のように見えます。このページで紹介されているソースコードなどは、下記で公開されています。

github.com

素敵な事に、(他では見かけなかった)ELIZAの実装に使ったワイゼンバウムの SLIP の論文 "Symmetric List Processor" のコピーも収録されてます。が、SLIPなる言語(Lispの亜種だと思うんだけど)で動くオリジナルのELIZA実装を今動かすのはかなり骨が折れそうです。そこで、更にelizagenを読み進めると BBN の Bernie Cosell が書いた Lisp Eliza の解説が出てきます。ここでの解説を信じると、SLIPで記述されたオリジナルのELIZAは、SLIPがLispほどには人気がなかったこともあり、実装コードとしてはあまり普及しなかったようです。 で、ワイゼンバウムの論文を参考にスクラッチで実装した Lisp ELIZA がその後登場する様々な派生バージョンのベースコードになったとのこと。もっとも Lisp とは言っても今日一般的な Common Lisp ではなく、もっと古い(方言がキツイ)Lisp だとは思いますが。例によって脱線すると Bernie Cosell は書籍 "Coders at Work" でも紹介されているBBNのソフトウェア・エンジニアで、初期のARPANETで使用された IMP(Interface Message Processor) のソフトウェア開発者の一人で、ELIZAの開発は Lisp を習得するためのお題で、個人的な趣味として取り組んだそうです。

この "The Genealogy of Eliza" ってページには他にも BASIC 版 ELIZA や emacs の Doctor.el などなど ELIZA の実装について広く紹介されています。更に読み進めればいろいろネタが拾えそう。

 

 

長くなってしまったのでページを代えます

 

今後、僕が書くつもりの諸々のこと

2018/05/16
藤田昭人

 

 

 

もちろん、ASCII DWANGO編集部には全く相談してないことなんですが…

僕個人は(勝手に)Truth of the Legend をシリーズ化しようと目論んでまして、先週、編集部を訪問した時にチラッと漏らしたら「何を書くか頭出しをしろ」と言われた次第です。なので、ここにリストを書くことにしました。

 

1.『Unix考古学』(既刊)

もう出版したので、特に言う事はナシ。

 

2.『Multicsの謎』

2016年の『「Unix考古学」の夕べ』で勢い余って予告した続編です。

一言で説明すると「Unix考古学」の第1章をさらに掘り下げた内容です。「何を今更 Multics」と言う方々も多いかと思いますが、どっこいそんな事はありません。これについてはある程度情報収集も終わっていて、執筆の構想らしきものを解説できそうなので別のページにて…

 

3.<タイトル未定>

Multicsの開発プロジェクトであった "Project Mac" が始動した翌年、1963年にARPA IPTOがファンドするもう一つのプロジェクトが立ち上がりました。それが "Project GENIE" です。こちらは UC Berkeley に対するファンドでした。このプロジェクトも"Project Mac"と同様にその後のコンピュータ・サイエンス研究に大きな影響を与えたのですが、Multics ほど有名にはなりませんでした。で、このプロジェクトを発端とするその後の様々な取り組みを紹介するのが、この巻の目論見です。

実は、一昨年の末にこの巻の初期予稿的な講演を僕は行ってます。

『スティーブ・ジョブスとコンピュータ・サイエンス』

が、その時、京産大の安田さんにボロクソにケチを付けられたように「あまりにもデカすぎる」テーマであることを再確認するに至りました。おそらくシリーズ最大の巻になると思います。優先度は一番低いです。

 

4.『Computer Power and Human Reason(仮)』

今どきの若者には "Chatbot"「人工無能」と言う訳語が付いていることを知らない人も多いのではないでしょうか? この「人工知能」を皮肉った訳語が生まれた背景には ジョセフ・ワイゼンバウムELIZA の研究があります。ELIZAの上で動くDOCTORと言うスクリプトの被験者の過剰な反応に驚いたワイゼンバウムはその後さまざまな考察を行いますが、その一連の研究を取りまとめた"Computer Power and Human Reason"と言う書籍を1976年に出版しています。この書籍にフォーカスして、今日のAIスピーカが目指すべきビジョンを考察しようと言うのがこの巻のテーマです。

実はこの構想を横田くんに話したところ「何をやってるんだ、今すぐかけ、とっとと書け」と激しく激励されたことと、それなりに社内的な需要もありそうなので(社内向けの)全6回程度の講演の企画として進めています。今のところ、本業以外では最優先のミッションです。この巻についても別ページで詳細を書く予定です。

2018/06/14 下調べをしたところタイトルを変更した方が良いように考え始めてます。

2018/07/15 タイトルを『ELIZAをめぐるあれこれ(仮)』に変更します。僕ら情報の人間にはあまり耳馴染みのなかった PARRY のHMC分野での研究成果に驚いているところ。ともあれ、ワイゼンバウムといいコルビーといい既に他界しているので、彼らの研究は文字通り「歴史の審判」を待っているところ何だろうなぁ…と今、感じています。

 

5.『サイバネティックス(仮)』

 以前、FBでもチラッと語りましたが、この巻は『Multicsの謎』の企画検討の中から生まれました。つまり「そもそも Multics って何故開発されることになったの?」と言う素朴な疑問…Multics以前の1940年代〜1950年代の話です。これに関してはリアルタイムでのご経験を持っておられる和田英一先生の貴重なコメントに酷くインスパイアされたことと、それから「機械学習って人工知能の研究なの?」と言う僕ら世代のボヤッとした疑問を解決することがテーマです。(なんだかよくわからない😀)

実はこの巻についても前口上的内容を述べた講演を僕は行っています。

『AIの来た道』

和田先生から伺った Norbert Wiener vs John von Neumann の話や、更に僕らには関わりの深い「コンピュータ・サイエンス」と言う新たな研究分野が生まれた経緯について改めておさらいしておいたほうが良いと僕は考えているんだけど…皆さんはどう思いますか?

 

以上、リストアップすると5つのテーマが今の僕にはあります。その他にも2016年の講演の際に散々言われた『Unix考古学』の日本バージョン、あるいは3.から派生する日本でのコンピュータ・グラフィックス(大村皓一先生のお話ですね)とか、もう少し調べないと書けないネタもあるんですけどね。だいたいこれくらいかな?

 

…忘れてました。6つ目のテーマ。

 

6.IBM Watson

IEEE の IBM Watson の論文集が公開されているので、これで何か書けないか?と考えたことがありました。4.と近い内容になるのかもね?