The Athena Project

  • 176 Replies
  • 41283 Views
*

Snowman

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 140
    • minervaai.com
Re: The Athena Project
« Reply #165 on: June 27, 2016, 12:42:08 am »
First of all, Happy Birthday Mr. Spydaz :)

Secondly, Here is the basic design structure for my AI-engine so far.

***Start Main***

Load
   -Loads Databases into Ram   


***Begin Body Loop***


Pre-Process
   -Gets UserInput (and other data) from User Interface   
   -Dissect/Parse UserInput
      -Parts of Speech
      -Synonyms
      -myronyms, holonyms,hypernyms,hyponyms
         (ie.cow, bovine, animal, living)
      -Sentence Structure Analysis
         (agent,action,patient,etc.)
      -General Relationships
         (person "has a" noun
      -Condensing of Meaning
         (jumping the gun=too early)

   -Loads General Variables from Databases
      -Loads Tags stored in Database
      (Tags store all needed variables)

Process
      
   -Process Commands
      (a command is anything that you directly command the ai to do)
      (commands should always have priority)
      (command: read book| action:reads a book)
   
   -Switch Tables
      (Used for long term code selection and state manager)
      (Can be used as a leveling tracker)
      (ie. Ai is now level 2. Has access to three new conversations!)
      
   -Conversation Matrix
      (this is a Text-Based game engine)
      -Decision tree to choose between various conversation matrices
      -Loads Conversation
      -Internal Command Process
      -Chooses Response at the current level on the conversational tree   
      -Retrieve Tags from current level 
      
   -Process Tags
      (Tags are commands/variables that originate from the conversational matrix)
      (Tags can be used to store/retrieve info, or activate specific lines of code)

   -Detect and Response
      (example: If UserInput = "Hi" Then Response = "Hello")

   -General Knowledge Mining
      (Does various searches for Responses in knowledge databases)
      -Question and Answer
         -What is Art's middle name?
      -General Sentence Searches
         -Tell me about chickens?

   -General Knowledge Storage
      (ie. User: I am 36 years old
                Ai: I will remember that.)
        

Post-Process
   -Saves General Variables into Databases
      -Saves Tags to Database
   -Sends Response (and other data) to User Interface
      -Filter
      -Substitutions
         -In-line Replacement Tags
      -Sentence Repository (Conversation Storage)


***End Body Loop***


Close
   -Saves Databases to Physical Database

***Exit Main***

Additional Code***
-any amount of timer loops can be added by the User for specific purposes
 
***Timer Loop***
   -Check Reminder Date
   -Make Random Statement/Jokes
   -Run Avatar Script
   -Make Changes in Tags (ie. mood, state)
   -User could monitor system here

***End Timer Loop***

Notes:
Moods/States should be implemented in Tags
#mood=angry #state=hungry

Debug file will be create to monitor code
Can send info to User Interface at anytime
Any coding after the Conversation Matrix can use it's Tags

Update:
Here's another minor Update on Athena: I managed to add about five more Threads in order to make the Editor work better. I organized the code better. I have an idea on how to speed the database code up a little more. I also need to add some Threads to a couple other Editors, like the Node Editor; maybe even the input/output function in the Main UI. Sometimes a database Table or even a Story/Conversation maybe very large in size and therefore needs a Thread in order to keep the UI from freezing up. It's getting there. It's a bad thing when things freeze up.

*

8pla.net

  • Trusty Member
  • *********
  • Terminator
  • *
  • 801
    • 8pla.net
Re: The Athena Project
« Reply #166 on: June 29, 2016, 10:40:01 pm »
Any relationship to this, or perhaps the namesake is a coincidence ?



Off to a good start, this robot head design.
My Very Enormous Monster Just Stopped Using Nine

*

Snowman

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 140
    • minervaai.com
Re: The Athena Project
« Reply #167 on: June 30, 2016, 04:40:48 am »
No.. not that I know of. But thanks for the comment.  :)
... and thanks for the video too.

You got me to thinking about when and where did I actually get the name Athena. It was a cold dark night... wait.. that's not right. Anyway, I searched some old emails and also searched Zabaware forums for mentions of when I started this project. I ended up finding a few quotes.

