自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談?wù)Z音識(shí)別、匹配算法和模型

人工智能 語(yǔ)音識(shí)別 算法
語(yǔ)音是一個(gè)復(fù)雜的現(xiàn)象。我們基本上不知道它是如何產(chǎn)生和被感知的。我們最基礎(chǔ)的認(rèn)識(shí)就是語(yǔ)音是由單詞來(lái)構(gòu)成的,然后每個(gè)單詞是由音素來(lái)構(gòu)成的。但事 實(shí)與我們的理解大相徑庭。

 [[185868]]

語(yǔ)音的基本概念

語(yǔ)音是一個(gè)復(fù)雜的現(xiàn)象。我們基本上不知道它是如何產(chǎn)生和被感知的。我們最基礎(chǔ)的認(rèn)識(shí)就是語(yǔ)音是由單詞來(lái)構(gòu)成的,然后每個(gè)單詞是由音素來(lái)構(gòu)成的。但事 實(shí)與我們的理解大相徑庭。語(yǔ)音是一個(gè)動(dòng)態(tài)過(guò)程,不存在很明顯的部分劃分。通過(guò)音頻編輯軟件去查看一個(gè)語(yǔ)音的錄音對(duì)于理解語(yǔ)音是一個(gè)比較有效的方法。下面就 是一個(gè)錄音在音頻編輯器里的顯示的例子。

[[185869]]

 

目前關(guān)于語(yǔ)音的所有描述說(shuō)明從某種程度上面講都是基于概率的(基于頻譜?)。這意味著在語(yǔ)音單元或者單詞之間并沒(méi)有確定的邊界。語(yǔ)音識(shí)別技術(shù)沒(méi)辦法 到達(dá)100%的準(zhǔn)確率。這個(gè)概念對(duì)于軟件開(kāi)發(fā)者來(lái)說(shuō)有點(diǎn)不可思議,因?yàn)樗麄兯芯康南到y(tǒng)通常都是確定性的。另外,對(duì)于語(yǔ)音技術(shù)來(lái)說(shuō),它會(huì)產(chǎn)生很多和語(yǔ)言相 關(guān)的特定的問(wèn)題。

語(yǔ)音的構(gòu)成

在本文中,我們是按照以下方式去理解語(yǔ)音的構(gòu)成的:

語(yǔ)音是一個(gè)連續(xù)的音頻流,它是由大部分的穩(wěn)定態(tài)和部分動(dòng)態(tài)改變的狀態(tài)混合構(gòu)成。

一個(gè)單詞的發(fā)聲(波形)實(shí)際上取決于很多因素,而不僅僅是音素,例如音素上下文、說(shuō)話者、語(yǔ)音風(fēng)格等;

協(xié)同發(fā)音(指的是一個(gè)音受前后相鄰音的影響而發(fā)生變化,從發(fā)聲機(jī)理上看就是人的發(fā)聲器官在一個(gè)音轉(zhuǎn)向另一個(gè)音時(shí)其特性只能漸變,從而使得后一個(gè)音的 頻譜與其他條件下的頻譜產(chǎn)生差異。)的存在使得音素的感知與標(biāo)準(zhǔn)不一樣,所以我們需要根據(jù)上下文來(lái)辨別音素。將一個(gè)音素劃分為幾個(gè)亞音素單元。如:數(shù)字 “three”,音素的第一部分與在它之前的音素存在關(guān)聯(lián),中間部分是穩(wěn)定的部分,而最后一部分則與下一個(gè)音素存在關(guān)聯(lián),這就是為什么在用HMM模型做語(yǔ) 音識(shí)別時(shí),選擇音素的三狀態(tài)HMM模型。(上下文相關(guān)建模方法在建模時(shí)考慮了這一影響,從而使模型能更準(zhǔn)確地描述語(yǔ)音,只考慮前一音的影響的稱為Bi- Phone,考慮前一音和后一音的影響的稱為 Tri-Phone。)

有時(shí)候,音素會(huì)被放在上下文中考慮,這樣就形成了三元音素或者多元音素。但它與亞音素不同,他們?cè)诓ㄐ沃衅ヅ鋾r(shí)長(zhǎng)度還是和單一音素一樣。只是名字上 的不同而已,所以我們更傾向于將這樣的多元音素稱為senone。一個(gè)senone的上下文依賴比單純的左右上下文復(fù)雜得多,它是一個(gè)可以被決策樹(shù)或者其 他方式來(lái)定義的復(fù)雜函數(shù)。(英語(yǔ)的上下文相關(guān)建模通常以音素為基元,由于有些音素對(duì)其后音素的影響是相似的,因而可以通過(guò)音素解碼狀態(tài)的聚類進(jìn)行模型參數(shù) 的共享。聚類的結(jié)果稱為senone。決策樹(shù)用來(lái)實(shí)現(xiàn)高效的triphone對(duì)senone的對(duì)應(yīng),通過(guò)回答一系列前后音所屬類別(元/輔音、清/濁音等 等)的問(wèn)題,最終確定其HMM狀態(tài)應(yīng)使用哪個(gè)senone。分類回歸樹(shù)CART模型用以進(jìn)行詞到音素的發(fā)音標(biāo)注。)

