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