• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于神經(jīng)網(wǎng)絡(luò)的語音對話系統(tǒng)設(shè)計(jì)

      2021-05-20 00:41:26陳風(fēng)駕
      科學(xué)技術(shù)創(chuàng)新 2021年12期
      關(guān)鍵詞:馬爾科夫時刻語音

      陳風(fēng)駕

      (上海微創(chuàng)軟件股份有限公司,上海200241)

      為了解決英語口語練習(xí)問題,通過構(gòu)建一個語音對話系統(tǒng)應(yīng)用讓學(xué)習(xí)者可以使用英語溝通。

      語音對話系統(tǒng)通常由語音識別、對話管理和語音生成組成,在語音識別和語音生成上神經(jīng)網(wǎng)絡(luò)模型表現(xiàn)已經(jīng)比傳統(tǒng)機(jī)器學(xué)習(xí)模型優(yōu)秀,因此本系統(tǒng)基于神經(jīng)網(wǎng)絡(luò)模型來構(gòu)建語音對話系統(tǒng),在特定語音對話環(huán)境中能滿足用戶需求,實(shí)現(xiàn)鍛煉英語口語的目的。本文將對系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)給出描述。

      1 系統(tǒng)關(guān)鍵技術(shù)理論

      本文使用tensorflow2 開源庫來訓(xùn)練語音識別和語音合成模型,tensorflow 2 支持多種神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練,例如卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)和深度神經(jīng)網(wǎng)絡(luò)等。

      1.1 循環(huán)神經(jīng)網(wǎng)絡(luò)

      循環(huán)神經(jīng)網(wǎng)絡(luò)是一種特殊的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其通將上一時刻狀態(tài)傳入到當(dāng)前時刻的運(yùn)算中去,但是由于收斂函數(shù),通常是梯度下降算法存在著梯度消失或者爆炸問題文獻(xiàn)導(dǎo)致模型失真。Hochreater 和Schmidhuber[1-2]在1997 年提出了一種新的網(wǎng)絡(luò)結(jié)構(gòu)來解決梯度消失或者爆炸的問題,叫做長短時記憶神經(jīng)網(wǎng)絡(luò)即LSTM。

      LSTM 網(wǎng)絡(luò)通過添加了3 個控制門:遺忘門、輸入門和輸出門,將上一時刻的輸出通過更加復(fù)雜的函數(shù)來和邏輯處,LSTM模型基本結(jié)構(gòu)如圖1 所示。

      圖1 LSTM 模型結(jié)構(gòu)

      公式(1)中ft叫做遺忘門,表示ct-1的哪些特征因子被用于計(jì)算ct。遺忘門是最重要的門,其決定了哪些特征因子會被記憶并傳遞到后序時刻,哪些因子應(yīng)該被丟棄不應(yīng)該影響后序時刻的狀態(tài)。

      根據(jù)公式(5)可以計(jì)算出輸出門向量,而公式(6)就會得到最后的輸出結(jié)果,同時該輸出ht也會作為隱含節(jié)點(diǎn)最為輸入迭代到下一時刻的計(jì)算中。

      在語音識別領(lǐng)域是一個典型的時序應(yīng)用場景,LSTM 結(jié)合傳統(tǒng)聲學(xué)模型隱馬爾科夫模型在該領(lǐng)域表現(xiàn)十分出色。隱馬爾科夫模型將音頻信號轉(zhuǎn)換成數(shù)字信號并提取特征,并將其輸入到LSTM 模型進(jìn)行解碼,并最終得到語音識別的結(jié)果。

      1.2 卷積神經(jīng)網(wǎng)絡(luò)

      卷積神經(jīng)網(wǎng)絡(luò)即CNN[3-4]是一種前饋神經(jīng)網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò)由一個或多個卷積層和頂端的全連通層(對應(yīng)經(jīng)典的神經(jīng)網(wǎng)絡(luò))組成,同時也包括關(guān)聯(lián)權(quán)重和池化層(pooling layer)。這一結(jié)構(gòu)使得卷積神經(jīng)網(wǎng)絡(luò)能夠利用輸入數(shù)據(jù)的二維結(jié)構(gòu)。與其它深度學(xué)習(xí)結(jié)構(gòu)相比,卷積神經(jīng)網(wǎng)絡(luò)在圖像和語音識別方面能夠給出更好的結(jié)果。

      在語音合成方面,語音的時長很難固定,而在傳統(tǒng)CNN 模型中無法保存長時間周期信息處理,為了解決這個問題Google在2016 年提出了Wavenet 模型[4],它是一種CNN 模型,它添加一個擴(kuò)大因果卷積( dilated causal convolution)模型結(jié)構(gòu),使得每個卷積層都對前一層進(jìn)行卷積,卷積核越大,層數(shù)越多,時域上的感知能力越強(qiáng),感知范圍越大。

      在生成過程中,通過公式(7)可以得知每生成一個點(diǎn),把該點(diǎn)放到輸入層最后一個點(diǎn)繼續(xù)迭代生成。通過使用因果卷積,Wavenet 可以確保模型在對數(shù)據(jù)建模的時候不會違反數(shù)據(jù)的順序:模型在t 時刻輸出的預(yù)測結(jié)果p 不會依賴任何一個未來時刻的數(shù)據(jù)。因此單一模型的WaveNet 可以以相同的保真度捕獲很多說話人的特征,并可以在語音生成中還原人的說話特征,讓生成的語音聽起來與人類說話并無區(qū)別。訓(xùn)練時對于音頻這樣的一維數(shù)據(jù)來說,將正常卷積的輸出偏移幾個時間步驟即可。此外由于使用因果卷積的模型中沒有循環(huán)連接,通常訓(xùn)練起來比RNN 更快,特別是對于長句子的訓(xùn)練。因此使用Wavenet 模型作為該系統(tǒng)的語音合成模型。

      2 系統(tǒng)構(gòu)建

      系統(tǒng)構(gòu)建分為業(yè)務(wù)實(shí)現(xiàn)和模型實(shí)現(xiàn),其中模型實(shí)現(xiàn)更加重要,業(yè)務(wù)實(shí)現(xiàn)為模型直接的調(diào)用關(guān)系,模型實(shí)現(xiàn)為構(gòu)建所述LSTM 和Wavenet 模型。

      2.1 系統(tǒng)結(jié)構(gòu)

      語音對話系統(tǒng)由3 個部分組成,分別是語音識別、對話管理和語音合成。

      圖2 語音對話系統(tǒng)結(jié)構(gòu)

      如圖2 所示,語音識別部分中使用了LSTM 和隱馬爾科夫模型,通過終端麥克風(fēng)收集語音信號通過隱馬爾科夫模型轉(zhuǎn)換成聲學(xué)模型,再由LSTM 預(yù)測輸出文本,通過調(diào)用對話管理模塊接口將文本輸入到對話管理模塊,對話管理使用知識圖譜管理上下文應(yīng)答,通過預(yù)先設(shè)定的場景,可以挑選出足夠合理有效的回答語句作為輸出,最終語音合成模塊將輸出的文本直接生成語音。

      2.2 平臺選擇

      TensorFlow 2 是tensorflow 的第二代版本,它依舊是基于圖運(yùn)算,同時也對一些常用的訓(xùn)練函數(shù)進(jìn)行了封裝,也將Keras(TensorFlow 和Theano 的深度學(xué)習(xí)庫)的部分功能直接添加TensorFlow 2.0 中,因此在使用TensorFlow 2 構(gòu)建LSTM 模型可以直接使用Keras 封裝好的API。系統(tǒng)訓(xùn)練數(shù)據(jù)集采用librispeech,其包含超過1000 小時16Hz 的語音素材,并且已經(jīng)校驗(yàn)對齊,在TensorFlow2.0 中也有Datasets 可以預(yù)處理librispeech,將語音數(shù)據(jù)轉(zhuǎn)換成可以用于訓(xùn)練的數(shù)據(jù)。tf.data.Dataset 接口可以輸入相應(yīng)的參數(shù)對應(yīng)不同的數(shù)據(jù)集,tensorflow會幫我們下載到本地硬盤和裝配到內(nèi)存,可以直接用于訓(xùn)練。

      2.3 LSTM 模型構(gòu)建

      導(dǎo)入TensorFlow 2.0 包后可使用LSTM 的兩個API 接口:tf.keras.layers.LSTM()和tf.keras.layers.LSTMCell()。其中tf.keras.layers.LSTMCell () 繼承自LSTM 的,可以根據(jù)需要來定義每個LSTM 結(jié)構(gòu)體的構(gòu)造,并將其傳入RNN 鏈中就可以形成一個LSTM 模型,如下代碼所示rnn = tf.keras.layers.RNN(

      tf.keras.layers.LSTMCell(4),

      return_sequences=True,

      return_state=True)

      將模型設(shè)定加載到rnn,然后執(zhí)行rnn 就可以得到模型。

      2.4 CNN 模型構(gòu)建

      在tensorflow 2.0 中CNN 模型被封裝成了一個接口,通過調(diào)用接口可以直接訓(xùn)練CNN 模型

      該接口提供了眾多參數(shù)用于設(shè)定模型的結(jié)構(gòu)和細(xì)節(jié),其中padding 參數(shù)等于“causal”時,它會將output[t]不依賴于output[t-1],直接對上一層結(jié)果進(jìn)行卷積計(jì)算,從而轉(zhuǎn)變成Wavenet 這種特殊的CNN 模型。

      3 結(jié)論

      對于Tensorflow 2.0 使用感受相比tensorflow 來說進(jìn)步很多,在構(gòu)建系統(tǒng)中更多精力在于調(diào)配模型參數(shù),而不是寫很多代碼預(yù)先處理數(shù)據(jù),相對于流圖模式,kerasAPI 更加讓人容易理解代碼塊的含義,也可以構(gòu)建更加復(fù)雜的混合模型。經(jīng)測試該語音對話系統(tǒng)能夠在較短的時間內(nèi)反饋,同時也可以進(jìn)行多輪對話,基本滿足英語學(xué)習(xí)者學(xué)習(xí)口語的需求。

      猜你喜歡
      馬爾科夫時刻語音
      冬“傲”時刻
      捕獵時刻
      基于疊加馬爾科夫鏈的邊坡位移預(yù)測研究
      基于改進(jìn)的灰色-馬爾科夫模型在風(fēng)機(jī)沉降中的應(yīng)用
      魔力語音
      基于MATLAB的語音信號處理
      電子制作(2019年14期)2019-08-20 05:43:38
      基于MQ3與MP3的價廉物美的酒駕語音提醒器
      電子制作(2019年9期)2019-05-30 09:42:10
      對方正在輸入……
      小說界(2018年5期)2018-11-26 12:43:42
      馬爾科夫鏈在教學(xué)評價中的應(yīng)用
      街拍的歡樂時刻到來了
      大邑县| 辽宁省| 塘沽区| 阿城市| 得荣县| 滁州市| 上林县| 竹山县| 门源| 鄂托克旗| 德庆县| 全州县| 寻乌县| 东丽区| 宝兴县| 嘉定区| 伊春市| 丰台区| 克山县| 乐亭县| 涿州市| 灵石县| 府谷县| 襄城县| 遵化市| 墨竹工卡县| 八宿县| 洪泽县| 章丘市| 开封县| 丰台区| 新龙县| 客服| 奉贤区| 花莲县| 醴陵市| 锡林郭勒盟| 佛坪县| 阜平县| 宜阳县| 西安市|