音素phones構(gòu)成亞單詞單元,也就是音節(jié)syllables。音節(jié)是一個(gè)比較穩(wěn)定的實(shí)體,因?yàn)楫?dāng)語(yǔ)音變得比較快的時(shí)候,音素往往會(huì)發(fā)生改變,但是音節(jié)卻不變。音節(jié)與節(jié)奏語(yǔ)調(diào)的輪廓有關(guān)。有幾種方式去產(chǎn)生音節(jié):基于形態(tài)學(xué)或者基于語(yǔ)音學(xué)。音節(jié)經(jīng)常在詞匯語(yǔ)音識(shí)別中使用。

亞單詞單元(音節(jié))構(gòu)成單詞。單詞在語(yǔ)音識(shí)別中很重要,因?yàn)閱卧~約束了音素的組合。假如共有40個(gè)音素,然后每個(gè)單詞平均有7個(gè)音素,那么就會(huì)存在40^7個(gè)單詞,但幸運(yùn)的是就算一個(gè)受過(guò)優(yōu)等教育的人也很少使用過(guò)20k個(gè)單詞,這就使識(shí)別變得可行。

單詞和一些非語(yǔ)言學(xué)聲音構(gòu)成了話語(yǔ)utterances,我們把非語(yǔ)言學(xué)聲音稱為fillers填充物,例如呼吸,um,uh,咳嗽等,它們?cè)谝纛l中是以停頓做分離的。所以它們更多只是語(yǔ)義上面的概念,不算是一個(gè)句子。

語(yǔ)音識(shí)別過(guò)程

語(yǔ)音識(shí)別一般的方法是:錄制語(yǔ)音波形,再把波形通過(guò)靜音silences分割為多個(gè)utterances,然后去識(shí)別每個(gè)utterance所表達(dá)的意思。為了達(dá)到這個(gè)目的,我們需要用單詞的所有可能組合去匹配這段音頻,然后選擇匹配度最高的組合。

在匹配中有幾個(gè)關(guān)鍵的概念需要了解的:

特征:

由于描述一個(gè)語(yǔ)音,需要的參數(shù)個(gè)數(shù)非常多,這樣對(duì)處理速度的要求就很高(而且也沒(méi)必要處理那么多的信息,我們只需要處理對(duì)識(shí)別有幫助的就行),所以 我們需要做優(yōu)化,進(jìn)行降維。我們用幀frames去分割語(yǔ)音波形,每幀大概10ms,然后每幀提取可以代表該幀語(yǔ)音的39個(gè)數(shù)字,這39個(gè)數(shù)字也就是該幀 語(yǔ)音的特征,用特征向量來(lái)表示。而如何提取特征向量是當(dāng)下熱門的研究課題,但這些提取方法都是由頻譜衍生出來(lái)的。

模型:

模型是用來(lái)描述一些數(shù)學(xué)對(duì)象的。這些數(shù)學(xué)對(duì)象描述了一些口語(yǔ)的共同屬性。在實(shí)際應(yīng)用中,senone的音頻模型就是三態(tài)高斯混合模型。簡(jiǎn)單的說(shuō),它 就是一個(gè)最有可能的特征向量。對(duì)于模型,有幾個(gè)問(wèn)題需要考慮:模型到底多大程度上可以描述實(shí)際情況?在模型本身的局限情況下模型能表現(xiàn)得更優(yōu)嗎?自適應(yīng)模 型如何改變條件?

匹配算法:

語(yǔ)音識(shí)別需要對(duì)所有的特征向量和所有的模型做比較匹配,這是一個(gè)非常耗時(shí)的工作。而在這方面的優(yōu)化往往是使用一些技巧,在每一點(diǎn)的匹配時(shí),我們通過(guò)保留最好的匹配variants,然后通過(guò)它在下一幀產(chǎn)生最好的匹配variants。?

聲學(xué)模型acoustic model:

一個(gè)聲學(xué)模型包含每個(gè)senone的聲學(xué)屬性,其包括不依賴于上下文的屬性(每個(gè)音素phone最大可能的特征向量)和依賴于上下文的屬性(根據(jù)上下文構(gòu)建的senone)。

語(yǔ)音學(xué)字典phonetic dictionary:

字典包含了從單詞words到音素phones之間的映射。

字典并不是描述單詞words到音素phones之間的映射的唯一方法。可以通過(guò)運(yùn)用機(jī)器學(xué)習(xí)算法去學(xué)習(xí)得到一些復(fù)雜的函數(shù)去完成映射功能。

