I figured I would go ahead and give a status report on my chatbot program. I have made large advances and changes in the way that it works. Since the code cannot yet function the source code is NOT publically available at this time. Let's run down the first development version with this one.
Before
⊕ No class files other than main.
⊕ Files were copied, saved, and added with the extra line.
⊕ A LOT of file, scanner, and printwriter classes.
Now
⊕ Separate class with 1 method and 1 more planned. Think and learn.
⊕ New tactics for detecting if input matches.(file.toString.contains(input)
⊕ Still many scanners, files, and printwriters.
Before the next update
⊕ Think method completion. Next would be learn.
⊕ Better handling of category completion booleans.
⊕ User-friendly mass editing program for the robot's learning file.
Showing posts with label artificial intelligence. Show all posts
Showing posts with label artificial intelligence. Show all posts
Tuesday, September 6, 2011
Thursday, August 25, 2011
My artificial intelligence project
I have this page that I use to make a list of download links to my programs. All are written in Java and my latest idea isn't different at all. I was thinking a bit about artificial intelligence ever since visiting Cleverbot, the AI that is apparently 42% human when it comes to chatting. The way cleverbot works is it stores what people talk to it about and learns from the conversations. One of the downsides to this is that it learns from untrustable humans from all over the internet. There is no telling what it will talk about.
My idea didn't start to change this. I just got bored and figured I would make a program that recognized when I greeted it, when I asked it how it's day was, etc; common conversational tactics. But then I realized that I could also make it so that mine learned from talking to me. I rigged it up so that it needs an exact match on a sentence it has seen before to respond, so the learning curb is going to be a long training period. If it encounters something it hasn't seen before it saves the question and asks for a suitable reply. Then, it saves the question and answer in this format: question=answer in a file on your computer. My idea is to eventually have keywords that trigger a response, not an exact match.
The first version does not even run yet, but it is coming along very quickly. The source code and a compiled version of the program will be available on my java page as soon as the project is up and running. As of right now this is what it looks like.

This is the source code to the program, and this is the heart of execution where it determines whether to learn or reply.
This is a quick look at a VERY early idea for the GUI. It will still follow along these lines with some modifies buttons and probably a color coded chatting section.
My idea didn't start to change this. I just got bored and figured I would make a program that recognized when I greeted it, when I asked it how it's day was, etc; common conversational tactics. But then I realized that I could also make it so that mine learned from talking to me. I rigged it up so that it needs an exact match on a sentence it has seen before to respond, so the learning curb is going to be a long training period. If it encounters something it hasn't seen before it saves the question and asks for a suitable reply. Then, it saves the question and answer in this format: question=answer in a file on your computer. My idea is to eventually have keywords that trigger a response, not an exact match.
The first version does not even run yet, but it is coming along very quickly. The source code and a compiled version of the program will be available on my java page as soon as the project is up and running. As of right now this is what it looks like.

This is the source code to the program, and this is the heart of execution where it determines whether to learn or reply.
This is a quick look at a VERY early idea for the GUI. It will still follow along these lines with some modifies buttons and probably a color coded chatting section.
Subscribe to:
Posts (Atom)

