There are two main classes of errors in dialogue between man and machine, competence and performance errors [28].
Competence errors are to do with the grammar of the language and the knowledge the speaker (or listener) has of it, whilst performance errors are to do with the use of language in concrete situations, and the way it is spoken and understood depends on three things:
There are therefore four classes of error possible in dialogue between a user and a system; user competence, user performance, system competence and system performance.
System performance errors cannot be corrected unless the system is improved, and system competence relies on good and correct programming of a grammar.
User errors on the other hand need to be corrected. Competence errors made by the user are the most serious since they will freeze the dialogue, the user needs to be informed of their error so that they may correct it.
User performance errors are less correctable, and hopefully less serious as the user should realise they have made a mistake due the three phenomena listed above.