本公開涉及語(yǔ)音識(shí)別領(lǐng)域,特別涉及一種領(lǐng)域自適應(yīng)語(yǔ)音識(shí)別方法和裝置。
背景技術(shù):
語(yǔ)音識(shí)別是實(shí)現(xiàn)人工智能的基礎(chǔ),很多機(jī)器人、物聯(lián)網(wǎng)、移動(dòng)設(shè)備都采用語(yǔ)音作為交互入口。由于行業(yè)的多樣化以及口語(yǔ)的多樣化,語(yǔ)音識(shí)別需要的行業(yè)錄音和標(biāo)注數(shù)據(jù)相對(duì)較為缺乏,導(dǎo)致語(yǔ)音識(shí)別系統(tǒng)在應(yīng)用于不同領(lǐng)域時(shí)識(shí)別準(zhǔn)確率很低?,F(xiàn)有的語(yǔ)音識(shí)別系統(tǒng)通常僅適用于某個(gè)特定領(lǐng)域或應(yīng)用場(chǎng)景,例如僅適用于娛樂(lè)領(lǐng)域,或者僅適用于一般閑聊場(chǎng)景。當(dāng)更換領(lǐng)域或應(yīng)用場(chǎng)景時(shí),需要重新選擇音頻數(shù)據(jù),并基于重新選擇的音頻數(shù)據(jù)重新訓(xùn)練語(yǔ)音識(shí)別模型。這樣的語(yǔ)音識(shí)別系統(tǒng)通常具有以下缺點(diǎn):(1)效率低下,錄制音頻數(shù)據(jù)所需要的時(shí)間可達(dá)到幾百至上千小時(shí),效果迭代需要時(shí)間較長(zhǎng);(2)成本較高,錄制的音頻數(shù)據(jù)需要進(jìn)行人工標(biāo)注,人工標(biāo)注消耗資金,且工時(shí)越長(zhǎng)成本越高;(3)效果較差,重新錄制的音頻數(shù)據(jù)不一定完整覆蓋全部音節(jié),導(dǎo)致語(yǔ)音識(shí)別模型的識(shí)別效果較差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種領(lǐng)域自適應(yīng)語(yǔ)音識(shí)別方法,該方法能夠克服現(xiàn)有語(yǔ)音識(shí)別方法應(yīng)用于不同領(lǐng)域時(shí)效率和準(zhǔn)確率較低的問(wèn)題。
相應(yīng)的,本發(fā)明實(shí)施例還提供一種領(lǐng)域自適應(yīng)語(yǔ)音識(shí)別裝置,用以保證上述方法的實(shí)現(xiàn)及應(yīng)用。
為了解決上述問(wèn)題,本發(fā)明實(shí)施例公開了一種領(lǐng)域自適應(yīng)語(yǔ)音識(shí)別方法,包括:
基于初始音頻語(yǔ)料進(jìn)行訓(xùn)練,建立初始聲學(xué)模型,以及基于初始文本語(yǔ)料進(jìn)行訓(xùn)練,建立初始語(yǔ)言模型;
進(jìn)行行業(yè)領(lǐng)域語(yǔ)料搜集和處理,基于處理后的行業(yè)領(lǐng)域語(yǔ)料進(jìn)行訓(xùn)練,建立行業(yè)領(lǐng)域語(yǔ)言模型;
基于所述初始語(yǔ)言模型和所述行業(yè)領(lǐng)域語(yǔ)言模型進(jìn)行適配計(jì)算,建立混合語(yǔ)言模型;
基于處理后的行業(yè)領(lǐng)域語(yǔ)料進(jìn)行音素聚類,根據(jù)音素聚類結(jié)果進(jìn)行訓(xùn)練,建立聚類聲學(xué)模型;
對(duì)所述初始聲學(xué)模型和所述聚類聲學(xué)模型進(jìn)行融合,建立融合聲學(xué)模型;
接收輸入的語(yǔ)音信號(hào),基于所述融合聲學(xué)模型和混合語(yǔ)言模型確定所述語(yǔ)音信號(hào)對(duì)應(yīng)的詞語(yǔ)序列。
優(yōu)選地,所述初始語(yǔ)言模型是二元n-gram語(yǔ)言模型。
優(yōu)選地,所述進(jìn)行行業(yè)領(lǐng)域語(yǔ)料搜集和處理,基于處理后的行業(yè)領(lǐng)域語(yǔ)料進(jìn)行訓(xùn)練,建立行業(yè)領(lǐng)域語(yǔ)言模型包括:
搜集與所述行業(yè)領(lǐng)域相關(guān)的語(yǔ)料,從所述語(yǔ)料中提取句子文本和專有名詞;
對(duì)所述專有名詞進(jìn)行分類整理,建立專有名詞詞表;
基于所述專有名詞詞表對(duì)所述句子文本進(jìn)行專有名詞標(biāo)注和替換,得到包含專有名詞詞表標(biāo)記詞的句子文本;
以所述包含專有名詞詞表標(biāo)記詞的句子文本作為訓(xùn)練語(yǔ)料進(jìn)行訓(xùn)練,建立行業(yè)領(lǐng)域語(yǔ)言模型。
優(yōu)選地,所述基于所述初始語(yǔ)言模型和所述行業(yè)領(lǐng)域語(yǔ)言模型進(jìn)行適配計(jì)算,建立混合語(yǔ)言模型包括:
對(duì)所述初始語(yǔ)言模型和所述行業(yè)領(lǐng)域語(yǔ)言模型進(jìn)行概率加權(quán)計(jì)算,建立混合語(yǔ)言模型。
優(yōu)選地,對(duì)所述初始語(yǔ)言模型和所述行業(yè)領(lǐng)域語(yǔ)言模型進(jìn)行概率加權(quán)計(jì)算,建立混合語(yǔ)言模型包括:
當(dāng)初始文本語(yǔ)料和行業(yè)領(lǐng)域語(yǔ)料中都包含詞語(yǔ)組合wi-1wi時(shí),或者當(dāng)初始文本語(yǔ)料中包含詞語(yǔ)組合wi-1wi且行業(yè)領(lǐng)域語(yǔ)料中不包含詞語(yǔ)組合wi-1wi時(shí),按照以下公式(1)計(jì)算所述混合語(yǔ)言模型對(duì)應(yīng)的條件概率:
p_mix(wi|wi-1)={xm*old_count(wi-1,wi)+ym*new_count(wi-1,wi)}/{xm*old_count(wi-1)+ym*new_count(wi-1)}(1)
其中,
xm=old_total_count/(old_total_count+new_total_count),
ym=new_total_count/(old_total_count+new_total_count),
其中,p_mix(wi|wi-1)表示所述混合語(yǔ)言模型對(duì)應(yīng)的條件概率,wi-1和wi表示詞語(yǔ)序列w中的兩個(gè)相鄰詞語(yǔ),w=w1w2…wn,1<i≤n,xm、ym分別表示針對(duì)所述初始語(yǔ)言模型和所述行業(yè)領(lǐng)域語(yǔ)言模型設(shè)置的加權(quán)系數(shù),old_count(wi-1,wi)表示在所述初始文本語(yǔ)料中詞語(yǔ)組合wi-1wi出現(xiàn)的次數(shù),old_cout(wi-1)表示在所述初始文本語(yǔ)料中詞語(yǔ)wi-1出現(xiàn)的次數(shù),new_count(wi-1,wi)表示在所述行業(yè)領(lǐng)域語(yǔ)料中詞語(yǔ)組合wi-1wi出現(xiàn)的次數(shù),new_cout(wi-1)表示在所述行業(yè)領(lǐng)域語(yǔ)料中詞語(yǔ)wi-1出現(xiàn)的次數(shù),old_total_count表示所述初始文本語(yǔ)料中的總詞數(shù),new_total_count表示所述行業(yè)領(lǐng)域語(yǔ)料中的總詞數(shù)。
優(yōu)選地,對(duì)所述初始語(yǔ)言模型和所述行業(yè)領(lǐng)域語(yǔ)言模型進(jìn)行概率加權(quán)計(jì)算,建立混合語(yǔ)言模型包括:
當(dāng)初始文本語(yǔ)料中不包含詞語(yǔ)組合wi-1wi且行業(yè)領(lǐng)域語(yǔ)料中包含詞語(yǔ)組合wi-1wi時(shí),按照以下公式(2)計(jì)算所述混合語(yǔ)言模型對(duì)應(yīng)的條件概率:
p_mix(wi|wi-1)=p_new(wi|wi-1)(2)
其中,p_mix(wi|wi-1)表示所述混合語(yǔ)言模型對(duì)應(yīng)的條件概率,wi-1和wi表示詞語(yǔ)序列w中的兩個(gè)相鄰詞語(yǔ),w=w1w2…wn,1<i≤n,p_new(wi|wi-1)表示所述行業(yè)領(lǐng)域語(yǔ)言模型對(duì)應(yīng)的條件概率。
優(yōu)選地,所述基于處理后的行業(yè)領(lǐng)域語(yǔ)料進(jìn)行音素聚類,根據(jù)音素聚類結(jié)果進(jìn)行訓(xùn)練,建立聚類聲學(xué)模型包括:
將所述專有名詞詞表中的專有名詞的發(fā)音添加到所述專有名詞詞表中;
對(duì)所述專有名詞的發(fā)音進(jìn)行音素?cái)U(kuò)展;
針對(duì)音素?cái)U(kuò)展結(jié)果進(jìn)行音素聚類;
基于音素聚類結(jié)果進(jìn)行訓(xùn)練,建立聚類聲學(xué)模型。
優(yōu)選地,所述對(duì)所述初始聲學(xué)模型和聚類聲學(xué)模型進(jìn)行融合,建立融合聲學(xué)模型包括:
對(duì)所述初始聲學(xué)模型和聚類聲學(xué)模型進(jìn)行轉(zhuǎn)移概率的加權(quán)計(jì)算,建立融合聲學(xué)模型。
優(yōu)選地,對(duì)所述初始聲學(xué)模型和聚類聲學(xué)模型進(jìn)行轉(zhuǎn)移概率的加權(quán)計(jì)算,建立融合聲學(xué)模型包括:
當(dāng)所述初始聲學(xué)模型和聚類聲學(xué)模型中都包含狀態(tài)轉(zhuǎn)移a->b時(shí),或者所述初始聲學(xué)模型包含且所述聚類聲學(xué)模型中不包含狀態(tài)轉(zhuǎn)移a->b時(shí),按照以下公式(4)計(jì)算所述融合聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率:
p_ron(a->b)={xr*old_countr(a->b)+yr*new_countr(a->b)}/{xr*old_countr(a)+yr*new_countr(a)}(4)
其中,
xr=old_total_countr/(old_total_countr+new_total_countr),
yr=new_total_countr/(old_total_countr+new_total_countr),
其中,p_ron(a->b)表示所述融合聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率,a->b表示狀態(tài)a轉(zhuǎn)移到狀態(tài)b,狀態(tài)是指一個(gè)音素或者多個(gè)音素的聚類,xr、yr分別表示針對(duì)初始聲學(xué)模型和聚類聲學(xué)模型設(shè)置的加權(quán)系數(shù),old_countr(a->b)表示在初始聲學(xué)模型中a->b的轉(zhuǎn)移頻次,new_countr(a->b)表示在聚類聲學(xué)模型中a->b的轉(zhuǎn)移頻次,old_countr(a)表示在所述初始音頻語(yǔ)料中狀態(tài)a出現(xiàn)的頻次,new_countr(a)表示在所述音素聚類結(jié)果中狀態(tài)a出現(xiàn)的頻次,old_total_countr表示所述初始音頻語(yǔ)料中的總狀態(tài)數(shù),new_total_countr表示所述音素聚類結(jié)果中的總狀態(tài)數(shù)。
優(yōu)選地,對(duì)所述初始聲學(xué)模型和聚類聲學(xué)模型進(jìn)行轉(zhuǎn)移概率的加權(quán)計(jì)算,建立融合聲學(xué)模型包括:
當(dāng)所述初始聲學(xué)模型不包含且所述聚類聲學(xué)模型中包含狀態(tài)轉(zhuǎn)移a->b時(shí),按照以下公式(5)計(jì)算所述融合聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率:
p_ron(a->b)=p_newr(a->b)(5)
其中,p_ron(a->b)表示所述融合聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率,a->b表示狀態(tài)a轉(zhuǎn)移到狀態(tài)b,狀態(tài)是指一個(gè)音素或者多個(gè)音素的聚類,p_newr(a->b)表示所述聚類聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率。
優(yōu)選地,所述基于所述融合聲學(xué)模型和混合語(yǔ)言模型確定所述語(yǔ)音信號(hào)對(duì)應(yīng)的詞語(yǔ)序列包括:
求取概率p(w|x)最高時(shí)的詞語(yǔ)序列w;
其中:
p(w|x)=argmax_wp(x|w)*p(w)
其中,x表示所述語(yǔ)音信號(hào),w表示所述詞語(yǔ)序列,p(x|w)表示所述融合聲學(xué)模型對(duì)應(yīng)的條件概率,p(w)表示所述混合語(yǔ)言模型對(duì)應(yīng)的概率。
本發(fā)明實(shí)施例還提供一種領(lǐng)域自適應(yīng)語(yǔ)音識(shí)別裝置,包括:
初始建模模塊,用于基于初始音頻語(yǔ)料進(jìn)行訓(xùn)練,建立初始聲學(xué)模型,以及用于基于初始文本語(yǔ)料進(jìn)行訓(xùn)練,建立初始語(yǔ)言模型;
行業(yè)領(lǐng)域語(yǔ)言模型建模模塊,用于進(jìn)行行業(yè)領(lǐng)域語(yǔ)料搜集和處理,基于處理后的行業(yè)領(lǐng)域語(yǔ)料進(jìn)行訓(xùn)練,建立行業(yè)領(lǐng)域語(yǔ)言模型;
混合語(yǔ)言模型建模模塊,用于基于所述初始語(yǔ)言模型和所述行業(yè)領(lǐng)域語(yǔ)言模型進(jìn)行適配計(jì)算,建立混合語(yǔ)言模型;
聚類聲學(xué)模型建模模塊,用于基于處理后的行業(yè)領(lǐng)域語(yǔ)料進(jìn)行音素聚類,根據(jù)音素聚類結(jié)果進(jìn)行訓(xùn)練,建立聚類聲學(xué)模型;
融合聲學(xué)模型建模模塊,用于對(duì)所述初始聲學(xué)模型和聚類聲學(xué)模型進(jìn)行融合,建立融合聲學(xué)模型;
解碼模塊,用于接收輸入的語(yǔ)音信號(hào),基于所述融合聲學(xué)模型和混合語(yǔ)言模型確定所述語(yǔ)音信號(hào)對(duì)應(yīng)的詞語(yǔ)序列。
優(yōu)選地,所述初始語(yǔ)言模型是二元n-gram語(yǔ)言模型。
優(yōu)選地,所述進(jìn)行行業(yè)領(lǐng)域語(yǔ)料搜集和處理,基于處理后的行業(yè)領(lǐng)域語(yǔ)料進(jìn)行訓(xùn)練,建立行業(yè)領(lǐng)域語(yǔ)言模型包括:
搜集與所述行業(yè)領(lǐng)域相關(guān)的語(yǔ)料,從所述語(yǔ)料中提取句子文本和專有名詞;
對(duì)所述專有名詞進(jìn)行分類整理,建立專有名詞詞表;
基于所述專有名詞詞表對(duì)所述句子文本進(jìn)行專有名詞標(biāo)注和替換,得到包含專有名詞詞表標(biāo)記詞的句子文本;
以所述包含專有名詞詞表標(biāo)記詞的句子文本作為訓(xùn)練語(yǔ)料進(jìn)行訓(xùn)練,建立行業(yè)領(lǐng)域語(yǔ)言模型。
優(yōu)選地,所述基于所述初始語(yǔ)言模型和所述行業(yè)領(lǐng)域語(yǔ)言模型進(jìn)行適配計(jì)算,建立混合語(yǔ)言模型包括:
對(duì)所述初始語(yǔ)言模型和所述行業(yè)領(lǐng)域語(yǔ)言模型進(jìn)行概率加權(quán)計(jì)算,建立混合語(yǔ)言模型。
優(yōu)選地,對(duì)所述初始語(yǔ)言模型和所述行業(yè)領(lǐng)域語(yǔ)言模型進(jìn)行概率加權(quán)計(jì)算,建立混合語(yǔ)言模型包括:
當(dāng)初始文本語(yǔ)料和行業(yè)領(lǐng)域語(yǔ)料中都包含詞語(yǔ)組合wi-1wi時(shí),或者當(dāng)初始文本語(yǔ)料中包含詞語(yǔ)組合wi-1wi且行業(yè)領(lǐng)域語(yǔ)料中不包含詞語(yǔ)組合wi-1wi時(shí),按照以下公式(1)計(jì)算所述混合語(yǔ)言模型對(duì)應(yīng)的條件概率:
p_mix(wi|wi-1)={xm*old_count(wi-1,wi)+ym*new_count(wi-1,wi)}/{xm*old_count(wi-1)+ym*new_count(wi-1)}(1)
其中,
xm=old_total_count/(old_total_count+new_total_count),
ym=new_total_count/(old_total_count+new_total_count),
其中,p_mix(wi|wi-1)表示所述混合語(yǔ)言模型對(duì)應(yīng)的條件概率,wi-1和wi表示詞語(yǔ)序列w中的兩個(gè)相鄰詞語(yǔ),w=w1w2…wn,1<i≤n,xm、ym分別表示針對(duì)所述初始語(yǔ)言模型和所述行業(yè)領(lǐng)域語(yǔ)言模型設(shè)置的加權(quán)系數(shù),old_count(wi-1,wi)表示在所述初始文本語(yǔ)料中詞語(yǔ)組合wi-1wi出現(xiàn)的次數(shù),old_cout(wi-1)表示在所述初始文本語(yǔ)料中詞語(yǔ)wi-1出現(xiàn)的次數(shù),new_count(wi-1,wi)表示在所述行業(yè)領(lǐng)域語(yǔ)料中詞語(yǔ)組合wi-1wi出現(xiàn)的次數(shù),new_cout(wi-1)表示在所述行業(yè)領(lǐng)域語(yǔ)料中詞語(yǔ)wi-1出現(xiàn)的次數(shù),old_total_count表示所述初始文本語(yǔ)料中的總詞數(shù),new_total_count表示所述行業(yè)領(lǐng)域語(yǔ)料中的總詞數(shù)。
優(yōu)選地,對(duì)所述初始語(yǔ)言模型和所述行業(yè)領(lǐng)域語(yǔ)言模型進(jìn)行概率加權(quán)計(jì)算,建立混合語(yǔ)言模型包括:
當(dāng)初始文本語(yǔ)料中不包含詞語(yǔ)組合wi-1wi且行業(yè)領(lǐng)域語(yǔ)料中包含詞語(yǔ)組合wi-1wi時(shí),按照以下公式(2)計(jì)算所述混合語(yǔ)言模型對(duì)應(yīng)的條件概率:
p_mix(wi|wi-1)=p_new(wi|wi-1)(2)
其中,p_mix(wi|wi-1)表示所述混合語(yǔ)言模型對(duì)應(yīng)的條件概率,wi-1和wi表示詞語(yǔ)序列w中的兩個(gè)相鄰詞語(yǔ),w=w1w2…wn,1<i≤n,p_new(wi|wi-1)表示所述行業(yè)領(lǐng)域語(yǔ)言模型對(duì)應(yīng)的條件概率。
優(yōu)選地,所述基于處理后的行業(yè)領(lǐng)域語(yǔ)料進(jìn)行音素聚類,根據(jù)音素聚類結(jié)果進(jìn)行訓(xùn)練,建立聚類聲學(xué)模型包括:
將所述專有名詞詞表中的專有名詞的發(fā)音添加到所述專有名詞詞表中;
對(duì)所述專有名詞的發(fā)音進(jìn)行音素?cái)U(kuò)展;
針對(duì)音素?cái)U(kuò)展結(jié)果進(jìn)行音素聚類;
基于音素聚類結(jié)果進(jìn)行訓(xùn)練,建立聚類聲學(xué)模型。
優(yōu)選地,所述對(duì)所述初始聲學(xué)模型和聚類聲學(xué)模型進(jìn)行融合,建立融合聲學(xué)模型包括:
對(duì)所述初始聲學(xué)模型和聚類聲學(xué)模型進(jìn)行轉(zhuǎn)移概率的加權(quán)計(jì)算,建立融合聲學(xué)模型。
優(yōu)選地,對(duì)所述初始聲學(xué)模型和聚類聲學(xué)模型進(jìn)行轉(zhuǎn)移概率的加權(quán)計(jì)算,建立融合聲學(xué)模型包括:
當(dāng)所述初始聲學(xué)模型和聚類聲學(xué)模型中都包含狀態(tài)轉(zhuǎn)移a->b時(shí),或者所述初始聲學(xué)模型包含且所述聚類聲學(xué)模型中不包含狀態(tài)轉(zhuǎn)移a->b時(shí),按照以下公式(4)計(jì)算所述融合聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率:
p_ron(a->b)={xr*old_countr(a->b)+yr*new_countr(a->b)}/{xr*old_countr(a)+yr*new_countr(a)}(4)
其中,
xr=old_total_countr/(old_total_countr+new_total_countr),
yr=new_total_countr/(old_total_countr+new_total_countr),
其中,p_ron(a->b)表示所述融合聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率,a->b表示狀態(tài)a轉(zhuǎn)移到狀態(tài)b,狀態(tài)是指一個(gè)音素或者多個(gè)音素的聚類,xr、yr分別表示針對(duì)初始聲學(xué)模型和聚類聲學(xué)模型設(shè)置的加權(quán)系數(shù),old_countr(a->b)表示在初始聲學(xué)模型中a->b的轉(zhuǎn)移頻次,new_countr(a->b)表示在聚類聲學(xué)模型中a->b的轉(zhuǎn)移頻次,old_countr(a)表示在所述初始音頻語(yǔ)料中狀態(tài)a出現(xiàn)的頻次,new_countr(a)表示在所述音素聚類結(jié)果中狀態(tài)a出現(xiàn)的頻次,old_total_countr表示所述初始音頻語(yǔ)料中的總狀態(tài)數(shù),new_total_countr表示所述音素聚類結(jié)果中的總狀態(tài)數(shù)。
優(yōu)選地,對(duì)所述初始聲學(xué)模型和聚類聲學(xué)模型進(jìn)行轉(zhuǎn)移概率的加權(quán)計(jì)算,建立融合聲學(xué)模型包括:
當(dāng)所述初始聲學(xué)模型不包含且所述聚類聲學(xué)模型中包含狀態(tài)轉(zhuǎn)移a->b時(shí),按照以下公式(5)計(jì)算所述融合聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率:
p_ron(a->b)=p_newr(a->b)(5)
其中,p_ron(a->b)表示所述融合聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率,a->b表示狀態(tài)a轉(zhuǎn)移到狀態(tài)b,狀態(tài)是指一個(gè)音素或者多個(gè)音素的聚類,p_newr(a->b)表示所述聚類聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率。
優(yōu)選地,所述基于所述融合聲學(xué)模型和混合語(yǔ)言模型確定所述語(yǔ)音信號(hào)對(duì)應(yīng)的詞語(yǔ)序列包括:
求取概率p(w|x)最高時(shí)的詞語(yǔ)序列w;
其中:
p(w|x)=argmax_wp(x|w)*p(w)
其中,x表示所述語(yǔ)音信號(hào),w表示所述詞語(yǔ)序列,p(x|w)表示所述融合聲學(xué)模型對(duì)應(yīng)的條件概率,p(w)表示所述混合語(yǔ)言模型對(duì)應(yīng)的概率。
與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):
通過(guò)來(lái)自通用領(lǐng)域的初始語(yǔ)料和來(lái)自于特定行業(yè)領(lǐng)域的行業(yè)領(lǐng)域語(yǔ)料進(jìn)行訓(xùn)練,分別建立適應(yīng)于通用領(lǐng)域和行業(yè)領(lǐng)域的聲學(xué)模型和語(yǔ)言模型,并對(duì)適應(yīng)于不同領(lǐng)域的模型進(jìn)行融合,從而實(shí)現(xiàn)能夠適應(yīng)于不同行業(yè)領(lǐng)域的語(yǔ)音識(shí)別方法。
使用少量行業(yè)領(lǐng)域數(shù)據(jù),即可實(shí)現(xiàn)這些行業(yè)領(lǐng)域中的自適應(yīng)語(yǔ)音識(shí)別,提高了語(yǔ)音識(shí)別方法在行業(yè)領(lǐng)域切換時(shí)的適應(yīng)性和準(zhǔn)確性,并能夠達(dá)到實(shí)用標(biāo)準(zhǔn)。
附圖說(shuō)明
通過(guò)結(jié)合附圖對(duì)本公開示例性實(shí)施方式進(jìn)行更詳細(xì)的描述,本公開的上述以及其它目的、特征和優(yōu)勢(shì)將變得更加明顯,其中,在本公開示例性實(shí)施方式中,相同的參考標(biāo)號(hào)通常代表相同部件。
圖1顯示根據(jù)本發(fā)明實(shí)施例的領(lǐng)域自適應(yīng)語(yǔ)音識(shí)別方法的流程圖;
圖2顯示根據(jù)本發(fā)明實(shí)施例的音素聚類中選用的決策樹模型的示意圖;
圖3顯示根據(jù)本發(fā)明實(shí)施例的領(lǐng)域自適應(yīng)語(yǔ)音識(shí)別裝置的框圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的優(yōu)選實(shí)施方式。雖然附圖中顯示了本公開的優(yōu)選實(shí)施方式,然而應(yīng)該理解,可以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施方式所限制。相反,提供這些實(shí)施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整地傳達(dá)給本領(lǐng)域的技術(shù)人員。
圖1顯示根據(jù)本發(fā)明實(shí)施例的領(lǐng)域自適應(yīng)語(yǔ)音識(shí)別方法的流程圖,如圖1所示,該方法具體包括以下步驟:
步驟1:基于初始音頻語(yǔ)料進(jìn)行訓(xùn)練,建立初始聲學(xué)模型,以及基于初始文本語(yǔ)料進(jìn)行訓(xùn)練,建立初始語(yǔ)言模型
在執(zhí)行實(shí)施例的領(lǐng)域自適應(yīng)語(yǔ)音識(shí)別方法時(shí),首先選擇音頻語(yǔ)料(也稱初始音頻語(yǔ)料),然后基于選擇的音頻語(yǔ)料進(jìn)行訓(xùn)練,以建立初始聲學(xué)模型。初始音頻語(yǔ)料選自通用領(lǐng)域,通用領(lǐng)域指一般性的應(yīng)用領(lǐng)域(例如日常生活領(lǐng)域),其是相對(duì)于專業(yè)的行業(yè)領(lǐng)域(例如化工行業(yè)、電子行業(yè)、金融行業(yè)等)而言。音頻語(yǔ)料是音頻數(shù)據(jù)文件,其包括音頻信號(hào)。以下給出幾個(gè)音頻數(shù)據(jù)文件的示例:
聲學(xué)模型是音頻信號(hào)到文本形式的音素或音節(jié)的條件概率p(x|w),即給定文本形式的音素或音節(jié)w的條件下,發(fā)出音頻信號(hào)x的概率。
在實(shí)施例中,選擇訓(xùn)練語(yǔ)料之后,使用聲學(xué)模型開源工具基于選擇的訓(xùn)練語(yǔ)料進(jìn)行訓(xùn)練,建立相應(yīng)的聲學(xué)模型。目前常用的聲學(xué)模型開源工具包括htk、cmusphinx、kaldi等。以kaldi為例,將音頻數(shù)據(jù)文件(wav)、標(biāo)注文件(data.map.txt)、音素詞典(lexicon.txt)存儲(chǔ)于指定位置,然后運(yùn)行訓(xùn)練命令run.sh,即可得到二進(jìn)制的聲學(xué)模型文件final.mdl。
基于訓(xùn)練語(yǔ)料通過(guò)聲學(xué)模型開源工具建立聲學(xué)模型是本領(lǐng)域的現(xiàn)有技術(shù),在此不再對(duì)其細(xì)節(jié)進(jìn)行展開解釋。
在步驟1中,還基于初始文本語(yǔ)料進(jìn)行訓(xùn)練,建立初始語(yǔ)言模型。在此,語(yǔ)言模型指由多個(gè)詞語(yǔ)組合而成的句子能夠語(yǔ)言成句的概率。
句子(即詞語(yǔ)序列)w可以表示為n個(gè)詞語(yǔ)w1、w2…wn的組合,即:
w=w1w2…wn,其中w1-wn分別表示一個(gè)詞語(yǔ)。
則句子w的語(yǔ)言成句概率p(w)可以表示為:
p(w)=p(w1w2...wn)
根據(jù)n-gram語(yǔ)言模型或者dnn(deepneuralnetwork)模型,可以計(jì)算句子w的語(yǔ)言成句概率p(w)。在常用的n-gram模型中,認(rèn)為第n個(gè)詞的概率只依賴于前面n-1個(gè)詞,而與其他任何詞不相關(guān)。那么以n-gram模型的二元概率模型為例:
p(w1...wn)=p(w1)*p(w2|w1)*...*p(wn|wn-1)
其中,先驗(yàn)概率p(w1)可以通過(guò)以下公式計(jì)算得到:
p(w1)=conut(w1)/total_count
其中,conut(w1)表示詞語(yǔ)w1在訓(xùn)練語(yǔ)料中出現(xiàn)的次數(shù),total_count表示訓(xùn)練語(yǔ)料中的總詞數(shù)。
條件概率p(wn|wn-1)可以通過(guò)以下公式計(jì)算得到:
p(wn|wn-1)=count(wn-1,wn)/count(wn-1)
其中,count(wn-1,wn)表示詞語(yǔ)組合wn-1wn在訓(xùn)練語(yǔ)料中出現(xiàn)的次數(shù),count(wn-1)表示詞語(yǔ)wn-1在訓(xùn)練語(yǔ)料中出現(xiàn)的次數(shù)。
例如,選擇的初始文本語(yǔ)料包括以下3個(gè)句子:
“把聲音開大一點(diǎn)”
“聲音大點(diǎn)”
“今天幾號(hào)了”
則總詞數(shù)total_conut為11
所計(jì)算的先驗(yàn)概率如下:
p(“把”)=count(“把”)/total_count=1/11
p(“聲音”)=count(“聲音”)/total_count=2/11
...
所計(jì)算的二元條件概率如下:
p(聲音|把)=count(把聲音)/count(把)=1/1=1
p(開|聲音)=count(聲音開)/count(聲音)=1/2=0.5
...
步驟2:進(jìn)行行業(yè)領(lǐng)域語(yǔ)料搜集和處理,并基于處理后的行業(yè)領(lǐng)域語(yǔ)料進(jìn)行訓(xùn)練,得到行業(yè)領(lǐng)域語(yǔ)言模型
在實(shí)施例中,為使語(yǔ)音識(shí)別方法能夠適應(yīng)于特定的行業(yè)領(lǐng)域,通過(guò)以下步驟進(jìn)行行業(yè)領(lǐng)域語(yǔ)料搜集和處理,并基于處理后的語(yǔ)料進(jìn)行訓(xùn)練,得到行業(yè)領(lǐng)域語(yǔ)言模型:
步驟2.1搜集與行業(yè)領(lǐng)域相關(guān)的語(yǔ)料,從語(yǔ)料中提取句子文本和專有名詞;
步驟2.2對(duì)專有名詞進(jìn)行分類整理,建立專有名詞詞表;
對(duì)提取的專有名詞進(jìn)行分類整理,從而建立專有名詞詞表。例如,可以通過(guò)人工方式對(duì)提取的專有名詞進(jìn)行分類整理,從而建立娛樂(lè)領(lǐng)域的人名詞表,醫(yī)療領(lǐng)域的疾病名稱詞表等。
步驟2.3基于專有名詞詞表對(duì)句子文本進(jìn)行專有名詞標(biāo)注和替換,以得到包含專有名詞詞表標(biāo)記詞的句子文本
基于獲得的專有名詞詞表,使用模板匹配或序列標(biāo)注算法,對(duì)提取的句子文本進(jìn)行專有名詞標(biāo)注和替換,以得到包含專有名詞詞表標(biāo)記詞的句子文本。
對(duì)句子文本進(jìn)行專有名詞標(biāo)注是指將句子文本中屬于某個(gè)專有名詞詞表的詞語(yǔ)用指示該專有名詞詞表的標(biāo)記詞進(jìn)行標(biāo)注。以模板匹配算法為例,使用模板“[人物]說(shuō)相聲”對(duì)于以下句子文本進(jìn)行專有名詞標(biāo)注:
岳云鵬說(shuō)相聲
我喜歡聽相聲
郭德綱說(shuō)相聲
標(biāo)注結(jié)果為:
[岳云鵬/n_per]說(shuō)相聲
[郭德綱/n_per]說(shuō)相聲
其中,“岳云鵬”、“郭德綱”是關(guān)于娛樂(lè)領(lǐng)域人名的專有名詞詞表中列舉的專有名詞,“n_per”是指示該專有名詞詞表的標(biāo)記詞。
然后,用上述標(biāo)記詞替換句子文本中被標(biāo)注的專有名詞,得到包含專有名詞詞表標(biāo)記詞的句子文本(也稱為混合句子文本)。
例如,經(jīng)過(guò)替換后,上述句子文本轉(zhuǎn)換為:
n_per說(shuō)相聲
我喜歡聽相聲
n_per說(shuō)相聲
步驟2.4以包含專有名詞詞表標(biāo)記詞的句子文本作為訓(xùn)練語(yǔ)料進(jìn)行訓(xùn)練,建立行業(yè)領(lǐng)域語(yǔ)言模型
以步驟2.3獲得的包含專有名詞詞表標(biāo)記的句子文本作為訓(xùn)練語(yǔ)料進(jìn)行訓(xùn)練,訓(xùn)練后得到行業(yè)領(lǐng)域語(yǔ)言模型,行業(yè)領(lǐng)域語(yǔ)言模型特別適用于該行業(yè)領(lǐng)域。例如,可以基于步驟2.3獲得的混合句子文本,計(jì)算先驗(yàn)概率p(n_per)、p(說(shuō)),并計(jì)算條件概率p(說(shuō)|n_ner)、p(相聲|說(shuō))。
步驟3:基于初始語(yǔ)言模型和行業(yè)領(lǐng)域語(yǔ)言模型進(jìn)行適配計(jì)算,建立混合語(yǔ)言模型
本步驟的目的是得到既能適用于通用領(lǐng)域、又能適用于特定行業(yè)領(lǐng)域的混合語(yǔ)言模型。
建立混合語(yǔ)言模型的方法有兩種:第一種方法是數(shù)據(jù)混合方法,即將步驟1中的初始文本語(yǔ)料和步驟2中的混合句子文本混合起來(lái)作為訓(xùn)練語(yǔ)料,統(tǒng)一進(jìn)行語(yǔ)言模型訓(xùn)練,從而得到混合語(yǔ)言模型。由于這樣的訓(xùn)練語(yǔ)料既包括初始文本語(yǔ)料,又包括行業(yè)領(lǐng)域語(yǔ)料,因此經(jīng)過(guò)訓(xùn)練之后的混合語(yǔ)言模型既能適用于通用領(lǐng)域、又能適用于行業(yè)領(lǐng)域。這種方法較容易理解,但并不是本發(fā)明的重點(diǎn)。
另一種方法是模型融合方法,即對(duì)步驟1的初始語(yǔ)言模型和步驟2的行業(yè)領(lǐng)域語(yǔ)言模型進(jìn)行適配計(jì)算,從而建立混合語(yǔ)言模型。由于混合語(yǔ)言模型通過(guò)初始語(yǔ)言模型和行業(yè)領(lǐng)域語(yǔ)言模型的適配計(jì)算而獲得,因此其既能適用于通用領(lǐng)域、又能適用于行業(yè)領(lǐng)域。
以下以n-gram語(yǔ)言模型為例,詳細(xì)描述通過(guò)模型融合方法建立混合語(yǔ)言模型的過(guò)程,其是通過(guò)對(duì)初始語(yǔ)言模型和行業(yè)領(lǐng)域語(yǔ)言模型進(jìn)行概率加權(quán)計(jì)算實(shí)現(xiàn)的。根據(jù)詞語(yǔ)組合在不同語(yǔ)料中出現(xiàn)的情況,分別采用不同的概率加權(quán)算法計(jì)算混合語(yǔ)言模型對(duì)應(yīng)的概率值,如下詳述。
在步驟1中提到,對(duì)于n-gram模型,句子w的語(yǔ)言成句概率p(w)=p(w1)*p(w2|w1)*...*p(wn|wn-1)。對(duì)于其中的條件概率p(wi|wi-1),1<i≤n,在初始語(yǔ)言模型中,將其表示為:
p_old(wi|wi-1)=old_count(wi-1,wi)/old_cout(wi-1)
其中,p_old(wi|wi-1)表示初始語(yǔ)言模型中的條件概率,old_count(wi-1,wi)表示在初始文本語(yǔ)料中詞語(yǔ)組合wi-1wi出現(xiàn)的次數(shù),old_cout(wi-1)表示在初始文本語(yǔ)料中詞語(yǔ)wi-1出現(xiàn)的次數(shù)。
在行業(yè)領(lǐng)域語(yǔ)言模型中,條件概率p(wi|wi-1)表示為:
p_new(wi|wi-1)=new_count(wi-1,wi)/new_count(wi-1)
其中,p_new(wi|wi-1)表示行業(yè)領(lǐng)域語(yǔ)言模型中的條件概率,new_count(wi-1,wi)表示在行業(yè)領(lǐng)域語(yǔ)料中詞語(yǔ)組合wi-1wi出現(xiàn)的次數(shù),new_cout(wi-1)表示在行業(yè)領(lǐng)域訓(xùn)練語(yǔ)料中詞語(yǔ)wi-1出現(xiàn)的次數(shù)。
a.當(dāng)初始文本語(yǔ)料和行業(yè)領(lǐng)域語(yǔ)料中都包含詞語(yǔ)組合wi-1wi時(shí),按照以下公式(1)進(jìn)行初始語(yǔ)言模型和行業(yè)領(lǐng)域語(yǔ)言模型的概率加權(quán)計(jì)算,獲得混合語(yǔ)言模型對(duì)應(yīng)的條件概率:
p_mix(wi|wi-1)={xm*old_count(wi-1,wi)+ym*new_count(wi-1,wi)}/{xm*old_count(wi-1)+ym*new_count(wi-1)}(1)
其中,p_mix(wi|wi-1)表示混合語(yǔ)言模型對(duì)應(yīng)的條件概率,xm、ym分別表示針對(duì)初始語(yǔ)言模型和行業(yè)領(lǐng)域語(yǔ)言模型設(shè)置的加權(quán)系數(shù)。
其中:
xm=old_total_count/(old_total_count+new_total_count),
ym=new_total_count/(old_total_count+new_total_count),
其中,old_total_count表示初始文本語(yǔ)料中的總詞數(shù),new_total_count表示行業(yè)領(lǐng)域語(yǔ)料中的總詞數(shù)。
b.當(dāng)初始文本語(yǔ)料不包含詞語(yǔ)組合wi-1wi且行業(yè)領(lǐng)域語(yǔ)料包含詞語(yǔ)組合wi-1wi時(shí),按照以下公式(2)計(jì)算混合語(yǔ)言模型對(duì)應(yīng)的條件概率:
p_mix(wi|wi-1)=p_new(wi|wi-1)(2)。
c.或者當(dāng)初始文本語(yǔ)料中包含詞語(yǔ)組合wi-1wi且行業(yè)領(lǐng)域語(yǔ)料中不包含詞語(yǔ)組合wi-1wi時(shí),按照以下公式(3)進(jìn)行初始語(yǔ)言模型和行業(yè)領(lǐng)域語(yǔ)言模型的概率加權(quán)計(jì)算,獲得混合語(yǔ)言模型對(duì)應(yīng)的條件概率:
p_mix(wi|wi-1)={xm*old_count(wi-1,wi)+ym*new_count(wi-1,wi)}/{xm*old_count(wi-1)+ym*new_count(wi-1)}(3)
公式(3)的形式與公式(1)相同,在實(shí)際應(yīng)用時(shí)也可以將這兩種情況進(jìn)行合并處理。
例如,如步驟1所述,初始文本語(yǔ)料包括以下3個(gè)句子:
“把聲音開大一點(diǎn)”
“聲音大點(diǎn)”
“今天幾號(hào)了”
假設(shè)在步驟2中搜集的行業(yè)領(lǐng)域語(yǔ)料中包括以下3個(gè)句子:
“扁桃體發(fā)炎吃什么藥”
“眼睛睜大一點(diǎn)”
“肚子不舒服”
那么按照以下方法計(jì)算混合語(yǔ)言模型對(duì)應(yīng)的條件概率:
a.對(duì)于初始文本語(yǔ)料和行業(yè)領(lǐng)域語(yǔ)料中都包含的詞語(yǔ)組合“大一點(diǎn)”,通過(guò)統(tǒng)計(jì)可知:
old_count(大一點(diǎn))=1,
new_count(大一點(diǎn))=1,
old_count(大)=2,
new_count(大)=1,
old_total_count=11,
new_total_count=12,
xm=11/(11+12)=0.48,ym=12/(11+12)=0.52
則對(duì)于混合語(yǔ)言模型,按照公式(1)計(jì)算條件概率如下:
p_mix(一點(diǎn)|大)=(0.48*1+0.52*1)/(0.48*2+0.52*1)=0.68
b.對(duì)于初始文本語(yǔ)料中不包含且行業(yè)領(lǐng)域語(yǔ)料中包含的詞語(yǔ)組合“扁桃體發(fā)炎”,對(duì)于混合語(yǔ)言模型,按照公式(2)計(jì)算條件概率如下:
p(發(fā)炎|扁桃體)=count(扁桃體發(fā)炎)/count(扁桃體)=1/1=1
c.對(duì)于初始文本語(yǔ)料中包含且行業(yè)領(lǐng)域語(yǔ)料中不包含的詞語(yǔ)組合“大點(diǎn)”,對(duì)于混合語(yǔ)言模型,按照公式(3)計(jì)算條件概率如下:
p(點(diǎn)|大)=(xm*old_count(大點(diǎn))+ym*new_count(大點(diǎn)))/(xm*old_count(大)+ym*new_count(大))=(0.48*1+0.52*0)/(0.48*2+0.52*1)=0.32
步驟4:基于處理后的行業(yè)領(lǐng)域語(yǔ)料進(jìn)行音素聚類,根據(jù)音素聚類結(jié)果進(jìn)行訓(xùn)練,建立聚類聲學(xué)模型
步驟4具體包括以下步驟:
步驟4.1將專有名詞詞表中的專有名詞的發(fā)音添加到該專有名詞詞表中。
在步驟2中,已經(jīng)從行業(yè)領(lǐng)域語(yǔ)料中提取專有名詞并建立專有名詞詞表。在本步驟中,將專有名詞詞表中的專有名詞的發(fā)音添加到對(duì)應(yīng)的詞表中,以進(jìn)行聲學(xué)詞匯擴(kuò)展,其中專有名詞的發(fā)音包括其音節(jié)和聲調(diào)。例如,將疾病名稱對(duì)應(yīng)的專有名詞詞表中的專有名詞的發(fā)音添加到該專有名詞詞表中:
扁桃體bian3tao2ti3
發(fā)炎fa1yan2
步驟4.2對(duì)專有名詞的發(fā)音進(jìn)行音素?cái)U(kuò)展。
將專有名詞的發(fā)音進(jìn)行音素?cái)U(kuò)展,以獲得該發(fā)音所對(duì)應(yīng)的音素。操作過(guò)程中,通常進(jìn)行單音素和三音素的音素?cái)U(kuò)展,例如在步驟4.1的示例中,經(jīng)過(guò)音素?cái)U(kuò)展后可以得到:
單音素有:b、ian3、t、ao2等等;
三音素有:b-ian3-t、ian3-t-ao2、ao2-t-i3等等。
如果使用聲學(xué)模型開源工具進(jìn)行聲學(xué)模型的訓(xùn)練,可以將音素?cái)U(kuò)展所獲得的音素添加到音素詞典中,以在后續(xù)訓(xùn)練中使用。
步驟4.3針對(duì)音素?cái)U(kuò)展結(jié)果進(jìn)行音素聚類。
對(duì)步驟4.2獲得的音素?cái)U(kuò)展結(jié)果進(jìn)行音素聚類,進(jìn)行音素聚類的方法很多,例如可用決策樹的方法對(duì)其進(jìn)行聚類,即針對(duì)專有名詞詞表中的專有名詞的發(fā)音對(duì)應(yīng)音素的所有狀態(tài)都建立一個(gè)決策樹模型。如果之前建立了多個(gè)專有名詞詞表,那么分別針對(duì)所建立的每個(gè)專有名詞詞表,對(duì)其中的專有名詞的發(fā)音對(duì)應(yīng)的音素進(jìn)行音素聚類。
圖2顯示了針對(duì)步驟4.1和4.2中的示例建立的決策樹模型。對(duì)于三音素ian3-t-ao2和ao2-t-i3,根據(jù)決策樹模型按照以下過(guò)程進(jìn)行音素聚類:
-目標(biāo)音素:t
-判斷,左邊是否韻母。
-是,走左支路。
-判斷,右邊是否韻母。
-是,走左支路。
得到結(jié)果簇a,即ian3-t-ao2和ao2-t-i3均可歸為一個(gè)狀態(tài)。
進(jìn)行音素聚類的作用在于通過(guò)將同類音素歸為一類,可以避免模型參數(shù)過(guò)多的問(wèn)題,提高模型的訓(xùn)練效率。
目前還有其他進(jìn)行音素聚類的方法,其屬于現(xiàn)有技術(shù),在此不再贅述。
步驟4.4基于音素聚類結(jié)果進(jìn)行訓(xùn)練,建立聚類聲學(xué)模型。
根據(jù)上步結(jié)果,將多個(gè)音素聚類為一個(gè)狀態(tài)。基于音素聚類結(jié)果,應(yīng)用步驟1的方法進(jìn)行訓(xùn)練,可以建立聚類聲學(xué)模型。
步驟5:對(duì)初始聲學(xué)模型和聚類聲學(xué)模型進(jìn)行融合,建立融合聲學(xué)模型。
與步驟3的過(guò)程類似,對(duì)初始聲學(xué)模型和聚類聲學(xué)模型進(jìn)行融合,調(diào)整狀態(tài)間的轉(zhuǎn)移概率,得到融合聲學(xué)模型。
在步驟1中提到,聲學(xué)模型是音頻信號(hào)到文本形式的音素或音節(jié)的條件概率p(x|w),即給定文本形式的音素或音節(jié)w的條件下,發(fā)出音頻信號(hào)x的概率。一般可基于現(xiàn)有模型(例如隱馬爾科夫模型),利用現(xiàn)有的聲學(xué)模型開源工具訓(xùn)練獲得聲學(xué)模型。在常用的現(xiàn)有模型中,條件概率p(x|w)是通過(guò)發(fā)射概率和轉(zhuǎn)移概率獲得的。在本步驟中,通過(guò)對(duì)初始聲學(xué)模型和聚類聲學(xué)模型進(jìn)行融合,調(diào)整狀態(tài)間的轉(zhuǎn)移概率,來(lái)獲得融合聲學(xué)模型輸出的條件概率p(x|w)。在本方法中,并不對(duì)發(fā)射概率進(jìn)行調(diào)整。這里所說(shuō)的“狀態(tài)”對(duì)應(yīng)于一個(gè)音素或者步驟4中的多個(gè)音素的聚類。
具體來(lái)說(shuō),對(duì)于融合聲學(xué)模型,按照以下方法計(jì)算狀態(tài)間的轉(zhuǎn)移概率:
a.對(duì)于初始聲學(xué)模型和聚類聲學(xué)模型中都包含的狀態(tài)轉(zhuǎn)移a->b(狀態(tài)a轉(zhuǎn)移到狀態(tài)b),按照以下公式(4)計(jì)算狀態(tài)間的轉(zhuǎn)移概率:
p_ron(a->b)={xr*old_countr(a->b)+yr*new_countr(a->b)}/{xr*old_countr(a)+yr*new_countr(a)}(4)
其中,p_ron(a->b)表示融合聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率,xr、yr分別表示針對(duì)初始聲學(xué)模型和聚類聲學(xué)模型設(shè)置的加權(quán)系數(shù),old_countr(a->b)表示在初始聲學(xué)模型中a->b的轉(zhuǎn)移頻次,new_countr(a->b)表示在聚類聲學(xué)模型中a->b的轉(zhuǎn)移頻次,old_countr(a)表示在初始音頻語(yǔ)料中狀態(tài)a出現(xiàn)的頻次,new_countr(a)表示在音素聚類結(jié)果中狀態(tài)a出現(xiàn)的頻次。
在公式(4)中:
xr=old_total_countr/(old_total_countr+new_total_countr),
yr=new_total_countr/(old_total_countr+new_total_countr),
其中,old_total_countr表示初始音頻語(yǔ)料中的總狀態(tài)數(shù),new_total_countr表示音素聚類結(jié)果中的總狀態(tài)數(shù)。
b.對(duì)于初始聲學(xué)模型不包含且聚類聲學(xué)模型中包含的狀態(tài)轉(zhuǎn)移a->b(狀態(tài)a轉(zhuǎn)移到狀態(tài)b),按照以下公式(5)計(jì)算狀態(tài)間的轉(zhuǎn)移概率:
p_ron(a->b)=p_newr(a->b)(5)
其中,p_newr(a->b)表示聚類聲學(xué)模型中狀態(tài)轉(zhuǎn)移a->b所對(duì)應(yīng)的轉(zhuǎn)移概率。
c.對(duì)于初始聲學(xué)模型包含且聚類聲學(xué)模型中不包含的狀態(tài)轉(zhuǎn)移a->b(狀態(tài)a轉(zhuǎn)移到狀態(tài)b),按照以下公式(6)計(jì)算融合聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率:
p_ron(a->b)={xr*old_countr(a->b)+yr*new_countr(a->b)}/{xr*old_countr(a)+yr*new_countr(a)}(6)
示例:
初始聲學(xué)模型的狀態(tài)間的轉(zhuǎn)移頻次如下:
聚類聲學(xué)模型的狀態(tài)間的轉(zhuǎn)移頻次如下
a.對(duì)于聚類聲學(xué)模型和初始聲學(xué)模型都包含的狀態(tài)轉(zhuǎn)移“1->a”,通過(guò)統(tǒng)計(jì)可知:
old_countr(1->a)=6,
new_countr(1->a)=1,
old_countr(1)=10,
new_countr(1)=3,
old_total_countr=11,
new_total_countr=5,
xr=11/(11+5)=0.69,yr=5/(11+5)=0.31
則計(jì)算融合聲學(xué)模型所對(duì)應(yīng)的轉(zhuǎn)移概率如下:
p_newr(1->a)=(0.69*6+0.31*1)/(0.69*10+0.31*5)=0.53
b.對(duì)于初始聲學(xué)模型中不包含但聚類聲學(xué)模型中包含的狀態(tài)轉(zhuǎn)移“2->1”,計(jì)算融合聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率如下:
p_newr(2->1)=count_newr(2->1)/count_newr(2)=1/1=1
c.對(duì)于聚類聲學(xué)模型中不包含但初始聲學(xué)模型中包含的狀態(tài)轉(zhuǎn)移“1->b”,計(jì)算融合聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率如下:
p_newr(1->b)=xr*count_newr(1->b)/(xr*count_oldr(1)+yr*count_newr(1))=0.69*2/(0.69*10+0.31*3)=0.18
獲得融合聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率之后,即可根據(jù)轉(zhuǎn)移概率計(jì)算條件概率p(x|w),這是本領(lǐng)域的現(xiàn)有技術(shù),在此不再贅述。
步驟6:接收輸入的語(yǔ)音信號(hào),基于融合聲學(xué)模型和混合語(yǔ)言模型確定語(yǔ)音信號(hào)對(duì)應(yīng)的詞語(yǔ)序列
當(dāng)接收到輸入的語(yǔ)音信號(hào)x時(shí),基于融合聲學(xué)模型和混合語(yǔ)言模型進(jìn)行求解,即求取概率p(w|x)最高時(shí)的詞語(yǔ)序列w,該詞語(yǔ)序列w就是語(yǔ)音信號(hào)x對(duì)應(yīng)的詞語(yǔ)序列,其中:
p(w|x)=argmax_wp(x|w)*p(w)
其中,p(x|w)表示融合聲學(xué)模型對(duì)應(yīng)的條件概率,在常用的語(yǔ)音識(shí)別模型(例如隱含馬爾科夫模型)中對(duì)應(yīng)解碼算法中的發(fā)射概率,p(w)表示混合語(yǔ)言模型對(duì)應(yīng)的概率,對(duì)應(yīng)語(yǔ)音識(shí)別模型解碼算法中的轉(zhuǎn)移概率。使用現(xiàn)有的解碼算法,例如維特比解碼算法,即可求出概率p(w|x)最高時(shí)的詞語(yǔ)序列w,即輸入的語(yǔ)音信號(hào)x對(duì)應(yīng)的詞語(yǔ)序列。
本發(fā)明實(shí)施例還提供一種領(lǐng)域自適應(yīng)語(yǔ)音識(shí)別裝置,如圖3所示,包括:
初始建模模塊301,用于基于初始音頻語(yǔ)料進(jìn)行訓(xùn)練,建立初始聲學(xué)模型,以及用于基于初始文本語(yǔ)料進(jìn)行訓(xùn)練,建立初始語(yǔ)言模型;
行業(yè)領(lǐng)域語(yǔ)言模型建模模塊302,用于進(jìn)行行業(yè)領(lǐng)域語(yǔ)料搜集和處理,基于處理后的行業(yè)領(lǐng)域語(yǔ)料進(jìn)行訓(xùn)練,建立行業(yè)領(lǐng)域語(yǔ)言模型;
混合語(yǔ)言模型建模模塊303,用于基于所述初始語(yǔ)言模型和所述行業(yè)領(lǐng)域語(yǔ)言模型進(jìn)行適配計(jì)算,建立混合語(yǔ)言模型;
聚類聲學(xué)模型建模模塊304,用于基于處理后的行業(yè)領(lǐng)域語(yǔ)料進(jìn)行音素聚類,根據(jù)音素聚類結(jié)果進(jìn)行訓(xùn)練,建立聚類聲學(xué)模型;
融合聲學(xué)模型建模模塊305,用于對(duì)所述初始聲學(xué)模型和聚類聲學(xué)模型進(jìn)行融合,建立融合聲學(xué)模型;
解碼模塊306,用于接收輸入的語(yǔ)音信號(hào),基于所述融合聲學(xué)模型和混合語(yǔ)言模型確定所述語(yǔ)音信號(hào)對(duì)應(yīng)的詞語(yǔ)序列。
優(yōu)選地,所述初始語(yǔ)言模型是二元n-gram語(yǔ)言模型。
優(yōu)選地,所述進(jìn)行行業(yè)領(lǐng)域語(yǔ)料搜集和處理,基于處理后的行業(yè)領(lǐng)域語(yǔ)料進(jìn)行訓(xùn)練,建立行業(yè)領(lǐng)域語(yǔ)言模型包括:
搜集與所述行業(yè)領(lǐng)域相關(guān)的語(yǔ)料,從所述語(yǔ)料中提取句子文本和專有名詞;
對(duì)所述專有名詞進(jìn)行分類整理,建立專有名詞詞表;
基于所述專有名詞詞表對(duì)所述句子文本進(jìn)行專有名詞標(biāo)注和替換,得到包含專有名詞詞表標(biāo)記詞的句子文本;
以所述包含專有名詞詞表標(biāo)記詞的句子文本作為訓(xùn)練語(yǔ)料進(jìn)行訓(xùn)練,建立行業(yè)領(lǐng)域語(yǔ)言模型。
優(yōu)選地,所述基于所述初始語(yǔ)言模型和所述行業(yè)領(lǐng)域語(yǔ)言模型進(jìn)行適配計(jì)算,建立混合語(yǔ)言模型包括:
對(duì)所述初始語(yǔ)言模型和所述行業(yè)領(lǐng)域語(yǔ)言模型進(jìn)行概率加權(quán)計(jì)算,建立混合語(yǔ)言模型。
優(yōu)選地,對(duì)所述初始語(yǔ)言模型和所述行業(yè)領(lǐng)域語(yǔ)言模型進(jìn)行概率加權(quán)計(jì)算,建立混合語(yǔ)言模型包括:
當(dāng)初始文本語(yǔ)料和行業(yè)領(lǐng)域語(yǔ)料中都包含詞語(yǔ)組合wi-1wi時(shí),或者當(dāng)初始文本語(yǔ)料中包含詞語(yǔ)組合wi-1wi且行業(yè)領(lǐng)域語(yǔ)料中不包含詞語(yǔ)組合wi-1wi時(shí),按照以下公式(1)計(jì)算所述混合語(yǔ)言模型對(duì)應(yīng)的條件概率:
p_mix(wi|wi-1)={xm*old_count(wi-1,wi)+ym*new_count(wi-1,wi)}/{xm*old_count(wi-1)+ym*new_count(wi-1)}(1)
其中,
xm=old_total_count/(old_total_count+new_total_count),
ym=new_total_count/(old_total_count+new_total_count),
其中,p_mix(wi|wi-1)表示所述混合語(yǔ)言模型對(duì)應(yīng)的條件概率,wi-1和wi表示詞語(yǔ)序列w中的兩個(gè)相鄰詞語(yǔ),w=w1w2…wn,1<i≤n,xm、ym分別表示針對(duì)所述初始語(yǔ)言模型和所述行業(yè)領(lǐng)域語(yǔ)言模型設(shè)置的加權(quán)系數(shù),old_count(wi-1,wi)表示在所述初始文本語(yǔ)料中詞語(yǔ)組合wi-1wi出現(xiàn)的次數(shù),old_cout(wi-1)表示在所述初始文本語(yǔ)料中詞語(yǔ)wi-1出現(xiàn)的次數(shù),new_count(wi-1,wi)表示在所述行業(yè)領(lǐng)域語(yǔ)料中詞語(yǔ)組合wi-1wi出現(xiàn)的次數(shù),new_cout(wi-1)表示在所述行業(yè)領(lǐng)域語(yǔ)料中詞語(yǔ)wi-1出現(xiàn)的次數(shù),old_total_count表示所述初始文本語(yǔ)料中的總詞數(shù),new_total_count表示所述行業(yè)領(lǐng)域語(yǔ)料中的總詞數(shù)。
優(yōu)選地,對(duì)所述初始語(yǔ)言模型和所述行業(yè)領(lǐng)域語(yǔ)言模型進(jìn)行概率加權(quán)計(jì)算,建立混合語(yǔ)言模型包括:
當(dāng)初始文本語(yǔ)料中不包含詞語(yǔ)組合wi-1wi且行業(yè)領(lǐng)域語(yǔ)料中包含詞語(yǔ)組合wi-1wi時(shí),按照以下公式(2)計(jì)算所述混合語(yǔ)言模型對(duì)應(yīng)的條件概率:
p_mix(wi|wi-1)=p_new(wi|wi-1)(2)
其中,p_mix(wi|wi-1)表示所述混合語(yǔ)言模型中的條件概率,wi-1和wi表示詞語(yǔ)序列w中的兩個(gè)相鄰詞語(yǔ),w=w1w2…wn,1<i≤n,p_new(wi|wi-1)表示所述行業(yè)領(lǐng)域語(yǔ)言模型中的條件概率。
優(yōu)選地,所述基于處理后的行業(yè)領(lǐng)域語(yǔ)料進(jìn)行音素聚類,根據(jù)音素聚類結(jié)果進(jìn)行訓(xùn)練,建立聚類聲學(xué)模型包括:
將所述專有名詞詞表中的專有名詞的發(fā)音添加到所述專有名詞詞表中;
對(duì)所述專有名詞的發(fā)音進(jìn)行音素?cái)U(kuò)展;
針對(duì)音素?cái)U(kuò)展結(jié)果進(jìn)行音素聚類;
基于音素聚類結(jié)果進(jìn)行訓(xùn)練,建立聚類聲學(xué)模型。
優(yōu)選地,所述對(duì)所述初始聲學(xué)模型和聚類聲學(xué)模型進(jìn)行融合,建立融合聲學(xué)模型包括:
對(duì)所述初始聲學(xué)模型和聚類聲學(xué)模型進(jìn)行轉(zhuǎn)移概率的加權(quán)計(jì)算,建立融合聲學(xué)模型。
優(yōu)選地,對(duì)所述初始聲學(xué)模型和聚類聲學(xué)模型進(jìn)行轉(zhuǎn)移概率的加權(quán)計(jì)算,建立融合聲學(xué)模型包括:
當(dāng)所述初始聲學(xué)模型和聚類聲學(xué)模型中都包含狀態(tài)轉(zhuǎn)移a->b時(shí),或者所述初始聲學(xué)模型包含且所述聚類聲學(xué)模型中不包含狀態(tài)轉(zhuǎn)移a->b時(shí),按照以下公式(4)計(jì)算所述融合聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率:
p_ron(a->b)={xr*old_countr(a->b)+yr*new_countr(a->b)}/{xr*old_countr(a)+yr*new_countr(a)}(4)
其中,
xr=old_total_countr/(old_total_countr+new_total_countr),
yr=new_total_countr/(old_total_countr+new_total_countr),
其中,p_ron(a->b)表示所述融合聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率,a->b表示狀態(tài)a轉(zhuǎn)移到狀態(tài)b,狀態(tài)是指一個(gè)音素或者多個(gè)音素的聚類,xr、yr分別表示針對(duì)初始聲學(xué)模型和聚類聲學(xué)模型設(shè)置的加權(quán)系數(shù),old_countr(a->b)表示在初始聲學(xué)模型中a->b的轉(zhuǎn)移頻次,new_countr(a->b)表示在聚類聲學(xué)模型中a->b的轉(zhuǎn)移頻次,old_countr(a)表示在所述初始音頻語(yǔ)料中狀態(tài)a出現(xiàn)的頻次,new_countr(a)表示在所述音素聚類結(jié)果中狀態(tài)a出現(xiàn)的頻次,old_total_countr表示所述初始音頻語(yǔ)料中的總狀態(tài)數(shù),new_total_countr表示所述音素聚類結(jié)果中的總狀態(tài)數(shù)。
優(yōu)選地,對(duì)所述初始聲學(xué)模型和聚類聲學(xué)模型進(jìn)行轉(zhuǎn)移概率的加權(quán)計(jì)算,建立融合聲學(xué)模型包括:
當(dāng)所述初始聲學(xué)模型不包含且所述聚類聲學(xué)模型中包含狀態(tài)轉(zhuǎn)移a->b時(shí),按照以下公式(5)計(jì)算所述融合聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率:
p_ron(a->b)=p_newr(a->b)(5)
其中,p_ron(a->b)表示所述融合聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率,a->b表示狀態(tài)a轉(zhuǎn)移到狀態(tài)b,狀態(tài)是指一個(gè)音素或者多個(gè)音素的聚類,p_newr(a->b)表示所述聚類聲學(xué)模型對(duì)應(yīng)的轉(zhuǎn)移概率。
優(yōu)選地,基于所述融合聲學(xué)模型和混合語(yǔ)言模型確定所述語(yǔ)音信號(hào)對(duì)應(yīng)的詞語(yǔ)序列包括:
求取概率p(w|x)最高時(shí)的詞語(yǔ)序列w;
其中:
p(w|x)=argmax_wp(x|w)*p(w)
其中,x表示所述語(yǔ)音信號(hào),w表示所述詞語(yǔ)序列,p(x|w)表示所述融合聲學(xué)模型對(duì)應(yīng)的條件概率,p(w)表示所述混合語(yǔ)言模型對(duì)應(yīng)的概率。
以上對(duì)本發(fā)明所提供的方法和裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。