1. 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 plurality of divisions for the input string, wherein each division comprises a set of word groups, wherein each word from the plurality of words is a member of exactly one word group in each division; c) for each division, determining: 1) a set of parts of speech, wherein: i) cardinality for the set of word groups for the division and the set of parts of speech for the division is identical; ii) each part of speech from the set of parts of speech for the division is associated with a single word group from the set of word groups for the division; and iii) each part of speech from the set of parts of speech for the division is selected from a plurality of parts of speech, the plurality of parts of speech comprising an invented part of speech; 2) a rating, wherein the rating is based on a confidence that the set of parts of speech for the division corresponds to the set of word groups for the division; and d) identifying the input string as corresponding to the set of parts of speech and the set of word groups from a division selected from the plurality of divisions based on the rating for the division.