技術簡介:
本專利針對現有智能設備無法精準識別用戶不同笑聲類型的問題,提出基于機器學習模型的解決方案。通過采集并標注多維度笑聲數據,結合FFT特征提取與卷積神經網絡訓練,實現對笑聲情緒的高效分類識別,顯著提升語音交互準確率與用戶體驗。
關鍵詞:笑聲識別,FFT卷積
1.本發明涉及人工智能技術領域,尤其涉及一種語音識別方法及裝置。需要說明的是,本發明語音識別方法及裝置可用于人工智能技術領域,也可用于除人工智能技術領域之外的任意領域,本發明語音識別方法及裝置的應用領域不做限定。
背景技術:2.本部分旨在為權利要求書中陳述的本發明實施例提供背景或上下文。此處的描述不因為包括在本部分中就承認是現有技術。
3.隨著現代化社會的高速發展,智能設備的功能不斷更新迭代,例如,智能語音設備能夠自動識別語音,用戶在通過語音交流時,除了可以通過具體的語句進行交流外,笑聲也是一種交流的方式,不同的笑聲會反映出一個人不同的情緒,比如。“哈哈哈”表示用戶非常高興,而“呵呵呵”可能表示用戶無語時的冷笑。
4.然而,目前的智能語音設備并不能準確地區分用戶不同的笑聲,比如,用戶在面對智能語音設備發出“哈哈哈”和“呵呵呵”時,智能語音設備都會識別為用戶是非常高興的情緒??梢?,目前的智能語音設備在識別用戶笑聲語音數據時準確率并不高,用戶體驗較差。
技術實現要素:5.本發明實施例提供一種語音識別方法,用以準確識別用戶的笑聲類型,提高笑聲語音數據識別準確率和效率,改善用戶體驗,該方法包括:
6.采集用戶笑聲語音數據;
7.對用戶笑聲語音數據進行分類標注;
8.根據標注的用戶笑聲語音數據,建立訓練集和測試集;
9.分別利用訓練集和測試集,對機器學習模型進行訓練和測試,得到用于對用戶笑聲語音數據進行分類識別的語音識別模型;所述機器學習模型包括卷積層、池化層、全連接層和輸出層,其中卷積層結合快速傅里葉變換fft提取數據特征;
10.在接收到語音識別請求后,將待識別的用戶笑聲語音數據輸入語音識別模型,輸出用戶笑聲語音數據的分類識別結果。
11.本發明實施例還提供一種語音識別裝置,用以準確識別用戶的笑聲類型,提高笑聲語音數據識別準確率和效率,改善用戶體驗,該裝置包括:
12.數據采集模塊,用于采集用戶笑聲語音數據;
13.數據處理模塊,用于對用戶笑聲語音數據進行分類標注;
14.訓練集和測試集建立模塊,用于根據標注的用戶笑聲語音數據,建立訓練集和測試集;
15.模型訓練測試模塊,用于分別利用訓練集和測試集,對機器學習模型進行訓練和測試,得到用于對用戶笑聲語音數據進行分類識別的語音識別模型;所述機器學習模型包括卷積層、池化層、全連接層和輸出層,其中卷積層結合快速傅里葉變換fft提取數據特征;
16.笑聲識別模塊,用于在接收到語音識別請求后,將待識別的用戶笑聲語音數據輸入語音識別模型,輸出用戶笑聲語音數據的分類識別結果。
17.本發明實施例還提供一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執行所述計算機程序時實現上述語音識別方法。
18.本發明實施例還提供一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機程序,所述計算機程序被處理器執行時實現上述語音識別方法。
19.本發明實施例還提供一種計算機程序產品,所述計算機程序產品包括計算機程序,所述計算機程序被處理器執行時實現上述語音識別方法。
20.本發明實施例中,采集用戶笑聲語音數據;對用戶笑聲語音數據進行分類標注;根據標注的用戶笑聲語音數據,建立訓練集和測試集;分別利用訓練集和測試集,對機器學習模型進行訓練和測試,得到用于對用戶笑聲語音數據進行分類識別的語音識別模型;所述機器學習模型包括卷積層、池化層、全連接層和輸出層,其中卷積層結合快速傅里葉變換fft提取數據特征;在接收到語音識別請求后,將待識別的用戶笑聲語音數據輸入語音識別模型,輸出用戶笑聲語音數據的分類識別結果。本發明實施例中,構建機器學習模型,對其進行訓練和測試,得到可以對用戶笑聲語音數據進行分類識別的語音識別模型,當接收到語音識別請求后,利用語音識別模型,可以得到用戶笑聲語音數據的分類識別結果,實現了笑聲語音數據的識別和分類;另外機器學習模型中的卷積層結合快速傅里葉變換fft提取數據特征,能夠精準的提取笑聲語音數據的有效特征,減少卷積過程的計算速度,進一步提高了笑聲語音數據識別準確率和效率;采用本方法的智能設備可以清楚、快速的識別用戶笑聲類型,從而更加順暢的與用戶進行語音交流,極大改善了用戶體驗,同時,本方法可遷移至其他智能語音設備,應用于更多種類的語音識別中,遷移成本低,適用范圍廣。
附圖說明
21.為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。在附圖中:
22.圖1為本發明實施例中語音識別方法的流程示意圖;
23.圖2為本發明實施例中語音識別方法的一具體實施例;
24.圖3為本發明實施例中語音識別方法的一具體實施例;
25.圖4為本發明實施例中語音識別方法的一具體實施例;
26.圖5為本發明實施例中語音識別裝置的示意圖。
具體實施方式
27.為使本發明實施例的目的、技術方案和優點更加清楚明白,下面結合附圖對本發明實施例做進一步詳細說明。在此,本發明的示意性實施例及其說明用于解釋本發明,但并不作為對本發明的限定。
28.發明人發現,目前的智能語音設備并不能準確地區分用戶不同的笑聲,比如,用戶
在面對智能語音設備發出“哈哈哈”和“呵呵呵”時,智能語音設備都會識別為用戶是非常高興的情緒,總的來說,智能語音設備在識別用戶笑聲語音數據時準確率并不高。基于此,發明人提出一種語音識別方法。
29.圖1為本發明實施例中語音識別方法的流程示意圖,如圖1所示,該方法包括:
30.步驟101、采集用戶笑聲語音數據;
31.步驟102、對用戶笑聲語音數據進行分類標注;
32.步驟103、根據標注的用戶笑聲語音數據,建立訓練集和測試集;
33.步驟104、分別利用訓練集和測試集,對機器學習模型進行訓練和測試,得到用于對用戶笑聲語音數據進行分類識別的語音識別模型;所述機器學習模型包括卷積層、池化層、全連接層和輸出層,其中卷積層結合快速傅里葉變換fft(fast fourier transform)提取數據特征;
34.步驟105、在接收到語音識別請求后,將待識別的用戶笑聲語音數據輸入語音識別模型,輸出用戶笑聲語音數據的分類識別結果。
35.從圖1所示流程可以看出,本發明實施例中,構建機器學習模型,對其進行訓練和測試,得到可以對用戶笑聲語音數據進行分類識別的語音識別模型,當接收到語音識別請求后,利用語音識別模型,可以得到用戶笑聲語音數據的分類識別結果,實現了笑聲語音數據的識別和分類;另外機器學習模型中的卷積層結合快速傅里葉變換fft提取數據特征,能夠精準的提取笑聲語音數據的有效特征,減少卷積過程的計算速度,進一步提高了笑聲語音數據識別的準確率和效率;采用本方法的智能設備可以清楚、快速的識別用戶笑聲類型,從而更加順暢的與用戶進行語音交流,極大改善了用戶體驗,同時,本方法可遷移至其他智能語音設備,應用于更多種類的語音識別中,遷移成本低,適用范圍廣。
36.需要說明得是,本技術技術方案中對數據的獲取、存儲、使用、處理等均符合國家法律法規的相關規定。
37.下面對每個步驟進行詳細解釋。
38.步驟101、采集用戶笑聲語音數據。
39.首先,采集大量的用戶笑聲語音數據作為基礎數據,例如,采集不同年齡用戶笑聲語音數據、不同性別用戶笑聲語音數據、不同地域用戶笑聲語音數據、不同應用場景中用戶笑聲語音數據等。
40.步驟102、對用戶笑聲語音數據進行分類標注。
41.獲取到大量的用戶笑聲語音數據之后,可以先對其進行預處理,如模數轉換、重新采樣、提出異常數據等處理,然后進行分類標注,如分類標注為微笑、大笑、苦笑、竊笑、假笑、冷笑等,或者為了后續計算的方便,可以在上述分類標注的基礎上增加老人、小孩、男人、女人等標簽。
42.在一個實施例中,對用戶笑聲語音數據進行分類標注之后,還包括:對標注的用戶語音數據加入隨機噪聲進行數據增強;
43.根據標注的用戶笑聲語音數據,建立訓練集和測試集,包括:
44.根據數據增強后的標注的用戶笑聲語音數據,建立訓練集和測試集。
45.實施時,可以對標注的用戶語音數據加入隨機噪聲進行數據增強,以減少網絡過擬合,同時也可以擴充數據集,例如擴充數據后得到兩萬條標注的用戶笑聲語音數據。
46.步驟103、根據標注的用戶笑聲語音數據,建立訓練集和測試集。
47.實施時,可以對標注的用戶笑聲語音數據進行隨機抽樣,建立訓練集和測試集。
48.步驟104、分別利用訓練集和測試集,對機器學習模型進行訓練和測試,得到用于對用戶笑聲語音數據進行分類識別的語音識別模型;所述機器學習模型包括卷積層、池化層、全連接層和輸出層,其中卷積層結合快速傅里葉變換fft提取數據特征。
49.實施時,搭建機器學習模型,如卷積神經網絡模型,該機器學習模型至少包括卷積層、池化層、全連接層和輸出層,具體層數不限制,可以根據實際需求進行搭建。本例中機器學習模型的卷積層結合快速傅里葉變換fft提取數據特征,能夠精準的提取笑聲語音數據的有效特征,且運算復雜度小,減少卷積過程的計算速度,進一步提高了笑聲語音數據識別效率。
50.圖2為本發明實施例中語音識別方法的一具體實施例,如圖2所示,機器學習模型的卷積層按如下步驟提取數據特征:
51.步驟201、卷積層接收用戶笑聲數據;
52.步驟202、對用戶笑聲數據執行快速傅里葉變換,得到頻域信息;
53.步驟203、將頻域信息按卷積層卷積核的大小進行切分,將切分后的頻域信息與卷積核相乘,得到相乘結果;
54.步驟204、對相乘結果執行快速傅里葉逆變換ifft,將ifft的結果按切分順序重新組合,得到快速卷積輸出數據特征。
55.一般情況下,用戶笑聲語音數據為時域上的音頻信號,且用戶笑聲的時間較短,缺乏變化規律,從圖2所示流程可以看出,采用快速傅里葉變換fft提取數據特征,可以更好的進行有效數據特征提取,提升卷積過程的速度,并且降低了運算量。
56.圖3為本發明實施例中語音識別方法的一具體實施例,如圖3所示,卷積層接收用戶笑聲語音數據,用戶笑聲語音數據為一維時域信號a1,a2,...a12,具體的,a1,a2,...a12可以為每個采樣點的音量值,對其執行快速傅里葉變換fft,b1,b2,...b12分別為a1,a2,...a12變換到頻域后的值;然后按照卷積核a,b,c,d的大小對b1,b2,...b12進行切分,其中a,b,c,d可以為隨機值;之后分別將切分后的數據與卷積核執行相乘運算,再對相乘結果分別做快速傅里葉逆變換ifft,再對相乘結果按執行相乘運算之前的切分順序重新組合,得到卷積結果,即數據特征。
57.機器學習模型搭建好后,利用步驟103中的訓練集對其進行訓練,待模型收斂即可,然后利用步驟103中的測試集對其進行測試,最終得到用于對用戶笑聲語音數據進行分類識別的語音識別模型。
58.步驟105、在接收到語音識別請求后,將待識別的用戶笑聲語音數據輸入語音識別模型,輸出用戶笑聲語音數據的分類識別結果。
59.實施時,可以將語音識別模型部署在智能語音設備上,在接收到語音識別請求后,例如,用戶開啟了語音溝通模式,獲取到待識別的用戶笑聲語音數據,將其輸入語音識別模型,輸出用戶笑聲語音數據的分類識別結果,該分類識別結果可以為微笑、大笑、苦笑、竊笑、假笑、冷笑等,從而有助于智能語音設備與用戶更好的交流。
60.圖4為本發明實施例中語音識別方法的一具體實施例,從圖4可以看出,本例中語音識別模型包括輸入層,兩個卷積層,兩個池化層,三個全連接層,輸出層,語音識別模型內
部的處理流程如下:
61.1、首先輸入層接收到數據維度為1
×
680的待識別的用戶笑聲語音數據,該數據時長為2秒,每秒340個采樣點,共680個采樣點;
62.2、經過第一個卷積層,結合快速傅里葉變換fft提取數據特征,輸出維度為1
×
680的數據;
63.3、經過第一個池化層,對第一個卷積層提取的數據特征進行挑選、降維,輸出維度為1
×
340的數據;
64.4、經過第二個卷積層,結合快速傅里葉變換fft進一步提取數據特征,輸出維度為1
×
340的數據;
65.5、經過第二個池化層,進一步減少冗余信息,壓縮數據特征,輸出維度為1
×
170的數據;
66.6、經過第一個全連接層,此時為了防止模型過擬合,利用一個維度170
×
256的卷積核對數據進行擴充,輸出維度為1
×
256的數據;
67.7、經過第二個全連接層,再次精簡提取到的數據特征,輸出維度為1
×
128的數據;
68.8、經過第三個全連接層,將數據維度壓縮至為1
×
64;
69.9、最后到輸出層,輸出用戶笑聲語音數據的分類識別結果。
70.在一個實施例中,輸出用戶笑聲語音數據劃分至每一分類的概率值,將概率值最高的分類作為用戶笑聲語音數據的分類識別結果。例如輸出層輸出微笑、大笑、苦笑、竊笑、假笑、冷笑等各分類結果的概率值,將概率值最高的分類結果作為用戶笑聲語音數據的分類識別結果。
71.本發明實施例中還提供了一種語音識別裝置,如下面的實施例所述。由于該裝置解決問題的原理與語音識別方法相似,因此該裝置的實施可以參見語音識別方法的實施,重復之處不再贅述。
72.圖5為本發明實施例中語音識別裝置的示意圖,如圖5所示,該裝置包括:
73.數據采集模塊501,用于采集用戶笑聲語音數據;
74.數據處理模塊502,用于對用戶笑聲語音數據進行分類標注;
75.訓練集和測試集建立模塊503,用于根據標注的用戶笑聲語音數據,建立訓練集和測試集;
76.模型訓練測試模塊504,用于分別利用訓練集和測試集,對機器學習模型進行訓練和測試,得到用于對用戶笑聲語音數據進行分類識別的語音識別模型;所述機器學習模型包括卷積層、池化層、全連接層和輸出層,其中卷積層結合快速傅里葉變換fft提取數據特征;
77.笑聲識別模塊505,用于在接收到語音識別請求后,將待識別的用戶笑聲語音數據輸入語音識別模型,輸出用戶笑聲語音數據的分類識別結果。
78.在一個實施例中,數據采集模塊501,具體用于:
79.采集如下用戶笑聲語音數據其中之一或任意組合:
80.不同年齡用戶笑聲語音數據;
81.不同性別用戶笑聲語音數據;
82.不同地域用戶笑聲語音數據。
83.在一個實施例中,數據處理模塊502還用于:
84.對用戶笑聲語音數據進行分類標注之后,對標注的用戶語音數據加入隨機噪聲進行數據增強;
85.訓練集和測試集建立模塊503,具體用于:
86.根據數據增強后的標注的用戶笑聲語音數據,建立訓練集和測試集。
87.在一個實施例中,模型訓練測試模塊504,具體用于:
88.卷積層接收用戶笑聲數據;
89.對用戶笑聲數據執行快速傅里葉變換,得到頻域信息;
90.將頻域信息按卷積層卷積核的大小進行切分,將切分后的頻域信息與卷積核相乘,得到相乘結果;
91.對相乘結果執行快速傅里葉逆變換ifft,將ifft的結果按切分順序重新組合,得到快速卷積輸出數據特征。
92.在一個實施例中,笑聲識別模塊505,具體用于:
93.將待識別的用戶笑聲語音數據輸入語音識別模型,依次經過語音識別模型中第一卷積層、第一池化層、第二卷積層、第二池化層、第一全連接層、第二全連接層、第三全連接層和輸出層處理,輸出用戶笑聲語音數據的分類識別結果。
94.在一個實施例中,笑聲識別模塊505,具體用于:
95.輸出用戶笑聲語音數據劃分至每一分類的概率值,將概率值最高的分類作為用戶笑聲語音數據的分類識別結果。
96.本發明實施例還提供一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執行所述計算機程序時實現上述語音識別方法。
97.本發明實施例還提供一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機程序,所述計算機程序被處理器執行時實現上述語音識別方法。
98.本發明實施例還提供一種計算機程序產品,所述計算機程序產品包括計算機程序,所述計算機程序被處理器執行時實現上述語音識別方法。
99.本發明實施例中,采集用戶笑聲語音數據;對用戶笑聲語音數據進行分類標注;根據標注的用戶笑聲語音數據,建立訓練集和測試集;分別利用訓練集和測試集,對機器學習模型進行訓練和測試,得到用于對用戶笑聲語音數據進行分類識別的語音識別模型;所述機器學習模型包括卷積層、池化層、全連接層和輸出層,其中卷積層結合快速傅里葉變換fft提取數據特征;在接收到語音識別請求后,將待識別的用戶笑聲語音數據輸入語音識別模型,輸出用戶笑聲語音數據的分類識別結果。本發明實施例中,構建機器學習模型,對其進行訓練和測試,得到可以對用戶笑聲語音數據進行分類識別的語音識別模型,當接收到語音識別請求后,利用語音識別模型,可以得到用戶笑聲語音數據的分類識別結果,實現了笑聲語音數據的識別和分類;另外機器學習模型中的卷積層結合快速傅里葉變換fft提取數據特征,能夠精準的提取笑聲語音數據的有效特征,減少卷積過程的計算速度,進一步提高了笑聲語音數據識別的準確率和效率;采用本方法的智能設備可以清楚、快速的識別用戶笑聲類型,從而更加順暢的與用戶進行語音交流,極大改善了用戶體驗,同時,本方法可遷移至其他智能語音設備,應用于更多種類的語音識別中,遷移成本低,適用范圍廣。
100.本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或計算機程序產品。因此,本發明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產品的形式。
101.本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
102.這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
103.這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
104.以上所述的具體實施例,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施例而已,并不用于限定本發明的保護范圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。