Rather than apologize for the language errors of computers, see them as a resource. The only sure way to avoid the computer making errors with language is to severely restrict the answer possibilities of the student. The more one frees the student to use real language, the greater the possibility the computer will misinterpret it or make errors. Yet this also provides for a richer language learning environment. Within reason, use these errors as a resource.
Pedagogical approach is fixed, and usually very simple.
Content provided by teachers. Very quick, very productive. Can be limiting and frustrating. Eclipse, Storyboard, Sequitur, Rhubarb, Clozemaster, SuperCloze, Gapmaster, Choicemaster, etc. Any Software will do Virtually ANY software can have language learning applications, if properly structured into a lesson.