本技術(shù)涉及語音處理領(lǐng)域,具體的,涉及一種自定義喚醒詞的語音喚醒方法及裝置。
背景技術(shù):
1、語音喚醒技術(shù)從連續(xù)的聲音信號中檢測預(yù)定義喚醒詞的技術(shù),其使得用戶可以通過說出預(yù)定義的喚醒詞來激活設(shè)備,是智能語音交互中不可或缺的一個環(huán)節(jié)。kws按照應(yīng)用場景可以分為兩類,closed-vocabulary?kws和open-vocabulary?kws。closed-vocabularykws指模型只能識別預(yù)先定義的關(guān)鍵詞,比如蘋果的“hey?siri”,amazon的“alexa”,華為智能設(shè)備的“小藝小藝”等等。由于喚醒詞固定,closed-vocabulary?kws一般將問題定義為二分類問題(只判斷“是”或者“否”),而喚醒模型也便是一個二分類模型(只用于判斷是否包含預(yù)定義喚醒詞)。open-vocabulary?kws(openkws)則允許用戶自定義自己喜歡的喚醒詞來喚醒設(shè)備。比如,同樣對于華為手機(jī),用戶可以在“設(shè)置”中另行設(shè)置一個自己喜歡的喚醒詞以替代系統(tǒng)自帶的“小藝小藝”來喚醒設(shè)備。在openkws場景下,由于各個用戶所定義的喚醒詞可能千差萬別,因此會對喚醒方案的要求更加具有挑戰(zhàn)性,也會致使所設(shè)計的喚醒模型更為復(fù)雜,并且模型的參數(shù)量和計算量也會更高。
2、當(dāng)前實現(xiàn)openkws的方案可以主要分成兩大類:第一類是基于語音識別的方法,即語音識別模型將語音信號轉(zhuǎn)換成文本單元(如音素、字等),繼而再從中檢索是否含有目標(biāo)關(guān)鍵詞所對應(yīng)的文本單元;第二類為端到端的語音喚醒方案,其將語音信號同關(guān)鍵詞文本聯(lián)合建模,并構(gòu)建一個統(tǒng)一的端到端模型(一般地,該模型由三個模塊組成,分別為聲學(xué)模型、關(guān)鍵詞編碼器和聯(lián)合分類器。其中前兩者分別用于提取音頻特征和關(guān)鍵詞特征,所提取的特征繼而融合輸入到聯(lián)合分類器以輸出最終的喚醒結(jié)果)。相比較而言,第一類基于語音識別的方案,第二類中的端到端語音喚醒技術(shù)由于充分考慮到關(guān)鍵詞和語音的聯(lián)合建模,其在性能表現(xiàn)上更為出色,已經(jīng)漸漸被各商用產(chǎn)品所采納。為了取得極佳的喚醒表現(xiàn),當(dāng)前的模型大都是直接將預(yù)先訓(xùn)練好的聲學(xué)模型直接部署于端側(cè)設(shè)備上進(jìn)行推理,當(dāng)前以上兩種方案依賴的聲學(xué)模型都是很強(qiáng)大有效的,這就導(dǎo)致聲學(xué)模型的參數(shù)量和計算量都很大,會嚴(yán)重?fù)p耗端側(cè)設(shè)備的計算資源從而減少續(xù)航時長。因此,如何在保證喚醒模型喚醒性能的前提下,有效提升端側(cè)設(shè)備續(xù)航時長和減少端側(cè)設(shè)備能源消耗是當(dāng)前亟需解決的問題。
技術(shù)實現(xiàn)思路
1、本技術(shù)提供一種自定義喚醒詞的語音喚醒方法,該方法用以減少計算資源消耗和能源消耗。
2、第一方面,本技術(shù)提出的是一種支持用戶自定義喚醒詞的語音喚醒方法,該方法可以用于包括在工作計算機(jī)、移動智能設(shè)備、可穿戴設(shè)備及機(jī)器人等平臺下的任何可能用到的語音交互的場景中。所述方法包括:將用戶輸入的目標(biāo)喚醒詞生成目標(biāo)文本單元序列;根據(jù)所述目標(biāo)文本單元序列從預(yù)先訓(xùn)練的聲學(xué)模型中提取目標(biāo)聲學(xué)模型,所述預(yù)先訓(xùn)練的聲學(xué)模型由多個子聲學(xué)模型組成,所述目標(biāo)聲學(xué)模型由所述多個子聲學(xué)模型中的部分子聲學(xué)模型組成;接收所述用戶輸入的語音;根據(jù)所述目標(biāo)聲學(xué)模型確定是否對所述語音進(jìn)行響應(yīng)。
3、相關(guān)技術(shù)中,語音喚醒方法可以實現(xiàn)在線語音喚醒功能,允許用戶根據(jù)中定義好的喚醒詞進(jìn)行對設(shè)備進(jìn)行喚醒,并且語音喚醒功能對端側(cè)設(shè)備的能源消耗較大,模型實時的計算和推理會會耗費大量的計算資源和能源。而本技術(shù)提出的語音喚醒方法是一種支持用戶自定義喚醒詞的語音喚醒方法,該方法不僅允許用戶根據(jù)個人喜好和需求自定義喚醒詞,并且實現(xiàn)了將定義好的目標(biāo)喚醒詞的長度與語音喚醒模型的尺寸正相關(guān),該語音喚醒模型中的目標(biāo)聲學(xué)模型是原始的聲學(xué)模型的一部分,是更加輕量化的模型,因此可以在保證喚醒精度的條件下根據(jù)對模型尺寸的需求定義喚醒詞,從而減小對計算資源和能源的消耗。
4、在一種可能的實現(xiàn)方式中,所述方法還包括:獲取預(yù)先訓(xùn)練的喚醒識別器;所述根據(jù)目標(biāo)聲學(xué)模型確定是否對所述語音進(jìn)行響應(yīng)包括:根據(jù)所述目標(biāo)聲學(xué)模型和所述喚醒識別器確定是否對所述語音進(jìn)行響應(yīng),所述目標(biāo)聲學(xué)模型用于從所述語音中提取語音特征,所述喚醒識別器用于基于所述語音特征確定是否進(jìn)行響應(yīng)。
5、可以看出,在本實施例提供的方法中,目標(biāo)喚醒模型包括目標(biāo)聲學(xué)模型和預(yù)訓(xùn)練好的喚醒識別器。
6、在一種可能的實現(xiàn)方式中,所述根據(jù)所述目標(biāo)聲學(xué)模型和所述喚醒識別器確定是否對所述語音進(jìn)行響應(yīng)包括:利用所述目標(biāo)聲學(xué)模型從所述語音中提取所述語音特征;利用所述喚醒識別器將所述語音特征和目標(biāo)語音特征進(jìn)行對比以確定是否對所述語音進(jìn)行響應(yīng),所述目標(biāo)語音特征為利用預(yù)先訓(xùn)練的文本編碼器對所述目標(biāo)文本單元序列進(jìn)行編碼所得到的語音特征。
7、可以看出,在先語音喚醒服務(wù)之前,可以先對定義好的目標(biāo)喚醒詞使用預(yù)先訓(xùn)練好的文本編碼器進(jìn)行編碼以得到目標(biāo)語音特征,并將所述目標(biāo)語音特征保存在端側(cè)設(shè)備中;在先語音服務(wù)階段,聲學(xué)模型對用戶輸入的語音進(jìn)行特惠總能提取得到語音特征,將該語音特征和上述得到的目標(biāo)語音特征融合輸入到喚醒識別器中,喚醒識別器對輸入的目標(biāo)語音特征和該語音特征進(jìn)行比對,并基于比對結(jié)果確定是否給出響應(yīng)。
8、在一種可能的實現(xiàn)方式中,所述將所述語音特征和所述目標(biāo)語音特征進(jìn)行對比以確定是否對所述語音進(jìn)行響應(yīng)包括:若所述目標(biāo)語音特征的內(nèi)容包含所述語音特征的內(nèi)容,則進(jìn)行響應(yīng);若所述目標(biāo)語音特征的內(nèi)容不包含所述語音特征的內(nèi)容,則不進(jìn)行響應(yīng)。
9、可以看出,喚醒識別器通過對比輸入的語音特征的內(nèi)容與目標(biāo)語音特征的內(nèi)容,并通過判斷該語音特征的內(nèi)容是否包含目標(biāo)語音特征的內(nèi)容,從而確定出該語音中是否包含目標(biāo)喚醒詞,進(jìn)而確定是否給出響應(yīng)。
10、例如,喚醒識別器通過一個概率值對語音特征的內(nèi)容中包含目標(biāo)語音特征的內(nèi)容的幾率進(jìn)行評價,并將該概率值與預(yù)先設(shè)定的閾值進(jìn)行比較,在一種方式中,可以認(rèn)為當(dāng)預(yù)先設(shè)定的閾值小于該概率值,認(rèn)為該語音特征的內(nèi)容包含該目標(biāo)語音特征的內(nèi)容,從而給出響應(yīng);對應(yīng)的,當(dāng)該概率值小于等于該預(yù)設(shè)的閾值時,認(rèn)為該語音特征的內(nèi)容不包含該目標(biāo)語音特征的內(nèi)容,從而不給出響應(yīng)。
11、在一種可能的實現(xiàn)方式中,所述根據(jù)所述目標(biāo)文本單元序列從預(yù)先訓(xùn)練的聲學(xué)模型中提取目標(biāo)聲學(xué)模型包括:根據(jù)所述聲學(xué)模型確定所述目標(biāo)文本單元序列中每個文本單元所對應(yīng)的子聲學(xué)模型;將所述目標(biāo)文本單元序列中每一個文本單元所述對應(yīng)的子聲學(xué)模型組成所述目標(biāo)聲學(xué)模型。
12、在一種可能實現(xiàn)方式中,所述將所述目標(biāo)喚醒詞生成所述目標(biāo)文本單元序列之前,所述方法還包括:接收用戶輸入的自定義喚醒詞;將所述自定義喚醒詞轉(zhuǎn)換成對應(yīng)的所述目標(biāo)喚醒詞。
13、在一種可能的實現(xiàn)方式中,所述目標(biāo)文本單元序列包括但不限于音素、子音素、字節(jié)對(byte?pair?encoder,bpe)編碼。
14、在一種可能的實現(xiàn)方式中,所述目標(biāo)聲學(xué)模型的大小與所述目標(biāo)文本單元序列的長度正相關(guān)。
15、第二方面,提出一種語音喚醒裝置,所述裝置包括:文本轉(zhuǎn)換模塊,用于將用戶輸入的目標(biāo)喚醒詞轉(zhuǎn)換成目標(biāo)文本單元序列;目標(biāo)聲學(xué)模型提取模塊,用于根據(jù)所述目標(biāo)文本單元序列從預(yù)先訓(xùn)練的聲學(xué)模型中提取目標(biāo)聲學(xué)模型,所述預(yù)先訓(xùn)練的聲學(xué)模型由多個子聲學(xué)模型組成,所述目標(biāo)聲學(xué)模型由所述多個子聲學(xué)模型中的部分子聲學(xué)模型組成;
16、語音接收模塊,用于接收所述用戶輸入的語音;語音喚醒模塊,用于根據(jù)所述目標(biāo)聲學(xué)模型確定是否對所述語音進(jìn)行響應(yīng)。
17、在一種可能實現(xiàn)方式中,所述語音喚醒模塊還用于:根據(jù)所述目標(biāo)聲學(xué)模型和預(yù)先訓(xùn)練的喚醒識別器確定是否對所述語音進(jìn)行響應(yīng),所述目標(biāo)聲學(xué)模型用于從所述語音中提取語音特征,所述喚醒識別器用于基于所述語音特征確定是否進(jìn)行響應(yīng)。
18、在一種可能實現(xiàn)方式中,所述語音喚醒模塊還用于:利用所述目標(biāo)聲學(xué)模型從所述語音中提取所述語音特征;利用所述喚醒識別器將所述語音特征和目標(biāo)語音特征進(jìn)行對比以確定是否對所述語音進(jìn)行響應(yīng),所述目標(biāo)語音特征為利用預(yù)先訓(xùn)練的文本編碼器對所述目標(biāo)文本單元序列進(jìn)行編碼所得到的語音特征。
19、在一種可能的實現(xiàn)方式中,所述語音喚醒模塊還用于:若所述目標(biāo)語音特征的內(nèi)容包含所述語音特征的內(nèi)容,則進(jìn)行響應(yīng);若所述目標(biāo)語音特征的內(nèi)容不包含所述語音特征的內(nèi)容,則不進(jìn)行響應(yīng)。
20、在一種可能的實現(xiàn)方式中,所述目標(biāo)聲學(xué)模型提取模塊還用于:根據(jù)所述聲學(xué)模型確定所述目標(biāo)文本單元序列中每個文本單元所對應(yīng)的子聲學(xué)模型;將所述目標(biāo)文本單元序列中每一個文本單元所述對應(yīng)的子聲學(xué)模型組成所述目標(biāo)聲學(xué)模型。
21、在一種可能的實現(xiàn)方式中,所述裝置還包括:自定義喚醒詞模塊,用于接收用戶輸入的自定義喚醒詞,并將所述自定義喚醒詞轉(zhuǎn)換成對應(yīng)的所述目標(biāo)喚醒詞。
22、在一種可能的實現(xiàn)方式中,所述目標(biāo)文本單元序列包括但不限于音素、子音素、字節(jié)對(byte?pair?encoder,bpe)編碼。
23、第三方面,提出一種設(shè)備,該設(shè)備包括:至少一個存儲器,用于存儲程序;至少一個處理器,用于執(zhí)行所述存儲器存儲的程序;其中,當(dāng)所述存儲器存儲的程序被執(zhí)行時,所述處理器用于實現(xiàn)上述第一方面或其任意可能的實現(xiàn)方式中所述的方法。
24、第四方面,提出一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)存儲有計算機(jī)程序,當(dāng)所述計算機(jī)程序在處理器上運行時,使得所述處理器用于實現(xiàn)上述第一方面或其任意可能的實現(xiàn)方式中所述的方法。
25、第五方面,提出一種計算機(jī)程序產(chǎn)品,其特征在于,當(dāng)所述計算機(jī)程序產(chǎn)品在處理器上運行時,使得所述處理器用于實現(xiàn)上述第一方面或其任意可能的實現(xiàn)方式中所述的方法。