We present a post-processing technique for correcting misrecognition results derived from a continuous speech recognizer with more sophisticated linguistic knowledge. Firstly, we propose a novel confidence measure called word viability that is based on word activation force (WAF) model, which has the ability to correct some syntactic and semantic errors by means of taking the information about the neighbors into consideration. Secondly, the error correction algorithm corrects recognition errors by first creating candidate list for errors, and then re-ranking the candidates with a combination of mutual information score, trigram score and word viability score. Mandarin film experiments show that the combination of mutual information, trigram and word viability can effectively reduce the character error rate of speech recognition.