本發(fā)明涉及語(yǔ)音識(shí)別領(lǐng)域,尤其涉及一種語(yǔ)音識(shí)別方法和語(yǔ)音識(shí)別系統(tǒng)。
背景技術(shù):
語(yǔ)音識(shí)別,也稱為自動(dòng)語(yǔ)音識(shí)別(automaticspeechrecognition,asr),其目標(biāo)是將人類語(yǔ)音轉(zhuǎn)換為計(jì)算機(jī)可讀的文字或指令,是模式識(shí)別的一個(gè)重要分支。一個(gè)完整的語(yǔ)音識(shí)別系統(tǒng)一般包括語(yǔ)音信號(hào)預(yù)處理、特征提取、模型訓(xùn)練、聲學(xué)模型、語(yǔ)言模型以及自然語(yǔ)言后處理等幾大模塊。
其中,聲學(xué)模型的主要作用是用來(lái)辨識(shí)用戶發(fā)什么樣的音。對(duì)于一門(mén)具體的語(yǔ)言來(lái)說(shuō),需要采集該門(mén)語(yǔ)言數(shù)量眾多的發(fā)音人的數(shù)據(jù)來(lái)進(jìn)行訓(xùn)練,而且這些數(shù)據(jù)需要將對(duì)應(yīng)的文字標(biāo)記出來(lái)。近30年來(lái),語(yǔ)音識(shí)別的聲學(xué)模型建模方法有隱馬爾科夫模型(hiddenmarkovmodel,hmm)、高斯混合模型(gaussianmixturemodel,gmm)以及目前占主流地位的深度神經(jīng)網(wǎng)絡(luò)模型(dnn/cnn/rnn)等。
目前語(yǔ)音識(shí)別技術(shù)路線為語(yǔ)言相關(guān)、說(shuō)話人無(wú)關(guān)的統(tǒng)計(jì)模式識(shí)別技術(shù),不同語(yǔ)言之間由于音系、音段和韻律表現(xiàn)方面的差異,聲學(xué)模型的建模方法可以略有差異。西方語(yǔ)言(如英語(yǔ)、法語(yǔ)和德語(yǔ)等等)絕大多數(shù)都是不帶調(diào)的語(yǔ)言,建立聲學(xué)模型時(shí),可忽略基音信息,對(duì)最終系統(tǒng)的識(shí)別精度幾無(wú)影響。而中文普通話是一種帶調(diào)的語(yǔ)言,普通話一般可分為5個(gè)聲調(diào):第一聲(陰平)、第二聲(陽(yáng)平)、第三聲(上聲)、第四聲(去聲)、第五聲(輕聲),這對(duì)于普通話的辨音識(shí)義非常重要。普通話里邊存在大量的拼音相同但音調(diào)不同的詞匯,如“睡覺(jué)”和“水餃”等等。這就需要我們?cè)谠O(shè)計(jì)和實(shí)現(xiàn)普通話語(yǔ)音識(shí)別系統(tǒng)時(shí),有必要顯式考慮音調(diào)的因素。在模型訓(xùn)練階段,將基音信息充分考慮進(jìn)去。并在識(shí)別解碼階段,正確運(yùn)用相關(guān)模型輔助判決。
在語(yǔ)音信號(hào)分析過(guò)程中,語(yǔ)音信號(hào)中往往有清音(unvoiced)段和濁音(voiced)段。一般認(rèn)為清音段沒(méi)有基音(或者說(shuō)基音),濁音段有基音(或者說(shuō)基音)。這種特性對(duì)基音建模有直接影響。
基音信息在普通話的聲調(diào)辨識(shí)中起著重要作用。
其中,在聲學(xué)模型的各種模型中,比如:將基音信息作為一維特征與譜參數(shù)的多維特征組成聯(lián)合特征,進(jìn)行模型訓(xùn)練。在hmm/gmm中,以一個(gè)流(stream)進(jìn)行處理。這種方法的問(wèn)題是:由于清音段沒(méi)有基音,只能通過(guò)插值來(lái)補(bǔ)全,與實(shí)際情況偏差很大,而且逐幀求出的基音值很難準(zhǔn)確,最終的效果并不理想。
考慮到清音段無(wú)基音和濁音段有基音這種特點(diǎn),利用msd(multi-spacedistribution)模型對(duì)基音進(jìn)行建模。這種方法對(duì)處理清音和濁音的二元特性比較有效,但仍不能充分反映相鄰幀之間基音上的相關(guān)性。
再比如:利用深度神經(jīng)網(wǎng)絡(luò)(deepneuralnetwork)將基音和譜參數(shù)一起建模,但特征不具有歸一化,譜參數(shù)和基音在解碼時(shí)不分離,易引入額外的誤差,導(dǎo)致識(shí)別精度降低。
為此,亟待提供一種識(shí)別精度高的建模方式。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種在聲學(xué)模型中建模精度高、識(shí)別精度高的語(yǔ)音識(shí)別方法和語(yǔ)音識(shí)別系統(tǒng)。
根據(jù)本發(fā)明的一個(gè)方面,提供一種語(yǔ)音識(shí)別方法,其中,所述語(yǔ)音識(shí)別方法包括以下步驟:
對(duì)獲取的語(yǔ)音信號(hào)進(jìn)行預(yù)處理;
從所述語(yǔ)音信號(hào)中提取特征參數(shù);
采用語(yǔ)言模型和基于長(zhǎng)短時(shí)記憶模型結(jié)構(gòu)建立得到的聲學(xué)模型對(duì)所述語(yǔ)音信號(hào)進(jìn)行自動(dòng)識(shí)別;
對(duì)自動(dòng)識(shí)別得到的語(yǔ)音信號(hào)進(jìn)行后處理。
其中,聲學(xué)模型的建立包括特征選取步驟,所述特征選取步驟包括:
將連續(xù)若干幀的基音組合形成一特征向量;
對(duì)所述特征向量進(jìn)行歸整化處理;
將歸整化處理后的特征向量作為長(zhǎng)短時(shí)記憶模型結(jié)構(gòu)的輸入?yún)?shù)。實(shí)現(xiàn)特征的歸一化,提高識(shí)別精度。
其中,在對(duì)所述特征向量進(jìn)行歸整化處理的過(guò)程中,所述歸整化處理在音節(jié)層面進(jìn)行,具體過(guò)程包括:
根據(jù)同一個(gè)音節(jié)內(nèi)部的基音曲線,算其平均值,
各幀基音對(duì)平均值取預(yù)定比值。以建立更為普適的精準(zhǔn)基音模型。
其中,所述預(yù)定比值采用公式:
其中,聲學(xué)模型的建立包括:基于長(zhǎng)短時(shí)記憶模型結(jié)構(gòu)分別建立相互獨(dú)立的譜參數(shù)聲學(xué)模型和基音聲學(xué)模型。
在聲學(xué)模型的建立過(guò)程中,譜參數(shù)聲學(xué)模型和基音聲學(xué)模型相互獨(dú)立建模,識(shí)別的過(guò)程中,譜參數(shù)聲學(xué)模型和基音聲學(xué)模型獨(dú)立計(jì)算似然度和進(jìn)行搜索,不會(huì)影響譜參數(shù)模型識(shí)別過(guò)程。相比采用譜參數(shù)和基音參數(shù)混在一起計(jì)算似然度的方案更靈活,并能避免音調(diào)不準(zhǔn)導(dǎo)致識(shí)別率降低的問(wèn)題。
其中,在解碼識(shí)別過(guò)程中,先利用譜參數(shù)聲學(xué)模型進(jìn)行解碼識(shí)別,再利用基音聲學(xué)模型進(jìn)行解碼識(shí)別。以提高識(shí)別精準(zhǔn)度。
其中,在基音聲學(xué)模型解碼識(shí)別過(guò)程中,對(duì)拼音相同、但調(diào)型不同的詞序列進(jìn)行重新打分以選取更為精準(zhǔn)的詞序列。以提高識(shí)別精準(zhǔn)度。
其中,在利用譜參數(shù)聲學(xué)模型進(jìn)行解碼識(shí)別中,判斷譜參數(shù)聲學(xué)模型的識(shí)別結(jié)果中是否包括相同的拼音,若不包含相同的拼音,則解碼識(shí)別過(guò)程結(jié)束。
其中,在利用譜參數(shù)聲學(xué)模型進(jìn)行解碼識(shí)別中,判斷譜參數(shù)聲學(xué)模型的識(shí)別結(jié)果中是否包括相同的拼音,若包含相同的拼音,則利用基音聲學(xué)模型進(jìn)行解碼識(shí)別。以提高識(shí)別精準(zhǔn)度。
根據(jù)本發(fā)明的另一個(gè)方面,本發(fā)明還提供了一種語(yǔ)音識(shí)別系統(tǒng),所述語(yǔ)音識(shí)別系統(tǒng)包括:
預(yù)處理單元,用于對(duì)語(yǔ)音信號(hào)進(jìn)行預(yù)處理;
提取單元,用于從所述語(yǔ)音信號(hào)中提取特征參數(shù);
識(shí)別器,用于采用語(yǔ)言模型和基于長(zhǎng)短時(shí)記憶模型結(jié)構(gòu)建立得到的聲學(xué)模型對(duì)所述語(yǔ)音信號(hào)進(jìn)行自動(dòng)識(shí)別;
后處理單元,用于對(duì)自動(dòng)識(shí)別得到的結(jié)果進(jìn)行后處理。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):采用長(zhǎng)短時(shí)記憶模型結(jié)構(gòu)可以表征更長(zhǎng)時(shí)間內(nèi)的基音曲線,提高建模精度以及語(yǔ)音識(shí)別精度。
附圖說(shuō)明
通過(guò)閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1為本發(fā)明一個(gè)實(shí)施例的語(yǔ)音識(shí)別方法的流程示意圖;
圖2為本發(fā)明一個(gè)實(shí)施例的語(yǔ)音識(shí)別系統(tǒng)的框圖;
圖3為本發(fā)明一個(gè)實(shí)施例的聲學(xué)模型的總體模型結(jié)構(gòu)示意圖;
附圖中相同或相似的附圖標(biāo)記代表相同或相似的部件。
具體實(shí)施方式
在更加詳細(xì)地討論示例性實(shí)施例之前應(yīng)當(dāng)提到的是,一些示例性實(shí)施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各項(xiàng)操作描述成順序的處理,但是其中的許多操作可以被并行地、并發(fā)地或者同時(shí)實(shí)施。此外,各項(xiàng)操作的順序可以被重新安排。當(dāng)其操作完成時(shí)所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對(duì)應(yīng)于方法、函數(shù)、規(guī)程、子例程、子程序等等。
所述計(jì)算機(jī)設(shè)備包括用戶設(shè)備與網(wǎng)絡(luò)設(shè)備。其中,所述用戶設(shè)備包括但不限于電腦、智能手機(jī)、pda等;所述網(wǎng)絡(luò)設(shè)備包括但不限于單個(gè)網(wǎng)絡(luò)服務(wù)器、多個(gè)網(wǎng)絡(luò)服務(wù)器組成的服務(wù)器組或基于云計(jì)算(cloudcomputing)的由大量計(jì)算機(jī)或網(wǎng)絡(luò)服務(wù)器構(gòu)成的云,其中,云計(jì)算是分布式計(jì)算的一種,由一群松散耦合的計(jì)算機(jī)集組成的一個(gè)超級(jí)虛擬計(jì)算機(jī)。其中,所述計(jì)算機(jī)設(shè)備可單獨(dú)運(yùn)行來(lái)實(shí)現(xiàn)本發(fā)明,也可接入網(wǎng)絡(luò)并通過(guò)與網(wǎng)絡(luò)中的其他計(jì)算機(jī)設(shè)備的交互操作來(lái)實(shí)現(xiàn)本發(fā)明。其中,所述計(jì)算機(jī)設(shè)備所處的網(wǎng)絡(luò)包括但不限于互聯(lián)網(wǎng)、廣域網(wǎng)、城域網(wǎng)、局域網(wǎng)、vpn網(wǎng)絡(luò)等。
需要說(shuō)明的是,所述用戶設(shè)備、網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)等僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的計(jì)算機(jī)設(shè)備或網(wǎng)絡(luò)如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并以引用方式包含于此。
后面所討論的方法(其中一些通過(guò)流程圖示出)可以通過(guò)硬件、軟件、固件、中間件、微代碼、硬件描述語(yǔ)言或者其任意組合來(lái)實(shí)施。當(dāng)用軟件、固件、中間件或微代碼來(lái)實(shí)施時(shí),用以實(shí)施必要任務(wù)的程序代碼或代碼段可以被存儲(chǔ)在機(jī)器或計(jì)算機(jī)可讀介質(zhì)(比如存儲(chǔ)介質(zhì))中。(一個(gè)或多個(gè))處理器可以實(shí)施必要的任務(wù)。
這里所公開(kāi)的具體結(jié)構(gòu)和功能細(xì)節(jié)僅僅是代表性的,并且是用于描述本發(fā)明的示例性實(shí)施例的目的。但是本發(fā)明可以通過(guò)許多替換形式來(lái)具體實(shí)現(xiàn),并且不應(yīng)當(dāng)被解釋成僅僅受限于這里所闡述的實(shí)施例。
應(yīng)當(dāng)理解的是,雖然在這里可能使用了術(shù)語(yǔ)“第一”、“第二”等等來(lái)描述各個(gè)單元,但是這些單元不應(yīng)當(dāng)受這些術(shù)語(yǔ)限制。使用這些術(shù)語(yǔ)僅僅是為了將一個(gè)單元與另一個(gè)單元進(jìn)行區(qū)分。舉例來(lái)說(shuō),在不背離示例性實(shí)施例的范圍的情況下,第一單元可以被稱為第二單元,并且類似地第二單元可以被稱為第一單元。這里所使用的術(shù)語(yǔ)“和/或”包括其中一個(gè)或更多所列出的相關(guān)聯(lián)項(xiàng)目的任意和所有組合。
應(yīng)當(dāng)理解的是,當(dāng)一個(gè)單元被稱為“連接”或“耦合”到另一單元時(shí),其可以直接連接或耦合到所述另一單元,或者可以存在中間單元。與此相對(duì),當(dāng)一個(gè)單元被稱為“直接連接”或“直接耦合”到另一單元時(shí),則不存在中間單元。應(yīng)當(dāng)按照類似的方式來(lái)解釋被用于描述單元之間的關(guān)系的其他詞語(yǔ)(例如“處于...之間”相比于“直接處于...之間”,“與...鄰近”相比于“與...直接鄰近”等等)。
這里所使用的術(shù)語(yǔ)僅僅是為了描述具體實(shí)施例而不意圖限制示例性實(shí)施例。除非上下文明確地另有所指,否則這里所使用的單數(shù)形式“一個(gè)”、“一項(xiàng)”還意圖包括復(fù)數(shù)。還應(yīng)當(dāng)理解的是,這里所使用的術(shù)語(yǔ)“包括”和/或“包含”規(guī)定所陳述的特征、整數(shù)、步驟、操作、單元和/或組件的存在,而不排除存在或添加一個(gè)或更多其他特征、整數(shù)、步驟、操作、單元、組件和/或其組合。
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。
圖1為本發(fā)明一個(gè)實(shí)施例的語(yǔ)音識(shí)別方法的流程示意圖。圖2為本發(fā)明一個(gè)實(shí)施例的語(yǔ)音識(shí)別系統(tǒng)的示意框圖。所述語(yǔ)音識(shí)別方法包括由圖2中的語(yǔ)音識(shí)別系統(tǒng)執(zhí)行的步驟s101、步驟s102、步驟s103和步驟s104。
其中,本實(shí)施例的語(yǔ)音識(shí)別方法主要通過(guò)網(wǎng)絡(luò)設(shè)備和用戶設(shè)備來(lái)實(shí)現(xiàn);所述用戶設(shè)備包括但不限于pc機(jī)、平板電腦、智能手機(jī)、pda等;所述網(wǎng)絡(luò)設(shè)備包括但不限于單個(gè)網(wǎng)絡(luò)服務(wù)器、多個(gè)網(wǎng)絡(luò)服務(wù)器組成的服務(wù)器組或基于云計(jì)算(cloudcomputing)的由大量計(jì)算機(jī)或網(wǎng)絡(luò)服務(wù)器構(gòu)成的云,其中,云計(jì)算是分布式計(jì)算的一種,由一群松散耦合的計(jì)算機(jī)集組成的一個(gè)超級(jí)虛擬計(jì)算機(jī)。而本實(shí)施例的用戶設(shè)備依手機(jī)為例進(jìn)行說(shuō)明,以及網(wǎng)絡(luò)設(shè)備依服務(wù)器為例進(jìn)行說(shuō)明。
需要說(shuō)明的是,所述用戶設(shè)備采用手機(jī)僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的網(wǎng)絡(luò)設(shè)備和用戶設(shè)備如可適用于本發(fā)明,也應(yīng)包含在本發(fā)明保護(hù)范圍以內(nèi),并以引用方式包含于此。
根據(jù)本實(shí)施例的語(yǔ)音識(shí)別方法包括步驟s101、步驟s102、步驟s103和步驟s104。
在步驟s101中,對(duì)獲取的語(yǔ)音信號(hào)進(jìn)行預(yù)處理。具體的,可對(duì)語(yǔ)音信息進(jìn)行降噪、增強(qiáng)以處理原始語(yǔ)音信號(hào),部分消除噪聲和不同說(shuō)話人帶來(lái)的影響,使處理后的語(yǔ)音信號(hào)更能反映語(yǔ)音的本質(zhì)特征。
在步驟s102中,從所述語(yǔ)音信號(hào)中提取特征參數(shù)。具體的,特征參數(shù)提取是從語(yǔ)音信號(hào)中提取出有關(guān)的特征參數(shù),如梅爾頻率倒譜系數(shù)(mel-frequencycepstralcoefficient,mfcc)或?yàn)V波器組系數(shù)(filterbankcoefficient)等等。
在步驟s103中,采用語(yǔ)言模型和基于長(zhǎng)短時(shí)記憶模型結(jié)構(gòu)建立得到的聲學(xué)模型對(duì)所述語(yǔ)音信號(hào)進(jìn)行自動(dòng)識(shí)別。具體的,可以采用識(shí)別器進(jìn)行搜索,在搜索空間中確定跟用戶語(yǔ)音吻合度最高的詞序列。比如:采用搜索算法為時(shí)間同步的viterbi搜索。
本發(fā)明實(shí)施例采用長(zhǎng)短時(shí)記憶模型結(jié)構(gòu)可以表征更長(zhǎng)時(shí)間內(nèi)的基音曲線,提高建模精度。
其中,語(yǔ)言模型的作用是幫助辨識(shí)用戶發(fā)出的音對(duì)應(yīng)于什么文字,對(duì)于普通話同音字的辨識(shí)起著重要作用,比如普通話中同音字比比皆是(工/供/功/公/宮)、甚至還有些同音詞(公式/工事/公示/公事/攻勢(shì))。語(yǔ)言模型利用前后詞匯的搭配信息來(lái)選取更為準(zhǔn)確的詞匯序列。本發(fā)明實(shí)施例的語(yǔ)言模型的類型包括但并不限于規(guī)則模型和統(tǒng)計(jì)模型。其中,統(tǒng)計(jì)語(yǔ)言模型是用概率統(tǒng)計(jì)的方法來(lái)揭示語(yǔ)言單位內(nèi)在的統(tǒng)計(jì)規(guī)律,其簡(jiǎn)單有效。
其中,聲學(xué)模型是基于長(zhǎng)短時(shí)記憶(longshort-termmemory,lstm)結(jié)構(gòu)模型進(jìn)行構(gòu)建的。現(xiàn)有的聲學(xué)模型中,比如:基于前向深度神經(jīng)網(wǎng)絡(luò)的建模方法,只能逐層傳播,在表征長(zhǎng)距離相關(guān)性(長(zhǎng)時(shí)記憶)方面能力較弱,對(duì)于滑動(dòng)窗之外的輸入特征,沒(méi)有顯式或者隱式的考量。而本發(fā)明實(shí)施例基于長(zhǎng)短時(shí)記憶(longshort-termmemory,lstm)結(jié)構(gòu)模型建立的聲學(xué)模型在重要事件相隔很遠(yuǎn)情況下,依然可以進(jìn)行分類、處理和預(yù)測(cè)。
具體的,lstm結(jié)構(gòu)模型包括有記憶組塊(memoryblock),記憶組塊可以被看作為是存儲(chǔ)芯片在數(shù)字計(jì)算上的微分版本,lstm結(jié)構(gòu)模型中的乘法器允許lstm單元保存和使用過(guò)去很長(zhǎng)時(shí)間的信息,從而可以有效避免梯度消失問(wèn)題。更具體的,每一個(gè)記憶組塊包含一個(gè)或更多的自連接存儲(chǔ)單元,以及三個(gè)乘法器單元:輸入門(mén)、輸出門(mén)、遺忘門(mén)(inputgates,outputgates,forgetgates)。比如:當(dāng)輸入門(mén)保持關(guān)閉狀態(tài),lstm單元的所有動(dòng)作將不會(huì)受當(dāng)前輸入的影響。
本發(fā)明實(shí)施例聲學(xué)模型的總體模型結(jié)構(gòu)如圖3所示;
其中,聲學(xué)模型的建立包括:基于長(zhǎng)短時(shí)記憶模型結(jié)構(gòu)分別建立相互獨(dú)立的譜參數(shù)聲學(xué)模型和基音聲學(xué)模型,也就是說(shuō)基于長(zhǎng)短時(shí)記憶模型結(jié)構(gòu)獨(dú)立建立譜參數(shù)聲學(xué)模型;以及基于短時(shí)記憶模型結(jié)構(gòu)獨(dú)立建立基音聲學(xué)模型。
在聲學(xué)模型的建立過(guò)程中,譜參數(shù)聲學(xué)模型和基音聲學(xué)模型相互獨(dú)立建模,識(shí)別的過(guò)程中,譜參數(shù)聲學(xué)模型和基音聲學(xué)模型獨(dú)立計(jì)算似然度和進(jìn)行搜索,不會(huì)影響譜參數(shù)模型識(shí)別過(guò)程。相比采用譜參數(shù)和基音參數(shù)混在一起計(jì)算似然度的方案更靈活,并能避免音調(diào)不準(zhǔn)導(dǎo)致識(shí)別率降低的問(wèn)題。
其中,在基于短時(shí)記憶模型結(jié)構(gòu)建立聲學(xué)模型中,包括特征選取步驟,所述特征選取步驟包括:將連續(xù)若干幀的基音組合形成一特征向量;
對(duì)所述特征向量進(jìn)行歸整化處理,以實(shí)現(xiàn)歸一化,將譜參數(shù)和基音在解碼時(shí)分離,提高識(shí)別精度;
將歸整化處理后的特征向量作為長(zhǎng)短時(shí)記憶模型結(jié)構(gòu)的輸入?yún)?shù)。
其中,在對(duì)所述特征向量進(jìn)行歸整化處理的過(guò)程中,所述歸整化處理在音節(jié)層面進(jìn)行,以建立更為普適的精準(zhǔn)基音模型。具體過(guò)程包括:
根據(jù)同一個(gè)音節(jié)內(nèi)部的基音曲線,算其平均值,
各幀基音對(duì)平均值取預(yù)定比值,所述預(yù)定比值采用公式:
在解碼識(shí)別過(guò)程中,先利用譜參數(shù)聲學(xué)模型進(jìn)行解碼識(shí)別,再利用基音聲學(xué)模型進(jìn)行解碼識(shí)別。
其中,在基音聲學(xué)模型解碼識(shí)別過(guò)程中,對(duì)拼音相同、但調(diào)型不同的詞序列進(jìn)行重新打分以選取更為精準(zhǔn)的詞序列。
具體的,在利用譜參數(shù)聲學(xué)模型進(jìn)行解碼識(shí)別中,判斷譜參數(shù)聲學(xué)模型的識(shí)別結(jié)果中是否包括相同的拼音,若不包含相同的拼音,則解碼識(shí)別過(guò)程結(jié)束。而若包含相同的拼音,則利用基音聲學(xué)模型進(jìn)行解碼識(shí)別。
更具體的,在語(yǔ)音識(shí)別過(guò)程中,識(shí)別過(guò)程分兩步進(jìn)行(two-pass),第一步是不帶基音的識(shí)別,利用譜參數(shù)作為特征搜索最優(yōu)的詞序列;第二步是利用基音聲學(xué)模型,利用第一步識(shí)別過(guò)程中形成的音素對(duì)齊(alignment)結(jié)果,對(duì)拼音相同但音調(diào)不同的詞序列重新進(jìn)行打分(rescoring),選出基音聲學(xué)模型得分更高的詞序列,這樣可進(jìn)一步提升識(shí)別精度。有效解決“水餃”和“睡覺(jué)”之類的問(wèn)題。
而當(dāng)譜參數(shù)聲學(xué)模型的識(shí)別結(jié)果中不包含相同的拼音,則基音聲學(xué)模型可以不使用。
本發(fā)明實(shí)施例由于采用兩階段解碼,第一步解碼完成后,再在句子層面提取基音曲線,這比邊提取基音、邊解碼的方式更為準(zhǔn)確。
在步驟s104中,對(duì)自動(dòng)識(shí)別得到的結(jié)果進(jìn)行后處理。具體的,自然語(yǔ)言后處理階段是利用語(yǔ)言知識(shí)庫(kù)或模型進(jìn)一步提升語(yǔ)音識(shí)別的精度。對(duì)自然語(yǔ)言的識(shí)別和理解。首先必須將連續(xù)的講話分解為詞、音素等單位,其次要建立一個(gè)理解語(yǔ)義的規(guī)則,根據(jù)上下文的約束對(duì)識(shí)別結(jié)果進(jìn)行糾正和修改。
如圖2所示,圖2為本發(fā)明一個(gè)實(shí)施例的語(yǔ)音識(shí)別系統(tǒng)的示意框圖,所述語(yǔ)音識(shí)別系統(tǒng)100包括預(yù)處理單元101、提取單元102、識(shí)別器103和后處理單元104。
其中,預(yù)處理單元101對(duì)獲取的語(yǔ)音信號(hào)進(jìn)行預(yù)處理。具體的,預(yù)處理單元101可對(duì)語(yǔ)音信息進(jìn)行降噪、增強(qiáng)以處理原始語(yǔ)音信號(hào),部分消除噪聲和不同說(shuō)話人帶來(lái)的影響,使處理后的語(yǔ)音信號(hào)更能反映語(yǔ)音的本質(zhì)特征。
其中,提取單元102從所述語(yǔ)音信號(hào)中提取特征參數(shù)。提取單元102從語(yǔ)音信號(hào)中提取出有關(guān)的特征參數(shù),如梅爾頻率倒譜系數(shù)(mel-frequencycepstralcoefficient,mfcc)或?yàn)V波器組系數(shù)(filterbankcoefficient)等等。
其中,識(shí)別器103采用語(yǔ)言模型和基于長(zhǎng)短時(shí)記憶模型結(jié)構(gòu)建立得到的聲學(xué)模型對(duì)所述語(yǔ)音信號(hào)進(jìn)行自動(dòng)識(shí)別。具體的,識(shí)別器在搜索空間中確定跟用戶語(yǔ)音吻合度最高的詞序列,比如:采用搜索算法為時(shí)間同步的viterbi搜索。
本發(fā)明實(shí)施例的識(shí)別器中采用長(zhǎng)短時(shí)記憶模型結(jié)構(gòu)可以表征更長(zhǎng)時(shí)間內(nèi)的基音曲線,提高建模精度。
其中,識(shí)別器中語(yǔ)言模型的作用是幫助辨識(shí)用戶發(fā)出的音對(duì)應(yīng)于什么文字,對(duì)于普通話同音字的辨識(shí)起著重要作用,比如普通話中同音字比比皆是(工/供/功/公/宮)、甚至還有些同音詞(公式/工事/公示/公事/攻勢(shì))。語(yǔ)言模型利用前后詞匯的搭配信息來(lái)選取更為準(zhǔn)確的詞匯序列。本發(fā)明實(shí)施例的語(yǔ)言模型的類型包括但并不限于規(guī)則模型和統(tǒng)計(jì)模型。其中,統(tǒng)計(jì)語(yǔ)言模型是用概率統(tǒng)計(jì)的方法來(lái)揭示語(yǔ)言單位內(nèi)在的統(tǒng)計(jì)規(guī)律,其簡(jiǎn)單有效。
其中,識(shí)別器中聲學(xué)模型是基于長(zhǎng)短時(shí)記憶(longshort-termmemory,lstm)結(jié)構(gòu)模型進(jìn)行構(gòu)建的?,F(xiàn)有的聲學(xué)模型中,比如:基于前向深度神經(jīng)網(wǎng)絡(luò)的建模方法,只能逐層傳播,在表征長(zhǎng)距離相關(guān)性(長(zhǎng)時(shí)記憶)方面能力較弱,對(duì)于滑動(dòng)窗之外的輸入特征,沒(méi)有顯式或者隱式的考量。而本發(fā)明實(shí)施例基于長(zhǎng)短時(shí)記憶(longshort-termmemory,lstm)結(jié)構(gòu)模型建立的聲學(xué)模型在重要事件相隔很遠(yuǎn)情況下,依然可以進(jìn)行分類、處理和預(yù)測(cè)。
具體的,lstm結(jié)構(gòu)模型包括有記憶組塊(memoryblock),記憶組塊可以被看作為是存儲(chǔ)芯片在數(shù)字計(jì)算上的微分版本,lstm結(jié)構(gòu)模型中的乘法器允許lstm單元保存和使用過(guò)去很長(zhǎng)時(shí)間的信息,從而可以有效避免梯度消失問(wèn)題。更具體的,每一個(gè)記憶組塊包含一個(gè)或更多的自連接存儲(chǔ)單元,以及三個(gè)乘法器單元:輸入門(mén)、輸出門(mén)、遺忘門(mén)(inputgates,outputgates,forgetgates)。比如:當(dāng)輸入門(mén)保持關(guān)閉狀態(tài),lstm單元的所有動(dòng)作將不會(huì)受當(dāng)前輸入的影響。
本發(fā)明實(shí)施例聲學(xué)模型的總體模型結(jié)構(gòu)如圖3所示
其中,聲學(xué)模型的建立包括:基于長(zhǎng)短時(shí)記憶模型結(jié)構(gòu)分別建立相互獨(dú)立的譜參數(shù)聲學(xué)模型和基音聲學(xué)模型,也就是說(shuō)基于長(zhǎng)短時(shí)記憶模型結(jié)構(gòu)獨(dú)立建立譜參數(shù)聲學(xué)模型;以及基于短時(shí)記憶模型結(jié)構(gòu)獨(dú)立建立基音聲學(xué)模型。
在聲學(xué)模型的建立過(guò)程中,譜參數(shù)聲學(xué)模型和基音聲學(xué)模型相互獨(dú)立建模,識(shí)別的過(guò)程中,譜參數(shù)聲學(xué)模型和基音聲學(xué)模型獨(dú)立計(jì)算似然度和進(jìn)行搜索,不會(huì)影響譜參數(shù)模型識(shí)別過(guò)程。相比采用譜參數(shù)和基音參數(shù)混在一起計(jì)算似然度的方案更靈活,并能避免音調(diào)不準(zhǔn)導(dǎo)致識(shí)別率降低的問(wèn)題。
其中,在基于短時(shí)記憶模型結(jié)構(gòu)建立聲學(xué)模型中,識(shí)別器對(duì)特征進(jìn)行選取,具體的是:將連續(xù)若干幀的基音組合形成一特征向量,對(duì)所述特征向量進(jìn)行歸整化處理,以實(shí)現(xiàn)歸一化,將譜參數(shù)和基音在解碼時(shí)分離,提高識(shí)別精度;以及將歸整化處理后的特征向量作為長(zhǎng)短時(shí)記憶模型結(jié)構(gòu)的輸入?yún)?shù)。
其中,在對(duì)所述特征向量進(jìn)行歸整化處理的過(guò)程中,所述歸整化處理在音節(jié)層面進(jìn)行,以建立更為普適的精準(zhǔn)基音模型。具體過(guò)程包括:
根據(jù)同一個(gè)音節(jié)內(nèi)部的基音曲線,算其平均值,
各幀基音對(duì)平均值取預(yù)定比值,所述預(yù)定比值采用公式:
在識(shí)別器解碼識(shí)別過(guò)程中,先利用譜參數(shù)聲學(xué)模型進(jìn)行解碼識(shí)別,再利用基音聲學(xué)模型進(jìn)行解碼識(shí)別。
其中,在基音聲學(xué)模型解碼識(shí)別過(guò)程中,對(duì)拼音相同、但調(diào)型不同的詞序列進(jìn)行重新打分以選取更為精準(zhǔn)的詞序列。
具體的,在利用譜參數(shù)聲學(xué)模型進(jìn)行解碼識(shí)別中,判斷譜參數(shù)聲學(xué)模型的識(shí)別結(jié)果中是否包括相同的拼音,若不包含相同的拼音,則解碼識(shí)別過(guò)程結(jié)束。而若包含相同的拼音,則利用基音聲學(xué)模型進(jìn)行解碼識(shí)別。
更具體的,在識(shí)別器進(jìn)行語(yǔ)音識(shí)別過(guò)程中,識(shí)別過(guò)程分兩步進(jìn)行(two-pass),第一步是不帶基音的識(shí)別,利用譜參數(shù)作為特征搜索最優(yōu)的詞序列;第二步是利用基音聲學(xué)模型,利用第一步識(shí)別過(guò)程中形成的音素對(duì)齊(alignment)結(jié)果,對(duì)拼音相同但音調(diào)不同的詞序列重新進(jìn)行打分(rescoring),選出基音聲學(xué)模型得分更高的詞序列,這樣可進(jìn)一步提升識(shí)別精度。有效解決“水餃”和“睡覺(jué)”之類的問(wèn)題。
而當(dāng)譜參數(shù)聲學(xué)模型的識(shí)別結(jié)果中不包含相同的拼音,則基音聲學(xué)模型可以不使用。
本發(fā)明實(shí)施例由于采用兩階段解碼,第一步解碼完成后,再在句子層面提取基音曲線,這比邊提取基音、邊解碼的方式更為準(zhǔn)確。
后處理單元104對(duì)自動(dòng)識(shí)別得到的結(jié)果進(jìn)行后處理。具體的,自然語(yǔ)言后處理階段是利用語(yǔ)言知識(shí)庫(kù)或模型進(jìn)一步提升語(yǔ)音識(shí)別的精度。后處理單元104對(duì)自然語(yǔ)言的識(shí)別和理解。首先必須將連續(xù)的講話分解為詞、音素等單位,其次要建立一個(gè)理解語(yǔ)義的規(guī)則,根據(jù)上下文的約束對(duì)識(shí)別結(jié)果進(jìn)行糾正和修改。
雖然前面特別示出并且描述了示例性實(shí)施例,但是本領(lǐng)域技術(shù)人員將會(huì)理解的是,在不背離權(quán)利要求書(shū)的精神和范圍的情況下,在其形式和細(xì)節(jié)方面可以有所變化。這里所尋求的保護(hù)在所附權(quán)利要求書(shū)中做了闡述。