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 !!