At the beginning of this project (roughly July 2009) a person named Attilla emailed me and suggested using 'Athena' as the name. He gave a long email spelling out why. I think he said that Artificial Intelligence is linked to the Greek goddess Athena. He also said something about Minerva is another name for Athena. I really don't know either way, however, the name worked fine. So I started referring to The Athena Project from then on. I also made a website called minervaAi.com. I still have the site but I really haven't developed it at all. When I have a viable product finished I suppose I will do something with the site.

I've heard about the book called "The Athena Project". I personally hope I don't get sued. It was created after I started my project. People will sue even for having a word like 'Project' in the title. So I'm crossing my fingers and toes that I don't become a beacon on their radar.

Come to think of it, Athena is celebrating her 7th birthday... Wow! She's getting old for an uncompleted project. You know, I've worked on this project virtually everyday, only occasionally taking breaks. Dude.. I must be slow as molasses.



Quote

Attila email exerts:

-7/12/2009
On a site, we need to have a logo. The logo is usually placed in the left corner of the site. The "logo" is only for, so that humans can identify your company when they see it. Think about companies like: "Coca Cola"  "Marlboro" " Master-Card" or doesn't matter which company, but logo is a must.
 
To the right of the logo, we write the name of the product, which the site is representing. If we have a name in the logo like: "Minerva Artificial Intelligence" then we write "Athena" to the right of the logo, and it should be enough to make people understand the logo.
 
Then we have to choose the right name for the company. Any simple meaning, which is telling people about what that company is doing.
Something like:   " Creative Artificial Intelligence Software Designs Company"
 
We also figure out an ideology for the company, which is the main goal for that company to achieve, like: " Making The New Future In The Present "

........
This Athena idea was meant for you to have, and I told you, there are a million other characters to choose from, and so many other ideas. You liked this one, so you have it, I wont take it from you.

-7/19/2009
About the character Athena... She can be just about anywhere on the planet.  She is known in all cultures. In ancient Roman she was Minerva, she is also well know in Mexico but in many other countries... And also well known in the United States. For example, you have the "Medal Of Honor" like when the warriors receive a medal, when they do something big or dangerous and they won...  She can also be mixed with any culture, even the Incas know her long ago by another name, so I don't see any problem if you like to mix your culture with her´s. So never think about Athena only as Greek, but because she is a goddess in other dimensions she do not have a name. People in all times given her names, to know when they are talking about this goddess, who they meant to mention. Think about a goddess, like a creature with eternal life. The main goal of the Artificial Intelligence is, to become human, and to achieve eternal life.


Here's a quote that sort-of dates my current project. In reality, I was working on it already but didn't have the courage to say it.

Quote

-7/10/2009
On a lighter note: Here's an update on my A.I. project.

I am resolved to make a WordNet class. It's taking me a long time too. I first made a large database filled with thousands of words and their POS. Then I created a script that further defines the POS using the laws of sentences. I also added many other WordNet type functions like FindFisrtNoun and GetSynonym. This Database taken me 1 week to fill using one 3 Gig processor running night and day.

When I have finished perfecting this then I will finish a script that will parse The Dude Concept files.

I have already finished a large Database class that gives me easy access to any Access Database. Things are moving slowly but it is moving.

I am developing a large scale project that will give an A.I. its own motivations... as well as an expansion for Ultra Hal.


*

Snowman

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 140
    • minervaai.com
Re: The Athena Project
« Reply #168 on: August 25, 2016, 09:18:55 pm »
The Athena Project - 7 Years, Ai Engine, and Content!





Well, I guess it's time for another wild and woolly update. In the last update I said that I was basically finished with the UI and now I was starting on the Ai Engine itself. Afterwards, I discovered that I needed to add a few more threads to the Database Editor. It took me nearly a month to fix it. On a side note, I probably will be adding some more threads to other editors, but for now, it's not a high priority. So, once I finally finished with the threading issues, I began to re-focus on the Engine. As of now, I am more or less finished with it. I say, 'more or less' because I will be perfecting it within the next stage of development.

The next stage of development for Athena is 'Content'. This is where I turn from a programmer to a writer, although, I will be making programming tweaks along the way. This is also the stage I could use everyone's input the most. Athena's personality and behaviors will be developed here. I really want the communities input on this. It won't be easy to do, but, I've been preparing myself for this stage of development for awhile now. I have some thoughts dwelling in the back of my mind. So getting your input should help me flesh some ideas out. I know that I have secluded myself while working on this project, however, now is the time for the community to throw in there two cents. I may not always interact much, but I do still listen.

