T1#ethics
ELIZA ── 対話プログラムの原型

メタデータ
- 日付
- 年代
- 1960s
- Tier
- T1
- 参照年表
- AIの歴史
- 出典数
- 06
- 関連項目
- 01
- Tags
- #ethics
ELIZA を世に出した論文は、 成果の宣伝ではなく格言から始まる。 「説明するとは、 説明し尽くして消してしまうことだと言われる」(It is said that to explain is to explain away)。 Joseph Weizenbaum は続けて、 知的に見えるプログラムも仕組みを平易に説明されれば魔法は崩れ、 見る者は「それなら自分にも書けた」とつぶやく、 と書く。 そして目的を宣言する。 この論文の目的は、 これから「説明」するプログラムについて、 まさにその再評価を起こすことにある ── これほどそれを必要としたプログラムはめったにない、 と。
つまり最も有名な初期の対話プログラムは、 その第1ページから、 幕の裏にどれほど何も無いかを示す実演として発表されたのである。
1966年の ELIZA 論文が記述しているもの
「ELIZA—A Computer Program For the Study of Natural Language Communication Between Man and Machine」は Communications of the ACM 第9巻第1号(1966年1月)の36〜45頁に掲載された。 研究は一部、 MIT の研究計画 Project MAC の支援を受けている。 Project MAC は国防総省の高等研究計画局(ARPA)がスポンサーとなり、 海軍研究局(ONR)の契約のもとで運営されていた。
実装の記述は簡潔である。 ELIZA は MIT の MAC 時分割システム上で動き、 IBM 7094 向けに MAD-SLIP で書かれていた。 MAD という言語に、 Weizenbaum 自身が1963年に発表したリスト処理系 SLIP を組み合わせたものだ。 名前については、 利用者が少しずつ改良できるプログラムであることを強調するために選んだと書く。 言語能力は「教師」によって改良し続けられる ── 『ピグマリオン』のイライザのように、 もっと洗練されて見えるようにもできる。 ただし見かけと実体の関係は、 劇作家の領分にとどまる、 と。
ELIZA の仕組み ── キーワード、 分解、 再構成
要旨は仕組みを2文にまとめている。 入力文は、 文中に現れるキーワードによって起動される「分解規則」にもとづいて解析され、 応答は選ばれた分解規則に結びついた「再構成規則」によって生成される。
論文は、 このプログラムが解くべき技術的な問題を列挙する。
- 入力の中で「最も重要な」キーワードを特定する
- その周りの最小限の文脈を特定する。 たとえば "you" の後に "are" が続けば、 おそらく何かが断定されている
- 適切な変換規則を選び、 適用する
- キーワードがまったく無い入力にも「知的に」応答する
- 規則を編集・拡張しやすくする
錯覚の多くは4番目に宿っている。 何も理解していないときでも、 いつももっともらしい何かを言えるプログラムは、 ときどき黙り込むプログラムよりずっと見破りにくい。
スクリプトはデータである
歴史的に最も重要な設計判断は、 1文に書かれている。 ELIZA の重要な性質は、 スクリプトがデータであってプログラムの一部ではないことだ、 と。 キーワードとその変換規則が、 ある種の会話のための「スクリプト」を構成する。 処理系のほうは、 どのスクリプトを与えられるかを問わない。 Weizenbaum は執筆時点で、 英語のほかウェールズ語とドイツ語のスクリプトも存在したと記している。
ELIZA を有名にしたスクリプトは心理療法士を模していた。 論文はその名前に触れていない ── 後の資料や、 原典の印刷物を収めたアーカイブは DOCTOR と呼んでいる ── が、 選んだ理由は説明している。 当時存在した本格的なスクリプトは、 ELIZA を「ある種の心理療法士(ロジャース派)」のように応答させるものだけだった。 そして精神科の面接は、 二者の一方が「現実世界についてほとんど何も知らない」という姿勢をとっても許される、 数少ない会話の型である。
彼の例はこうだ。 精神科医に「長いボート遊びに出かけた」と話して「ボートについて話してください」と返されても、 医師がボートを何も知らないとは思わない。 何か目的があるのだろうと考える。 Weizenbaum は、 その想定をしているのは話し手のほうだと強調する。 話し手は、 理解されているという印象を守るために、 相手にあらゆる背景知識や洞察や推論能力を帰属させる。 だがそれもまた、 話し手が会話に持ち込んだものなのだ、 と。
Weizenbaum がのちにこの効果の危うさについて書いたことはすべて、 この段落から育っている。 著書『Computer Power and Human Reason』(1976年)と、 いま「ELIZA 効果」と呼ばれる現象については Weizenbaum 本人のページ で扱っている。
ELIZA はどう広まり、 どう誤って記憶されたか
半世紀のあいだ、 ELIZA を知る人の大半が知っていたのは複製だった。 Rupert Lane、 Anthony Hay、 Arthur Schwarz、 David M. Berry、 Jeff Shrager による2025年の論文がその系譜をたどっている。 CACM の論文が出て間もなく、 研究会社 BBN の Bernie Cosell が Lisp でほぼ同じものを書いた。 BBN はほどなく ARPAnet の中心的な技術請負企業になり、 Cosell 版はネットワークを通じて、 Lisp を中心とする学術 AI の世界に広まった。 一方 Weizenbaum の MAD-SLIP 版が動いていたのは CTSS 上の Project MAC の7094で、 この機械は ARPAnet につながっていなかった。
その結果、 著者らの言葉を借りれば、 ELIZA は Lisp で書かれたという「50年にわたるコミュニティ全体の誤解」が生まれた。 論文自体もそれに加担している。 心理療法士のスクリプトは全文を載せたが MAD-SLIP のコードは一切載せず、 しかもスクリプトのリスト表記は、 流し読みする者には Lisp に見えた。 もう1つの系統は1977年に始まる。 雑誌 Creative Computing が短い BASIC 版を掲載し、 パソコンの普及とともに、 著者らの言う「何百もの模倣品」を生んだ。
2021年、 原典 ELIZA のコードの発見
原典が見つかったのは2021年、 MIT が所蔵する Weizenbaum の文書の中からである。 Shrager は MIT のアーキビスト Myles Crowley の助けを得て、 「Computer Conversations」と記されたファイル群を開き、 最初のフォルダに、 心理療法士のスクリプトが付いた MAD-SLIP の ELIZA の完全なソースリストを見つけた。 Weizenbaum の遺族がコードの公開を認め、 CC0(パブリックドメイン献呈)で公開されている。 このページに掲げた画像はその第1葉である。
見つかったリストは、 発表されたプログラムとまったく同じではなかった。 読んでみると、 1966年の論文に書かれた機能のいくつかが無く、 付いていたスクリプトも、 より単純な初期の版だった。 そもそも動くのかを確かめるため、 チームはコメントのほとんど無い MAD と FAP のコード約2600行を手で書き起こし、 エミュレートした IBM 7094 の上に復元した CTSS で走らせ、 アセンブリ言語のルーチンに潜んでいた1文字の誤りを突き止めた。 2024年12月21日に実行ファイルができ、 チームによれば60年以上動いていなかった原典の ELIZA が、 ふたたび会話を最後まで続けられるようになった。
1966年の論文に載ったスクリプトを修正して与えると、 復活したプログラムは発表された会話を2か所を除いて再現した。 動かしてみて初めて見つかったバグもある。 "you are 999 today" のような数字を含む入力を与えると、 この版は落ちる。 そして Weizenbaum が論文で軽く触れただけの「教える」機能 ── 会話の中からスクリプトを編集する仕組み ── が、 完全に実装されていたことも確かめられた。
ELIZA の位置づけ
ELIZA Reanimated 論文は ELIZA を「通常、 世界初のチャットボットとみなされている」と書く。 これは確定した優先権の主張ではなく、 ELIZA の評判を述べたものとして読むのが妥当だろう。 確かなのは、 ELIZA が始めた議論の形のほうである。 意味のモデルを何も持たないシステムでも、 理解しているものとして経験されうる ── それを示したのが ELIZA であり、 その作者はその後の数十年をまさにその警告に費やした。 より長い歴史の中での位置は AI の年表 を参照。 年表は 1956年のダートマス会議 から始まり、 Weizenbaum の1966年の段落をあらためて切実なものにした大規模言語モデルの時代へと続いている。
よくある質問
- ELIZA を作ったのは誰か
- MIT の Joseph Weizenbaum です。MAD-SLIP で書き、1966年1月の Communications of the ACM に発表しました。
- ELIZA と DOCTOR は何が違うのか
- ELIZA は処理系の名前で、実際の応答を決めるのは差し替え可能な「スクリプト」です。DOCTOR はそのスクリプトのひとつで、ロジャース派の心理療法士を模したものでした。
- ELIZA は言葉を理解していたのか
- していません。入力からキーワードを拾い、分解規則と再構成規則で言い換えて返すだけの仕組みです。Weizenbaum は論文で、理解されているという印象は話し手自身が相手に知識や推論能力を投影した結果だと説明しました。
出典
一次資料Weizenbaum, J. (1966). ELIZA — text of the CACM 9(1) paper, hosted by UMBC
MAD-SLIP・IBM 7094・MAC 時分割システム、Pygmalion に由来する命名、スクリプトはデータであること、Welsh と German のスクリプト、話し手の「投影」を論じた結びの節
2021年の原典ソース発見、2024年12月21日の CTSS エミュレータ上での再稼働、Cosell の Lisp 版が広まった経緯、数値入力で落ちるバグ
最終更新: