本發(fā)明涉及自然語言處理技術(shù)領(lǐng)域,尤其涉及一種語音識別方法和裝置。
背景技術(shù):
語音識別是將語音轉(zhuǎn)成文本的過程,近年來,隨著語音識別技術(shù)的成熟,該技術(shù)已逐漸成功應(yīng)用于各行各業(yè)中,尤其是針對特定領(lǐng)域的語音識別技術(shù),如針對會議的錄音數(shù)據(jù)進行語音識別,將接收的語音數(shù)據(jù)直接轉(zhuǎn)換為會議的文本內(nèi)容,大大方便了會議秘書整理會議紀要。
目前的技術(shù)中,一般直接采用通用的聲學模型及通用語言模型對待識別語音數(shù)據(jù)進行語音識別,針對特定應(yīng)用場景的語音數(shù)據(jù)進行語音識別時,由于經(jīng)常會存在專業(yè)詞匯、特定用法導致無法正確識別的問題,僅僅依靠通用語言模型往往無法滿足應(yīng)用需求,因此往往采用語言模型定制的方式,即預先獲取用戶提供的大量與該特定應(yīng)用場景相關(guān)的語料后,訓練相應(yīng)的主題語言模型,利用該主題語言模型、通用的聲學模型及通用語言模型進行語音識別。
然而,在實際應(yīng)用中,往往僅知道少量應(yīng)用場景信息,無法通過用戶直接獲取到足夠數(shù)量的主題相關(guān)的語料以訓練主題相關(guān)語言模型,導致語音識別的準確度比較低,識別效果較差,如待識別語音數(shù)據(jù)為會議錄音時,往往僅知道會議相關(guān)的演示文稿,數(shù)據(jù)量較少,不足以訓練相應(yīng)的主題語言模型,導致語音識別效果較差。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明提供了一種語音識別方法和裝置,能夠提高識別特定應(yīng)用場景的語音數(shù)據(jù)的準確度,識別效果較好。
為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
第一方面,本發(fā)明實施例提供了一種語音識別方法,包括:
獲取與待識別語音數(shù)據(jù)相關(guān)的基礎(chǔ)資料;
確定所述基礎(chǔ)資料的關(guān)鍵詞;
依據(jù)所述關(guān)鍵詞確定搜索項,通過所述搜索項搜索目標語料;
通過所述目標語料訓練目標主題語言模型,以所述目標主題語言模型識別所述待識別語音數(shù)據(jù)。
可選的,所述確定所述基礎(chǔ)資料的關(guān)鍵詞,包括:
以第一確定方式確定所述關(guān)鍵詞,所述第一確定方式包括,依據(jù)預先訓練得到的編碼-解碼模型計算所述基礎(chǔ)資料中每個詞作為所述關(guān)鍵詞的概率,將所述概率大于第一預設(shè)閾值的詞確定為所述關(guān)鍵詞;
或者以第二確定方式確定所述關(guān)鍵詞,所述第二確定方式包括,計算所述基礎(chǔ)資料中每個詞的詞頻和逆文檔頻率,將所述詞頻大于第二預設(shè)閾值且所述逆文檔頻率大于第三預設(shè)閾值的詞確定所述關(guān)鍵詞;
或者以第三確定方式確定所述關(guān)鍵詞,所述第三確定方式包括,計算所述基礎(chǔ)資料中每個詞的TextRank得分,將所述TextRank得分大于第四預設(shè)閾值的詞作為所述關(guān)鍵詞;
或者所述第一確定方式、所述第二確定方式和所述第三確定方式中,以任意兩種方式或三種方式相結(jié)合來確定候選關(guān)鍵詞,將經(jīng)過去重后的所述候選關(guān)鍵詞作為所述關(guān)鍵詞。
可選的,所述依據(jù)所述關(guān)鍵詞確定搜索項,通過所述搜索項搜索目標語料,包括:
統(tǒng)計所述基礎(chǔ)資料的每個句子中包含的所述關(guān)鍵詞個數(shù),將包含至少兩個關(guān)鍵詞的句子中的所有關(guān)鍵詞作為一個關(guān)鍵詞組,將不屬于任一所述關(guān)鍵詞組的所述關(guān)鍵詞作為獨立關(guān)鍵詞;
依據(jù)所述關(guān)鍵詞組和所述獨立關(guān)鍵詞確定所述搜索項,通過所述搜索項搜索所述目標語料。
可選的,還包括:
獲取在識別所述待識別語音數(shù)據(jù)的過程中已經(jīng)得到的識別結(jié)果,將所述識別結(jié)果補充到所述基礎(chǔ)資料。
可選的,還包括:
依據(jù)所述基礎(chǔ)資料和與系統(tǒng)預先存儲的各目標領(lǐng)域語言模型的領(lǐng)域類別相匹配的領(lǐng)域判定模型,確定所述待識別語音數(shù)據(jù)屬于每個所述領(lǐng)域類別的概率,按設(shè)定順序排序,生成概率向量;
以所述概率向量作為可信度判定模型的輸入,判斷所述概率向量是否可信;
若所述概率向量可信,對于每個所述領(lǐng)域類別,判斷所述待識別語音數(shù)據(jù)屬于所述領(lǐng)域類別的概率是否超過與所述領(lǐng)域類別相對應(yīng)的第五預設(shè)閾值;
若是,則以所述概率所對應(yīng)的所述領(lǐng)域類別的目標領(lǐng)域語言模型識別所述待識別語音數(shù)據(jù)。
第二方面,本發(fā)明實施例提供了一種語音識別裝置,包括:
獲取模塊,用于獲取與待識別語音數(shù)據(jù)相關(guān)的基礎(chǔ)資料;
第一確定模塊,用于確定所述基礎(chǔ)資料的關(guān)鍵詞;
搜索模塊,用于依據(jù)所述關(guān)鍵詞確定搜索項,通過所述搜索項搜索目標語料;
第一識別模塊,用于通過所述目標語料訓練目標主題語言模型,以所述目標主題語言模型識別所述待識別語音數(shù)據(jù)。
可選的,所述第一確定模塊包括:
第一確定單元,用于以第一確定方式確定所述關(guān)鍵詞,所述第一確定方式包括,依據(jù)預先訓練得到的編碼-解碼模型計算所述基礎(chǔ)資料中每個詞作為所述關(guān)鍵詞的概率,將所述概率大于第一預設(shè)閾值的詞確定為所述關(guān)鍵詞;
第二確定單元,用于以第二確定方式確定所述關(guān)鍵詞,所述第二確定方式包括,計算所述基礎(chǔ)資料中每個詞的詞頻和逆文檔頻率,將所述詞頻大于第二預設(shè)閾值且所述逆文檔頻率大于第三預設(shè)閾值的詞確定所述關(guān)鍵詞;
第三確定單元,用于以第三確定方式確定所述關(guān)鍵詞,所述第三確定方式包括,計算所述基礎(chǔ)資料中每個詞的TextRank得分,將所述TextRank得分大于第四預設(shè)閾值的詞作為所述關(guān)鍵詞;
第四確定單元,用于所述第一確定方式、所述第二確定方式和所述第三確定方式中,以任意兩種方式或三種方式相結(jié)合來確定候選關(guān)鍵詞,將經(jīng)過去重后的所述候選關(guān)鍵詞作為所述關(guān)鍵詞。
可選的,所述搜索模塊包括:
統(tǒng)計單元,用于統(tǒng)計所述基礎(chǔ)資料的每個句子中包含的所述關(guān)鍵詞個數(shù),將包含至少兩個關(guān)鍵詞的句子中的所有關(guān)鍵詞作為一個關(guān)鍵詞組,將不屬于任一所述關(guān)鍵詞組的所述關(guān)鍵詞作為獨立關(guān)鍵詞;
搜索單元,用于依據(jù)所述關(guān)鍵詞組和所述獨立關(guān)鍵詞確定所述搜索項,通過所述搜索項搜索所述目標語料。
可選的,還包括:
更新模塊,用于獲取在識別所述待識別語音數(shù)據(jù)的過程中已經(jīng)得到的識別結(jié)果,將所述識別結(jié)果補充到所述基礎(chǔ)資料。
可選的,還包括:
第二確定模塊,用于依據(jù)所述基礎(chǔ)資料和與系統(tǒng)預先存儲的各目標領(lǐng)域語言模型的領(lǐng)域類別相匹配的領(lǐng)域判定模型,確定所述待識別語音數(shù)據(jù)屬于每個所述領(lǐng)域類別的概率,按設(shè)定順序排序,生成概率向量;
第一判斷模塊,用于以所述概率向量作為可信度判定模型的輸入,判斷所述概率向量是否可信,所述可信度判定模型與所述領(lǐng)域類別相匹配;
第二判斷模塊,用于若所述概率向量可信,對于每個所述領(lǐng)域類別,判斷所述待識別語音數(shù)據(jù)屬于所述領(lǐng)域類別的概率是否超過與所述領(lǐng)域類別相對應(yīng)的第五預設(shè)閾值;
第二識別模塊,用于若是,則以所述概率所對應(yīng)的所述領(lǐng)域類別的目標領(lǐng)域語言模型識別所述待識別語音數(shù)據(jù)。
經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明提供了一種語音識別方法和裝置。本發(fā)明提供的技術(shù)方案,在用戶提供的與待識別語音數(shù)據(jù)的主題相關(guān)的語料不夠充分,即這些語料僅僅是一些基礎(chǔ)資料時,通過確定所述基礎(chǔ)資料的關(guān)鍵詞,然后依據(jù)所述關(guān)鍵詞確定搜索項,通過所述搜索項搜索目標語料,從而有效擴充與待識別語音數(shù)據(jù)的主題相關(guān)的語料,能夠較大程度上彌補用戶提供的語料不足的缺陷,然后通過搜索到的所述目標語料來訓練目標主題語言模型,從而得到與待識別語音數(shù)據(jù)的主題相匹配的目標主題語言模型,最后以所述目標主題語言模型識別所述待識別語音數(shù)據(jù),相對于現(xiàn)有技術(shù),能夠有效提高語音識別的準確度。因此,應(yīng)用本發(fā)明提供的技術(shù)方案,能夠提高識別特定應(yīng)用場景的語音數(shù)據(jù)的準確度,識別效果較好。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種語音識別方法的流程圖;
圖2為本發(fā)明實施例提供的Encoder-Decoder方法的示意圖;
圖3為本發(fā)明實施例提供的另外一種語音識別方法的流程圖;
圖4為本發(fā)明實施例提供的一種語音識別裝置的結(jié)構(gòu)圖;
圖5為本發(fā)明實施例提供的另外一種語音識別裝置的結(jié)構(gòu)圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式對本發(fā)明作進一步詳細的說明。
實施例
本發(fā)明實施例提供的語音識別方法,可以應(yīng)用于計算機信息系統(tǒng)。請參閱圖1,圖1為本發(fā)明實施例提供的一種語音識別方法的流程圖。如圖1所示,該方法包括:
步驟S101,獲取與待識別語音數(shù)據(jù)相關(guān)的基礎(chǔ)資料;
具體的,所述與待識別語音數(shù)據(jù)相關(guān)的基礎(chǔ)資料由用戶預先提供,所述基礎(chǔ)資料與所述待識別語音數(shù)據(jù)的內(nèi)容相關(guān)性較高,可以包括與所述待識別語音數(shù)據(jù)相關(guān)的圖片、文本數(shù)據(jù)等,如果所述基礎(chǔ)資料為圖片,則需要通過圖像識別相關(guān)技術(shù)將圖片轉(zhuǎn)換為文本數(shù)據(jù),也就是說,該步驟最終得到的是文本數(shù)據(jù)。其中,可選的,所述圖像識別相關(guān)技術(shù)可以采用OCR(Optical Character Recognition,光學字符識別)技術(shù)。以所述待識別語音數(shù)據(jù)為會議錄音為例,所述基礎(chǔ)資料可以包含會議的演示文稿、演講人信息、會議主題、主辦方或用戶根據(jù)會議需求自己添加的會議關(guān)鍵信息等。
步驟S102,確定所述基礎(chǔ)資料的關(guān)鍵詞;
具體的,經(jīng)所述步驟S101,系統(tǒng)得到的所述基礎(chǔ)資料都是文本數(shù)據(jù),可以根據(jù)所述文本數(shù)據(jù)確定關(guān)鍵詞,具體確定方法可以包括:
方法1:以第一確定方式確定所述關(guān)鍵詞,所述第一確定方式包括,依據(jù)預先訓練得到的編碼-解碼模型計算所述基礎(chǔ)資料中每個詞作為所述關(guān)鍵詞的概率,將所述概率大于第一預設(shè)閾值的詞確定為所述關(guān)鍵詞;
具體的,計算所述基礎(chǔ)資料中每個詞作為關(guān)鍵詞的概率時,可以使用基于神經(jīng)網(wǎng)絡(luò)的Encoder(編碼)-Decoder(解碼)方法。具體的,通過預先收集大量文本數(shù)據(jù)訓練Encoder-Decoder模型參數(shù)后,利用所述Encoder-Decoder模型確定待識別語音數(shù)據(jù)的基礎(chǔ)資料中每個詞作為關(guān)鍵詞的概率,將所述概率大于第一預設(shè)閾值的詞確定為關(guān)鍵詞。
請參閱圖2,如圖2為本發(fā)明實施例提供的Encoder-Decoder方法的示意圖,輸入為所述基礎(chǔ)資料中每個詞的詞向量,經(jīng)過Encoder層對輸入特征(即所述詞向量)進行編碼,將編碼后的特征作為Decoder層的輸入,Decoder層對編碼后的特征進行解碼,將解碼后的特征作為輸出層的輸入,輸出層為每個詞作為關(guān)鍵詞的概率,具體過程如下所述:
輸入層(Input):輸入基礎(chǔ)資料中每個詞的詞向量,所述詞向量可以使用基于神經(jīng)網(wǎng)絡(luò)的方法訓練得到,或使用Word2Vec(文本深度表示模型)的方法得到,如圖2所示,輸入層每個圓圈代表一個詞向量,受圖形大小限制,輸入層僅以3個句子(sent1、sent2、sent3)做示例,每句包含3個詞向量,第一個句子sent1中第一個節(jié)點表示開始節(jié)點,無實際意義。
詞編碼層(Word Enc):對輸入層輸入的詞向量進行編碼,具體的,可以使用單向LSTM(Long-Short Term Memory,長短時記憶神經(jīng)網(wǎng)絡(luò))從左到右對詞向量進行編碼;
詞解碼層(Word Dec):對編碼后的特征進行解碼,如可以使用單向LSTM從右到左對編碼后的特征進行解碼;
輸出層(Output):將解碼后的特征作為輸出層的輸入,輸出為每個詞作為關(guān)鍵詞的概率,如圖2所示,輸出層每個圓圈代表所對應(yīng)的輸入層的詞向量作為關(guān)鍵詞的概率。
或者方法2:以第二確定方式確定所述關(guān)鍵詞,所述第二確定方式包括,計算所述基礎(chǔ)資料中每個詞的詞頻和逆文檔頻率,將所述詞頻大于第二預設(shè)閾值且所述逆文檔頻率大于第三預設(shè)閾值的詞確定所述關(guān)鍵詞;
具體的,首先對基礎(chǔ)資料的文本數(shù)據(jù)進行分詞;然后計算分詞后文本數(shù)據(jù)中每個詞的詞頻及逆文檔頻率,所述詞頻即每個詞在基礎(chǔ)資料中出現(xiàn)的頻率,可以通過每個詞在基礎(chǔ)資料中的出現(xiàn)次數(shù)與所有詞在基礎(chǔ)資料中出現(xiàn)次數(shù)之和的比值得到;所述逆文檔頻率是詞的重性度量,可以由基礎(chǔ)資料的總文件數(shù)除以包含每個詞的文件數(shù)后,再取對數(shù)得到,具體計算方法與現(xiàn)有技術(shù)相同,在此不再詳述;最后可以根據(jù)每個詞的詞頻及逆文檔頻率對基礎(chǔ)資料中所有詞進行排序,選擇所述詞頻大于第二預設(shè)閾值且所述逆文檔頻率大于第三預設(shè)閾值的詞確定所述關(guān)鍵詞。
或者方法3:以第三確定方式確定所述關(guān)鍵詞,所述第三確定方式包括,計算所述基礎(chǔ)資料中每個詞的TextRank得分,將所述TextRank得分大于第四預設(shè)閾值的詞作為所述關(guān)鍵詞;
具體的,所述TextRank得分用以描述每個詞的重要度。在計算每個詞的TextRank得分時,通過構(gòu)建候選關(guān)鍵詞圖的方法,將相關(guān)資料中每個詞作為圖中每個節(jié)點,通過計算每個節(jié)點的鏈入邊數(shù),計算每個節(jié)點的重要度,將所述節(jié)點的重要度作為每個詞的重要度,即TextRank得分,選擇TextRank得分大于閾值的詞作為候選關(guān)鍵詞;所述TextRank得分的計算方法與現(xiàn)有技術(shù)相同,在此不再詳述。
或者方法4:所述第一確定方式、所述第二確定方式和所述第三確定方式中,以任意兩種方式或三種方式相結(jié)合來確定候選關(guān)鍵詞,將經(jīng)過去重后的所述候選關(guān)鍵詞作為所述關(guān)鍵詞。
具體的,所述方法1~方法3任意一種都可以確定所述基礎(chǔ)資料的關(guān)鍵詞,為了對所述關(guān)鍵詞進行更加全面和精確地統(tǒng)計,可以考慮將方法1、方法2和方法3進行任意組合使用。
由于將方法1、方法2和方法3進行任意組合使用可能會得到重復的關(guān)鍵詞,因此,若選擇組合使用,需要將重復的關(guān)鍵詞去掉。
步驟S103,依據(jù)所述關(guān)鍵詞確定搜索項,通過所述搜索項搜索目標語料;
具體的,首先統(tǒng)計所述基礎(chǔ)資料的每個句子中包含的所述關(guān)鍵詞個數(shù),將包含至少兩個關(guān)鍵詞的句子中的所有關(guān)鍵詞作為一個關(guān)鍵詞組,將不屬于任一所述關(guān)鍵詞組的所述關(guān)鍵詞作為獨立關(guān)鍵詞;
然后依據(jù)所述關(guān)鍵詞組和所述獨立關(guān)鍵詞確定所述搜索項,通過所述搜索項搜索所述目標語料。
具體的,所述搜索項可以為所述關(guān)鍵詞組和/或所述獨立關(guān)鍵詞,也可以為所述關(guān)鍵詞組與一個或多個獨立關(guān)鍵詞組合的形式,或者多個所述獨立關(guān)鍵詞的任意組合,本發(fā)明并不限制所述搜索項的具體形式。
步驟S104,通過所述目標語料訓練目標主題語言模型,以所述目標主題語言模型識別所述待識別語音數(shù)據(jù);
具體的,將搜索到的所述目標語料作為所述目標主題語言模型的訓練語料,來訓練所述目標主題語言模型,具體訓練方法與現(xiàn)有技術(shù)相同,在此不再贅述。
本發(fā)明實施例提供的技術(shù)方案,在用戶提供的與待識別語音數(shù)據(jù)的主題相關(guān)的語料不夠充分,即這些語料僅僅是一些基礎(chǔ)資料時,通過確定所述基礎(chǔ)資料的關(guān)鍵詞,然后依據(jù)所述關(guān)鍵詞確定搜索項,通過所述搜索項搜索目標語料,從而有效擴充與待識別語音數(shù)據(jù)的主題相關(guān)的語料,能夠較大程度上彌補用戶提供的語料不足的缺陷,然后通過搜索到的所述目標語料來訓練目標主題語言模型,從而得到與待識別語音數(shù)據(jù)的主題相匹配的目標主題語言模型,最后以所述目標主題語言模型識別所述待識別語音數(shù)據(jù),相對于現(xiàn)有技術(shù),能夠有效提高語音識別的準確度。因此,應(yīng)用本發(fā)明實施例提供的技術(shù)方案,能夠提高識別特定應(yīng)用場景的語音數(shù)據(jù)的準確度,識別效果較好。
需要說明的是,如果用戶提供了與待識別語音數(shù)據(jù)中的說話人相關(guān)性較高的資料,則可選的,本發(fā)明另外一個實施例提供的技術(shù)方案,可以將該資料與提取后的關(guān)鍵詞或關(guān)鍵詞組給合作為搜索項,搜索相關(guān)語料,以進一步提高搜索語料與主題的相關(guān)性;以待識別語音數(shù)據(jù)為會議錄音為例,所述與待識別語音數(shù)據(jù)中的說話人相關(guān)性較高的資料,可以為會議說話人的姓名、單位、演講主題等。
可選的,本發(fā)明另外一個實施例提供的技術(shù)方案,還包括:
獲取在識別所述待識別語音數(shù)據(jù)的過程中已經(jīng)得到的識別結(jié)果,將所述識別結(jié)果補充到所述基礎(chǔ)資料。
可以理解的是,在具體場景中,如談話、報告或開會時,討論的主題可能會切換,或者會插入新的話題,為此,本實施例提供的技術(shù)方案,能夠在具體場景中獲取在識別所述待識別語音數(shù)據(jù)的過程中已經(jīng)得到的識別結(jié)果,從而及時將所述識別結(jié)果補充到所述基礎(chǔ)資料,然后確定更新后的基礎(chǔ)資料的關(guān)鍵詞,方便后續(xù)搜索新的目標語料和訓練新的目標主題語言模型,以適應(yīng)具體場景討論內(nèi)容的變更,提高現(xiàn)場語音識別的準確度。
具體的,在具體場景現(xiàn)場識別所述待識別語音數(shù)據(jù)時,可以適當提高輸出所述識別結(jié)果的頻率,比如5分鐘,以方便及時獲取到現(xiàn)場已產(chǎn)生的新語料,從而能夠更好的豐富所述基礎(chǔ)語料。
可選的,請參閱圖3,圖3為本發(fā)明實施例提供的另外一種語音識別方法的流程圖。如圖3所示,該方法包括:
步驟S301,獲取與待識別語音數(shù)據(jù)相關(guān)的基礎(chǔ)資料;
步驟S302,確定所述基礎(chǔ)資料的關(guān)鍵詞;
步驟S303,依據(jù)所述關(guān)鍵詞確定搜索項,通過所述搜索項搜索目標語料;
步驟S304,通過所述目標語料訓練目標主題語言模型,以所述目標主題語言模型識別所述待識別語音數(shù)據(jù);
步驟S305,依據(jù)所述基礎(chǔ)資料和與系統(tǒng)預先存儲的各目標領(lǐng)域語言模型的領(lǐng)域類別相匹配的領(lǐng)域判定模型,確定所述待識別語音數(shù)據(jù)屬于每個所述領(lǐng)域類別的概率,按設(shè)定順序排序,生成概率向量;
具體的,所述目標領(lǐng)域語言模型是指將訓練模型的文本數(shù)據(jù)按照應(yīng)用領(lǐng)域進行劃分,如劃分為新聞、體育、娛樂、科技等具體的領(lǐng)域,使用每個領(lǐng)域相應(yīng)文本數(shù)據(jù)訓練模型,得到目標領(lǐng)域語言模型。所述目標領(lǐng)域語言模型可以由系統(tǒng)預先收集各領(lǐng)域文本數(shù)據(jù)訓練得到;在進行語音識別時,根據(jù)與待識別語音數(shù)據(jù)相關(guān)的基礎(chǔ)資料確定與待識別語音數(shù)據(jù)領(lǐng)域相同的目標領(lǐng)域語言模型即可。
具體的,所述領(lǐng)域判定模型為預先構(gòu)建的模型,關(guān)于構(gòu)建所述領(lǐng)域判定模型的過程如下:
首先收集系統(tǒng)內(nèi)存儲的各領(lǐng)域類別的大量文本數(shù)據(jù),如系統(tǒng)中只有“人工智能”和“醫(yī)學”兩個領(lǐng)域,則只需要收集這兩個領(lǐng)域的文本數(shù)據(jù),標注出文本數(shù)據(jù)所屬的領(lǐng)域標簽后,將文本數(shù)據(jù)向量化,訓練所述領(lǐng)域判定模型,將文本數(shù)據(jù)的句子向量作為所述領(lǐng)域判定模型的輸入特征,輸出為文本數(shù)據(jù)屬于每個領(lǐng)域類別的概率,根據(jù)文本數(shù)據(jù)所屬的領(lǐng)域標簽對模型參數(shù)進行更新,更新結(jié)束后,得到領(lǐng)域判定模型,所述領(lǐng)域判定模型使用模式識別中常用模型描述,如支持向量機、深度神經(jīng)網(wǎng)絡(luò)等。
具體的,所述步驟S305可以包括:將與待識別語音數(shù)據(jù)相關(guān)的基礎(chǔ)資料中的文本數(shù)據(jù)向量化,得到文本數(shù)據(jù)的句子向量,具體向量化過程與現(xiàn)有技術(shù)相同,如使用Sec2Vec技術(shù);將所述基礎(chǔ)資料中的文本數(shù)據(jù)的句子向量作為領(lǐng)域判定模型的輸入,對待識別語音數(shù)據(jù)進行領(lǐng)域判定,得到待識別語音數(shù)據(jù)屬于每個領(lǐng)域的概率,對所述概率進行排序后,得到待識別語音數(shù)據(jù)屬于每個領(lǐng)域的概率向量,所述排序方法可以為從大到小排序,也可為從小到大排序,不發(fā)明不作限定。比如待識別語音數(shù)據(jù)屬于A、B、C、D、E、F和G領(lǐng)域的概率向量分別為{0.01,0.01,0.01,0.01,0.01,0.08,0.87}。
步驟S306,以所述概率向量作為可信度判定模型的輸入,判斷所述概率向量是否可信;
具體的,所述判斷所述概率向量是否可信便是對待識別語音數(shù)據(jù)屬于系統(tǒng)預先存儲的各所述領(lǐng)域類別的可信度進行判定。
具體的,所述可信度判定模型為預先構(gòu)建的模型,關(guān)于構(gòu)建所述可信度判定模型的過程如下:
首先預先收集大量集內(nèi)、集外文本數(shù)據(jù),標注出所述文本數(shù)據(jù)屬于集內(nèi)數(shù)據(jù)還是集外數(shù)據(jù),得到所述文本數(shù)據(jù)的集內(nèi)或集外標簽,如標注時使用1表示文本數(shù)據(jù)的集內(nèi)標簽,標注時使用0表示文本數(shù)據(jù)的集外標簽,所述集內(nèi)數(shù)據(jù)是指系統(tǒng)包含的各所述領(lǐng)域類別的數(shù)據(jù),所述集外數(shù)據(jù)是指非系統(tǒng)包含的各所述領(lǐng)域類別的數(shù)據(jù);然后利用領(lǐng)域判定模型對收集的文本數(shù)據(jù)進行領(lǐng)域判定,得到文本數(shù)據(jù)屬于系統(tǒng)內(nèi)包含的每個領(lǐng)域類別的概率,對所述概率進行排序后,得到文本數(shù)據(jù)屬于系統(tǒng)內(nèi)包含的每個領(lǐng)域類別的概率向量;將所述概率向量及文本數(shù)據(jù)的集內(nèi)或集外標簽作為訓練數(shù)據(jù),如a1文本數(shù)據(jù)屬于系統(tǒng)內(nèi)包含的每個領(lǐng)域類別的概率向量{0.01,0.01,0.01,0.01,0.01,0.08,0.87}以及a1文本數(shù)據(jù)的集內(nèi)標簽1,便是一組訓練數(shù)據(jù),通過大量訓練數(shù)據(jù)訓練所述可信度判定模型,所述可信度判定模型的輸入為概率向量,輸出為集內(nèi)或集外標簽,所述可信度判定模型為模式識別中常用分類模型,如支持向量機模型、深度神經(jīng)網(wǎng)絡(luò)模型等。
需要說明的是,待識別語音數(shù)據(jù)屬于系統(tǒng)內(nèi)包含的每個領(lǐng)域的概率向量的排序方法必須與所述可信度判定模型構(gòu)建時,文本數(shù)據(jù)屬于系統(tǒng)內(nèi)包含的每個領(lǐng)域的概率向量的排序方法一致,如都使用從大到小的排序方法或者從小到大的排序方法。
具體的,所述步驟S306具體包括:將所述待識別語音數(shù)據(jù)屬于系統(tǒng)內(nèi)包含的每個領(lǐng)域的概率向量作為可信度判定模型的輸入,依據(jù)對應(yīng)的可信度判定模型的輸出對待識別語音數(shù)據(jù)進行可信度判定。
具體的,對待識別語音數(shù)據(jù)進行可信度判定時,直接利用預先訓練好的可信度判定模型對待識別語音數(shù)據(jù)屬于每個領(lǐng)域的概率向量進行可信度預測,所述可信度判定模型的輸入為待識別語音數(shù)據(jù)屬于系統(tǒng)內(nèi)包含的每個所述領(lǐng)域類別的概率向量,輸出表征該概率向量是否可信,如果使用1表示可信,使用0表示不可信,則可信度判定模型的輸出為0或1,那么若所述可信度判定模型的輸出為1,表示輸入的概率向量可信,若所述可信度判定模型的輸出為0,表示輸入的概率向量不可信。
步驟S307,若所述概率向量可信,對于每個所述領(lǐng)域類別,判斷所述待識別語音數(shù)據(jù)屬于所述領(lǐng)域類別的概率是否超過與所述領(lǐng)域類別相對應(yīng)的第五預設(shè)閾值;
具體的,如果輸入的所述概率向量可信,則說明待識別語音數(shù)據(jù)屬于集內(nèi)數(shù)據(jù),從而可以根據(jù)所述概率向量確定待識別語音數(shù)據(jù)屬于系統(tǒng)內(nèi)的哪個或哪些領(lǐng)域類別,即可以使用系統(tǒng)預先訓練得到的目標領(lǐng)域語言模型;如果輸入的所述概率向量不可信,則說明待識別語音數(shù)據(jù)屬于集外數(shù)據(jù),因此可以確定待識別語音數(shù)據(jù)不屬于系統(tǒng)內(nèi)包含的領(lǐng)域類別,也就無法使用所述目標領(lǐng)域語言模型。
步驟S308,若是,則以所述概率所對應(yīng)的所述領(lǐng)域類別的目標領(lǐng)域語言模型識別所述待識別語音數(shù)據(jù);
具體的,如果所述概率超過所述第五預設(shè)閾值,則使用所述概率對應(yīng)領(lǐng)域類別的目標領(lǐng)域語言模型,如果有多個所述概率超過所述第五預設(shè)閾值,則可以選擇多個目標領(lǐng)域語言模型;當然,如果待識別語音數(shù)據(jù)屬于每個領(lǐng)域的概率都沒有超過所述第五預設(shè)閾值,則不使用所述目標領(lǐng)域語言模型。
本實施例提供的技術(shù)方案,通過添加預先訓練得到的目標領(lǐng)域語言模型,在獲取到用戶提供的與待識別語音數(shù)據(jù)相關(guān)的基礎(chǔ)資料后,根據(jù)所述基礎(chǔ)資料確定目標領(lǐng)域語言模型,經(jīng)確定的所述目標領(lǐng)域語言模型是與待識別語音數(shù)據(jù)的領(lǐng)域相同或相近的語言模型,以此語言模型來識別所述待識別語音數(shù)據(jù),相對于現(xiàn)有技術(shù)僅是依靠通用語言模型來識別的方式,能夠提高語音識別的準確性,加強識別效果。
可選的,本發(fā)明任一實施例提供的技術(shù)方案,所述收集大量數(shù)據(jù)時可以從網(wǎng)絡(luò)上或用戶歷史數(shù)據(jù)來收集,對此,本發(fā)明不做限制。
可以理解的是,在現(xiàn)場進行語音識別時,本發(fā)明實施例提供的技術(shù)方案可以結(jié)合現(xiàn)有技術(shù)中的通用語言模型來實施,所述通用語言模型即語音識別時使用的通用語言模型,訓練通用語言模型的語料不局限于單個領(lǐng)域或單個主題,所述通用語言模型可以通過預先收集多領(lǐng)域多主題的文本數(shù)據(jù)訓練得到。
具體的,使用目標領(lǐng)域語言模型、目標主題語言模型及通用語言模型對待識別語音數(shù)據(jù)進行語音識別時,可以直接將目標領(lǐng)域語言模型、目標主題語言模型及通用語言模型進行融合后再使用,所述融合方法如插值方法,具體過程與現(xiàn)有技術(shù)相同,在此不再詳述;對待識別語音數(shù)據(jù)進行語音識別,需要提取語音數(shù)據(jù)的聲學特征,利用預先訓練的聲學模型及融合后的語言模型根據(jù)提取的聲學特征進行語音識別,具體過程與現(xiàn)有技術(shù)相同,在此不再詳述。
當然,對待識別語音數(shù)據(jù)進行語音識別時,也可以先使用通用語言模型進行語音識別后,再使用目標領(lǐng)域語言模型或目標主題語言模型對識別結(jié)果進行二遍解碼,得到最終識別結(jié)果,所述語言模型的使用方法本發(fā)明不作限定。
為了更加全面地闡述本發(fā)明提供的技術(shù)方案,對應(yīng)于本發(fā)明實施例提供的語音識別方法,本發(fā)明公開一種語音識別裝置。
請參閱圖4,圖4為本發(fā)明實施例提供的一種語音識別裝置的結(jié)構(gòu)圖。如圖4所示,該裝置包括:
獲取模塊401,用于獲取與待識別語音數(shù)據(jù)相關(guān)的基礎(chǔ)資料;
第一確定模塊402,用于確定所述基礎(chǔ)資料的關(guān)鍵詞;
搜索模塊403,用于依據(jù)所述關(guān)鍵詞確定搜索項,通過所述搜索項搜索目標語料;
第一識別模塊404,用于通過所述目標語料訓練目標主題語言模型,以所述目標主題語言模型識別所述待識別語音數(shù)據(jù)。
應(yīng)用本發(fā)明實施例提供的語音識別裝置,能夠提高識別特定應(yīng)用場景的語音數(shù)據(jù)的準確度,識別效果較好。
可選的,本發(fā)明實施例提供的語音識別裝置,所述第一確定模塊402包括:
第一確定單元,用于以第一確定方式確定所述關(guān)鍵詞,所述第一確定方式包括,依據(jù)預先訓練得到的編碼-解碼模型計算所述基礎(chǔ)資料中每個詞作為所述關(guān)鍵詞的概率,將所述概率大于第一預設(shè)閾值的詞確定為所述關(guān)鍵詞;
第二確定單元,用于以第二確定方式確定所述關(guān)鍵詞,所述第二確定方式包括,計算所述基礎(chǔ)資料中每個詞的詞頻和逆文檔頻率,將所述詞頻大于第二預設(shè)閾值且所述逆文檔頻率大于第三預設(shè)閾值的詞確定所述關(guān)鍵詞;
第三確定單元,用于以第三確定方式確定所述關(guān)鍵詞,所述第三確定方式包括,計算所述基礎(chǔ)資料中每個詞的TextRank得分,將所述TextRank得分大于第四預設(shè)閾值的詞作為所述關(guān)鍵詞;
第四確定單元,用于所述第一確定方式、所述第二確定方式和所述第三確定方式中,以任意兩種方式或三種方式相結(jié)合來確定候選關(guān)鍵詞,將經(jīng)過去重后的所述候選關(guān)鍵詞作為所述關(guān)鍵詞。
可選的,本發(fā)明實施例提供的語音識別裝置,所述搜索模塊403包括:
統(tǒng)計單元,用于統(tǒng)計所述基礎(chǔ)資料的每個句子中包含的所述關(guān)鍵詞個數(shù),將包含至少兩個關(guān)鍵詞的句子中的所有關(guān)鍵詞作為一個關(guān)鍵詞組,將不屬于任一所述關(guān)鍵詞組的所述關(guān)鍵詞作為獨立關(guān)鍵詞;
搜索單元,用于依據(jù)所述關(guān)鍵詞組和所述獨立關(guān)鍵詞確定所述搜索項,通過所述搜索項搜索所述目標語料。
可選的,本發(fā)明另外一個實施例提供的語音識別裝置,還包括:
更新模塊,用于獲取在識別所述待識別語音數(shù)據(jù)的過程中已經(jīng)得到的識別結(jié)果,將所述識別結(jié)果補充到所述基礎(chǔ)資料。
可選的,請參閱圖5,圖5為本發(fā)明實施例提供的另外一種語音識別裝置的結(jié)構(gòu)圖。如圖5所示,該裝置包括:
獲取模塊501,用于獲取與待識別語音數(shù)據(jù)相關(guān)的基礎(chǔ)資料;
第一確定模塊502,用于確定所述基礎(chǔ)資料的關(guān)鍵詞;
搜索模塊503,用于依據(jù)所述關(guān)鍵詞確定搜索項,通過所述搜索項搜索目標語料;
第一識別模塊504,用于通過所述目標語料訓練目標主題語言模型,以所述目標主題語言模型識別所述待識別語音數(shù)據(jù);
第二確定模塊505,用于依據(jù)所述基礎(chǔ)資料和與系統(tǒng)預先存儲的各目標領(lǐng)域語言模型的領(lǐng)域類別相匹配的領(lǐng)域判定模型,確定所述待識別語音數(shù)據(jù)屬于每個所述領(lǐng)域類別的概率,按設(shè)定順序排序,生成概率向量;
第一判斷模塊506,用于以所述概率向量作為可信度判定模型的輸入,判斷所述概率向量是否可信,所述可信度判定模型與所述領(lǐng)域類別相匹配;
第二判斷模塊507,用于若所述概率向量可信,對于每個所述領(lǐng)域類別,判斷所述待識別語音數(shù)據(jù)屬于所述領(lǐng)域類別的概率是否超過與所述領(lǐng)域類別相對應(yīng)的第五預設(shè)閾值;
第二識別模塊508,用于若是,則以所述概率所對應(yīng)的所述領(lǐng)域類別的目標領(lǐng)域語言模型識別所述待識別語音數(shù)據(jù)。
本實施例提供的語音識別裝置,系統(tǒng)添加了預先訓練得到的目標領(lǐng)域語言模型,根據(jù)與待識別語音數(shù)據(jù)相關(guān)的基礎(chǔ)資料確定目標領(lǐng)域語言模型,經(jīng)確定的所述目標領(lǐng)域語言模型是與待識別語音數(shù)據(jù)的領(lǐng)域相同或相近的語言模型,以此語言模型來識別所述待識別語音數(shù)據(jù),相對于現(xiàn)有技術(shù)僅是依靠通用語言模型來識別的方式,能夠提高語音識別的準確性,加強識別效果。
經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明提供了一種語音識別方法和裝置。本發(fā)明提供的技術(shù)方案,在用戶提供的與待識別語音數(shù)據(jù)的主題相關(guān)的語料不夠充分,即這些語料僅僅是一些基礎(chǔ)資料時,通過確定所述基礎(chǔ)資料的關(guān)鍵詞,然后依據(jù)所述關(guān)鍵詞確定搜索項,通過所述搜索項搜索目標語料,從而有效擴充與待識別語音數(shù)據(jù)的主題相關(guān)的語料,能夠較大程度上彌補用戶提供的語料不足的缺陷,然后通過搜索到的所述目標語料來訓練目標主題語言模型,從而得到與待識別語音數(shù)據(jù)的主題相匹配的目標主題語言模型,最后以所述目標主題語言模型識別所述待識別語音數(shù)據(jù),相對于現(xiàn)有技術(shù),能夠有效提高語音識別的準確度。因此,應(yīng)用本發(fā)明提供的技術(shù)方案,能夠提高識別特定應(yīng)用場景的語音數(shù)據(jù)的準確度,識別效果較好。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。