5. A non-transitory computer readable medium having stored thereon a set of data operable to configure a computer to perform a set of tasks comprising: a) receiving an input string, the input string comprising a plurality of words; b) determining a division for the input string, wherein the division comprises a set of word groups, wherein each word from the plurality of words is a member of exactly one word group from the set of word groups; and c) determining a set of parts of speech, wherein: 1) cardinality for the set of parts of speech and the set of word groups is identical; 2) each part of speech from the set of parts of speech is associated with a single word group from the set of word groups; 3) each part of speech from the set of parts of speech is selected from a plurality of parts of speech, the plurality of parts of speech comprising an invented part of speech; 4) the task of determining the set of parts of speech is performed based on: i) a set of probabilities, the set of probabilities comprising, for each part of speech from the plurality of parts of speech, a probability that the part of speech is followed by a second part of speech; ii) a first rule varying likelihood of the invented part of speech based on string position; iii) a second rule decreasing likelihood of a plurality of instances of the invented part of speech in the set of parts of speech.
5. A non-transitory computer readable medium having stored thereon a set of data operable to configure a computer to perform a set of tasks comprising: a) receiving an input string, the input string comprising a plurality of words; b) determining a division for the input string, wherein the division comprises a set of word groups, wherein each word from the plurality of words is a member of exactly one word group from the set of word groups; and c) determining a set of parts of speech, wherein: 1) cardinality for the set of parts of speech and the set of word groups is identical; 2) each part of speech from the set of parts of speech is associated with a single word group from the set of word groups; 3) each part of speech from the set of parts of speech is selected from a plurality of parts of speech, the plurality of parts of speech comprising an invented part of speech; 4) the task of determining the set of parts of speech is performed based on: i) a set of probabilities, the set of probabilities comprising, for each part of speech from the plurality of parts of speech, a probability that the part of speech is followed by a second part of speech; ii) a first rule varying likelihood of the invented part of speech based on string position; iii) a second rule decreasing likelihood of a plurality of instances of the invented part of speech in the set of parts of speech. 6. The non-transitory computer readable medium of claim 5 , wherein the set of tasks further comprises: a) receiving a raw input string, the raw input string comprising the plurality of words; and b) processing the raw input string to create the input string, wherein processing the raw input string comprises cleaning dimension data from the raw input string.