1. A computer storage medium comprising computer executable instructions for performing a computer-implemented method for domain-independent natural language understanding, comprising the steps of: forming pairs of words and/or phrases in independent phrases in a sentence, wherein each word and/or phrase is paired with every other word and/or phrase; determining meanings for the words and/or phrases; assigning a numeric code from the pre-existing class and category structure that uniquely identifies semantic concepts to each meaning; adjusting the numeric codes using a weighting component; storing the adjusted numeric codes that uniquely identify semantic concepts in a computer memory; comparing the adjusted numeric codes that uniquely identify semantic concepts of each word and/or phrase with each adjusted numeric code that uniquely identifies the semantic concept of the other word and/or phrase in the pair; comparing syntactically identical sentences with a potential idiom that changes adjusted numeric codes that uniquely identify semantic concepts depending on the context using an ontology; determining whether a potential idiom is identified and employing appropriate class and category structure to calculate a first adjusted numeric code total, wherein said first adjusted numeric code total corresponds to the best word and/or phrase pairings; determining an overall-adjusted numeric code total based on said first adjusted numeric code total by comparing remaining words in a sentence and before selecting the pairs of adjusted numeric codes that uniquely identify semantic concepts with the best relationships based on numerical comparisons; selecting the pairs of adjusted numeric codes that uniquely indentify semantic concepts with the best relationships based on numerical comparisons; storing the pairs in the computer memory; combining highly-related pairs with other highly-related pairs to form longer groups of adjusted numeric codes that uniquely identify semantic concepts; exchanging adjusted numeric codes that uniquely identify semantic concepts for the longer groups with adjusted numeric codes that uniquely identify semantic concepts having a weaker relationship to determine if the exchanged adjusted numeric codes that uniquely identify semantic concepts provide an overall stronger relationship based on numerical comparisons; forming longer and longer groups until the adjusted numeric codes that uniquely identify semantic concepts are selected in context for all words and phrases in the sentence; and relating the adjusted numeric codes that uniquely identify semantic concepts to words and phrases.