官术网_书友最值得收藏!

1.3 一些其他細節(jié)

本章的前兩節(jié)簡要介紹了語音識別的發(fā)展歷史和主流技術架構,作為補充,本節(jié)將介紹語音識別的一些其他細節(jié)。

1.3.1 語音信號處理

如前文所述,語音識別系統(tǒng)的輸入是語音信號。采集語音信號的設備是麥克風,不同類型的麥克風采集到的語音信號的特性也不同。例如,在使用手機語音搜索功能時,語音信號是由手機麥克風采集的,通常發(fā)音離麥克風比較近,稱之為近場,其輸出以單聲道或雙聲道為主;在使用智能音箱進行家居設備控制時,語音信號是由音箱中的麥克風陣列采集的,通常發(fā)音離麥克風陣列比較遠,稱之為遠場,典型的設備如4麥和6麥的陣列,其輸出是多聲道的音頻。

無論是近場還是遠場,驅動麥克風的音頻芯片通常都要進行一系列的處理,包括采樣、量化、回聲消除、噪聲抑制、動態(tài)增益控制和音頻編解碼等,其作用分別如下。

· 采樣是將空氣中傳播的聲波信號轉換為計算機可以處理的數(shù)字信號。麥克風的振元在聲波的震動下連續(xù)抖動,導致麥克風電路中的電流連續(xù)變化,采樣的過程是每隔一段時間記錄一個電流值,并保持至下一次采樣,然后重復這個采樣—保持的過程。每采樣一次得到一個樣點,樣點之間的時間間隔就是采樣周期,采樣周期的倒數(shù)是采樣頻率。例如,每隔1/16000秒采樣,采樣頻率就是16000Hz。

· 量化的目標是高效地保存樣點值。由于麥克風的物理特性限制,振元的最大振幅是固定的,樣點的電流大小在正負最大值之間連續(xù)變化。連續(xù)量的保存需要比較高的精度,因此常用16比特或8比特的整型來表示一個樣點,這個樣點格式轉換的過程就是量化。

· 回聲消除是語音交互應用,尤其是遠場語音交互中一個必不可少的模塊。在語音交互過程中,輸出以合成語音的方式從設備的揚聲器中播放出來,如果沒有回聲消除,輸出的聲音就會被麥克風采集,觸發(fā)語音識別,形成回聲。傳統(tǒng)聲學處理的回聲分為電路回聲和聲學回聲,這里所說的回聲特指后者。

· 噪聲抑制是提升語音識別性能的有效手段,常用的噪聲抑制技術有頻域抑制和空域抑制。空域抑制可以借助麥克風陣列技術,利用聲源定位和波束形成(Beamforming)等算法,增強某個方位的語音信號。頻域抑制的技術廣泛應用于通信領域,大部分技術手段的目的是讓人聽得更清楚,但是語音識別系統(tǒng)的特性與人耳的特性不同,因此有很多致力于改善語音識別的頻域噪聲抑制技術的研發(fā)工作。

· 動態(tài)增益控制是麥克風系統(tǒng)中常用的模塊,可以有效改善由于距離等現(xiàn)實環(huán)境因素導致的聲音忽大忽小的現(xiàn)象。

· 音頻編解碼:如今業(yè)界的大詞匯量連續(xù)語音識別主要是基于云服務的,所以語音信號在上傳至云服務器之前,通常會經過音頻編碼以降低傳輸成本并提升速度,而在服務端,需要將接收到的編碼比特包解碼還原成音頻信號。

在上述處理方法中,采樣和量化是將聲音信號轉換成計算機數(shù)據(jù)必不可少的方法,其他處理模塊的選用要依據(jù)使用場景的需要而定。

1.3.2 發(fā)音和語言學

人類語音區(qū)別于其他各種各樣的聲音的一個重要特點是其高效的表意能力,語言學家經過多年的研究發(fā)現(xiàn),在各種語言中,人類說話的聲音大體可以分為有限的若干基本元素,這些元素被稱為音素(Phoneme)。在各個語言中,表意的基本單元,無論是中文的字,還是英文的詞,都可以由音素組合,進而將各種語言的書寫系統(tǒng)與發(fā)音系統(tǒng)聯(lián)系起來,這種表意單元與音素組合之間的映射就是發(fā)音詞典(Pronunciation dictionary)。

