So, I was sitting on irc a few days ago and for some reason I thought about googlism.com. The first time I had ever seen this site was because a clue to some webgame (I think it was the one for the matrix reloaded..) involved a googlism result and finding the site it was from.
Anyway, I went to there and started messing around. The idea came to me that it'd be interesting to write a little script that would generate a stream of consciousness style output from googlism's results.
Here's how that works: You start with a term, let's say "George bush" Query googlism, and the first result is "George bush is a monkey." take the last result (in this case monkey, obviously) and get the first result for it. Loop ad nauseum or at least until googlism returns no data or you get stuck in a loop.
So, I wrote this up and slapped it into an irc bot to provide an interface for a few people to screw around with. A hours go by, and I start thinking.... Hey this would be interesting to use for a chatbot.
The way the chatbot works currently is this:
A person messages the chatbot, let's say they say something like "how are you today". The bot first picks out the longest word in the message, hoping that it is the subject. Yeah, I know that's a cheap hack and there are better ways to do it, namely a NLP but I'm lazy. Sue me.
The bot takes that word, then returns the shortest result that googlism spits back. This if for a couple reasons, but namely that people on irc tend to become suspicious quickly of something that's spewing extremely long sentences at them. Another is that the short the message the more ambiguity there is, and the more ambiguity the more a person can read their own interpretations into the bot's output.
Also, with the exception for keywords like "hi" and "asl" the bot ignores one word messages, since people tend to flood the bot if they become suspicious of it's humanity.
Over on my blog
I've posted a few conversations the bot's had with people on dal.net. This was before I made the modifications concerning message length and result filtering.
Sfter I clean up the code and get it to where I'm happy with it, I'll release the code for anyone to play with.