<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 語(yǔ)音識別技術(shù)分析:語(yǔ)音變成文字其實(shí)沒(méi)有那么神秘

語(yǔ)音識別技術(shù)分析:語(yǔ)音變成文字其實(shí)沒(méi)有那么神秘

作者: 時(shí)間:2017-10-24 來(lái)源:網(wǎng)絡(luò ) 收藏

  簡(jiǎn)要給大家介紹一下語(yǔ)音怎么變文字的吧。希望這個(gè)介紹能讓所有同學(xué)看懂。

本文引用地址:http://dyxdggzs.com/article/201710/367921.htm

  首先,我們知道聲音實(shí)際上是一種波。常見(jiàn)的 mp3、wmv 等格式都是壓縮格式,必須轉成非壓縮的純波形文件來(lái)處理,比如 Windows PCM 文件,也就是俗稱(chēng)的 wav 文件。wav 文件里存儲的除了一個(gè)文件頭以外,就是聲音波形的一個(gè)個(gè)點(diǎn)了。下圖是一個(gè)波形的示例。

  

  在開(kāi)始之前,有時(shí)需要把首尾端的靜音切除,降低對后續步驟造成的干擾。這個(gè)靜音切除的操作一般稱(chēng)為 VAD,需要用到信號處理的一些技術(shù)。

  要對聲音進(jìn)行分析,需要對聲音分幀,也就是把聲音切開(kāi)成一小段一小段,每小段稱(chēng)為一幀。分幀操作一般不是簡(jiǎn)單的切開(kāi),而是使用移動(dòng)窗函數來(lái)實(shí)現,這里不詳述。幀與幀之間一般是有交疊的,就像下圖這樣:

  

  圖中,每幀的長(cháng)度為 25 毫秒,每?jì)蓭g有 25-10=15 毫秒的交疊。我們稱(chēng)為以幀長(cháng) 25 ms、幀移 10 ms 分幀。圖中,每幀的長(cháng)度為 25 毫秒,每?jì)蓭g有 25-10=15 毫秒的交疊。我們稱(chēng)為以幀長(cháng) 25 ms、幀移 10 ms 分幀。

  分幀后,語(yǔ)音就變成了很多小段。但波形在時(shí)域上幾乎沒(méi)有描述能力,因此必須將波形作變換。常見(jiàn)的一種變換方法是提取 MFCC 特征,根據人耳的生理特性,把每一幀波形變成一個(gè)多維向量,可以簡(jiǎn)單地理解為這個(gè)向量包含了這幀語(yǔ)音的內容信息。這個(gè)過(guò)程叫做聲學(xué)特征提取。實(shí)際應用中,這一步有很多細節,聲學(xué)特征也不止有 MFCC 這一種,具體這里不講。

  至此,聲音就成了一個(gè) 12 行(假設聲學(xué)特征是 12 維)、N 列的一個(gè)矩陣,稱(chēng)之為觀(guān)察序列,這里 N 為總幀數。觀(guān)察序列如下圖所示,圖中,每一幀都用一個(gè) 12 維的向量表示,色塊的顏色深淺表示向量值的大小。

  

  接下來(lái)就要介紹怎樣把這個(gè)矩陣變成文本了。首先要介紹兩個(gè)概念:

  1.音素:?jiǎn)卧~的發(fā)音由音素構成。對英語(yǔ),一種常用的音素集是卡內基梅隆大學(xué)的一套由 39 個(gè)音素構成的音素集,參見(jiàn) The CMU Pronouncing DicTIonary。漢語(yǔ)一般直接用全部聲母和韻母作為音素集,另外漢語(yǔ)識別還分有調無(wú)調,不詳述。

  2.狀態(tài):這里理解成比音素更細致的語(yǔ)音單位就行啦。通常把一個(gè)音素劃分成 3 個(gè)狀態(tài)。

  是怎么工作的呢?實(shí)際上一點(diǎn)都不神秘,無(wú)非是:

  第一步,把幀識別成狀態(tài)(難點(diǎn));

  第二步,把狀態(tài)組合成音素;

  第三步,把音素組合成單詞。

  如下圖所示:

  

  圖中,每個(gè)小豎條代表一幀,若干幀語(yǔ)音對應一個(gè)狀態(tài),每三個(gè)狀態(tài)組合成一個(gè)音素,若干個(gè)音素組合成一個(gè)單詞。也就是說(shuō),只要知道每幀語(yǔ)音對應哪個(gè)狀態(tài)了,的結果也就出來(lái)了。圖中,每個(gè)小豎條代表一幀,若干幀語(yǔ)音對應一個(gè)狀態(tài),每三個(gè)狀態(tài)組合成一個(gè)音素,若干個(gè)音素組合成一個(gè)單詞。也就是說(shuō),只要知道每幀語(yǔ)音對應哪個(gè)狀態(tài)了,語(yǔ)音識別的結果也就出來(lái)了。

  那每幀音素對應哪個(gè)狀態(tài)呢?有個(gè)容易想到的辦法,看某幀對應哪個(gè)狀態(tài)的概率最大,那這幀就屬于哪個(gè)狀態(tài)。比如下面的示意圖,這幀對應 S3 狀態(tài)的概率最大,因此就讓這幀屬于 S3 狀態(tài)。

  

  那這些用到的概率從哪里讀取呢?有個(gè)叫「聲學(xué)模型」的東西,里面存了一大堆參數,通過(guò)這些參數,就可以知道幀和狀態(tài)對應的概率。獲取這一大堆參數的方法叫做「訓練」,需要使用巨大數量的語(yǔ)音數據,訓練的方法比較繁瑣,這里不講。

  但這樣做有一個(gè)問(wèn)題:每一幀都會(huì )得到一個(gè)狀態(tài)號,最后整個(gè)語(yǔ)音就會(huì )得到一堆亂七八糟的狀態(tài)號,相鄰兩幀間的狀態(tài)號基本都不相同。假設語(yǔ)音有 1000 幀,每幀對應 1 個(gè)狀態(tài),每 3 個(gè)狀態(tài)組合成一個(gè)音素,那么大概會(huì )組合成300個(gè)音素,但這段語(yǔ)音其實(shí)根本沒(méi)有這么多音素。如果真這么做,得到的狀態(tài)號可能根本無(wú)法組合成音素。實(shí)際上,相鄰幀的狀態(tài)應該大多數都是相同的才合理,因為每幀很短。

  解決這個(gè)問(wèn)題的常用方法就是使用隱馬爾可夫模型(Hidden Markov Model,HMM)。這東西聽(tīng)起來(lái)好像很高深的樣子,實(shí)際上用起來(lái)很簡(jiǎn)單:

  第一步,構建一個(gè)狀態(tài)網(wǎng)絡(luò )。

  第二步,從狀態(tài)網(wǎng)絡(luò )中尋找與聲音最匹配的路徑。

  這樣就把結果限制在預先設定的網(wǎng)絡(luò )中,避免了剛才說(shuō)到的問(wèn)題,當然也帶來(lái)一個(gè)局限,比如你設定的網(wǎng)絡(luò )里只包含了「今天晴天」和「今天下雨」兩個(gè)句子的狀態(tài)路徑,那么不管說(shuō)些什么,識別出的結果必然是這兩個(gè)句子中的一句。

  那如果想識別任意文本呢?把這個(gè)網(wǎng)絡(luò )搭得足夠大,包含任意文本的路徑就可以了。但這個(gè)網(wǎng)絡(luò )越大,想要達到比較好的識別準確率就越難。所以要根據實(shí)際任務(wù)的需求,合理選擇網(wǎng)絡(luò )大小和結構。

  搭建狀態(tài)網(wǎng)絡(luò ),是由單詞級網(wǎng)絡(luò )展開(kāi)成音素網(wǎng)絡(luò ),再展開(kāi)成狀態(tài)網(wǎng)絡(luò )。語(yǔ)音識別過(guò)程其實(shí)就是在狀態(tài)網(wǎng)絡(luò )中搜索一條最佳路徑,語(yǔ)音對應這條路徑的概率最大,這稱(chēng)之為「解碼」。路徑搜索的算法是一種動(dòng)態(tài)規劃剪枝的算法,稱(chēng)之為 Viterbi 算法,用于尋找全局最優(yōu)路徑。

  

  這里所說(shuō)的累積概率,由三部分構成,分別是:

  觀(guān)察概率:每幀和每個(gè)狀態(tài)對應的概率

  轉移概率:每個(gè)狀態(tài)轉移到自身或轉移到下個(gè)狀態(tài)的概率

  語(yǔ)言概率:根據語(yǔ)言統計規律得到的概率

  其中,前兩種概率從聲學(xué)模型中獲取,最后一種概率從語(yǔ)言模型中獲取。語(yǔ)言模型是使用大量的文本訓練出來(lái)的,可以利用某門(mén)語(yǔ)言本身的統計規律來(lái)幫助提升識別正確率。語(yǔ)言模型很重要,如果不使用語(yǔ)言模型,當狀態(tài)網(wǎng)絡(luò )較大時(shí),識別出的結果基本是一團亂麻。

  這樣基本上語(yǔ)音識別過(guò)程就完成了。

  以上介紹的是傳統的基于 HMM 的語(yǔ)音識別。事實(shí)上,HMM 的內涵絕不是上面所說(shuō)的「無(wú)非是個(gè)狀態(tài)網(wǎng)絡(luò )」那么簡(jiǎn)單。以上的文字只是想讓大家容易理解,并不追求嚴謹。



關(guān)鍵詞: 語(yǔ)音識別

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>