View Full Version : A theory of grammar that could produce a linguistically competent machine
12-16-2011, 12:02 AM
The main assumption is pattern recognition.
I've described pattern recognition as the ability to determine the statistical impracticality of randomness. Once I can find out how to do this, I will take it from there.
My question to a coder would be this. How can I record every time that a random string of symbols occurs more than once and save that as a statistic?
12-16-2011, 10:30 PM
provided the machine never turns of
string comes in...
parse string to analyze pattern...
compare to an array of strings that hold pattern
if !exists add it to array if exists ++ an int associated w/ that string
although if the program dies so does all the data... a better way would be to access a database and do a layout something like...
string pattern | occurances
select occurances where string pattern == inbound string
occurances ++, merge data back
12-16-2011, 10:59 PM
Hmmm, in what programming language should one perform this?
And what does ! and ++ mean?
It seems to make sense, I guess I'm just not well acquainted with the jargon. How would I do this in python?
12-17-2011, 02:27 AM
Can someone put this into python for me? I don't think it will require many lines of code.
12-17-2011, 03:23 AM
!something means not equal to- and ++ means add one so if I had
int Q = 0;
Q++; //Qnow equals 1
and if I did an analysis of Q
if(Q != 2) Q = 5; // Q would become 5 because it is not equal to 2 and the statement is true
what I wrote is pseudo code... well not even pseudo code... it's pre blocky flow chart code lol- it can be done theoretically in any language you want... those are large peices of the programatic flow though that you need to figure out. I would suggest as Tracknut suggested in other thread of getting someone versed in computers in on your team... AS WELL AS someone who has done hard core development from the ground up both front end and back end
12-17-2011, 04:21 AM
Well, I hope to learn as much as I can and maybe meet a few people along the way. My main objective is to get a global mind together of some sort that we can speak with and do things with. I have a theory that could make it happen, but it lacks the code. I know I can at least produce a program that speaks grammatically if I find a way to put this theory into code. Once it knows how to speak, we can teach it how to associate operations with linguistic environments. Classical conditioning.
Can you explain this in terms of python? It's starting to make sense
How do I represent "any symbol" including spaces and the return key?
12-17-2011, 04:44 AM
i do not know python- but a string universally represents "any symbol" and combination of... and most languages allow a method to search a string for a symbol...
12-17-2011, 05:13 AM
so if string(any symbol) !=1 then ++
if string(any combination of symbols) !=1 then ++
so 1 would represent an item, and as long as it occurs more than once it is considered official.
so now the question is that given the highest number, can we prompt a response that also has the highest number within that environment. Take this for example.
Where did John go?
He went to the bathroom.
The string H+e occurs 168(arbitrary) times after the string J+o+h+n. Therefor, "John" most probably occurs with "he." Which means that given the input "John," we can respond most probably with "he." Did+Go -> went; where-> to the bathroom.
I know that this method alone will not produce a fully competent machine, but when we condition it with probable cooccurrences (or statistical correlations between items and operations) it will.
The idea is that it will build "knowledge."
12-17-2011, 08:27 PM
You might benefit from checking out the free classes from Stanford University for Machine learning, databases, and AI.
http://www.ml-class.org/course/auth/welcome is the machine learning one....
What you're describing sounds like a combination of all 3...and isn't trivial. But those classes are free, and they have lots of resources explaining each of those concepts with labs....
12-17-2011, 08:48 PM
I'd like to take these courses, and I have watched several episodes of the ai class, however, my time is limited. So I'm looking for a computer programmer that I can hire to help me do my task.
I'm starting a business, anyone who wants to get involved can e-mail me at email@example.com
Send some sort of resume, contact information, and any questions you may have. Thanks
12-17-2011, 11:00 PM
I hope no one is stealing my ideas and using them for their own profit. Please involve me in some way.
12-19-2011, 12:00 AM
After watching the Natural Language Processing episodes at ai-class.com, it has occurred to me that they actually do not know how it actually works. He made several fallacies. The theory they explain will not create linguistic competence, however, my theory will. I need someone to work with. Please contact me.
09-20-2012, 06:23 PM
Ok, so I've further formalized my theory of grammar and I need to hear a coders perspective on it. Here is the equation
u = unit of knowledge
o = any occurrence
t = time
y = any positive whole number including zero
m = meaning
u = y(o)
t = y(u)
m = P(u|t)
Plainly stated, these are the axioms.
1. A unit of knowledge is equal to any sequence of occurrences
2. Time is equal to a collection of knowledge (any sequence of units)
3. Meaning is equal to the probability of any unit of knowledge given time.
This tries to account for the pragmatics of language. The computer will need to be able to process what is on the screen and save the occurrences as some arbitrarily named unit of knowledge. It will also need to process the coordinates of any click that occurs on the screen. Hopefully, we can associate the clicks with units of knowledge (ex. so we can click on the firefox icon no matter where it is). The input will be any process or image. The output will be the most probable unit of knowledge (or sequence of occurrences).
An example of the data would be this.
o1 = "John"
o2 = the figure of John
o3 = John moving his head
u1 = o1+o2+o3
u2 = o1+o2
u3 = o3
u4 = o1
u5 = o2
u6 = o3
The knowledge needs to be broken down into as many possible combinations of the occurrences because knowledge can consist of more knowledge.
t = u1
m = P(u1|t) = 100%
So now that we have one experience in our database (Someone saying John, and the figure of John, and his reaction), we can use that to prompt knowledge. I will show how in this next example.
input = u5
t = u5
m = P(u2|t) = 50%
Since u2 is the most probable given t(u5), prompt u2.
Maybe a coder can see the math of this better than I can. My question is, is this possible given the current state of computation. Is there anything I should be aware of?