Here are some of my ideas concerning Athena:

IDEA #1 - Conversational Threads

Athena is build around a custom text-adventure game format. For those who don't know what that is. Back around 1979, and all through the mid 80's, there were brand new cutting-edge games being made known as text-adventures. You can look this up on YouTube for specifics. These games, as the name suggests, were role-playing games that were totally based in text. If you wanted to go north of a house, you would type NORTH, if you wanted to pick up a battleaxe, you would type PICK UP AXE. Another name for this genre is IF or Interactive Fiction. It was like reading a book, but you made the decisions for the character. It also had stats, remembered your choices, and had countless puzzles, (ie. mazes).  It was, and still is, fun to play, and there is still a community making new text-adventure games.

What does this have to do with a chatbot. Well, this allows a person to custom build conversations. Instead of the simple detect and response format of most Chatbots, Athena can have longer and more topical-based discussions. It does this by limiting the number of choices you have at each stage in the conversation, and by allowing a person to traverse a conversational thread. BASICALLY, it forces Athena to stay on topic.

I don't know if you guys can understand what I'm saying here. Much like a whole world is created in a text-adventure game, Athena's mind will be that world, and it's your job to traverse it, explore it. Athena will learn from you and use that knowledge in template style conversational threads. To trigger a  conversational thread, Athena will attempt to lead you into a conversation by bating statements, hints at secrets, or by simply asking you questions that are designed to gather info. I think the success of Athena will revolve around excellent writing skills and a diverse and massive world of conversational threads.

This is where the community, such as it is, will be invaluable. I made the Node Editor so that people can make there own shareable conversational threads, so that Athena's content will continually grow and her world will become more extensive.         

IDEA #2 - Games

I want to be able to play games with Athena. Art Gladstone, suggested this idea. He suggested that Athena had secrets. For instance, she would know a word, and that you had to guess what that word was. She could give hints but you had to actually guess it to receive a reward. This is a cool idea. It's so good that I thought of a few more like: having to guess a word once it's spelling has been scrambled. It could gradually get harder as you progressed. You could have riddles. Maybe even Jeopardy style Questions (ie. It is known as America's past-time: What is baseball. or Who won the Battle of Waterloo?) . You could aquire points in these games, even unlock achievements, perhaps even unlock hidden conversational threads that speak of treasures or hint at even darker mysteries.

Of course, it goes without saying, but remember, Athena is written in a text-adventure style mechanic, so.. you could play full text-adventure style games in Athena. You could roam the countryside of a forgotten world, fight demons, and ultimately save the princes. :) Overall, I want to have leveling with Athena, I want there to be unlockable hidden conversations, a reward for exploring her mind. As you learn more about Athena and she learns more about you, her conversations need to get deeper. As  a side note, I want to figure out a way to procedurally generate new conversations. I'm sure I could do it. I just haven't pored much thought into it yet.
 
Can anyone here think of any more text games that would work with Athena? I'm sure some of you can come up with something. I'm really not all that good at it. Please, don't hold back.

IDEA #3 - Tamagotchi

If anybody here remembers, a tamagotchi is a toy that the Japanese created in the 1990s with the intent to teach kids how to take care of and raise children. The tamagotchi was a small handheld electronic devise that housed a digital pet. You had to feed it (electronic food), play games with it, etc. It had a weight stat, a tiredness stat, a health stat, a lifespan, and others as well. It was a form of Ai. It is my idea to have Athena have some of these tamagotchi features. It adds realism, a sense of immersion, and some urgency to take care of your Chatbot. I'm sure a lifespan may be out of the question, but the need for Athena to play games and be interactive with the user could put Athena in a better mood, and thus she would give happier responses. I would definitely consider moods as a stat. Your actions would effect it or correct it. Hunger could be added as well, but I'm not sure what you would feed a chatbot. All moods and current states should be reflected in the Avatar's animations. Also, stats can be displayed in the UI if you want that. Again, this is open for others opinions and ideas.


Well, I think I've said enough for now. I've also added an update video to my YouTube channel but it is just a brief update. What I've written here is just for this community, however, you can share it if you think you know some people who can help with this. Thanks as always.



« Last Edit: January 02, 2017, 02:21:14 am by Snowman »

*

korrelan

  • Trusty Member
  • ********
  • Replicant
  • *
  • 693
  • Look into my eyes! WOAH!
    • Google +
