Parse trees
NameParser creates a parse tree from the result of analyzing the structure and distribution patterns of an input name. The parse tree is a hierarchy that groups the elements in a name into structural units, beginning with individual tokens (space- or punctuation-delimited strings), which might combine into name phrases, which combine to form a full personal name.
A two-field data structure is imposed on a name during processing that divides the name phrases into a given name and a surname field, based on statistical distribution patterns. The object at the root of the tree represents the entire input string, its children represent the largest subdivisions of the name, their children represent subdivisions of subdivisions, and so on.
The following example shows the structural elements of a fairly complex name, beginning at the bottom row with individual name tokens, moving up a level to capture name phrases, then moving up another level to show the division into name fields. The original name form is shown at the top of the tree as the ParsedName. This parse tree represents the structures that are recognized by NameParser.
