|Home | Project page | Demonstration | Samples | Usage | Downloads | License | Vision|
Splotch is an Eliza clone developed by Duane Fields at TAMU in 1992. The first Eliza was written by Weizenbaum as a 'computer program for the study of natural language communication between man and machine' and surprised its creator with its effectiveness in convincing some that it was a real person. The first Eliza implementations were designed to mimic Rogerian psychotherapists who treated patients by making them talk about their problems. Splotch, on the other hand, was intended to mimic someone chatting on IRC. As such, it has quite an informal style of conversation and makes a good and quite entertaining conversationist.
Splotch's heart and soul lie in a set of conversation templates prepared by its designer back in 1992. They have pretty much survived unchanged to this day. Splotch accepts a sentence from the user, matches it against the template library, selects the best match, then returns a response.
If you want to see how well such a simple mechanism works, try Splotch out for yourselves. There are two demos of Splotch available on this web-site.
1. Eliza (Splotch) with a Textual Interface
2. Talking Splotch (Hear her talk!)
Splotch> Hello! Let's chat
S> changing the tires on my dodge
why are you changing tyres on your dodge?
S> because it feels good
S> I should work on my math
don't be silly
The following screenshot shows the chat window opened by running 'ChatTool' as a Java application (executing 'java ChatTool'). This brings up Splotch in a frame. The same frame appears when Splotch is opened using the ChatApplet.
To run the program, unzip the classes and enter the directory into which they get extracted (a directory called Splotch).
Run the Java class "Eliza" to start the program. If the Java environment is installed and you are using a unix or DOS shell, the command to execute is "java Eliza".
To bring Eliza up in an applet, you would create a html file that looks like the one below.
<html> <APPLET CODE="ChatApplet" ARCHIVE="splotch.jar" WIDTH=0 HEIGHT=0> </APPLET> </html>
Then, build a jar file with all the .class files and the 'words' subdirectory found in the Splotch directory. Name the jar file splotch.jar. Place it in the same location as the html file you created.
When you open the html file in a browser, the applet will appear in a popup window and allow you to chat with it.
The software can be downloaded as source code using CVS. A jar file (suitable for use as an applet archive) is available for download as well. Click to download the jar.
Yes, we are still working on getting drops from the sources in CVS. We might also need to create different branches for the template library for different uses that the tool might be put to.
There are two License Agreements in use here. The first is the GPL (GNU General Public License) and the second is the LGPL (GNU Lesser General Public License).
All the code borrowed from the original Splotch is distributed under the GPL. This includes main.dict, syn.dict (which are the brains of the tool) and all the word list files under the directory 'words'. These were originally distributed under the GPL and cannot be used in software that is not GPLed.
The code that has subsequently been contributed, in Java, Perl and Python is distributed under the LGPL. In essence, if you wish to make Splotch an integral part of a program that you do not distribute under the GPL, you would have to write your own templates and word lists to go with the program, but you can use all of the Java, Perl or Python code.
So, let me make it clear what is GPLed and what isn't. The Java, Perl and Python code and anything that this code generates is under the LGPL. Everything else is under the GPL. The copyright holders reserve the right to the change this demarcation (without loosening any existing licenses) should future developments necessitate it.
The following additions and features are needed for Splotch.