The Genealogy of Eliza

下記のページはELIZAの実装に関する詳細情報が掲載されています。

http://elizagen.org/

もう一つ入口があった。 

http://shrager.org/eliza/

 

The Genealogy of Eliza

 

(Maintained by Jeff Shrager (jshrager@stanford.edu))

 

News

20171211: My friend and colleague, Michael Wessel, who apparently has a soft spot for ancient speech synthesizers, recently noted this curious coincidence/historical anecdote about a German version of my BASIC Eliza. (Michael and I worked together on the AURA project at SRI for about a year around 2013.)

20171211:私の友人であり同僚の(どうも昔の音声合成が大好きなような)Michael Wesselは最近、私のBASIC Elizaのドイツ版についてのこの奇妙な偶然/歴史的な逸話に注目しました。 (Michaelと私は2013年ごろに約1年間、SRIのAURAプロジェクトを一緒に協力して働きました)

Michael writes:

"About 1985 I typed in a version of your BASIC Eliza from a public library copy of the 'Creative Computing Computer Games' book, into my Amstrad CPC 464 home computer. The book had been translated into German, and so was Eliza! I wish the editors hadn't done so, as it makes much less sense!

「1985年頃、私は公共図書館から借りた書籍『Creative Computing Computer Games』のコピーから、私のAmstrad CPC 464家庭用コンピュータにBASIC Elizaのバージョンを入力しました。この本はドイツ語に翻訳され、Elizaも翻訳されました!私は編集者がそれほど意味がないので、そうしていないことを願っています!

Back then I owned a speech synthesizer (the Amstrad SSA-1 for the CPC), and I had extended your BASIC Eliza with speech capabilities. The audio/speech quality was as awful as some of the TRS 80 speech synths you can hear on YouTube.

当時私はスピーチ・シンセサイザー(CPCのAmstrad SSA-1)を所有していましたが、私はあなたの BASIC Eliza を音声機能で拡張しました。オーディオ/スピーチの品質は、YouTubeで聞くことができるTRS-80スピーチシンセの一部と同じくらいひどいものでした。

 Now, 32 years later or so I am working on a little spare time hobby project - a modern, understandable speech synthesizer for the Amstrad CPC, which is designed to be compatible with that original "retro" Amstrad SSA-1 speech synthesizer. And indeed, the old Eliza that got extended with SSA-1 speech output is working well with my modern speech synthesizer."

32年後の今、私はちょっとした暇な時間のホビープロジェクトとして - Amstrad CPC用のモダンでわかりやすい音声シンセサイザーを開発しています。これはオリジナルの "レトロ" Amstrad SSA-1音声シンセサイザーと互換性があるように設計されています。そして実際、SSA-1スピーチ出力で拡張された古いElizaは、現代の音声合成装置とうまく機能しています。

Here's a youtube video of Michael's German-speaking Eliza.

マイケルのドイツ語を話すエリザのyoutubeビデオ

And here is another version for the CPC, also with speech output.

そしてここにCPCのための別のバージョンがあり、スピーチ出力もあります。

Michael continues:

"With respect to the second video (the English one), the original author of this Eliza version also mentions your Eliza as the source for the program, but he says he extended it significantly, and then I added speech output, this time using the 'native mode' of my speech synthesizer, which gives much better speech quality than the emulated 'retro SSA-1' compatibility mode, as you can hear."

「このEliza版のオリジナル作者は、2番目のビデオ(英語版)に関しては、あなたのElizaをプログラムのソースとして言及していますが、彼はそれを大幅に拡張して、今度は私の音声合成装置の「ネイティブモード」は、エミュレートされた「レトロSSA-1」互換モードよりも優れた音声品質を提供します。

 

As I mentioned above, Michael and I worked closely together at SRI for about a year. He concluded his note this way: "It's really a funny and strange coincidence that our ways have crossed; What are the chances that you get to work with someone whose BASIC program you typed in from a public library book 30 years ago? Sometimes, the world is small!"

私が上記のように、マイケルと私はSRIで約1年間緊密に働いていました。彼はこう書いています:「私たちの方法が交差しているのは本当におかしくて奇妙な偶然の一致です.30年前に公立図書館からBASICプログラムを入力した人と仕事をするチャンスは何ですか?世界は小さい! "

I couldn't agree more!

私はもっ​​と同意できませんでした!

 

Here's the disk image of Michael's German BASIC Eliza:

