符斌 王宇星 叢龍騰 張振
摘 要:語言模型是語音識別技術中的一個重要模塊,研究語音識別技術并將其作為新的交互方式引入艦船模擬器中,將在一定程度上提高其自動化程度。本文分析了語言模型的建模技術,搭建了艦船領域的專用語料庫;采用N-Gram語言模型建模方法建立語言模型;最后,采用困惑度評價和語音識別實驗對語言模型性能進行評估,為艦船模擬器適應智能無人船的發(fā)展需求奠定了研究基礎。
關鍵詞:語言模型;語音識別;艦船模擬器;語料庫
中圖分類號:U675.79? ? ? ? ? ?文獻標識碼:A? ? ? ? ? ? 文章編號:1006—7973(2021)03-0064-04
隨著人工智能的發(fā)展熱潮,語音識別技術在識別性能上有很大的提升[1],作為自然的交互方式融入到日常產品應用中,傳統(tǒng)的交互方式應時而變,革命性的交互方式不斷涌現(xiàn)出來,從鼠標鍵盤到觸控、手勢、語音、眼控等。例如語音輸入法、車載語音控制、能聽懂人說話的智能家居等[2-4]。在電子技術發(fā)展智能化的時代中,航海智能化成為一種技術發(fā)展趨勢[5]。近年來,在智能化無人駕駛船舶成為航海領域研究熱點的背景下,越來越多的人工智能技術將會成為船舶智能化發(fā)展的新需求,其中包括語音識別技術、圖像識別技術、無人駕駛技術等。
艦船模擬器作為我國航海教育培訓的重要工具,從研發(fā)初始至今仍采用傳統(tǒng)的鼠標鍵盤進行交互,操作較為繁瑣,影響了用戶便捷的使用。同時,在智能無人駕駛船舶發(fā)展的初步階段,艦船模擬器將會作為重要的方案論證工具進行建造技術分析和建設方案論證實驗。將語音識別應用于艦船模擬器中,為模擬器尋求更智能的人機交互方式,以滿足智能無人駕駛船舶的高度自動化集控系統(tǒng)的需求。例如在駕駛員給模擬器控制臺下操縱命令時,首先通過語音識別技術識別出當前命令,然后識別出來的命令計算機進行復述,如果正確并經駕駛員確認后,控制臺設備自動進行相應的操作,用戶不再需要復雜的設備,通過聲音操作模擬器即可方便使用,這對于航海智能化發(fā)展有一定的促進意義[6]。然而模擬器的語音識別系統(tǒng)需要由聲學模型、語言模型和解碼器構成完整的語音識別系統(tǒng),其中語言模型在整個語音識別過程中非常重要,其性能的好壞對語音識別系統(tǒng)識別效率有直接的影響。雖然現(xiàn)有的語言模型研究成果較多,但是在航海領域內卻鮮有聽聞,因此設計適用于艦船模擬器的語言模型成了語音識別功能開發(fā)中的重要環(huán)節(jié)。
1語言模型類型的選定
語言模型的主要功能是描述及把握自然語言的內在規(guī)律,被廣泛運用在機器翻譯、語音識別、智能搜索及智能輸入等領域[7]。目前,統(tǒng)計語言模型中使用較多的是N-gram模型[8],因此本文采用N-gram統(tǒng)計語言模型為研究對象,設計艦船模擬器語音識別中的語言模型。
N-gram統(tǒng)計語言模型建立在數(shù)學模型的基礎上,通過大量文本(語料庫)的訓練歸納最終總結得出概率統(tǒng)計結果[9]。假設表示一個語法正確的句子,由一串特定順序排列的詞組成,即,其中代表語句的長度(詞個數(shù)),在整個語料庫中,概率表示該句子出現(xiàn)的可能性。在語音識別中,表現(xiàn)為已知聲學特征(以表示)的條件下求概率最大的詞串,根據Bayes定理,采用數(shù)學方法表示為:
根據馬爾科夫假設,任意一個當前詞的出現(xiàn)概率只依賴前面的有限個詞,則N-gram統(tǒng)計語言模型可以表示為:
其中,N值越大,語言模型的精度越高,但是計算復雜度也越大。結合艦船模擬器用于方面的操縱用語與平衡精度和計算復雜度之前的關系,在設計語言模型時將N的取值范圍定在1~3之間 。
2語言模型的設計實現(xiàn)過程
2.1語料庫建設
語料庫的類型主要根據該語料庫的用途而確定,自然語言處理學科中的語料庫主要有四種類型:①異質型,主要特點是大量收集和儲存廣泛語料,不要求依據某一事先確定的選材規(guī)則選取語料;②同質型,與異質型相反,該語料庫的語料屬性必須一致;③系統(tǒng)型,該語料庫按照預定的選材原則和比例收集語料,強調系統(tǒng)性、均勻性與合理性,具備反映特定范圍語言事實的能力;④專門型,專門服務于某個特定用途領域的語料庫。由于艦船模擬器中主要涉及一些航海領域的操作,在設計面向艦船模擬器的語音識別時,選定“專門型”作為語料庫的建設類型。語料庫的建設主要包括五個步驟,具體如下:
(1)規(guī)劃。即確定語料庫的類型為“專門型”;
(2)選材。在語料選材方面,考慮到應用于艦船模擬器的語音識別為航海中的專業(yè)術語及日常操作對話,因此以航海英文會話和海事英語方面的網絡和書籍作為語料收集的平臺,并將選取的語料以文本的形式存儲;
(3)標注。通過Python腳本處理獲取的生語料,每個句子單獨成行且在句子的首尾部添加標注符號“”和“”;
(4)預處理。去除句子中的標點符號,對英文字母進行大寫轉換,以 “UTF-8” 編碼格式進行語料數(shù)據儲存,部分樣例如圖1所示。
2.2語言模型的建立
本文采用語言模型訓練工具Srilm,根據語料庫分別訓練1-gram語言模型、2-gram語言模型、3-gram語言模型,目的是對三種語言模型性能進行對比,然后在語音識別系統(tǒng)中選擇性能最好的語言模型進行后續(xù)模擬器語音識別功能的開發(fā)。該工具訓練得到ARPA格式的模型文件,一個ARPA格式的3-gram語言模型結構如圖2所示。
圖中n1, n2, n3代表1-gram,2-gram,3-gram的詞串數(shù)量,其中第一列為N-gram的條件概率對數(shù)值;第二列為具體詞串文本,第三列表示回退權重的對數(shù)值,即當高階的gram未出現(xiàn)時,以權重回退到低一階的gram進行計算。
以3-gram語言模型為例,根據語料庫在Linux環(huán)境下使用Srilm工具訓練語言模型的過程如圖3所示。
具體流程實現(xiàn)如下所述:
(1)外部準備階段。語言模型在訓練階段需要根據語料庫準備詞表,該詞表包含了語料庫中出現(xiàn)的所有非重復的詞匯,并將其用于詞頻統(tǒng)計階段。首先對語料庫進行斷句分詞操作獲得初始的詞表,考慮初始詞表中包含重復詞及非規(guī)范詞,本文對初始詞表采取去重及數(shù)據篩選操作獲得最終詞表。
(2)使用詞表統(tǒng)計詞頻。通過詞表對語料庫對詞頻率進行統(tǒng)計,為后續(xù)概率值的計算提供基礎。
(3)生成N元關系及模型概率參數(shù)計算階段。3-gram語言模型的訓練過程中,通過先生成低階的詞間關系然后遞進生成高階詞間關系,運用詞頻統(tǒng)計的結果對數(shù)據進行切分,生成多個1-gram、2-gram、3-gram。這過程中并對N-gram做頻度統(tǒng)計,為后續(xù)條件概率的計算提供條件。根據N元關系在語料庫中出現(xiàn)的頻次數(shù),計算N元關系之間概率參數(shù),并將概率值以對數(shù)的形式存于模型文件中。
(4)平滑處理。由于在語言模型中會出現(xiàn)數(shù)據稀疏問題,即一些N元對出現(xiàn)的概率很小甚至為零。為了更好的模擬語言現(xiàn)象中的概率分布規(guī)律,采用平滑技術使概率分布變得相對平緩,從而解決數(shù)據稀疏零概率問題,進而提高語言模型的性能。采用回退平滑技術,基于Good-Turing折扣平滑的基礎,使用Katz平滑算法進行平滑[10]。
通過上述的訓練步驟,訓練得到語言模型,該3-gram語言模型部分示例結構如圖5所示。
3語言模型性能評估
評價語言模型性能的好壞有理論方法及應用方法,理論方法采用困惑度評價,該方法較容易實現(xiàn)。由于需要將訓練得到的語言模型應用于面向艦船模擬器的語音識別系統(tǒng),所以在評估驗證時不僅采用理論方法,同時還使用語音識別實驗進行識別率測試驗證,這是評價語言模型性能的應用方法
3.1使用困惑度評價
設為一個測試集句子,困惑度表示為已知測試句子某個詞時,下一詞出現(xiàn)的可能數(shù),公式為:
該公式表明困惑度越小,下一個詞出現(xiàn)的種類數(shù)越小,則語言模型性能就越好。測試集中隨機選30條語句進行困惑度測試通過隨機選擇45條測試語句(句子內容為長短不一的船舶操作命令)進行,根據上述計算公式,分別對1-gram、2-gram、3-gram模型求困惑度,測試語句分別在三種模型中測試得出的困惑度如表1所示。
從表中結果可以看出,3-gram語言模型的困惑度最小,在理論上性能最佳。
3.2在語音識別系統(tǒng)中測試
語音識別系統(tǒng)為采用航海領域聲學語料,基于GMM+HMM聲學模型,將三種模型與聲學模型和解碼器有機結合為語音識別系統(tǒng)中進行測試驗證,所得基于不同語言模型的語音識別系統(tǒng)實驗識別率對比結果如下。
測試結果表明,語音識別的識別率和語言模型有關。1-gram語言模型的句子識別率與詞識別率相差較大。 2-gram模型與3-gram模型之間的詞識別率相差不大,但在句子識別率方面,3-gram模型較2-gram模型有較大的提升。因此,3-gram模型性能最好,適合應用于艦船模擬器語音識別功能開發(fā)。
4結論
本文以航海領域方面的文本制作了專用的語料庫,運用該語料庫設計實現(xiàn)語言模型。同時使用Good-Turing折扣平滑與Katz平滑相結合的方法解決語言模型中的數(shù)據稀疏問題,最后采用困惑度評價和語音識別實驗檢測對比了這三種語言模型的性能,最終確定3-gram語言模型最適合應用于艦船模擬器的語音交互,有效解決了航海領域內語言模型缺乏的問題,為艦船模擬器適應智能無人船的發(fā)展需求打下了一定的研究基礎。
參考文獻:
[1] Padmanabhan J, Premkumar M. Machine learning in automatic speech recognition: A survey[J]. IETE Technical Review, 2015, 32(4): 240-251.Padmanabhan J, Premkumar M. Machine learning in automatic speech recognition: A survey[J]. IETE Technical Review, 2015, 32(4): 240-251.
[2] Rao P V L N, Abhilash P S. Application of Mobile Robots by Using Speech Recognition in Engineering[J]. International Journal of u- and e-Service, Science and Technology, 2015, 8(6): 229-234.
[3] Kumar P S, Suraj S, Subramanian R V, et al. Voice Operated Micro Air Vehicle[J]. International Journal of Micro Air Vehicles, 2014, 6(2): 129-137.
[4] Pai N, Chen S, Chen P, et al. Application of HMM-based chinese speech recognition on internet of things for smart home systems[J]. ICIC Express Letters, Part B: Applications, 2016, 7(9): 1901-1909.
[5]張禮偉,呂延航. 淺析航海智能化的發(fā)展[J]. 機電設備, 2016, 42(1): 1-5.
[6]柳晨光,初秀民,謝朔,等. 船舶智能化研究現(xiàn)狀與展望[J]. 船舶工程, 2016, 38(3): 77-84.
[7]邢永康, 馬少平. 統(tǒng)計語言模型綜述[J]. 計算機科學, 2003, 30(9): 22-26.
[8]婁新燕. 基于統(tǒng)計語言模型的交通會話識別[D]. 濟南:山東大學, 2014.
[9]王賀福. 統(tǒng)計語言模型應用與研究[D]. 廈門:復旦大學, 2012.
[10]翟明新. 統(tǒng)計語言模型平滑技術和壓縮技術的研究與實現(xiàn)[D]. 西安:西安電子科技大學, 2012.