語(yǔ)言模型 language model:

語(yǔ)言模型是用來(lái)約束單詞搜索的。它定義了哪些詞能跟在上一個(gè)已經(jīng)識(shí)別的詞的后面(匹配是一個(gè)順序的處理過(guò)程),這樣就可以為匹配過(guò)程排除一些不可能 的單詞。大部分的語(yǔ)言模型都是使用n-gram模型,它包含了單詞序列的統(tǒng)計(jì)。和有限狀態(tài)模型,它通過(guò)有限狀態(tài)機(jī)來(lái)定義語(yǔ)音序列。有時(shí)候會(huì)加入權(quán)值。為了 達(dá)到比較好的識(shí)別準(zhǔn)確率,語(yǔ)言模型必須能夠很好的約束空間搜索,也就是說(shuō)可以更好的預(yù)測(cè)下一個(gè)詞。語(yǔ)言模型是約束詞匯包含的單詞的,這就出現(xiàn)一個(gè)問(wèn)題,就 是名字識(shí)別(因?yàn)槊挚梢噪S便由幾個(gè)單詞組成)。為了處理這種情況,語(yǔ)言模型可以包含更小的塊,例如亞單詞,甚至音素。但是這種情況,識(shí)別準(zhǔn)確率將會(huì)低于 基于單詞的語(yǔ)言模型。

特征、模型和搜索算法三部分構(gòu)成了一個(gè)語(yǔ)音識(shí)別系統(tǒng)。如果你需要識(shí)別不同的語(yǔ)言,那么就需要修改這三個(gè)部分。很多語(yǔ)言,都已經(jīng)存在聲學(xué)模型,字典,甚至大詞匯量語(yǔ)言模型可供下載了。

其他用到的概念

網(wǎng)格Lattice是一個(gè)代表識(shí)別的不同結(jié)果的有向圖。一般來(lái)說(shuō),很難去獲得一個(gè)最好的語(yǔ)音匹配結(jié)果。所以Lattices就是一個(gè)比較好的格式去存放語(yǔ)音識(shí)別的中間結(jié)果。

N-best lists和lattices有點(diǎn)像,但是它沒(méi)有l(wèi)attices那么密集(也就是保留的結(jié)果沒(méi)有l(wèi)attices多)。(N-best搜索和多遍搜索: 為在搜索中利用各種知識(shí)源,通常要進(jìn)行多遍搜索,第一遍使用代價(jià)低的知識(shí)源(如聲學(xué)模型、語(yǔ)言模型和音標(biāo)詞典),產(chǎn)生一個(gè)候選列表或詞候選網(wǎng)格,在此基礎(chǔ) 上進(jìn)行使用代價(jià)高的知識(shí)源(如4階或5階的N-Gram、4階或更高的上下文相關(guān)模型)的第二遍搜索得到最佳路徑。)

單詞混淆網(wǎng)絡(luò)是從lattice的邊緣得到的一個(gè)嚴(yán)格的節(jié)點(diǎn)順序序列。

語(yǔ)音數(shù)據(jù)庫(kù)-一個(gè)從任務(wù)數(shù)據(jù)庫(kù)得到的典型的錄音集。如果我們開(kāi)發(fā)的是一個(gè)對(duì)話的系統(tǒng),那么數(shù)據(jù)庫(kù)就是包含了多個(gè)用戶的對(duì)話錄音。而對(duì)于聽(tīng)寫系統(tǒng),包含的就是朗讀的錄音。語(yǔ)音數(shù)據(jù)庫(kù)是來(lái)用訓(xùn)練,調(diào)整和測(cè)試解碼系統(tǒng)的(也就是語(yǔ)音識(shí)別系統(tǒng))。

文本數(shù)據(jù)庫(kù)-為了訓(xùn)練語(yǔ)言模型而收集的文本。一般是以樣本文本的方式來(lái)收集形成的。而收集過(guò)程存在一個(gè)問(wèn)題就是誤把PDFs, web pages, scans等現(xiàn)成文檔也當(dāng)成口語(yǔ)文本的形式放進(jìn)數(shù)據(jù)庫(kù)中。所以,我們就需要把這些文件帶進(jìn)數(shù)據(jù)庫(kù)里面的標(biāo)簽和文件頭去掉,還有把數(shù)字展開(kāi)為它們的語(yǔ)音形式 (例如1展開(kāi)為英文的one或者漢語(yǔ)的yi),另外還需要把縮寫給擴(kuò)大還原為完整單詞。

語(yǔ)音的優(yōu)化

隨著語(yǔ)音識(shí)別技術(shù)的發(fā)展,最復(fù)雜的難題是如何使搜索(也就是語(yǔ)音解碼,可以認(rèn)為是需要匹配盡可能多的語(yǔ)音變體)更加準(zhǔn)確和快速。還有在模型并不完美的前提下如何匹配語(yǔ)音和模型。

