Art:It would be cool to see you post a video with you interacting with Athena a bit...sort of like a Demo or Intro segment.
Yep, that would be cool. I'm just so busy working on the meat of the software. It wouldn't be practical at this point to try to piece together a makeshift Athena just for entertainment sake, but of course, I would if I felt it wouldn't slow my overall progress down. I feel like it would be a wasted effort on my part at this stage in the game... but... we'll see
. I think I understand the frustration.
ranch vermin:Combining Neural Networks and NLP is a tricky idea. I have given it some thought already, but not nearly enough. I know there are lots of examples on many levels. i.e. I've heard of someone creating a NPL by using NN. In fact, I think Jeff Heaton mentioned he was working on that. Basically, you would teach a neural network the English language by lots and lots of examples and finally it will figure it out on its own. Another way NN can be used involves, as you were saying, using a markov chain approach. I have heard of people using markovs to find parts of speech. You can find more info about them here:
https://en.wikipeadia.org/wiki/Part-of-speech_tagging .
I was kind of playing around with Markov chains when I was exploring Markov chains and Conversational Trees in those two videos I posted on this thread. In a way, I was, as Art was suggesting, showing how you can script a chatbot responses by feeding your chatbot mass conversations. Also, you could hand-craft scripts using this process as well. I'm sorry Art that I left the impression that I was taking Athena solely in that direction. I do intend to use it, but not solely. Overall, I think there are many, many more NN and NLP combinations.
I will look more at your diagram. Details buddy... need lots of details.
Don Patrick:I like your name. I know another man by that name. He's in his late 80s and is a very honorable man; known him all my life. I've been wanting to say that for a while now
.
Even though I've been playing around with Neural Networks and Markov's, I believe the heart of an Ai revolves around the NPL. It is more important and, therefore, the most difficult to achieve. So, all the work you've already done was certainly a worthwhile and difficult task. I would love to pick your brain but I'm not sure where to start.
The first thing I did in confronting the NLP problem was to first understand it. I concluded these facts: (I probably will forget something obvious
)
#1 Human language is actually a High-level programming language that the brain utilizes. It is similar to a scripting language, i.e. Python, VbScript, javascript. So it has, data structures, assignment operators, decision structures, and access to a whole lot of content.
#2 Human language is extremely logical and usually refined and optimized.
#3 All human languages can on the surface be unique, but must be the same underneath, since people all have a similar brain structure and similar experiences. In other words, just because a computer has a variety of scripting languages doesn't mean that they don't all use a similar assembly language. (This is just an analogy. I know there are exceptions.)
With these assumptions I decided to look for a lower-level language to discover how human languages are constructed. The best way to do this was for me to write my own language. I'm pretty sure people trying to get a degree in linguistics have to do this at some point, if not to get their Doctorate. I didn't need to have weird or unusual ways of speaking words, so I could keep English nouns and such. Also, I didn't need to worry about making it fluent or smoothly worded. All I really needed was to understand how to structure it. So I looked on-line for examples, I found a language called Lojban and I found another call AllNoun. Lojban is a constructed language (CL) that was made for the intent of Ai processing. Unfortunately, it has a learning curve that I didn't want to mount.
To make a long story short, I eventually learned the basics of the human language. What was fascinating, I found out that the WordNet project had a lot of things right about it. You can learn more about WordNet here:
https://en.wikipedia.org/wiki/WordNet To give a very, very basic overview of what I found out, I will write a very basic sentence in my VL language. (Visual Logic)
English: Bill gave a ball to Fred.
VL: sentence(agent(bill) action(give(time(past))) patient(ball) recipient(Fred))
using acronyms: sen(agt(bill)) act(give(tim(past))) pat(ball) rec(fred))
In a VL sentence we have an agent, action, patient, and recipient as its grammar. The English equivalent has subject, verb, direct object, and indirect object.
Now I'm able to look at the English sentence (or any other language) as nothing more than a data structure. So we should now be able to get any information that the user is encoding back out of this data structure using the basic sentence structure techniques we just learned. ie. agent, action, etc.
So I am refreshing myself on the basics of the English grammar. Clauses are intended to start with relative pronouns, although are not required to do so. Phrases do not contain subject and verb combos. Anyway, it all makes a lot more sense to me because I now know what I'm trying to datamine.
An article will only precede a noun phrase.
A running watch = article(a) nounPhrase(adjective(running) noun(watch))
The sentence, “That is absolutely right.†makes the word “That†a pronoun, and therefore can be followed by a verb. However, the word “that†is an adjective if it proceeds a noun. i.e. That gunshot was loud. Gunshot is a noun Art
.
Anyway, I know what you're driving at Don. You are probably way further along the grammar road than I am. My first objective was to write the visual basic code that allows me to easily write these grammar rules. I think I just got through with that about a week ago. At least I have a template for it. I think the biggest thing that I will have to overcome is English idioms. (blah)
I can't worry too much about user's poor spelling. Even auto-correct has a hard time with my creative spelling.
Ultimately, after I've dissected the information from the sentences the next task will be to logically use this information. So we know that “a cow eats grass†and that “a cow is an animal†we should now be able to ask a simple question like “what animals eat grassâ€. This is a basic way information needs to be utilized in a proper AI.
Scared? No.. Depressed? Maybe a little
Freddy:I haven't spent tons of time working on the cube. I wish I was as half as talented as you. I've seen your youtube vids showing your work with unity. It was amazing. A person couldn't ask for a better avatar than a woman standing in beautiful scenery. Even if the Ai was poor (not saying it is), people would still buy it just for the quality you've managed to assemble.