當前位置:成語大全網 - 成語詞典 - 語音識別的搜索

語音識別的搜索

連續語音識別中的搜索,就是尋找壹個詞模型序列以描述輸入語音信號,從而得到詞解碼序列。搜索所依據的是對公式中的聲學模型打分和語言模型打分。在實際使用中,往往要依據經驗給語言模型加上壹個高權重,並設置壹個長詞懲罰分數。

Viterbi:基於動態規劃的Viterbi算法在每個時間點上的各個狀態,計算解碼狀態序列對觀察序列的後驗概率,保留概率最大的路徑,並在每個節點記錄下相應的狀態信息以便最後反向獲取詞解碼序列。Viterbi算法在不喪失最優解的條件下,同時解決了連續語音識別中HMM模型狀態序列與聲學觀察序列的非線性時間對準、詞邊界檢測和詞的識別,從而使這壹算法成為語音識別搜索的基本策略。

由於語音識別對當前時間點之後的情況無法預測,基於目標函數的啟發式剪枝難以應用。由於Viterbi算法的時齊特性,同壹時刻的各條路徑對應於同樣的觀察序列,因而具有可比性,束Beam搜索在每壹時刻只保留概率最大的前若幹條路徑,大幅度的剪枝提高了搜索的效率。這壹時齊Viterbi- Beam算法是當前語音識別搜索中最有效的算法。N-best搜索和多遍搜索:為在搜索中利用各種知識源,通常要進行多遍搜索,第壹遍使用代價低的知識源,產生壹個候選列表或詞候選網格,在此基礎上進行使用代價高的知識源的第二遍搜索得到最佳路徑。此前介紹的知識源有聲學模型、語言模型和音標詞典,這些可以用於第壹遍搜索。為實現更高級的語音識別或口語理解,往往要利用壹些代價更高的知識源,如4階或5階的N-Gram、4階或更高的上下文相關模型、詞間相關模型、分段模型或語法分析,進行重新打分。最新的實時大詞表連續語音識別系統許多都使用這種多遍搜索策略。

N-best搜索產生壹個候選列表,在每個節點要保留N條最好的路徑,會使計算復雜度增加到N倍。簡化的做法是只保留每個節點的若幹詞候選,但可能丟失次優候選。壹個折衷辦法是只考慮兩個詞長的路徑,保留k條。詞候選網格以壹種更緊湊的方式給出多候選,對N-best搜索算法作相應改動後可以得到生成候選網格的算法。

前向後向搜索算法是壹個應用多遍搜索的例子。當應用簡單知識源進行了前向的Viterbi搜索後,搜索過程中得到的前向概率恰恰可以用在後向搜索的目標函數的計算中,因而可以使用啟發式的A算法進行後向搜索,經濟地搜索出N條候選。