由于音素是語言學家人為定義的概念,所以在每種語言中都有多種音素定義,稱為不同的音素集(Phone set)。對應的,也就有不同的發(fā)音詞典。例如,在美式英語的語音識別中,常用的是卡內基梅隆大學語音組發(fā)布的發(fā)音詞典和音素集;在漢語語音識別中,常用拼音的聲母和韻母作為音素。由于存在多發(fā)音和同音字(詞)現(xiàn)象,因此發(fā)音詞典并不是一一映射的。除語音音素外,為了使語音識別模型能夠處理非語音,通常還要加入非語音音素,如靜音音素、噪聲音素等。

需要注意的是,音素只是對某種語言中的發(fā)音方式的籠統(tǒng)分類,在實際應用中,還需要考慮受上下文影響造成的協(xié)同發(fā)音現(xiàn)象。語音識別中的很多技術都是為了處理協(xié)同發(fā)音的,例如,每個音素往往分為多個狀態(tài),分別對應不同的發(fā)音階段,而不同發(fā)音階段的差異主要就是受上下文的相鄰音素影響。再比如,在對每個音素建模時,建模對象實際上是由上下文音素組成的三音子(Triphone)組合。

1.3.3 語音識別系統(tǒng)的評價

語音識別系統(tǒng)最常用的評價指標是詞錯誤率(Word Error Rate,WER)。在中文里,通常使用字錯誤率(Character Error Rate,CER)來表示。

WER的計算方法是,對于一段音頻,已知其標注文本(Reference)和語音識別的結果(Hypothesis),將識別結果中錯誤詞的累計個數(shù)除以標注中總的詞數(shù),結果表示為一個百分數(shù)。對錯誤詞有以下三種定義。

· 插入(Insertion)錯誤,表示識別出來的單詞不存在于正確答案中的對應位置上,卻被錯誤地識別出了。比如,正確答案是“My name is Andy”,卻識別成了“My nick name is Andy”,這里“nick”就是一個插入錯誤。

· 刪除(Deletion)錯誤,表示單詞在正確答案中存在,卻被漏識別了。比如,正確答案是“My name is Andy”,卻識別成了“My name Andy”,這里“is”沒有被識別出來,就記為一個刪除錯誤。

· 替換(Substitute)錯誤,表示單詞被誤識別成其他單詞。比如,正確答案是“My name is Andy”,卻識別成了“My name are Andy”,這里“are”就是一個替換錯誤。

在統(tǒng)計一個測試集的WER時,使用累計所有測試句子的三種錯誤個數(shù)和全部標注文本的詞數(shù),可得WER:

除錯誤率外,還可以用正確率(Acc)來評價,使用累計所有測試句子的正確識別詞數(shù)和全部標注文本詞數(shù),可得Acc:

在實際測試數(shù)據(jù)中,往往是多種錯誤類型并存于一個句子中。通過上面兩個公式可以知道,正確率與錯誤率之和并不一定等于1,而且錯誤率可能超過100%。

除評價識別結果的質量外,識別的速度是實際應用中另一個需要關注的指標。評價識別速度最常用的方法是實時率(Real Time Factor,RTF),即用識別耗時除以句子時長。

主站蜘蛛池模板: 桃江县| 册亨县| 邯郸市| 托克逊县| 辰溪县| 资溪县| 昌黎县| 漯河市| 施秉县| 鄂伦春自治旗| 德安县| 任丘市| 乳山市| 凌云县| 定州市| 福安市| 乐山市| 崇信县| 禄丰县| 奇台县| 资源县| 秭归县| 武安市| 天台县| 喀什市| 绥宁县| 葵青区| 惠东县| 大城县| 湘阴县| 丰顺县| 丹巴县| 南开区| 同江市| 汶上县| 全南县| 泸州市| 任丘市| 东阳市| 山阴县| 枣强县|