語音識別技術在智能語音機器人中的應用
信息時代,科學技術的飛速發(fā)展帶動人工智能化技術的更新進步。機器人的應用領域和范圍也越來越廣泛,在生產、建筑、旅游等各個行業(yè)都能夠看到人工智能機器人的身影。 旅游產業(yè)與互聯(lián)網的結合,要隨著信息技術的發(fā)展與時俱進。物聯(lián)網、人工智能、虛擬現(xiàn)實等新興的互聯(lián)網技術讓旅游產業(yè)的未來充滿了挑戰(zhàn)與機遇,導游等依賴大數(shù)據的職業(yè)完全可能被人工智能機器人取代。
本文主要介紹語音識別技術在智能語音機器人中的應用,一般語音機器人的設計開發(fā)主要著眼于“能聽會說”,力圖利用語音識別和語音合成等技術,將模擬的聽說能力賦予機器人并生動地展示給觀眾,主要應用于展廳博物館等場景,需考慮到機器人所處環(huán)境非常嘈雜,因此對系統(tǒng)的穩(wěn)定性和抗噪性能都提出了較高的要求。此外,由于參與的觀眾來自全國各地,涉及不同性別、年齡、地域口音,所以系統(tǒng)聲學模型的分類設計、調練和自動切換也是一個重要的設計要素。
智能語音機器人的總體設計
智能機器人與觀眾采用相互問答的小型對話形式進行交流。為實現(xiàn)上方便,可把問答對話的領域進行合理的限制。除迎賓和問候語外,可以設計4個問題域:有關時間、日期和星期的問答,有關全世界各大城市所在時區(qū)和當?shù)貢r間的問答,100以內的數(shù)學四則運算題目的問答,沒有關系機器人的身世、本領等自身情況的問答。對于每個限定的問題域,相應詞匯表的大小是有限的。在限定領域、有限詞匯的條件下,機器人基本可以與觀眾進行自由問答,并可以在不同的問題與之間相互切換。系統(tǒng)工作流程圖如下。
系統(tǒng)啟動并初始化后處于等待狀態(tài),如果沒有觀眾靠近,機器人就定時反復播放自我介紹。如果有觀眾參觀(由紅外探測配合),系統(tǒng)檢測到語音信號,便會從等待狀態(tài)進入問答狀態(tài)。在觀眾預先選定的問題域內,機器人將和觀眾進行“自由”問答,在回答觀眾提問的同時,機器人會有協(xié)調的動作加以配合:針對不同觀眾對機器人所提問題的不同回答,機器人會有不同的相應,并以此決定下一步的動作。在某些問題域內,機器人在對文檔話過程中還會向觀眾提出一些問題,并等待觀眾回答。如果觀眾回答正確,機器人將表示祝賀,否則機器人將給出合理的提示(如噪聲太大,講話聲音要大點,沒有聽清楚或者你的答案不正確等)。多次回答不正確時,機器人將給出正確答案,機器人與觀眾對話結束后,向觀眾道別,再次轉入等待狀態(tài)。
核心語音模塊及關鍵技術
語音模塊是智能機器人的核心構件,它完成的功能包括:機器人從外界接收觀眾的語街,送入語音識別器進行識別,再從識別結果中提取若干關鍵詞,而后通過對這些關詞的分析,將其映射為某個問題:機器人再針對此問題生成回答,最后將文本形式的答案合成為語音,輸出給觀眾。如果觀眾的問題超出限定的對話范圍或者識別結果可信度不高,則在答案生成階段給出錯誤提示,并由語音合成器輸出。如果機器人想向觀眾提出問題,也要由語音合成器合成后輸出,模塊的整體框架如下圖所示。
1.問題域相關的數(shù)據組織
機器人與觀眾的問答將限定在某個問題域內進行,針對每個問題域,我們確定了有限大小的“詞匯表”,并通過大量的語料訓練出相應的基于詞類的統(tǒng)計“語言模型”“關鍵詞表”可以從“詞匯表”中提煉得到,它記錄的是對于理解問題有實質作用的詞匯及其相關信息,此外還要在“關鍵詞表”的基礎上形成“關鍵詞類型組合模板庫”,其中每個模板代表問題域內的一類具體問題。
2.識別結果的可信度度量及拒識
從以上框圖可以看到,語音識別器的識別結果作為“關鍵詞提取”和“問題理解等后續(xù)各個步驟的原始輸入,它的正確與否直接影響到整個系的性能。
在限定領域限定詞匯量的條件下,如果觀眾的提問或回答不超出限定的詞匯,識別結果的正確率可以達到95%以上。但是,一旦問題超出限定的領域或者出現(xiàn)了集外詞,識別器的性能就會嚴重下降。因此對識別器識別結果的可信度進行度量就顯得非常重要,它可以降低集外詞(OOV)帶來的不利影響。
我們采取的方法是利用統(tǒng)計語言模型衡量識別所得到的整個句子的可信度。如果一個句子的詞誤識率比較低,構成這個句子的眾多三元短語(w1w2,w3),會比較多的出現(xiàn)在統(tǒng)計語言模型Trigram中;反之如果出現(xiàn)較多的識別錯誤,那么句子中大部分的詞w1和元短語(wl,w2)將出現(xiàn)在Unigram或Bigram中,很少有三元短語命中Trigram對于一個由若干詞W,W2,,Wi,…Wn構成的句子,我們根據各個詞及它所構成的知語在統(tǒng)計語言模型中出現(xiàn)的情況對其中每個詞打分。出現(xiàn)在Trigram中的可信度高,因而得分較高,出現(xiàn)在Bigram或Unigram中的可信度低,因而得分較低。再在各個詞得分的基礎上得到整個句子的可信度得分。若得分低于某個門限,則認為句子中包含較多的識別錯誤或者集外詞,可信度較低,應當被拒識。
3.關鍵詞檢測
從識別器得到的識別結果,是由一個個詞構成的詞序列,其中某些詞對于理解整個句子有著非常重要的作用,這就是我們所說的關鍵詞。在這步要做的就是提取出這些關鍵詞,形成一個關鍵詞串,作為下一步問題理解”的輸入,這種處理同時也是為了降低“問題理解”時的難度。針對上面提到的四個問題域,我們分別設計了關鍵詞表,預先規(guī)定了在這一問題域內的關鍵詞。這個關鍵表是語音識別系統(tǒng)中相應問題域下的詞匯表的子集,記錄了每個關鍵詞的漢字串,類標識和詞序號等信息。在提取關鍵詞時,只需要在句子中進行搜索,檢測到出現(xiàn)在關鍵間表的關鍵詞,記錄它們出現(xiàn)的位置和次序。比如一個句子“請問現(xiàn)在紐約的當?shù)貢r間是幾點鐘?”我們可以提取出關鍵漢字串“現(xiàn)在紐約當?shù)貢r間幾點鐘”以及對應的關鍵詞類型串NOWCITY+LOCALTIME+CCLOCK”。對于不包含關鍵詞的句子我們把它視作無效或者錯誤的輸入,給出相應的提示。
4.問題理解和答案生成
“關鍵詞提取”得到的關鍵詞漢字串以及類型串將用于問題理解和答案生成。
在“問題理解”時,主要用到關鍵詞類型串,通過與模板組合庫中的模板對照,可以把它映射到某一類具體問題上。比如上面例子中的“NOW+CITY+LOCALTIME+OCLOCK”,就可以映射為“詢問某城市的當?shù)貢r間這類問題。在系統(tǒng)中針對每個不同的問題域,設計了許多關鍵字類型組合的模板,每個模板對應一類問題。如果關鍵字類型串成功映射為某類問題,即可轉入“答案生成”,否則我們認為問題無效和錯誤在“答案生成”時,已經明確了問題的類型,相應回答的基本句式就已經確定,所需要的就是給句式賦予具體的內容。利用“關鍵詞提取”得到的關鍵字漢字串和詞序號等信息,可以唯一地確定問題的具體內容,并由此得到問題的最終答案。
以上介紹的是系統(tǒng)的總體結構和流程設計,針對機器人將要長期展出的要求,以及其展出環(huán)境比較嘈雜觀眾類型復雜、年齡跨度大等特點,還有許多實際問題需要解決。比如,針對現(xiàn)場環(huán)境噪聲和不同的觀眾類型需要現(xiàn)場采集數(shù)據,進行聲學模型訓練;根據說話人的不同聲學特性,要對說話人進行聚類,設計分類的聲學模型,并在線選擇、切換;另外還要設計不同的問題域,并組織數(shù)據和訓練相應的語言模型。