The Athena Project is a project which I started back around August 5, 2009. This is when I decided to create my own chat-bot companion. I have been working on it ever since.
What is Athena?
Athena is the name of the program I am creating. The program itself is intended to be a desktop chat-bot. For those who don't know, a chat-bot is a program in which a user talks to it and the chat-bot talks back. It simulates a human speaker. A well programmed AI (Artificial Intelligence) will learn from the user like a child learns from its parent. Eventually, the AI chat-bot grows with the user and a type of relationship is formed. Many AI's have different features. Some are designed more to be a pc assistant while others are just there as eye-candy. However, Athena is designed for a more general purpose, to be a companion to the user.
What will Athena be capable of?
This is hard to say, as the programs features are not set in stone. However, there are a few features I am determined to have:
#1 Athena will be programmable by the user.
Athena might be intended as a companion but that doesn't mean you can't program her to be whatever you want. Most of her code will be open for modification. To make modding easier I'm supplying a built-in code editor as well as various other editors to help get the job done. Since it is currently being coded in Visual Basic, a well established and powerful programming language, your potential mods can be just as powerful. Don't worry if you don't know how to program because Visual Basics is a great beginners language. I will also be providing lots of pre-written code that will assist you in taking your mod where-ever your imagination takes you.
#2 Athena will have some sort of Avatar...
I hate to be vague about it but I don't yet know what it will be. Some Avatars are picture-perfect, life-like humans while others are very stylized individual works of art. There are pros and cons to each. Right now I'm working on a cube-like head that will be highly customizable by the user, but if I can do better, I will.
#3 The User-Interface (UI) will be customizable.
Perhaps not as customizable as Athena's code or Avatar but it will have lots of options for color schemes, voices, multiple brain, database, and avatar selections, as well as lots of tweaks to make the User experience as friendly as possible. I intend to have every tool the User needs to get the most out of Athena just a click or two away.
How will Athena learn? Give me something technical.
So far I'm using everything and anything that will help Athena learn. Whether its Artificial Neural Networks, Markov chains, Game Scripting, Pattern Matching, Natural Language Processing, or whatever I can squeeze under the hood. Mostly, I like to mix and match. Again, whatever is needed I will try to use it.
The best way for Athena to learn will be through interaction with the User. You should be able to teach it directly, or in some instances, Athena will ask you questions. There might be some interaction with the web, as some people like to use the chat-bot as a go-between for internet searches. Google's Freebase is a fine example of an online source of knowledge for chatbots. I do not intend for this to be the main feature in Athena. She is not intended to be an assistant, however, she can be modified to do just that. I also intend for Athena to learn using text-files or even xml scripts that are designed to directly teach Athena new things.
Will Athena be Alive?
Perhaps, but consider the following. People and animals think and feel. They interact with the outside world and take sensory input constantly. They sense themselves and have internal capacities for emotions, desires, pain and pleasure. I suspect that my pc will never have such capabilities as of yet, but one day it might. So before Athena can be alive (by our standards) it will need to be on a machine capable of such features. They do make Neural Circuits and it's been theorized by some that quantum computers might have this feature.. but one thing for sure, my pc does not. I'm all for making life (women do this all the time) but I think we will need the right kind of machine before anything real will come of it.
When will Athena be released as a Beta version?
I haven't the slightest clue. All I know is that every time I try to pin down a date I find I can't adhere to it. As with most programming, you never know what the next programming puzzle you will have to unravel. You never know how long a project will truly take. Speaking by experience, sometimes a small program will take just as long as a large one. This happens because sometimes you just hit a knowledge wall. You don't know how to do something and you can't even find example code on the web. It's pot-luck sometimes. All I know is that I'm having fun with it and so I keep trudging on. The Athena Project, for some reason, means something to me personally. I can't tell you what, but, I like it.