Charles Hayden's Eliza Test

Charles Hayden の Eliza Test のページの翻訳です。


Charles Hayden

Eliza Test


Eliza Test

This applet implements the classic "Eliza" program, a program that communicates in natural language. It pretends to be a Rogerian psychologist.
このアプレットは、自然言語でコミュニケーションするプログラムである古典的な "Eliza"プログラムを実装しています。それは Rogerian の心理学者のふりをします。

The original ELIZA was described by Joseph Weizenbaum in Communications of the ACM in January 1966. ELIZA was one of the first programs that attempted to communicate in natural language. The article was an attempt to demystify the behavior of the program, and included a detailed description of the program. ELIZA is based on a "script" consisting of patterns and corresponding responses. An appendiz to the article contained the complete script for the Rogerial psychologist.
オリジナルのELIZAは、Communications of the ACM, January 1966でJoseph Weizenbaumによって記述されました。ELIZAは、自然言語でのコミュニケーションを試みた最初のプログラムの1つでした。この論文は、プログラムの振る舞いを解明しようとしたもので、プログラムの詳細な説明が含まれています。 ELIZAは、パターンとそれに対応するレスポンスからなる "スクリプト"に基づいています。論文の補足には、Rogerialの心理学者のための完全なスクリプトが含まれていました。

This rendition of ELIZA is a complete and faithful implementation of the program described by Weizenbaum. The script language has been reformatted for clarity, but is unchanged in its content.
この ELIZA の移植実装、Weizenbaum によって記述されたプログラムの完全で忠実な実装です。スクリプト言語は、明確にするために再フォーマットされていますが、内容は変更されていません。


The Source

  • - Decomposition rule.(ルールの分解)
  • - List of decomposition rules.(分解したルールのリスト)
  • - A key is the first thing the program looks for in the input.(キーは、プログラムが入力で最初に探すものです)
  • The list of all keys.(全てのキーのリスト)
  • - The program arranges all keys found in the input into a rank-ordered stack.(プログラムは、入力で見つかったすべてのキーをランク順のスタックに配置します)
  • - Used to store responses for later use.(後で使用できるようにレスポンスを保存するために使用します)
  • - Holds word paris for pre or post rewriting.(プレまたはポストリライトのための単語のペアを保持します)
  • - List of all the pre or post rules.(すべての前後のルールのリスト)
  • - List of reassembly rules (goes with a decomp rule).(リアセンブリルールのリスト(decompルールに従う)
  • - String matching and transformation helper functions.(文字列照合と変換ヘルパー関数)
  • - List of EWordList synonym lists.(EWordList同義語リストのリスト)
  • - List of words, used for synonyms.(類義語に使用される単語のリスト)
  • - The main applet program.(メイン・アプレット・プログラム)
  • The main application program. Use either this or, not both.(メイン・アプリケーション・プログラム。このファイルまたはEliza.javaのどちらかを使用してください)
  • - The main driver.(メイン・ドライバ)


The Script

Instructions on how to modify the script file.


The Executable

This zip file contains the compiled class files and the script.
I wrote this to help learn Java. You are welcome to make use of it however you want. This version is a reworking of a program I wrote back in 1983 to teach myself how to use the Macintosh. I had written some really good documentation at that time, explaining how to write your own scripts. For now, you can look at Weizenbaum's article and the script I have provided to see how to write scripts.
You can specify your own script as an applet parameter. See the source of this page to see how to do that.
Note on making your own page: I don't fully understand all the interactions of the components of the applet tag. Here is what I use:

<applet code="Eliza/Eliza.class" width="600" height="200"> 
<param name="script" value="">

This says that the compiled class file Eliza.class is in a subdirectory Eliza (capitalization is important). Since there are many class files, and they are all in the Eliza subdirectory, it would seem to make sense to set "codebase" to "Eliza" and code to "Eliza.class". However, this does not work.
これは、コンパイルされたクラスファイルEliza.classがサブディレクトリElizaにあることを示します(大文字と小文字の区別は重要です)。多くのクラスファイルがあり、それらはすべてElizaサブディレクトリにありますので、 "codebase"を "Eliza"に設定し、 "Eliza.class"に設定すると意味があるようです。ただし、これは機能しません。
Once the program starts, it needs to read a script file, and so the "param" value gives a URL of the script file. This must be on the same server that supplied the applet (because of Java security rules).
プログラムが起動すると、スクリプトファイルを読み込む必要があります。したがって、 "param"値はスクリプトファイルのURLを示します。(Javaセキュリティー規則のため)これはアプレットを提供したのと同じサーバー上になければなりません。
If you use the HTML shown above, and it you store the class files in an Eliza subdirectory relative to the web page, and if you point to a script file on the same server, you should be able to get this program running on your machine (many people have reported success in doing this). Be aware that certain tools (such as Microsoft Front Page) will split the "code" tag into "code" and "codebase" breaking the applet. This is the major source of difficulties reported to me.
上記のHTMLを使用し、クラスファイルをWebページからの相対的なElizaサブディレクトリに保存し、同じサーバ上のスクリプトファイルを指定すると、あなたのマシンでこのプログラムを実行できるはずです(多くの人々がこれを成功させると報告している)。特定のツール(Microsoft Front Pageなど)は、「コード」タグを「コード」と「コードベース」に分割してアプレットを分割することに注意してください。これは私に報告された困難の主要な原因です。
If you have comments or suggestions, please let me know.