A system, method, and computer program product for domain-independent
natural language understanding, including at least one of forming pairs
of words and/or 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 numeric codes that uniquely identify
semantic concepts to those word and/or phrase meanings; comparing the
numeric code of each word and/or phrase with each numeric code of the
other word and/or phrase in the pair; selecting the pairs with the best
relationships; combining highly-related pairs with other highly-related
pairs to form longer groups of words; exchanging numeric codes for the
longer groups with numeric codes having a weaker relationship to
determine if the exchanged numeric codes provide an overall stronger
relationship; and forming longer and longer groups until the sentence is
understood.