语音识别结果的纠错是语音理解过程中的一项重要工作。由于受限于语音识别的准确性,语音识别的结果常常会出现错误,这将对语音理解的后续工作造成障碍,增加了语音理解的难度。语音识别结果的纠错可以对一些识别的错误结果进行纠正,从而提高语音理解的准确性。
目前,用于语音识别结果纠正的方法有很多,但还没有一个主流的方法。大多数的ASR后修正的研究都是基于词的识别结果概率信息的统计方法。
Ringger和Allen (1996)提出了一种对语音识别错误进行后处理的方法。该方法包含两部分,信道模型反映识别器识别的错误,而语言模型则用于表示说话人说出的词序列的似然概率。文中用TRAINS-95对话系统的结果作为训练集。
Zhou和Meng (2004)提出了一种两层模式的语音识别错误发现方法。第一层用SVM进行分类并判断识别结果是否有错,如果有错,传递到第二层。第二层利用SVM对有错的句子进行分类并判断哪些是错误的单词。实验证明,第一层错误句子召回率为16.5%,第二层错误句子中错误单词的召回率为19.8%。
还有一些方法用到了相邻词的共现信息。Zhou et al. (2006)提出了一种3阶段错误检查方法。第一步检测识别句子是否包含错误;第二步检测错误哪些词是错误的;第三步检测错误的字符;错误纠正首先产生错误可能的修正候选词列表,然后结合互信息和trigram语言模型对候选词进行re-ranked。
Arup Sarma和David D. Palmer提出一种基于上下文词共现进行语音识别错误纠错的方法。该方法需要较大的语料,设定一个窗口长度w,定义在中心词keyword周围w/2范围内都算作keyword的邻居。遍历文本统计每个词的邻居和出现次数,并对邻居进行排序。根据识别错误的词和读音相似的候选词对于上下文的KL距离判断识别结果是否是错误的词