MichaelのドイツBASIC Elizaのディスクイメージは次のとおりです。

https://cpcrulez.fr/applications_list_util-elisa.htm

To run it:

それを実行するには:

  • Download extract the DSK image
  • ダウンロードは、DSKイメージを抽出します。
  • Go to: http://cpcbox.com, which is a CPC Emulator in Javascript running in the Browser
  • http://cpcbox.com:ブラウザで動作するJavascriptのCPCエミュレータです。
  • Select "Choose configuration -> 464"
  • [構成の選択] - > [464]を選択します。
  • Select the Eliza DSK file for "DRIVE A:"
  • 「DRIVE A:」のEliza DSKファイルを選択します。
  • When the CPC boots up, enter "cat"; You should see "ELISA-NS.BAS"
  • CPCが起動したら、「cat」と入力します。あなたは "ELISA-NS.BAS"
  • Enter: RUN "ELISA-NS (Without Speech ("NS = no speech") 
  • (The other version is with speech, but doesn't work on the emulator)
  • 入力:RUN "ELISA-NS(スピーチなし(" NS = no speech ")
  • (他のバージョンは音声付きですが、エミュレータでは動作しません)

Here are some PS2 Screenshots from emulator running in Firefox:

Firefoxで動作するエミュレータからのいくつかのPS2スクリーンショットがあります:

 

f:id:Akito_Fujita:20180619190435j:plain

f:id:Akito_Fujita:20180619190631j:plain

f:id:Akito_Fujita:20180619190742j:plain

 

[Click to jump to older news, below on this page.]

[クリックすると、このページの下の古いニュースにジャンプします。]

 

Joseph Weizenbaum's original article:

Joseph Weizenbaumのオリジナル記事:

Weizenbaum, J. (1966) ELIZA - A computer program for the study of natural language communication between man and machine. CACM 9(1) 36-45.

[1966 Weizenbaum's original Eliza article in the CACM]

The paper remains under ACM copyright, and so is inaccessible except to those with special privileges. However, Google Scholar lists numerous version of the PDF online. (Use keywords: weisenbaum eliza, and click on the "All ... versions" link below the extract. Then just pick your favorite PDF source.) I have confirmed that there are at least 15 copies that can be accessed by this route.

論文はACM著作権で保護されているため、特別な特権を持つ者以外はアクセスできません。ただし、Google Scholarには多数のバージョンのPDFがオンラインで掲載されています。 (キーワード:weisenbaum elizaを使用し、抽出の下にある "すべてのバージョン..."リンクをクリックして、お気に入りのPDFソースを選んでください。)このルートでアクセスできるコピーが少なくとも15個あることを確認しました。

 

Bernie Cosell's Lisp Eliza @ BBN c. 1966-1972 

This is the original Lisp Eliza (aka. Doctor) program, written by Bernie Cosell based upon Joseph Weizenbaum's original work. Weizenbaum's wrote his program in SLIP, a long-dead Fortran-based symbolic computing package. Cosell, working at BBN, created this BBN Lisp version from Weizenbaum's paper (see above), not from the SLIP code. Nevertheless, as SLIP never saw the popularity of Lisp, this is the version of Eliza that most folks have used, and from which most lisp-based Elizas derive. (A separate BASIC fork, not based upon either the Lisp or SLIP versions, was popular on early PCs. See below.)

これは Joseph Weizenbaum のオリジナルに基づいて Bernie Cosell によって書かれたオリジナルの Lisp Eliza(aka. Doctor)プログラムです。 Weizenbaum は、長年にわたって使用されていない Fortran で書かれたシンボリック・コンピューティング・パッケージである SLIP でプログラムを書きました。 BBN で働いていた Cosell は、SLIP コードからではなく、Weizenbaum の論文(上記参照)からこの BBN Lisp バージョンを作成しました。しかしながら SLIP は Lisp ほどの人気はなかったので、これがほとんどの人が使っている Eliza のバージョンであり、Lisp ベースの Eliza の派生ソフトウェアの元にもなっています。(Lisp や SLIP のバージョンに基づいていない、初期のPCで一般的だった BASIC からの派生バージョンについては、以下を参照してください)。

Bernie writes: "I *never* saw any of the SLIP code and knew nothing about it. I wrote Doctor *completely* working just from the CACM article! In fact, if the SLIP code actually surfaced, it'd be interesting to see how different/similar ours were, since I [really] never saw any of Weizenbaum's code. Truth is that I did Doctor as a learning hack. Dan Murphy was [and still is] a good friend of mine from MIT and he was working on bringing up Lisp on the PDP-1b in the other building at BBN while I was system-czar for the Hospital Timesharing system on our PDP-1d. I knew a little Lisp from a course at MIT, but I figured that the best way to really "get" Lisp was to write something real. I had just joined the ACM [I started at BBN in the fall of '65] and I think Weizenbaum's Eliza article just happened to be in the very first copy of Communications that I received."

Bernieは次のように書いています: 「私は SLIP コードを見たことがなく、何も知りませんでした。私は完全に CACM の記事から Doctor を書いています。Weizenbaumのコードを見たことがないので、実際に SLIP コードが明らかになった場合、私たちのコードがどのように異なっているか/類似しているのを見るのは興味深いでしょう。私は Doctor を学ぶためにハックしたのが真相です。Dan Murphy はMITでの私の親友であり、私が PDP-1d で動く病院タイムシェアリングシステムのシステム管理者だった時に、BBN の他のビルの PDP-1b に Lisp を持ち込んでいました。私はMITのコースでLispをちょっとだけ知っていましたが、Lispを本当に "取得"する最良の方法は実際に何かを書くことだと思いました。(私は1965年秋にBBNに就職したので)私は ACM に参加したばかりで、Weizenbaum の Eliza の論文はちょうど私が受け取ったコミュニケーションの最初のコピーにあったと思います。」

This release include high resolution TIFF scans of printouts of Bernie's code, including the Lisp code and scripts. from 1969 and 1972. He also provided a paper tape version from 1966, which I am in the process of reading, and will make public soon. The release also includes combined OCRed PDFs of each program and script. The OCR is not very accurate. I intend to release perfect transcripts as well as Modern Lisp macros that make this work. 

このリリースには、1969年から1972年までの Lisp コードやスクリプトを含む Bernie のコードの高解像度 TIFF スキャンが含まれています。彼はまた1966年のペーパーテープ版も提供してくれましたが、読み出し次第すぐに公開する予定です。このリリースには、各プログラムとスクリプトの結合された OCR で読み込んだ PDF も含まれています。 OCR はそれほど正確ではありませんので。私は完璧な複写コードを作成する事に加えて、動作するようなモダンな Lisp のマクロも公開しようと考えています。

 

Eliza/Doctor in Lisp by Bernie Cosell
Licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

[20131112] 600dpi scans of 1969 and 1972 printouts combined into PDFs and (roughly) OCR'ed

[20131112] 600dpi raw scans of the printouts of BBN Lisp Eliza code and scripts from 1969 and 1972

 IT WORKS!

We have made the 1969 version of Eliza (aka. Doctor) work on modern Common Lisp, having to change almost nothing in the raw code transcripts! Here is the GitHub repo containing the code. Thanks to the following folks who helped transcribe the code from the original printouts: eMBee, Dave Cooper, Bob Felts, Saul Good, Ben Hyde, Simon Leinen, Patrick May, Charlie McMackin, Paul Nathan, Matt Niemeir, Peter De Wachter, Thomas Russ, Patrick Stein, and Jeff Shrager. And these folks made it work in modern CL Peter De Wachter, Matt Niemeir, and Jeff Shrager. If you want to become a github collaborator and work hands-on this project, write Jeff Shrager (jshrager@stanford.edu)

私たちは、1969年版のEliza(別名Doctor)を、現代のCommon Lispで動作させ、生コードの転写物をほとんど変更しないようにしました!ここにコードを含むGitHubリポジトリがあります。 eMBee、Dave Cooper、Bob Felts、Saul Good、Ben Hyde、Simon Leinen、Patrick May、Charlie McMackin、Paul Nathan、Matt Niemeir、Peter De Wachter、Thomas Russの方々に感謝します。 、パトリック・スタイン(Patrick Stein)、ジェフ・シュラガー(Jeff Shrager)そして、これらの人々は現代のCL Peter De Wachter、Matt Niemeir、Jeff Shragerでそれを動作させました。 githubの協力者になり、このプロジェクトを実践したい場合は、Jeff Shrager(jshrager@stanford.edu)と書いてください。

Thanks to Peter Seibel for making the original connection to Bernie.
Bernieとのオリジナルの接続をしてくれたPeter Seibelに感謝します。

 

James Markevitch has read and translated the 1966 version of Eliza in BBN lisp, and has created an emulator (in PERL!) for it that results in a working version! It's all available on the github site, and also as a tarball here.

James Markevitchは1966年版のElizaをBBN lispで読んで翻訳しており、そのためのエミュレータPERLで作成しました。これはgithubサイト上で利用でき、ここでもtarballとして利用できます。

f:id:Akito_Fujita:20180620130810j:plain

 

2014-12-20: Jeff Barnett writes:

The original Eliza was moved to the ANFS Q32 at SDC (one of the (D)ARPA block grant sites) in the mid 1960's. The programmer responsible was John Burger who was involved with many early AI efforts. Somehow, John talked to one of the Playboy writers and the next thing we knew, there was an article in Playboy much to Weizenbaum's and everybody else's horror. We got all sorts of calls from therapists who read the article and wanted to contribute their "expertise" to make the program better. Eventually we prepared a stock letter and phone script to put off all of this free consulting.

オリジナルのElizaは、1960年代半ばに((D)ARPAブロック認可サイトの1つである)SDCのANFS Q32に移されました。プログラマの責任者は John Burger でAIの初期の取り組みの多くに関わってました。どういうわけか、John はプレイボーイのライターの一人と話をしていて、私たちが知っていたWeizenbaumやその他の人たちが嫌悪しているプレイボーイの記事がある事を伝えました。この記事を読んだセラピストから、プログラムをより良くするために彼らの「専門知識」を提供したいとのあらゆる種類の呼びかけを私たちは受けました。結局、この無料のコンサルティングのすべてから逃れるため、手紙と電話の台本を用意しました。

The crisis passed when the unstoppable John Burger invited a husband and wife, both psychology profs at UCLA, to visit SDC and see the Doctor in action. I was assigned damage control and about lost it when both visitors laughed and kept saying the program was perfect! Finally, one of them caught their breath and finished the sentence: "This program is perfect to show our students just exactly how NOT to do Rogerian* therapy. *I think Rogerian was the term used but it's been a while.

John Burger が招待した強引な UCLA の心理学者夫妻がSDS を訪問し、作動中の Docter を見せた時に危機が終わりました。私はダメージコントロールを命じられましたが、二人が笑って「プログラムは完璧だった」と言い続けたときには途方にくれました。最後に、そのうちの一人が「このプログラムは、私たちの生徒にロジャーズの療法をしない方法を正確に示すのに最適です」と一気に捲し立てました。(使われた用語はRogerian だと思いますが、定かではないです)

A little latter we were involved in the (D)ARPA Speech Understanding Research (SUR) Program and some of the group was there all hours of day and night. Spouses and significant others tended to visit particularly in the crazy night hours and kept getting in our way. We would amuse them by letting them use Eliza on the Q32 Time Sharing System. One day, the Q32 became unavailable in those off hours for a long period of time. We had a Raytheon 704 computer in the speech lab that I thought we could use to keep visitors happy some of the time. So one weekend I wrote an interpretive Lisp system for the 704 and debugged it the next Monday. The sole purpose of this Lisp was to support Eliza. Someone else adopted the Q32 version to run on the new 704 Lisp. So in less than a week, while doing our normal work, we had a new Lisp system running Eliza and keeping visitors happy while we did our research.

私たちは (D)ARPA音声理解研究プログラム(SUR)に参加していましたが、そのグループに所属する何人かは昼夜問わずそこにいました。配偶者や近親者は、特に常軌を逸した夜間に訪れる傾向があり、私たちの行く手を阻み続けました。私たちは Q32 タイムシェアリングシステムで Eliza を使用させて彼らを楽しませました。ある日、Q32 はそのような時間外には長時間使用できなくなりました。スピーチ・ラボには Raytheon 704 コンピュータがあり、私たちはビジターを楽しくしてくれると思っていました。そこで、ある週末、私は 704 のためのLispインタープリタ・システムを書いて、それを次の月曜日にデバッグしました。この Lisp の唯一の目的はElizaをサポートすることでした。誰かが新しい 704 Lisp で動作するように Q32 版を採用しました。だから1週間も経たないうちに、私たちは通常の仕事をしながら、私たちが研究をしている間に Eliza を実行し、訪問者を満足させる新しい Lisp システムを持っていました。

The 704 Eliza system, with quite a different script, was used to generate a conversation with a user about the status of a computer. The dialogue was very similar to one with a human playing the part of a voice recognition and response system where the lines are noisy. The human and Eliza dialogues were included/discussed in A. Newell, et al., "Speech Understanding Systems; Final Report of a Study Group," Published for Artificial Intelligence by North-Holland/ American Elsevier (1973). The content of that report was all generated in the late 1960s but not published immediately.

全く異なるスクリプトを使用する 704 Eliza システムは、コンピュータの状態についてユーザとの会話を生成するために使用されました。この対話は、人間が音声認識システムの一部を操作していて、その回線が騒々しい場合と非常に似ていました。人間と ELIZA の対話は A. Newell, et al., "Speech Understanding Systems; Final Report of a Study Group,"("Artificial Intelligence", North-Holland/American Elsevier, 1973/02)に収録・考察されています。その報告書の内容はすべて1960年代後半に作成されましたが、すぐには公表されませんでした。

The web site, http://www.softwarepreservation.org/projects/LISP/, has a little more information about the Raytheon 704 Lisp. The SUR program was partially funded and on-going by 1970.

ウェブサイトhttp://www.softwarepreservation.org/projects/LISP/には、Raytheon 704 Lispに関する情報が少しあります。 SURプログラムは1970年までに部分的に資金提供され継続中でした。

 

 

Jeff Shrager's BASIC Eliza c. 1973 & 1977

Jeff Shrager created a BASIC version of Eliza in 1973 that appeared in Creative Computing in the July/August issue of 1977:

Jeff Shragerは、1973年7月/ 8月号にCreative Computingに登場した1973年にElizaのベーシック版を作成しました。

[1977 BASIC Eliza in Creative Computing]

Shrager actually wrote it in 1973. Although he recalls having seen a copy of the Lisp code much later, his BASIC Eliza was written well before this, and was, to use his own words: "conceptual, and pretty poor." Regardless, 1977 was around the dawning of the era of the personal computer (the Commodore PET, Apple ][, and TRS-80 were all introduced in that year!), and although few folks in the hobbyist community knew Lisp, lots of them knew Basic, so Shrager's Eliza was widely circulated and many knock-offs appeared in many other languages, some as late as 2015. (The latest one I know of is Paco Willers' 2015 GO version.) Shrager's version has even apparently been translated back into Lisp a number of times. Indeed, there are so many near-and-distant knock-offs of this program floating around that it would be pointless to try to assign any sort of Creative Commons, or otherwise, license to it.

Shragerは実際にそれを1973年に書いた。彼はLispコードのコピーをもう少し後に見たことがあるが、彼のBASIC Elizaはそれ以前によく書かれていて、「概念的であり、かなり貧しい」という自分の言葉を使う。いずれにしても、1977年はパーソナルコンピュータ時代の幕開け(Commodore PET、Apple、そしてTRS-80はその年に導入されました!)でしたが、趣味のコミュニティの人々はほとんどLispを知っていませんでした。Basicを知っていたので、ShragerのElizaは広く流通し、多くのノックオフが他の多くの言語で現れました.2015年後半になっています。(私が知っている最新のものはPaco Willersの2015 GOバージョンです。)Shragerのバージョンは、明らかに何度もLispに翻訳されています。確かに、このプログラムには非常に多くの遠く離れたノックオフがあり、何らかのクリエイティブ・コモンズを割り当てようとするか、そうでなければそれにライセンスを付けることは意味がありません。

 

The version published in CC in 1977 was under CC editor Steve North's byline, but Shrager is correctly attributed as the author in the comments.

1977年にCCで出版されたバージョンは、CC編集者スティーブ・ノースのバイナリ・ストーリーの下にありましたが、Shragerはコメントの著者として正しく帰属しています。

 

This alternative publication:

この代替出版物:

[1984 BASIC Eliza in Big Computer Games]

gives the correct year of creation of the program as 1973.

それは1973年としてプログラムの作成の正しい年を与える。

 

Note that North's text incorrectly attributes the Lisp Eliza to Joseph Weizenbaum, whereas it was actually written by Bernie Cosell (see above). This was, and continues to be, a common mistake.

Northのテキストは、Lisp ElizaがJoseph Weizenbaumに誤って属しているのに対し、実際はBernie Cosell(上記参照)によって書かれていたことに注意してください。これは一般的な間違いであり続けています。

 

Paco Willers has undertaken a detailed, nearly line-by-line, deconstruction of the Shrager/North 1973/1977 BASIC code.

Paco WillersはShrager / North 1973/1977 BASICコードの詳細な、ほぼラインごとの解体を行っています。