Functional Name Theory
meta : functional names

Simply put, machine names are literal and have a functional relationship while human names are symbolic and non-functional. More (but not prefectly) mechanically:

If (Name (surname)) is a (name) is AND (name) is a non-proper noun AND (name) is a superset of (Name (surname)) = True then Machine else Human.

-=*=-

Evidence

Testing this equation out upon some of the character list, the results we get back are:

Trinity is Human
Cypher is Human
Switch is Human
Seraph is Human
Ghost is Human
Merovingian is Human
Twin 2 is Machine
Sentinel is Machine
Agent Jones is Machine
The Oracle is Machine
The Keymaker is Machine

With what we know, this method of prediction seems accurate.

-=*=-

Objections

There are three common objections. Two invalid and one very valid. Briefly:

1. Isn't Jones a name? Yes, to us, but to the machines it's simply a sequential designation based upon name popularity in the United States. For their purposes it's no different than 1, 2, A, B, or C.

2. Hey, Trinity MEANS something! There's no question that there are meanings behind all the names in The Matrix. However, this is not a literal or functional one. Trinity is not literally a trinity. Cypher may be a cypher, however, that is in the descriptive sense not literal one.

3. What about Kid? Yes, this is a good criticism. The equation as it is calls Kid a Machine, however, Kid's name might not be considered literal in the future when he grows up and is no longer a literal kid. So some future sense could be adapted into the above equation. The specifics are yet to be worked out.