ELIZAは、1966年にMITのジョセフ・ワイゼンバウムによって開発された初期の自然言語処理プログラムです。ELIZAは、特に「DOCTOR」というスクリプトを用いて、精神分析医のような対話を模倣することで知られています。このプログラムは、ユーザーの入力に対して定型的な応答を返すことで、簡単な会話を実現しました。
ELIZAの特徴
- パターンマッチング:
- ELIZAは、ユーザーの入力を解析し、特定のキーワードに基づいて応答を生成します。例えば、「頭が痛い」と入力すると、「なぜ、頭が痛いとおっしゃるのですか?」といった応答を返します。
- 定型応答:
- ELIZAは、あらかじめ設定されたルールに基づいて応答を生成します。これにより、ユーザーとの対話が可能になりますが、実際には意味を理解しているわけではありません。
- 精神分析医の模倣:
- 「DOCTOR」スクリプトは、精神分析医のような対話を模倣するために設計されました。これにより、ユーザーは自分の感情や問題について話すことができるようになります。
歴史と背景
- 開発の動機:
- ワイゼンバウムは、コンピュータが人間のように対話できるかどうかを探るためにELIZAを開発しました。彼は、特に精神分析医の対話を模倣することで、実世界の知識を必要としない対話を実現しようとしました。
- 名前の由来:
- ELIZAという名前は、ジョージ・バーナード・ショーの戯曲『ピグマリオン』の登場人物イライザ・ドゥーリトルにちなんで名付けられました。彼女は、上流階級のアクセントでの話し方を教えられる労働者階級の役です。
影響と評価
- 人工無脳の起源:
- ELIZAは、人工無脳の起源となったソフトウェアであり、後のチャットボットの開発に大きな影響を与えました。
- ユーザーの反応:
- ELIZAの応答は非常に人間らしく、一部のユーザーはその仕組みを説明されても納得せず、ELIZAの応答を真剣に受け止めました。
- 技術的な影響:
- ELIZAは、コンピュータゲームやユーザインタフェース設計にも影響を与えました。例えば、最初期のコンピュータRPGやアドベンチャーゲームに影響を与えました。
主な実装
- SLIPからLISPへの移植:
- ワイゼンバウムのオリジナルはSLIPで実装されていましたが、Bernie CosellがLISPに移植しました。LISPは当時主流の言語ではなく、多くの人がELIZAに触れたのはBASICへの移植版が登場してからです。
- GNU Emacs:
- GNU Emacsには、ELIZAのバージョンが組み込まれており、
M-x doctor
と入力することでアクセスできます。
- GNU Emacsには、ELIZAのバージョンが組み込まれており、
まとめ
ELIZAは、初期の自然言語処理プログラムとして、人工知能やチャットボットの歴史において重要な位置を占めています。パターンマッチングと定型応答を用いたシンプルな構造ながら、ユーザーとの対話を実現し、多くの人々に影響を与えました。ELIZAの開発とその影響は、現在のAI技術の基礎を築く重要な一歩となりました。