Saturday, July 19, 2008

New Forum

Hey all. I'm just writing a quick blog to let everyone know that we have a new forum. While my old one won't be shut down, everyone is encouraged to sign up for and post on the new forum: Icy Internet Prison.

Help make IIP a popular place to post!

Tuesday, July 15, 2008

Kon version 1.0.9 release

A fairly decent update for the bot.

As previously mentioned, this update changes the way sentences are structured. The topic, if the bot can find one, is now no longer the first word of the sentence. Instead it tries to build a bit of the sentence around it.

Another major change is the way the LB Brain is constructed. With this version it starts a longer depth to try and help with the pure randomness. People who compile Kon can turn off the longer depth and go back to the shorter depth by changing the variable shortDepth in LB.cs to true. The reason I did this is for those larger brain files. The larger the brain file the more random it starts to become. If you increase the depth, however, it should still be random but not to the point of insanity. Unfortunately, there's no way to convert your old brain files over so you'll have to start over.

This update improves the look of IRC in the bot's window including the appearances of: PART, NICK, NOTICE and MODE messages. It also allows the bot to see who joins multiple channels, whereas before it would only show the one channel set to join at start.

The last major advancement for this update is what I call RandomTalk. RandomTalk is exactly what it sounds like: it allows the bot to randomly talk when it's not being addressed. It works on a percentage that's set in the config file. There's also a command that admin and users can use to set it: !randomTalk [#]. By itself (!randomTalk) the bot will tell you what percent it's set at. With a number from 1 to 100 (example: !randomTalk 100) will set the percent to that number. To turn it off set it to -1.

And that's all for this update.

Download Binaries: Click here
Downlod Source: Click here (and download all the files)

Wednesday, July 9, 2008

Kon version 1.0.9 In Development

It seems like I just can't stop messing with Kon. Even after the release of 1.0.8 six days ago, I've already started development on the next version. Not only that, I've already fixed a bug and improved the sentence development bit of LB Brain.

Thus far:

  • Fixed a small bug that prevented Kon from seeing the first word in a sentence if it could potentially be a topic of a sentence.
  • Changed the way topics are picked so that it randomly chooses one if there's more than one.
  • Changed the way topic sentences are constructed. Now Kon tries to build the sentence AROUND the topic, not START the sentence with the topic. This may or may not work as intended.
  • Added a little more filtering to LB Brain responses to try and not end up with a lone " or a misplaced ) at the end of sentences.

More to come.

Thursday, July 3, 2008

Kon version 1.0.8 release

Another update to the chatterbot! Hooray!

This update will be rather small compared to the last update. Still, I think it's taken a step forward in the right direction on becoming a much smarter bot.

This version fixes the notorious "null message" bug. In previous versions Kon would cause an error to happen (and potentially crash) when someone typed kon: with no text sent to the bot. This version fixes that and Kon will give a random sentence.

As I mentioned in the last post, Kon's Google Brain was broken and has been fixed to work again. It's not any smarter, nor do I intend to try and make it any smarter, but it's at least working again.

This version also starts two different methods to try and increase Kon's intelligence. First up, a grammar fixing function. This function will attempt to fix certain grammatical mistakes such as changing "am you" to "are you." Right now it doesn't fix a whole lot but hopefully in the future it will.

Second, Kon (when using the LB Brain) will now attempt to try and find a "topic" in what people say to him. Why? Because he tries to build his response around the topic that he finds. Note that this only works with the LB Brain and isn't a true topic finder. Right now it's just seeking for uncommon words. This will hopefully improve as time goes on. There's a new admin and user command, !toggleTopic, that will turn this function on and off.

Finally for this update, I noticed that my LB Brain files were getting to be rather massive in size. Knowing how Kon builds random sentences with this brain I thought I'd write a little utility to try and reorganize the brains and hopefully speed Kon up. Thus the "LB Brain Utility" was born. This small 20KB program comes packed with Kon and, for now, sort the brain files so that all the starting sentences are near the top. For example:

START_SENTENCE Isn't that
another line
another line 2
START_SENTENCE another start

will become

START_SENTENCE Isn't that
START_SENTENCE another start
another line
another line 2

If your LB Brain files get rather large (mine was almost 2MB) it is recommended to run this utility at least once a week. Warning: do not run this program while Kon is actively connected to a channel. Disconnect him first THEN run it. Otherwise there's potential to corrupt the brain files.

And that's all for this update. Enjoy.

Download Binaries: Click here
Downlod Source: Click here (and download all the files)

Tuesday, July 1, 2008

Broken Google Brain

I've become aware that Kon's "Google Brain" is now broken. Apparently something has changed with the way Google returns their results so the current regex pattern is broken. I'm going to fix it and release an update sometime in the near future.


-Edit-
Because I'm not ready to upload the next version just to fix "Google Brain" but still want people to know how to fix it (if they want to use it) I'll post the new regEx pattern here.


Click to expand to full size

Keep in mind all this does is fix it so that it will work again. It doesn't improve the results any, so the brain is still basically useless. I don't forsee me trying to fix that anytime soon.