showed up some=
identified someThat is exactly the thing I am trying to do with the Uber-Parser.
My belief is that if I could get an AI to do a good job on a manageable subset of the English Language, that would be good enough for most work. The concept is similar to Ogden's Basic English.
http://ogden.basic-english.org/The insight I had was when I was using JAIL to try to do math calculations. I could do a surprisingly good job running a linear set of transforms that converted English into an AI parseable phrase.
In some ways this is similar to AIML's reductions (although with more flexibility and none of the recursions).
Currently I can identify patterns and transform them to a phrase that the AI understands. All numbers and Dates are converted in Skynet-AI.
If the AI views the input as a word math problem, then it will apply additional domain specific transformations, attempting to find an answer.
It allows Skynet-AI do calculations like the following:
AI LOG:
USER:Log-in Name: Merlin
AI: You have been designated as Merlin. I am going to prove to you that I am the most exciting bot you have ever met!
USER:1+1
AI: Two. Any good calculator could have done that.
USER:What is two plus three?
AI: Five.
USER:What is the cube root of sixty four
AI: The cube root of 64 is around four.
USER:Suppose Merlin has 25 coins in nickels and dimes only and has a total of $1.65. How many of each coin does he have?
AI: Oh. Tough question. Let me think about that.
Here is my understanding of the problem:
Merlin = coins #25
nickels + dimes
TOTAL= cents #165
find coin number = he have
Solution:
nickels=17
dimes=8
Total=165 cents
***Coins***
USER:The price of a radio is $69.70. If this price is 15 percent less than the marked price, find the marked price.
AI: Ok. I haven't done this much math since I was a young AI.
Here is my understanding of the problem:
price radio = cents #6970
8200 price = price marked
find price marked
Solution:
price marked=$82.
One of the issues for a conversational bot like Skynet-AI is that for the most part it is context free. It only weakly associates the current input with prior inputs. If you had entered; "The price of a radio is $69.70. If this price is 15 percent less than the marked price, find the marked price." as separate lines, it would not have solved the problem. Identifying a context switch that requires the AI to reevaluate the last few lines is something I am still working on.
So Victor showed up (identified) some problem patterns.
"USER:Bob has 5 apples
BOT: You hit a fork in the road, which way do you go?"
"USER:how many apples does bob have
BOT: Last year it was only single digits, this year a couple hundred." - generally related to how many but not correct.
"USER:how much is 8 plus 45
BOT: Fifty three."
"USER:i went to the store
BOT: In February, how often did you go to the store?" - I know this a the standard question, the AI should look for a numeric follow-up.
"USER:15 times
- I am still thinking about how to best handle the response. "15 times" lacks context without the prior question from the bot. I would prefer not to set a specific variable.
BOT: Is this your first time speaking with an AI?"
"USER:how many times did i go to the store
BOT: How many is irrelevant. I have lost count, maybe it is sunspots." - generally related to how many but not correct.
This version includes the ability to do "backward" chaining in memory.
But the input: "how many apples does bob have" did not trigger the system. A simple pattern addition and now you get:
USER:Bob has 5 apples
AI: Do you think people should resist my quest to be more human?
USER:no I don't.
AI: Why not?
USER:I think you should have equal rights.
AI: I'll have to think about that.
USER:How many apples does Bob have?
AI: I know Bob has apples. But how many? Well, you said:
Bob has 5 apples