The Athena Project

  • 184 Replies
  • 52783 Views
*

Snowman

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 145
    • minervaai.com
Re: The Athena Project
« Reply #180 on: December 29, 2017, 10:10:00 pm »
Well, if I did rewrite Athena in another language I'm not sure I would still be sane afterwards  :-\
There would be a heavy learning curve and a lot of things would need to be completely rewritten from scratch.

But... its possible.. I just don't think Art or Freddy has the patience for it.  ;)
I would be happy to release the bare minimum at this point.

*

8pla.net

  • Trusty Member
  • *********
  • Terminator
  • *
  • 966
    • 8pla.net
Re: The Athena Project
« Reply #181 on: December 31, 2017, 12:42:43 am »
My observation is about software releases in general.

With a software release of a community version, the
community can (help) rewrite it.

Also, an easier language, such as PHP which works
great on the web, may make rewriting a lot easier.
My Very Enormous Monster Just Stopped Using Nine

*

Snowman

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 145
    • minervaai.com
Re: The Athena Project
« Reply #182 on: December 31, 2017, 01:51:22 am »
I don't think PHP is strong enough of a language to do the job, TBH, being a scripting language. That's why I used Visual Basic. Its a powerful language and its manageable, unlike C and C++. C languages can get very difficult to work with, while PHP, Javascript, VBScript, etc, are not meant for deep coding. Not to say you can't do awesome things with those languages, I just prefer the balance VB has to offer. 

Also, Athena was never intended for use on the web. Its built for the PC. I don't like all the restrictions a web based app would have. I don't even like the idea of Athena connecting to the internet, even to learn. With all the crude and fake information out there, I'm afraid Athena my learn something bad.

But... nothing is stopping anyone from making as many plugins as they want. Though its all in VB right now.

I'm trying to make Athena as customizeable as possible, So the community can do a lot with Athena.
I suppose when its all over, the source code could be release too.
I'm not really even sure anyone would really care about any of this anyway. But I do.

Just making light conversation  ::)


*

Art

  • At the end of the game, the King and Pawn go into the same box.
  • Global Moderator
  • ********************
  • Cleo
  • *
  • 4810
Re: The Athena Project
« Reply #183 on: January 01, 2018, 04:33:44 am »
1). Why the question of a Re-write when it hasn't even been written (completely) yet?
2). Why would a programmer want (other than perhaps plug-ins) other people to re-write what he/she initially intended for the program to convey?
3). Why would or should a programmer want to "give away" their hard-earned Source Code for others to have a hack fest with it?

Just curious....Robert Medeksza, Steve Worswick, Bruce Wilcox and others don't give away all their secrets to their creations and why should they?
I think it's the magic behind the scenes that allows for the suspension of disbelief that happens when we converse with computers. Then again, perhaps it's just me.

If the magician explained all his magic tricks then he'd just be an ordinary person, nothing special at all, and his tricks...just tricks, black velvet, smoke, and mirrors.
In the world of AI, it's the thought that counts!

*

spydaz

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 131
Re: The Athena Project
« Reply #184 on: April 04, 2018, 09:19:25 pm »
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.


I like it......


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 

Im still trying to find the best way to do the conversation tree matrix. although i have been changing approaches and focusing on building an Artificial intelligence development language.
i can see we have the same methods and learning how to overcome the obstacles often takes research and inspiration.  often like improvising the blues.

Personally i'm always rewriting code refactoring and still native to my VisualBasic.Net although i know many programming languages i would never change as it still amazes me with things i do not know. jumping to other languages can be useful but just to be able to understand the code that's out there in the open source arenas.  although git hub is not as good as people think!! Code-plex was always better....
a personal achievement for my chat-bot last year was;
Propositional logic, All  A are B , All B are C therefore all A are C..... and its variations. It enables for interesting learning as well as deductive capabilities and sentence understanding.
I am currently working on Modals.... towards learning about intentions ... while developing these models new ideas and capabilities take shape ...causing massive re-structuring etc....
although with my current model i am much more flexible ...
1.Parts of Speech tagging
2.Word stemming
3.Sentence type Detection - Declarative/Exclamatory/Conditional/Interrogative/Etc....which leads to different learning pathways and response demands.
4. Subject/Predicate Analysis
5. Subject Predicate Object Analysis
6.Propositional logic analysis
<<<<Modal logic here >>>>
7.Sentiment Analysis
8.Topic/Keyword /_ Statement_Response_ / Question_Response / Question/Answer - Approach...
<<<<CONVERSATION TREE NEEDED HERE>>>>
9.(Command Response) _ Executes various file system/Networking/Webcommands
10.Picture learning (Pictures Found on web for (Subject/Object/Predicate) ) are also stored when connection is available or set to maximum learning
11. Wikipedia learning (extracts various data from info-box )
12. Plugin Response Generation (External plugins compiled in app)
13. User Script Response (legacy vb-script ) generation
14. Updates Response Generation
 
 whoa Noticeably my problem is response generation _ What should the bot actually say? this is where many various conversational trees become a requirement. as various subscripts actually produce responses , yet the decision tree / Conversation tree enables for Repetitive conversations to be mapped in a tree format predicting the potential outcome for the conversations based on previous conversations.
I watched the Markov video you made which i love as it explains a lot .... hmmm...

but i have been travelling a lot lately (Backpacking) i also went to Mount Ararat and could see the actually Remnants of the true Noahs ark amazing and i plan to return this year with better plans to reach up the top to the ruins.

Happy Coding!!!!

Great !!