When we are trying to learn a new language without any help from native speakers, the first thing we need is something/someone to correct our grammatical mistakes/improper word selection.

So is there any research done on building tools to help critique our spoken language? I often hear people saying that the more you try to speak, the better you get, so I'm wondering if automated tools could help provide feedback on our attempts at speaking in the new language.

  • 1
    $\begingroup$ It would be better framed for the site if you asked for "research" on the subject, instead of just "software" - the software is secondary to the computer science :D $\endgroup$
    – Realz Slaw
    Nov 14, 2013 at 4:37
  • $\begingroup$ @RealzSlaw I have edited the question description. $\endgroup$
    – Athiruban
    Nov 14, 2013 at 18:06

1 Answer 1


This is part of the field called CALLS, or computer-assisted language learning.

It is an interesting subject, and the straight-forward approach would be to first do speech-recognition, then use NLP to find errors, and notify the user. Interestingly, I would think that any good speech recognition software would have to use NLP to disambiguate the speech (and possibly use NLP in additional ways).

So it is sort of a catch-22: in order to recognize the speech, some sort of assumption that the user is using (mostly) correct langauge is made, and therefore NLP can be used to assist the speech recognizer. But in this case, you have to be much much more sensitive to the user using incorrect language. So I think a different approach is necessary, where you integrate the "incorrectness detector" directly into the speech recognition somehow.

Or, perhaps use statistical/machine learning methods entirely (or a combination); ie. train the machine on data of non-native language speakers, and use a learning algorithm to teach the machine what mistakes commonly happen. I am unsure how feedback would work here though.

More info, on non-native pronunciation error detection and feedback:

Machine learning approaches:

This is all mostly about pronunciation. For grammar, you can tack on something to speech recognition, using NLP. The same caveats apply to grammatical error detection as to pronunciation; NLP would normally likely be used as part of speech recognition, so the error detector would likely have to be integrated directly into the speech recognition software.

More info on non-native grammatical error detection and feedback:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.