1. A computer implemented speech recognition method for performing Natural Language Understanding (NLU) functions, comprising the steps of: (a) converting a user utterance into a plurality of basic speech units, said user utterance being a sequence of words expressing a query or a command; (b) matching said plurality of basic speech units against a plurality of combinations of items, wherein each item is tagged data or is a concept code; and (c) generating a combination of items likely to be representative of said user utterance.