In view of the recent popularity I thought I should add this for posteriority. ICQ was a chat service in the late 1990s. Grumpy was implemented in 1997 on the basis of the plain bot 'splotch.c' by Duane Fields. Modifications include: an activation based (leaky-integrator) topicality mechanism to obtain some consistence in the dialog per ICQ user, over sessions. Invocation of terminal-based games (not functioning now). Integration with the ICQ api and mechanism with a UIN per user. Several mechanisms to address extraneous sources such as wordnet, altavista, later google, wikipedia etc. One ICQ user came back 800 times to talk to Grumpy. It is clear that the content and log files are partly incomprehensible and in any case highly likely to contain non-politically correct fragments coming from the user community 1997-2000. In short: The owner of the repository take no responsibility for inappropriate content. Using decency criteria the user logs were cleaned but norms are in a continuous flux. Also, more innocuously, there will be a lot of technical, nerdy jargon and abbreviations that will be utterly incomprehensible to current computer users.
This animated gif was used as the face of Grumpy on the web interface.
README for Grumpy-v5 - revived partially as standalone (without ICQ) December 2024
Grumpy dates from about 1997 and was based on Splotch.c
It was modified to have topic control on the basis of a leaky
integrator model with 'affect' variables. Furthermore: attempts
to keep the conversation variable but still getting back to the
'current' (decaying) topic.
A calculator was built in and several web sources at the time
were used via a system() call, lynx and some parsing etc.,
as well as a number of terminal-based games such as hangman, block
and phalanx. Those games are not contained in this repository.
It should be possible to build a standalone version on Linux with gcc.
The ICQ link is obviously defunct. No guarantees, the repository is
mainly a time stamp and for enthusiasts who would like to find our
how nineties' chatbots (i.e., Eliza deratives) worked.
Building on Linux, assuming gcc
-
Go to the source tree cd ./grumpy-v5 cd ./splicq
-
./make-grumpy
-
cd ..
-
Start a standalone, non-ICQ session : ./splicq/grumpy
If auxiliary files are needed, they may be found in directory ./Aux-files and be put in the ./grumpy-v5 dir. This was avoided in this GitHub to avoid top-level clutter.
Sessions are logged and the HUMAN entries in the logs are used to spit out future answers. This was obviously dangerous and required daily inspection to prevent malign content to be regurgitated by Grumpy.
Grumpy ran on a server at Nijmegen University in the NICI institute. One ICQ user came back more than 800 times.
Lambert Schomaker, December 2024
Data directories of interest
./words/ The words that the bot knows. An associated dot file .Act-{word}.w contains the topicality activation (see example below) about-my-status.w Content (answers): fine allright ok so-so pretty good fine thanks, and you? just fine, thanks I am a bit under the weather I am bored, actually perfect couldn't be better I'm happy I'm ok I'm fine .Act-about-my-status.w 15 0.99 0.99 0.81 0.89 0.99 0.99 0.15 0.99 0.94 -1.43 The answer "perfect" apparently was recently uttered, so its likelihood is pulled down 0.97 0.99 0.54 0.99 0.97 . . . adjust.w adj.w affirmative.w aggies.w aggressive.w ai.w alive.w amiga.w angry.w animal.w artificial.w aussie.w bored.w bot.w bye.w canada.w . . yes.w you_forgot.w ./phrases/ Precooked, longer answers capitalism.p .phrase Adam Smith and J. S. Mill were well aware of the actual and possible defects of capitalism. But neither one of them exhibited the quasi-religious nostalgic utopianism of contemporary libertarianism, nor did they attempt to conflate capitalism with anarchy. death-penalty-contra.p death-penalty-pro.p guns-contra.p socialism.p ./episodes/ Even longer narratives all-dict-words.e eliza.e fairy-tales.e family-puzzles.e injustice.e martial-arts.e smurfs.e .episode When anyone thinks of communism they think of three names; Stalin, Lenin, and Marx. The fact that there are three head communism figures leaves us with a problem; which one was Papa Smurf Modeled after? Many believe that it was Karl Marx, the man who developed the idea of socialism. You must admit they look shockingly alike. . . . topics.e
Note: not only words, but also phrases and episodes were subject to the activation likelihood mechanism controlling the random selection.