本發(fā)明涉及人工智能,特別指一種基于情感分析的情感語(yǔ)音合成方法。
背景技術(shù):
1、語(yǔ)音合成,又稱文語(yǔ)轉(zhuǎn)換(text?to?speech)技術(shù),能將任意文字信息實(shí)時(shí)轉(zhuǎn)化為標(biāo)準(zhǔn)流暢的語(yǔ)音朗讀出來(lái),相當(dāng)于給機(jī)器裝上了人工嘴巴。針對(duì)語(yǔ)音合成,傳統(tǒng)上存在如下方法:
2、方法一:基于語(yǔ)音特征調(diào)整的多情感語(yǔ)音合成方法,該方法通過(guò)對(duì)語(yǔ)音的基礎(chǔ)特征(如音高、音速、響度、時(shí)長(zhǎng)等)進(jìn)行調(diào)節(jié)來(lái)實(shí)現(xiàn)情感的合成;例如,可以根據(jù)情感標(biāo)簽(如“快樂(lè)”,“憤怒”,“悲傷”)對(duì)音高、語(yǔ)速等參數(shù)進(jìn)行調(diào)整,以模仿不同情感的表現(xiàn)。方法二:基于拼接的情感語(yǔ)音合成方法,該方法通過(guò)將預(yù)錄制的語(yǔ)音片段(如單詞、短語(yǔ)等)按需拼接來(lái)合成情感語(yǔ)音;合成時(shí),可以根據(jù)輸入的文本及其情感標(biāo)簽選擇對(duì)應(yīng)的語(yǔ)音樣本來(lái)拼接。方法三:基于hmm(隱馬爾可夫模型)的情感語(yǔ)音合成方法,該方法利用hmm來(lái)建模語(yǔ)音的動(dòng)態(tài)變化,通過(guò)分析情感變化的模式和音頻信號(hào)之間的關(guān)系來(lái)進(jìn)行合成;hmm可以通過(guò)考慮語(yǔ)音的音素、韻律等信息,結(jié)合情感標(biāo)簽進(jìn)行建模,從而實(shí)現(xiàn)情感的合成。
3、然而,傳統(tǒng)方法通常只能生成單一情感的語(yǔ)音,缺乏靈活性,且生成的語(yǔ)音表達(dá)不夠自然,這在面對(duì)需要進(jìn)行情感交互的應(yīng)用場(chǎng)景時(shí),如智能客服、虛擬助手、情感化語(yǔ)音導(dǎo)航等,無(wú)法提供豐富且符合實(shí)際需求的情感表達(dá),導(dǎo)致用戶體驗(yàn)欠佳。
4、因此,如何提供一種基于情感分析的情感語(yǔ)音合成方法,實(shí)現(xiàn)提升情感語(yǔ)音合成的真實(shí)感以及用戶體驗(yàn),成為一個(gè)亟待解決的技術(shù)問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明要解決的技術(shù)問(wèn)題,在于提供一種基于情感分析的情感語(yǔ)音合成方法,實(shí)現(xiàn)提升情感語(yǔ)音合成的真實(shí)感以及用戶體驗(yàn)。
2、本發(fā)明是這樣實(shí)現(xiàn)的:一種基于情感分析的情感語(yǔ)音合成方法,包括如下步驟:
3、步驟s1、基于bert創(chuàng)建一用于情感分類的文本情感分析模型,并對(duì)所述文本情感分析模型進(jìn)行訓(xùn)練;
4、步驟s2、創(chuàng)建一情感語(yǔ)音庫(kù),獲取大量的包含不同情感的語(yǔ)音數(shù)據(jù),提取各所述語(yǔ)音數(shù)據(jù)的語(yǔ)音特征,基于所述語(yǔ)音特征以及情感類別對(duì)各語(yǔ)音數(shù)據(jù)進(jìn)行標(biāo)注,將標(biāo)注后的各所述語(yǔ)音數(shù)據(jù)存儲(chǔ)至情感語(yǔ)音庫(kù);
5、步驟s3、獲取大量的歷史情感文本,通過(guò)所述文本情感分析模型對(duì)各歷史情感文本進(jìn)行分類,得到各所述歷史情感文本對(duì)應(yīng)的情感類別,基于所述情感類別從情感語(yǔ)音庫(kù)匹配對(duì)應(yīng)的語(yǔ)音數(shù)據(jù),基于匹配的各所述歷史情感文本和語(yǔ)音數(shù)據(jù)構(gòu)建數(shù)據(jù)集;
6、步驟s4、基于端到端的char2wav模塊或者tacotron模塊創(chuàng)建一情感語(yǔ)音合成模型,通過(guò)所述數(shù)據(jù)集對(duì)情感語(yǔ)音合成模型進(jìn)行訓(xùn)練;
7、步驟s5、創(chuàng)建一用于調(diào)節(jié)情感的情感控制模型,通過(guò)所述數(shù)據(jù)集對(duì)情感控制模型進(jìn)行訓(xùn)練;
8、步驟s6、基于所述情感語(yǔ)音合成模型以及情感控制模型創(chuàng)建一多情感語(yǔ)音合成系統(tǒng),對(duì)所述多情感語(yǔ)音合成系統(tǒng)進(jìn)行驗(yàn)證;
9、步驟s7、通過(guò)驗(yàn)證通過(guò)的所述多情感語(yǔ)音合成系統(tǒng)進(jìn)行語(yǔ)音合成。
10、進(jìn)一步的,所述步驟s1中,所述文本情感分析模型由一個(gè)輸入嵌入層、若干個(gè)transformer編碼器、一個(gè)情感分類輸出層組成;
11、所述輸入嵌入層用于將情感文本的各詞匯轉(zhuǎn)換為嵌入向量:
12、x=[e(w1),e(w2),...,e(wn)]+p;
13、其中,x表示嵌入向量;wn表示情感文本中的第n個(gè)詞匯;e()表示embedding函數(shù);p表示詞匯的位置編碼;
14、所述transformer編碼器由一個(gè)自注意力網(wǎng)絡(luò)以及若干層前饋神經(jīng)網(wǎng)絡(luò)組成,用于對(duì)所述嵌入向量進(jìn)行編碼得到特征向量h,公式為:
15、hl=attention(hl-1)+hl-1;
16、其中,hl表示第l層前饋神經(jīng)網(wǎng)絡(luò);hl-1表示第l-1層前饋神經(jīng)網(wǎng)絡(luò);attention()表示自注意力網(wǎng)絡(luò);第一層所述前饋神經(jīng)網(wǎng)絡(luò)的輸入為嵌入向量x,最后一層所述前饋神經(jīng)網(wǎng)絡(luò)的輸出為特征向量h;
17、所述情感分類輸出層用于依據(jù)特征向量h進(jìn)行情感預(yù)測(cè),輸出情感類別:
18、
19、其中,表示第i個(gè)情感類別的預(yù)測(cè)概率;exp()表示指數(shù)函數(shù);w表示權(quán)重矩陣;b表示偏置項(xiàng);c表示情感類別總數(shù);(wh+b)i表示基于權(quán)重矩陣和偏置項(xiàng)調(diào)整后的第i個(gè)特征向量;
20、進(jìn)一步的,所述步驟s1中,所述文本情感分析模型基于交叉熵?fù)p失函數(shù)訓(xùn)練:
21、
22、其中,l表示交叉熵?fù)p失函數(shù)的損失值;yi表示第i個(gè)詞匯對(duì)應(yīng)的真實(shí)的情感類別;pi表示預(yù)測(cè)的情感類別的概率分布;c表示情感類別總數(shù)。
23、進(jìn)一步的,所述步驟s2中,所述語(yǔ)音特征的提取公式為:
24、mfcc(t)=dct(log|s(t)|);
25、其中,mfcc(t)表示t時(shí)刻語(yǔ)音數(shù)據(jù)的語(yǔ)音特征;dct()表示離散余弦變換函數(shù);s(t)表示t時(shí)刻語(yǔ)音數(shù)據(jù)進(jìn)行短時(shí)傅里葉變換得到的梅爾頻譜。
26、進(jìn)一步的,所述步驟s4中,所述char2wav模塊用于通過(guò)雙向遞歸神經(jīng)網(wǎng)絡(luò)對(duì)情感文本進(jìn)行編碼得到隱藏狀態(tài)ht,對(duì)所述隱藏狀態(tài)ht進(jìn)行解碼得到聲學(xué)特征再通過(guò)samplernn將所述聲學(xué)特征轉(zhuǎn)換為原始音頻波形。
27、進(jìn)一步的,所述隱藏狀態(tài)ht的計(jì)算公式為:
28、
29、其中,ht表示t時(shí)刻的隱藏狀態(tài);表示t時(shí)刻的前向隱藏狀態(tài);表示t時(shí)刻的后向隱藏狀態(tài);[·;·]表示拼接操作;rnnforward()表示雙向遞歸神經(jīng)網(wǎng)絡(luò)中的前向遞歸神經(jīng)子網(wǎng)絡(luò);rnnbackward()表示雙向遞歸神經(jīng)網(wǎng)絡(luò)中的后向遞歸神經(jīng)子網(wǎng)絡(luò);xt表示t時(shí)刻輸入的情感文本的字符向量;表示t-1時(shí)刻的前向隱藏狀態(tài);表示t+1時(shí)刻的后向隱藏狀態(tài);
30、所述聲學(xué)特征的計(jì)算公式為:
31、
32、其中,表示t時(shí)刻的聲學(xué)特征;表示t-1時(shí)刻的聲學(xué)特征;rnndecoder()表示rnn解碼器。
33、進(jìn)一步的,所述步驟s4中,所述tacotron模塊用于通過(guò)cbhg網(wǎng)絡(luò)從情感文本提取文本特征ht',基于注意力機(jī)制對(duì)所述文本特征ht'進(jìn)行對(duì)齊得到上下文向量ct',基于所述上下文向量ct'計(jì)算梅爾頻譜子圖基于各所述梅爾頻譜子圖計(jì)算得到梅爾頻譜圖通過(guò)griffin-lim算法將所述梅爾頻譜圖轉(zhuǎn)換為原始音頻波形。
34、進(jìn)一步的,所述步驟s5中,所述情感控制模型用于依據(jù)輸入的情感標(biāo)簽ez調(diào)整情感語(yǔ)音合成模型的隱藏狀態(tài)hz,得到優(yōu)化隱藏狀態(tài)h'z,基于所述優(yōu)化隱藏狀態(tài)h'z對(duì)情感語(yǔ)音合成模型輸出的原始音頻波形進(jìn)行解碼,得到合成語(yǔ)音。
35、進(jìn)一步的,所述優(yōu)化隱藏狀態(tài)h'z的計(jì)算公式為:
36、h'z=hz*we(ez);
37、其中,we(ez)表示與情感標(biāo)簽ez相關(guān)的權(quán)重矩陣。
38、進(jìn)一步的,所述步驟s6中,所述對(duì)所述多情感語(yǔ)音合成系統(tǒng)進(jìn)行驗(yàn)證具體為:
39、基于mos評(píng)分以及情感識(shí)別準(zhǔn)確率對(duì)所述多情感語(yǔ)音合成系統(tǒng)進(jìn)行驗(yàn)證。
40、本發(fā)明的優(yōu)點(diǎn)在于:
41、通過(guò)bert創(chuàng)建用于情感分類的文本情感分析模型,并對(duì)文本情感分析模型進(jìn)行訓(xùn)練;接著獲取大量的包含不同情感的語(yǔ)音數(shù)據(jù),提取各語(yǔ)音數(shù)據(jù)的語(yǔ)音特征,基于語(yǔ)音特征以及情感類別對(duì)各語(yǔ)音數(shù)據(jù)進(jìn)行標(biāo)注,將標(biāo)注后的各語(yǔ)音數(shù)據(jù)存儲(chǔ)至創(chuàng)建的情感語(yǔ)音庫(kù);接著獲取大量的歷史情感文本,通過(guò)文本情感分析模型對(duì)各歷史情感文本進(jìn)行分類,得到各歷史情感文本對(duì)應(yīng)的情感類別,基于情感類別從情感語(yǔ)音庫(kù)匹配對(duì)應(yīng)的語(yǔ)音數(shù)據(jù),基于匹配的各歷史情感文本和語(yǔ)音數(shù)據(jù)構(gòu)建數(shù)據(jù)集;接著基于端到端的char2wav模塊或者tacotron模塊創(chuàng)建情感語(yǔ)音合成模型,通過(guò)數(shù)據(jù)集對(duì)情感語(yǔ)音合成模型進(jìn)行訓(xùn)練;創(chuàng)建用于調(diào)節(jié)情感的情感控制模型,通過(guò)數(shù)據(jù)集對(duì)情感控制模型進(jìn)行訓(xùn)練;基于情感語(yǔ)音合成模型以及情感控制模型創(chuàng)建多情感語(yǔ)音合成系統(tǒng),對(duì)多情感語(yǔ)音合成系統(tǒng)進(jìn)行驗(yàn)證,最后通過(guò)驗(yàn)證通過(guò)的多情感語(yǔ)音合成系統(tǒng)進(jìn)行語(yǔ)音合成;即通過(guò)bert創(chuàng)建的文本情感分析模型進(jìn)行情感分類,可以精確的從情感文本中識(shí)別情感類別,不僅僅是基于簡(jiǎn)單的語(yǔ)音特征(如音高、語(yǔ)速等)來(lái)調(diào)節(jié)情感,能夠識(shí)別出更復(fù)雜和細(xì)膩的情感變化(如同一個(gè)文本在不同上下文中的情感表現(xiàn));通過(guò)端到端的情感語(yǔ)音合成模型,從情感文本輸入到合成語(yǔ)音輸出不需要手動(dòng)設(shè)計(jì)的中間步驟,相比基于拼接的合成方法,生成的合成語(yǔ)音更加自然且流暢;通過(guò)情感控制模型調(diào)節(jié)情感,能夠在合成過(guò)程中靈活地調(diào)整合成語(yǔ)音的情感色彩,與文本情感分析模型相結(jié)合可進(jìn)一步提升情感的控制精度;通過(guò)嵌入向量與情感語(yǔ)音合成模型的結(jié)合,能夠針對(duì)不同情感文本自適應(yīng)調(diào)整生成的語(yǔ)音特征,提升情感表現(xiàn)的自然性與多樣性,最終極大的提升了情感語(yǔ)音合成的真實(shí)感以及用戶體驗(yàn)。