一般來(lái)說(shuō)系統(tǒng)需要通過(guò)一個(gè)測(cè)試數(shù)據(jù)庫(kù)來(lái)驗(yàn)證準(zhǔn)確性,也就是是否達(dá)到了我們的預(yù)定目標(biāo)。

我們通過(guò)以下幾個(gè)參數(shù)來(lái)表征系統(tǒng)的性能:

單詞錯(cuò)誤率:我們有一個(gè)N個(gè)單詞長(zhǎng)度的原始文本和識(shí)別出來(lái)的文本。(對(duì)單詞串進(jìn)行識(shí)別難免有詞的插入,替換和刪除的誤識(shí))I代表被插入的單詞個(gè)數(shù),D代表被刪除的單詞個(gè)數(shù),S代表被替換的單詞個(gè)數(shù),那么單詞錯(cuò)誤率就定義為:WER = (I + D + S) / N

單詞錯(cuò)誤率一般通過(guò)百分百來(lái)表示。

準(zhǔn)確度。它和單詞錯(cuò)誤率大部分是相似的,但是它不計(jì)算插入單詞的個(gè)數(shù),它定義為:Accuracy = (N – D – S) / N

對(duì)于大部分任務(wù)來(lái)說(shuō),準(zhǔn)確度事實(shí)上是一個(gè)比較差的度量方法,因?yàn)椴迦氲那闆r對(duì)于識(shí)別結(jié)果的影響也是很重要的。但對(duì)于一些任務(wù)而言,準(zhǔn)確度也是一個(gè)合理的評(píng)價(jià)解碼器性能的參數(shù)。

速度:假設(shè)音頻文件是2個(gè)小時(shí),而解碼花費(fèi)了6個(gè)小時(shí),那么計(jì)算出來(lái)的速度就是3xRT。(3倍速)

ROC曲線:對(duì)于一個(gè)檢測(cè)任務(wù),檢測(cè)會(huì)出現(xiàn)誤報(bào)和命中兩種情況。ROC曲線就是用來(lái)評(píng)價(jià)檢測(cè)性能的。ROC曲線就是描述誤報(bào)和命中的數(shù)目比例的。而且可以通過(guò)ROC曲線取尋找一個(gè)最優(yōu)點(diǎn),在這個(gè)點(diǎn)誤報(bào)最小,而命中最大,也就是接近100%的命中率。

還有其他的方法來(lái)衡量識(shí)別性能,雖然這里沒(méi)有提及,但對(duì)于很多的實(shí)際應(yīng)用來(lái)說(shuō)還是比較重要的。你的第一個(gè)工作應(yīng)該是建立這樣一個(gè)評(píng)價(jià)體系,然后系統(tǒng)地應(yīng)用到開(kāi)發(fā)過(guò)程中。第二個(gè)工作就是收集一個(gè)測(cè)試數(shù)據(jù)庫(kù)來(lái)測(cè)試你的系統(tǒng)性能。

責(zé)任編輯:武曉燕 來(lái)源: open-open
相關(guān)推薦

2021-05-06 11:13:06

人工智能語(yǔ)音識(shí)別

2021-05-06 11:18:23

人工智能語(yǔ)音識(shí)別

2024-05-28 08:11:44

SpringTensorFlow訓(xùn)練

2023-01-30 17:14:40

人工智能語(yǔ)音識(shí)別

2012-07-25 13:23:32

ibmdw

2020-02-13 17:27:31

CAPPaxos 共識(shí)算法

2021-04-27 15:47:12

人工智能語(yǔ)音識(shí)別Transformer

2024-08-19 08:07:52

2022-02-17 17:19:31

鴻蒙語(yǔ)音識(shí)別語(yǔ)音播報(bào)

2012-09-28 14:08:20

大型網(wǎng)站架構(gòu)大型網(wǎng)站算法算法

2020-03-04 10:51:35

Python算法腳本語(yǔ)言

2011-05-31 16:38:47

Android 實(shí)現(xiàn)語(yǔ)音

2022-12-01 07:03:22

語(yǔ)音識(shí)別人工智能技術(shù)

2012-10-09 13:53:33

大型網(wǎng)站算法架構(gòu)

2016-02-17 10:39:18

語(yǔ)音識(shí)別語(yǔ)音合成語(yǔ)音交互

2017-06-02 10:58:00

統(tǒng)計(jì)語(yǔ)言模型

2018-06-07 16:00:28

阿里巴巴語(yǔ)音識(shí)別開(kāi)源

2018-06-12 07:15:18

阿里巴巴技術(shù)語(yǔ)音識(shí)別

2020-02-26 09:00:00

Chatbot架構(gòu)模型聊天機(jī)器人

2023-10-16 19:05:20

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)