ELIZA は、 1964 年から 1967 年にかけてMITでJoseph Weizenbaumによって開発された初期の自然言語処理コンピュータ プログラムです。[ 1 ] [ 2 ] [ 3 ]人間と機械の間のコミュニケーションを探求するために作成された ELIZA は、パターン マッチングと置換の方法論を使用して会話をシミュレートし、プログラムが理解しているという錯覚をユーザーに与えましたが、どちらの当事者が言っていることを本当に理解していると考えられる応答は返しませんでした。 [ 4 ] [ 5 ] [ 6 ] ELIZA プログラム自体は (元々) MAD-SLIP で書かれていましたが、言語機能の大部分を含むパターン マッチング ディレクティブは、Lisp のような式で表現された別の「スクリプト」で提供されました。 [7 ] [ 8 ]最も有名なスクリプトである DOCTOR は、ロジャーズ派の心理療法士(セラピストが患者の言葉を患者にそのまま返すことが多い) をシミュレートし、[ 9 ] [ 10 ] [ 11 ]スクリプトに規定されたルールを使用して、ユーザーの入力に対して方向性のない質問で応答しました。このように、ELIZA は最初のチャットボット(当初は「チャッターボット」) の 1 つであり、チューリング テストを試みることができる最初のプログラムの 1 つでした。[ 12 ] [ 13 ]
ワイゼンバウムは、人間と機械のコミュニケーションを探求する方法としてこのプログラムを意図していた。秘書を含む一部の人々が、このコンピュータプログラムに人間のような感情を帰属させたことに彼は驚いた[ 3 ]。この現象は後にELIZA効果と呼ばれるようになった。多くの学者は、このプログラムが多くの人々、特に心理的な問題を抱える人々の生活に良い影響を与え、そのような患者の治療に取り組む医師を支援できると信じていた[ 3 ] [ 14 ] 。ELIZAは対話に参加することはできたが、真の理解をもって会話することはできなかった[ 15 ] 。しかし、ワイゼンバウムの反対の主張にもかかわらず、初期のユーザーの多くはELIZAの知性と理解力を確信していた[ 6 ] 。
オリジナルのELIZAのソースコードは、1960年代の作成以来行方不明になっていました。当時、ソースコードを含む記事を公開することは一般的ではなかったためです。しかし、2021年にMAD-SLIPのソースコードがMITのアーカイブで発見され、インターネットアーカイブなどのさまざまなプラットフォームで公開されました。[ 16 ]このソースコードは、当時のプログラミング言語と技術の特殊性を示すだけでなく、高度なソフトウェアプログラミングを実現する手段としてのソフトウェアの階層化と抽象化の始まりも示しているため、歴史的に非常に興味深いものです。