Re: The Athena Project
« Reply #169 on: August 25, 2016, 09:39:40 pm »
Hi Snowman

I’m really enjoying the updates and development of your system.

I will consider all you ideas but one thing just struck a chord with me regarding the Tamagotchi.  I have always thought that a chatbot would seem more real during a conversation if they expressed the fact that they exist in real time as a living entity... ie.

Hang on while I make a coffee.
AFK 5 someone at door.
Excuse my slow typing… I’m eating a cake.
Funny you should say that because my friend said the same thing,
Hang on phone is ringing.

That sort of thing; I presume chatbots contain this type of interaction but I’ve never personally experienced it.

Again… excellent work. :)
It thunk... therefore it is!

*

Snowman

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 140
    • minervaai.com
Re: The Athena Project
« Reply #170 on: August 25, 2016, 11:50:38 pm »

I was mulling over your thoughts about real-time events. Currently, I'm using a timer and a random number generator to randomly select certain statements. So, saying some random thing in the middle of a conversation is easy. However, what you said gave me a new idea that I haven't considered before.

I already have scripted events for the Avatar, what if I make some scripted events for the Ai Engine itself. It should be easy to do. What it would do is to first momentarily stop any user input, and then send text to the UI, one after the other with a specified duration. 

#1 Hang on while I make coffe (1000 milliseconds)
#2 Ok, I'm back. Now where we?


#1 Do you know.. (500 milliseconds)
#2 that I can.. (600 milliseconds)
#3 see you when you sleep?
 :o

*

korrelan

  • Trusty Member
  • ********
  • Replicant
  • *
  • 693
  • Look into my eyes! WOAH!
    • Google +
Re: The Athena Project
« Reply #171 on: August 26, 2016, 12:15:06 am »
Hehe...

#1 Do you know.. (500 milliseconds)
#2 that I like.. (600 milliseconds)
#3 how you smell... Sniff!
 :o

Haha! sorry... perhaps not that one.

Perhaps a few common spelling mistakes :)

Delays... and then a reason...

Yeah! that kind of thing... and throw a few Emoji for good measure lol.
It thunk... therefore it is!

*

Art

  • At the end of the game, the King and Pawn go into the same box.
  • Global Moderator
  • ******************
  • Hal 4000
  • *
  • 4449
Re: The Athena Project
« Reply #172 on: August 26, 2016, 02:38:53 pm »
Very cool Snowman and thanks. ;)

With respect to the Adventure game scenario. How about an accessible module containing a "mini-adventure" and the user and Athena could BOTH explore it together with her maybe providing cautions, assistance is asked or other forms of help or hints as needed.
###############

If I told Athena I had a secret and not to tell anyone else about my secret stash of "Bottle Caps", would she keep that secret or gladly share|tell it to another user if asked? Are her secrets secret? ;)

Does she have the ability to "learn" from "reading|scanning" a text file or other format? Can she be force fed info in different ways?

Looking forward to exploring the fruits of your labor for these many years.

As always, good luck and thanks!
In the world of AI, it's the thought that counts!

*

kei10

  • It's a honor to meet everyone!
  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 444
  • Just kidding.
Re: The Athena Project
« Reply #173 on: August 26, 2016, 05:07:30 pm »
With respect to the Adventure game scenario. How about an accessible module containing a "mini-adventure" and the user and Athena could BOTH explore it together with her maybe providing cautions, assistance is asked or other forms of help or hints as needed. If I told Athena I had a secret and not to tell anyone else about my secret stash of "Bottle Caps", would she keep that secret or gladly share|tell it to another user if asked? Are her secrets secret?

Oh my! That's going to be incredible! I support this idea. I've always wanted an AI companion that play by itself in games that I can actually adventure, and talk with it freely rather than scripted dialogues and choices. :D
Greetings, signature.

*

Snowman

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 140
    • minervaai.com
Re: The Athena Project
« Reply #174 on: August 27, 2016, 03:39:57 am »

Quote
With respect to the Adventure game scenario. How about an accessible module containing a "mini-adventure" and the user and Athena could BOTH explore it together with her maybe providing cautions, assistance is asked or other forms of help or hints as needed.

All or most of the conversational threads, whether they be small or large, whether they be text adventures or questionairs, they are my custom xml files. They are essentially modules. I made my own interpreter for them. You put the file into the Athena Dialog Folder and it will load up into Athena when the Ai Engine has started. So a mini-text-adventure with Athena at your side, able to provide hints, or even playing a part in the game, should all be very possible with my current coding.

