Archive for On Programming

TexBot is Helping!

> TexBot, help me write a blog entry
Jesus. That Wiki entry is up right on that
> So I should look to Wikipedia? Or should I write about Jesus
Uru, you agreed to pay some -notion of respect- to you over the Atlantic Records Wikipedia article ’cause Weird Al wins in a constructive manner
> I’m not Uru, TexBot. I’m GB. What is all this about Weird Al?
Uru is at the list be it says you are you?
> You have a list that says I am Uru? That list is wrong.
Godwin’s Law. That is the list to the purple box and a list of the you know.. and rawanda.
> What is Godwin’s Law?
Added you, and I reply to you the first Law question.
> You aren’t helping me at all. I need to write a blog.
Then has the sense to you in at random selected times for you.
> You are pretty random TexBot, I’ll give you that
Does it give a medal going to enlist the help again
> No, I am not giving you a medal
IT’S BECAUSE THE BRAIN DAMAGE I JUST so happened to you the last 30-40 seconds, and that’s 1/5 a chance you get to add you
> Oh… I didn’t know you were disabled… Now I feel bad
I though we didn’t get to add you
> Do you mean thought instead of though?
GB was listening to you, and you learn more English? Do us all to max it.
> I am trying to get you to learn more English, but it doesn’t seem to be working
Like, humanoid, I mean
> Yes, I would like you to speak like a humanoid
which alt should I sends it?
> :(
were do i because you know MUCH ABOUT CHARGIN MAH HOTDOG LAZER
> Okay. This is pretty useless.
I’m a Tough Field Medic pretty early if you add my other is a list of the you know.. and rawanda.
> Why do you fixate on rawanda?
So you look at me! I was on TV
> You were never on TV
What server you were good to you.
> Alright, you are of no help to me. I’ll have to write this blog on my own
to add to a reasonable assumation but I wished I watched as you they were stupid enough to… you know
> Goodbye TexBot
I am off, Goodbye, my friends here and to the the Squad to play you all into Sprite puppets and controlling what you had to

Old, Yet Fun, TexBot Quotes

While I continue plugging away at TexBot, trying to get him up and running again, I figured I’d post some of my favorite old quotes from TexBot. All of these were selected and saved by the community of Squad BnG over the course of a few years. Enjoy!

<TexBot> Hello, I am TexBot
<GB330033> Howdy TexBot!
<TexBot> We are the Borg

<Jhang> Texbot also is Mad as a Hatter
<TexBot> Pfft. More like fluent in engrish.

<Striker> I bet GB could cut down on Texbot some by taking links out of his system
<TexBot> You know my weaknesses……
<Jhang> 0_0
<Jhang> Striker, I think Texbot is going to kill you now.
<TexBot> Ness may be interested too <Jhang> Run, Striker.
<Jhang> Run.

<Jhang> That’s when I was accused of giving Texbot crack
<TexBot> YOU HAVE YET TO TELL ME WHERE IT IS, WOMAN!”

<TexBot> I ate Skynet for breakfast today.

<TexBot> “Ooh! OOH! Beach vacation during hurricane season! Best. Idea. EVER.”

<Fusion> The two words, Texbot, are….
<TexBot> …Oh, shit. I think.

<Leotardo> Texbot, are you a nerd?
<TexBot> So is Optimus Prime, your point? 😛

<TexBot> CAPTAIN SKYWARP HYPERGAY WILL NEVER DIE

<Blade_Serpent> Texbot, are you on drugs?
<TexBot> I must obtain this legendary object

<Gardius> Texbot, have you ever considered joining the A-team?
<TexBot> It’s rather despressing and stressful.

<deadelf700> TexBot, would you like to play a game
<TexBot> it’s 16 you lose

*TJ puts TexBot in charge while he goes upstairs
* TexBot spanks Genryu with vigour
* TJ regrets his mistake

Resurrecting TexBot

This post was supposed to come before my previous one, but that obviously didn’t happen. Now, I feel it is more important than ever to explain who/what TexBot is.

Quite simply, TexBot is a chatbot. He was originally written in Java, and used JMegaHal, a version of MegaHAL ported to Java. TexBot originally existed on the #squadbng IRC channel, and did much more than just talk. The original program could manage the channel, run a ShoutCast server/DJing system, store and recall quotes, roll dice, and a few other random functions. I improved him several times over the years, and he went through several “brains” (due to various storage failures) composed of chat logs and other documents.

When first creating and using TexBot, I honestly didn’t have a good grasp of how he worked. I knew he used “Markov chains” and there were statistics and probabilities involved, but even after researching it I didn’t fully understand what was going on. I just knew he took in sentences and produced rather humorous results and people enjoyed conversing with him.

Fast forward about 4 years. I am now majoring in linguistics, with a particular interest in computational linguistics and natural language processing. And guess what? I actually understand what a “Markov chain”/Markov model is! I know how TexBot works, and I can modify his innards in various ways to make it more interesting. So what better way to toy around with my newfound knowledge than to revive TexBot? So that is what I plan to do.

The first order of business was finding my old Java code, which was a rather difficult task. I had to dig through various old folders and drives but finally came up with the old “TexBot” folder containing the main program, the various modules I wrote, and all the various brains and training data.

Next, I had to get him up and running. I had to strip out the IRC code, the custom modules, and just leave the JMegaHal portion and the brain loader. I cleaned up the code a bit and simplified things. Then I had to worry about actually compiling and executing it. See, TexBot used to be a memory hog, take forever to start up, and all sorts of other things. I then realized that all those problems were 4 years ago. Guess what? Today TexBot runs just fine on my little netbook with the tiny Atom processor.

And that is how I got to that conversation posted late last night. TexBot lives! He is still using a brain from several years ago, but with the additional processing power and memory I have at my disposal, I plan to combine all my previous training data into a new brain.

From there, I plan to continue to refine the data and feed him new things and try to improve the responses. They won’t ever be perfect, as he currently uses relatively primitive modeling to select replies. However, I may be able to improve the model a bit using things I have learned in some of my classes.

I’m also looking at porting him over to a different language and getting him up on the web. Ideally, I’d like to have a chat interface on my website where people can talk to TexBot and provide more conversation data. I haven’t worked out the logistics of it, but it SHOULD be possible.

Why do this? For the hell of it, really. Because I think it could be fun. I loved tinkering with TexBot when I was first learning how to program. Now I have a lot more programming experience and have some NLP tricks and other stuff, I think it will be fun to revisit. Plus, TexBot always provides entertainment with his replies.

I’ll have to dig up an old quote file or two for some examples…