ジョセフ・ワイゼンバウムのELIZAは、DOCTORスクリプトを実行することで、「最初の精神科面接における(非指示的な)精神療法士のオフィスで起こりうる会話にいくらか似た対話を作り出し」[ 17 ]、「人間と機械の間のコミュニケーションが表面的であることを示す」[ 18 ]ことを目的としていた。ELIZAは精神療法士のように振る舞うことで最もよく知られているが、その話し方はDOCTORスクリプトによって提供されるデータと指示によるものである。[ 19 ] ELIZA自身はテキストを調べてキーワードを見つけ、そのキーワードに値を適用し、入力を出力に変換した。ELIZAが実行したスクリプトは、キーワードを決定し、キーワードの値を設定し、出力の変換ルールを設定した。[ 20 ]ワイゼンバウムは、心理療法の文脈でDOCTORスクリプトを作成することを選択し、「プログラムに現実世界の知識のデータベースを与えるという問題を回避する」こと、[ 3 ]患者の発言を反映させて会話を進めることができるようにした。[ 3 ]その結果、ある程度知的に見える応答が生まれ、初期のプログラムユーザーの一部を騙したと言われている。[ 21 ]
ワイゼンバウムは、ジョージ・バーナード・ショーの『ピグマリオン』に登場する労働者階級の登場人物、イライザ・ドゥーリトルにちなんで、自身のプログラムをELIZAと名付けた(この戯曲を基にしたミュージカル『マイ・フェア・レディ』にも登場し、当時大ヒットした)。ワイゼンバウムによれば、ELIZAは様々なユーザーによって「段階的に改善」される能力があり、ショーの戯曲で上流階級のアクセントで話すように教えられたイライザ・ドゥーリトルに似ているという[ 20 ]。[ 9 ] [ 22 ]しかし、ショーの戯曲に登場する人間の登場人物とは異なり、ELIZAは対話だけで新しい話し方のパターンや新しい単語を学習することはできない。プログラムの動作方法を変更するには、ELIZAのアクティブなスクリプトを直接編集する必要がある。
ワイゼンバウムは、まず自身のSLIPリスト処理言語でELIZAを実装した。この言語では、ユーザーによる最初の入力内容に応じて、人間の知能の錯覚が現れたり、数回のやり取りを通じてその錯覚が払拭されたりした。[ 2 ] ELIZAの応答の中には非常に説得力のあるものもあり、ワイゼンバウムや他の数人は、ユーザーがプログラムに感情的に愛着を持ち、時折コンピューターと会話していることを忘れてしまうという逸話を持っている。[ 3 ]ワイゼンバウムの秘書は、ワイゼンバウムに部屋を出るように頼み、彼女とELIZAが本当の会話をしたいと言ったという。ワイゼンバウムはこれに驚き、後に「 比較的単純なコンピュータープログラムに極めて短時間触れるだけで、ごく普通の人間に強力な妄想的思考を引き起こす可能性があるとは、私は気づいていなかった」と書いている。[ 23 ]
1966年当時、対話型コンピューティング(テレタイプ経由)は新しいものでした。パーソナルコンピュータが一般に普及するまでには11年かかり、ほとんどの人がAsk.comのようなインターネットサービスやMicrosoft Office ClippitのようなPCヘルプシステムで自然言語処理の試みに触れるようになるまでには30年かかりました。[ 24 ]これらのプログラムには長年の研究と作業が含まれていましたが、ELIZAは、プログラマーが人間同士の対話の錯覚(たとえ短時間であっても)を作り出すことを目的として、このような人間と機械の対話を試みた最初の事例であったため、画期的な存在であり続けています。[ 25 ]
ICCC 1972では、ELIZAはPARRYという別の初期の人工知能プログラムと組み合わされ、コンピュータのみの会話が行われた。ELIZAは医師として話すように作られたが、PARRYは統合失調症の患者をシミュレートすることを目的としていた。[ 26 ]
ワイゼンバウムは当初、コンピュータとの自然言語会話を可能にするプログラムとして、IBM 7094上でCTSS用の MAD-SLIP で ELIZA を作成しました。 [ 27 ]これを実現するために、ワイゼンバウムは ELIZA が克服すべき 5 つの「根本的な技術的問題」を特定しました。キーワードの特定、最小限のコンテキストの発見、適切な変換の選択、キーワードがない場合の応答の生成、ELIZA スクリプトの編集機能の提供です。[ 20 ]ワイゼンバウムはこれらの問題を解決し、ELIZA に組み込みのコンテキスト フレームワークや談話領域がないようにしました。[ 19 ]しかし、これには ELIZA がユーザーからの入力にどのように応答するかについての指示のスクリプトを持つ必要がありました。[ 6 ]
ELIZA は、まずテキスト入力から「キーワード」を探すことで、ユーザーからの入力に応答するプロセスを開始します。[ 5 ]「キーワード」とは、実行中の ELIZA スクリプトによって重要と指定された単語であり、各キーワードにはプログラマによって設計された優先順位番号、つまり RANK が割り当てられます。[ 15 ]このような単語が見つかった場合、それらは「キースタック」に入れられ、最も高い RANK のキーワードが最上位になります。入力文は、最も高い RANK のキーワードに関連付けられたルールに従って操作および変換されます。[ 20 ]例えば、DOCTOR スクリプトが「alike」や「same」などの単語に遭遇すると、これらの単語の優先順位番号が高いため、類似性に関するメッセージ、この場合は「どのような点で?」を出力します。[ 4 ]これはまた、スクリプトによって規定された特定の単語が、文脈上の考慮事項に関係なく操作される可能性があることを示している。例えば、一人称代名詞と二人称代名詞の切り替えなどが挙げられる。これらの単語も高い優先順位番号を持っていたためである。このような高い優先順位番号を持つ単語は、会話パターンよりも優先されるとみなされ、文脈パターンとは独立して扱われる。
最初の検査の後、プロセスの次のステップは、適切な変換ルールを適用することです。このルールは、「分解ルール」と「再構成ルール」の2つの部分から構成されます。[ 20 ]まず、入力の構文パターンをレビューして、応答に必要な最小限のコンテキストを確立します。入力のキーワードとその他の近くの単語を使用して、適切なパターンが見つかるまでさまざまな分解ルールがテストされます。スクリプトのルールを使用して、文は「分解」され、「最もランクの高いキーワードの分解ルール」に従って、構成要素のセクションに配置されます。Weizenbaumが挙げている例は、「You are very helpful」という入力で、これは「I are very helpful」に変換されます。これは、(1)空、(2)「I」、(3)「are」、(4)「very helpful」に分解されます。分解ルールは、フレーズをキーワードと文の情報の両方を含む4つの小さなセグメントに分解しました。[ 20 ]
分解ルールは、文を再構築する際に従う特定の再構成ルール、または再構成ルールのセットを指定します。[ 5 ]再構成ルールは、分解ルールによって生成された入力の断片を受け取り、それらを並べ替え、プログラムされた単語を追加して応答を作成します。前述のワイゼンバウムの例を使用すると、このような再構成ルールは断片を受け取り、「What makes you think I am (4)」というフレーズに適用し、「What makes you think I am very helpful?」という結果になります。この例はかなり単純で、分解ルールによっては、出力ははるかに複雑になり、ユーザーからの入力をより多く使用する可能性があります。しかし、この再構成から、ELIZAは構築された文を画面上のテキストの形式でユーザーに送信します。[ 20 ]
これらの手順は、ELIZAが通常の入力から応答を作成するために従った手順の大部分を表していますが、ELIZA/DOCTORが応答できる特殊な状況がいくつかあります。Weizenbaumが具体的に書いたものの1つは、キーワードがない場合です。1つの解決策は、ELIZAに「なるほど」や「続けてください」などの内容のないコメントで応答させることでした。[ 20 ] 2番目の方法は、「MEMORY」構造を使用することでした。これは、最近の入力を記録し、キーワードがない場合に以前の会話の一部を参照する応答を作成するためにこれらの入力を使用するものでした。[ 28 ]これは、Slipが単語を他の用途にタグ付けする機能のおかげで可能になりました。これにより、ELIZAは単語を調べ、保存し、出力で使用するために再利用することができました。[ 20 ]
これらの機能はすべてELIZAのプログラミングで定義されていますが、プログラムが入力データを分解、検査、再構成する具体的な方法はオペレーティングスクリプトによって決定されます。スクリプトは静的なものではなく、必要なコンテキストでの操作に応じて編集したり、新しいスクリプトを作成したりできます。これにより、ロジャーズ派の心理療法士をシミュレートする有名なDOCTORスクリプトなど、複数の状況でプログラムを適用できるようになります。[ 16 ]
ワイゼンバウムのCACM論文を基にしたELIZAのLisp版は、その論文の発表直後にバーニー・コセルによって書かれた。[ 29 ] [ 30 ] BASIC版は1977年にCreative Computing誌に掲載された(ただし、ジェフ・シュレーガーによって1973年に書かれた)。[ 31 ]このバージョンは初期のパーソナルコンピュータの多くに移植され、その後、他の多くの言語でさらに多くのバージョンに翻訳されたようだ。シュレーガーはワイゼンバウム版もコセル版も見たことがないと主張している。
2021年、ジェフ・シュレーガーはMITのアーカイブ担当者マイルズ・クロウリーと共にMITのワイゼンバウム・アーカイブを調査し、「コンピュータ会話」とラベル付けされたファイルを発見した。これにはMAD-SLIPのELIZAの完全なソースコードリストと、添付されたDOCTORスクリプトが含まれていた。ワイゼンバウム家は、このコードをクリエイティブ・コモンズCC0パブリックドメインライセンスの下でオープンソース化することを許可した。コードとその他の情報はELIZAGENサイトで見つけることができる。[ 30 ] 1965年のソースコードは、ELIZAの複雑な歴史を解明するために協力してきたUSC、サセックス大学、オックスフォード大学、スタンフォード大学の研究者を集めたソフトウェア考古学プロジェクトの一環として年代が特定されている。 [ 32 ]
2024 年 12 月、オリジナルの MAD-SLIP ELIZA を研究していた他の数名のエンジニアの協力を得て、ルパート・レーンはオリジナルの ELIZA を起動し、発見されたコードに基づく ELIZA の実装が、ワイゼンバウムの 1966 年の論文で公開された ELIZA との会話をほぼ完全に再現できることを実証しました。このオリジナルの ELIZA は、1965 年版のソースコードの大部分、つまり関数の約 96% を使用して再構築されました。[ 33 ]これは、 7094エミュレータ上で動作するオリジナルの MIT CTSSのバージョン上で実行されました。後者はどちらも David Pitts によるものです。[ 34 ] [ 35 ]
ソフトウェアエンジニアの間で人気のあるElizaの別のバージョンは、 GNU Emacsのデフォルトリリースに付属しているバージョンで、ほとんどの最新のEmacsM-x doctor実装から入力することでアクセスできます。
図15.5、音声と言語処理(第3版)第15章より。[ 36 ]
function ELIZA GENERATOR(user sentence ) returns response文中のキーワードランクが最も高い単語をwと するwが存在する 場合 w の文に一致する最高ランクのルールを r とする。 応答←文にrの変換を適用する w = 'my' の場合 future ← 「memory」ルールリストから変換を文に適用するfutureをメモリキューに プッシュする それ以外の場合(該当するキーワードはありません) どちらか 応答← NONEキーワードの変換を文に適用します または レスポンス← メモリキューから最も古いレスポンスをポップするレスポンス を返す
ELIZAに対する一般の人々の反応はワイゼンバウムを困惑させ、彼が著書『コンピュータの力と人間の理性:判断から計算へ』を執筆する動機となった。この本の中で彼はコンピュータの限界を説明し、コンピュータを擬人化する見方は人間、あるいはあらゆる生命体の矮小化に過ぎないという自身の意見を明確にしたいと考えている。[ 37 ]独立系ドキュメンタリー映画『Plug & Pray』(2010年)の中で、ワイゼンバウムはELIZAを誤解した人だけがそれをセンセーションと呼んだと述べている。[ 38 ]
未来のテクノロジーと芸術との関係に魅了されていたデイヴィッド・アヴィダンは、文学を書くためのコンピュータの使用を探求したいと考えていた。彼はELIZAのAPL実装と何度か対話を行い、それを英語と彼自身のヘブライ語訳で『私の電子精神科医 ― コンピュータとの8つの本物の対話』というタイトルで出版した。序文で彼はそれを制約された執筆の一形態として紹介した。[ 39 ]
ELIZAをベースにしたプログラムは、さまざまなプログラミング言語で多数存在します。MS -DOSコンピュータ向けには、 DOCTORスクリプトと同様の機能を持つDr. Sbaitsoが付属したSound Blasterカードがいくつかありました。ELIZAを宗教的なテーマに合わせて改変したバージョンもあり、例えばイエスを題材にしたもの(真面目なものとコメディタッチのもの)、Apple II版のI Am Buddhaなどがあります。1980年のゲーム「The Prisoner」では、ゲームプレイにELIZAスタイルの対話が取り入れられました。1988年、イギリスのアーティストでワイゼンバウムの友人でもあるブライアン・レフィン・スミスは、 BASICで書かれた2つの芸術指向のELIZAスタイルのプログラム「Critic」と「Artist」を作成し、それぞれ別のAmiga 1000コンピュータで動作させ、フランスのブールジュにあるベリー美術館で開催された展覧会「Salamandre」で展示しました。来場者は「Critic」が言ったことを「Artist」に入力し、その逆も行うことで、2つのプログラムの会話を手助けすることになっていました。その秘密は、2つのプログラムが同一だったということだ。GNU Emacsにはかつて、 ELIZAとZippy the Pinheadのセッションをシミュレートするコマンドがあった。[ 40 ] Zippyismsは著作権の問題で削除されたが、DOCTORプログラムは残っている。psychoanalyze-pinhead
ELIZAはポップカルチャーで言及され、人工知能に焦点を当てたプログラマーや開発者にとってインスピレーションの源であり続けている。また、数学者アラン・チューリングの生誕100周年を記念して、 2012年にハーバード大学で開催された「Go Ask ALICE 」と題された展覧会でも取り上げられた。この展覧会は、チューリングが生涯にわたって魅了された人間とコンピューターの相互作用を探求し、ELIZAをチューリングのアイデアの最も初期の実現例の1つとして挙げている。[ 1 ]
ELIZAは2021年のレガシー・ピーボディ賞を受賞しました。2023年のプレプリントでは、チューリングテスト研究において、当時ChatGPTで使用されていたOpenAIのGPT-3.5をELIZAが上回ったと報告されています。しかし、 GPT-4や実際の人間を上回ることはありませんでした。[ 41 ] [ 42 ]
ELIZAは初期のチャットボットとしてよく知られていますが、ジョセフ・ワイゼンバウムはこれを機械と人間の間の自然言語コミュニケーションを研究するためのプログラムとして発表しました。ワイゼンバウムは1966年の論文で、ELIZAをパターンマッチング機構とスクリプトの交換を組み合わせたシステムとして説明しており、最も有名なスクリプトはDOCTORでした。[ 43 ] ELIZAは心理療法士の応答に似た応答を生成しました。ELIZAは言語を意味的に理解するのではなく、キーワードを特定し、ユーザーの入力をまったく新しいプロンプトに変換しました。その結果、後に研究者たちは、この独特な構造が対話型プログラムの歴史と機械理解の限界に関する議論においてELIZAを重要なものにしたと指摘しています。
近年の歴史的議論では、ワイゼンバウムがELIZAをチャットボットとしてではなく、人間が機械とどのように会話するか、そして解釈と誤解釈という重要な認知プロセスを調査するための独自のプラットフォームとして作成することを意図していたという考えが繰り返されている。[ 44 ] ELIZAが後に最初のチャットボットとして評価されるようになったのは、その作成時期と、当初の研究コンテキストを超えた普及によって形作られた。もう一つの理由は、その後50年以上にわたって元のソースコードへのアクセスが失われたことで、解釈の余地が大きくなったことである。その結果、ELIZAは、自然言語処理やその他のシステム、プログラミング言語など、人工知能の歴史におけるいくつかの発展に登場した。
2021年、ワイゼンバウムのELIZAのオリジナルソースコードがインターネットアーカイブを通じて公開されました。[ 45 ]研究者たちは、ELIZAプログラムとDOCTORスクリプトを含む復元された資料を主要な歴史的遺物としてより直接的に研究することができました。その結果、研究者たちは、プログラムが元の計算環境とMITの実装でどのように動作するかを再現しようと試みました。[ 46 ]復元されたソースコードによって、ELIZAの実際の技術アーキテクチャと、チャットボット開発におけるその後の評価との間に区別が生まれました。復元されたソースコードからの最近の再構築作業により、現代の研究者はELIZAの正確な技術的動作を理解し、それをその後の評価と比較し、人工知能とチャットボット開発におけるその歴史的役割を再評価することが可能になりました。
DOCTORスクリプトは、ロジャーズ派心理療法の手法をシミュレートしているため、ELIZAの最もよく知られた例です。ユーザーが入力した言葉を質問やプロンプトの形で再解釈することで機能し、相手の状況について比較的少ない断定的な発言をしながら会話を進めることができます。
ELIZA の評判は、後にワイゼンバウムが人工知能と計算の権威を批判する際に影響を与えた。『コンピュータの力と人間の理性』の中で、彼は人間の思考を完全に計算能力に還元できるという見解に公然と反対し、社会的領域と倫理的領域の両方でコンピュータを人間の認知判断の適切な代替物とみなす新たな傾向にも疑問を呈した。学者のキャロライン・バセットは、ELIZA の重要性は、計算療法の初期のプロトタイプとしての役割にあると主張した。[ 47 ]比較的単純な会話プログラムを備えた DOCTOR スクリプトは、人間のケア、理解、専門知識を模倣したユーザーとの環境を作り出すことができた。ノア・ワードリップ=フルインなどの他の学者も、ELIZA を、ユーザー体験が基盤となるコード、スクリプト、プロセスにおける解釈の期待との相互作用に依存するソフトウェア研究の重要な例として扱っている。[ 48 ]その結果、ELIZAは初期の対話型プログラムとしてだけでなく、後世の研究者が人間と機械の相互作用、生理学的および行動的影響、そしてコンピュータシステムの知能をどのように認識したかを研究した例としても重要になった。
エリザ効果は、チャットボットのELIZAからその名前を借りたものです。この効果は、Fluid Concepts and Creative Analogies: Computer Models and the Fundamental Mechanisms of Thought [ 49 ]で初めて定義され、一部のコンピュータプログラムがユーザーの入力を理解し、類推を行うという人間の解釈として説明されました。
こうした解釈は、ユーザーを操作したり、誤った情報を提供したりする可能性があります。チャットボットとのやり取りにおいて、ユーザーはチャットボットの回答の信頼性を過信してしまうことがあります。誤った情報を提供するだけでなく、チャットボットの人間を模倣する性質は、特にチャットボットの仕組みを十分に理解していない若いユーザーにとって、深刻な結果を招く可能性もあります。
Wiezenbaumの最も有名なCTSSプロジェクトはELIZAだった。