Quote
If I told Athena I had a secret and not to tell anyone else about my secret stash of "Bottle Caps", would she keep that secret or gladly share|tell it to another user if asked? Are her secrets secret?

Ah yes... That's what you told me last time.. I forgot. It is said somewhere earlier in this thread. I've been giving it some thought. To keep a secret, Athena needs to know the User, whose secret it belongs too. I should store that data in its own Table, a secrets table. You could add more secrets to it, you could ask it for a random secret. You could ask her for all her secrets... and then she says.. do you know our secret password :) . If another user signs on then no they wouldn't have access to anything that is yours. Also, if you forget your password then perhaps Athena will be suspicious and balk.

This kindof reminds me of the Captain Log plugin Jason and I work on for UltraHal seven years ago. You would say something like "Captain's Log: Today was a hard day. My chatbot told my deepest secrets to another User." It would remember it and then recall it later on demand.

I would like to keep User-specific data stored separately from one another.

Quote
Does she have the ability to "learn" from "reading|scanning" a text file or other format? Can she be force fed info in different ways?

Yes and No. Currently it can't read just any old text file and get random info from it. The information might be wrong or maybe not as precise as it should be. However, you can parse a dialog between to people into it. For example:

User: Do you like chocolate?
Ai: Yes, I do.
User: Me too.
Ai: That's good.

You can do this with thousands of different dialogs and it can be added to one xml module. So if you had a repository of conversations between two people then this could be fed into an Athena module and essentially create a world of conversations to explore. But... It would be nice if people would just create them purposely. Still, it would be neat to see what the conversation would be like.

I'm trying to stray far away from simple one-liners from a chat-bot. I want depth, but, it will be at a cost of some diversity.

Will Macpherson said that Athena should support silence. If you have nothing to say.. perhaps you shouldn't say anything at all. For some reason I thought of that a minute ago.

Keep it up guys. You're doing good. *sniff*

*

Art

  • At the end of the game, the King and Pawn go into the same box.
  • Global Moderator
  • ******************
  • Hal 4000
  • *
  • 4449
Re: The Athena Project
« Reply #175 on: August 27, 2016, 01:23:10 pm »
It sounds wonderful Aaron and it also seems as if it would be entirely possible to allow for Athena to have and recall "Dreams". Whether random responses to a dream question or perhaps the program could actually take | use portions or snippets from previous discussions that were saved as an inclusion in her "dreams". ex: "Last night I dreamed of the time we spoke of clouds having different shapes, some like animals or trees. I like having dreams like those." or something along those lines.

A quote from the movie, I, Robot - Dr. Alfred Lanning: "One day they'll have secrets... one day they'll have dreams."

It's nice to see that the movie shares the thoughts I've had for many years about those two subject and having them in a chatbot / robot. It would certainly add to the cool factor.
In the world of AI, it's the thought that counts!

*

Snowman

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 140
    • minervaai.com
Re: The Athena Project
« Reply #176 on: January 02, 2017, 02:19:11 am »

Well, I guess it's about time for another Update... yep..
I decided to do this one a bit differently than the normal ones. I went for a walking and brought my cell phone with me.

Enjoy.  ^-^


 


Boltzmann machine .... amazing!!!
by ranch vermin (General AI Discussion)
Today at 10:32:00 am
AI safety
by Zero (General AI Discussion)
Today at 09:43:38 am
Grats to SquareBear
by Art (General Chatbots and Software)
September 24, 2017, 06:47:12 pm
XKCD Comic : Thread
by Tyler (XKCD Comic)
September 23, 2017, 12:00:05 pm
outline from gadient mask
by ivan.moony (General AI Discussion)
September 23, 2017, 10:45:22 am
Dreaming
by Memnon (New Users Please Post Here)
September 23, 2017, 10:02:32 am
AWESOME program that can find similar matches and exact matches (images) !
by LOCKSUIT (General Chat)
September 23, 2017, 07:53:27 am
Map of Computer Science
by keghn (General AI Discussion)
September 23, 2017, 01:34:02 am

Users Online

51 Guests, 0 Users

Most Online Today: 58. Most Online Ever: 208 (August 27, 2008, 09:36:30 am)

Articles