宋倩雯
(咸陽師范學院,音樂學院,陜西,咸陽 712000)
當下,互聯網上的音樂資源異常豐富,各種音樂平臺的用戶們在享受音樂帶來的休閑時光的同時也面臨著音樂種類過多、難以抒發情緒的困擾,音樂平臺的開發者們逐漸注意到了用戶們的心理需求,大多數平臺都添加了個性化音樂推薦功能。但是,大多數的推薦都是根據用戶的點播歷史來總結用戶感興趣的音樂種類,推薦的作品往往是在曲風、作者、歌詞內容等方面具有較高的相似度,并沒有考慮到當用戶因多種因素影響而產生情緒變化時,所需要的音樂在節奏、風格上也會發生變化。本文基于雙向情感分析設計了一種音樂推薦平臺,既能夠根據音樂的梅爾倒譜特征開發分類器進行情感音樂分類,也能夠通過捕捉用戶發布的網絡信息來分析用戶的實時情緒狀態,最終推薦可以響應其情感需求的音樂,以此來提升平臺用戶的使用體驗。
基于雙向情感分析的音樂推薦平臺主要包括用戶音樂情感識別、用戶社交情感實時識別以及推薦音樂顯示界面3個模塊,其總體結構如圖1所示。

圖1 英語信息共享平臺總體架構
用戶和音樂的情感通過悲傷、躁動、勵志和喜悅4個情緒狀態表達。平臺進行音樂推薦的流程為分析用戶在線收聽的音樂歷史列表,通過計算得到這些音樂的頻域梅爾倒譜系數,基于結果對這些音樂進行情感歸類,這是一個音樂情感離線識別的過程。在用戶社交情感實時識別中,利用網絡爬蟲的信息捕捉功能獲取用戶在網絡社交活動中所發布的有關情感的文字信息,通過自然語言處理分析用戶當時的情緒狀態,即音樂情感的實時在線識別。為分析得到的用戶心情匹配與之對應的音樂類別,詳細選取出能夠響應心情的音樂,通過平臺界面向用戶進行推薦。
首先需要對音樂的數據內容進行預處理,分別基于音樂的頻域特性和梅爾倒譜特性各設計一種歸類器,通過實驗獲得的結果顯示,梅爾倒譜系數特性準確度更高,因此本文所設計的推薦平臺將其選定為音樂歸類的依據。
(1)預處理音樂數據內容。鑒于目前尚沒有根據不同音樂情感類別建立的音樂數據庫,所以本平臺創建了一個包含1 600首特選音樂的數據庫,通過SoX軟件將mp3格式的音樂文件轉換為220 V/50 Hz音軌、單聲道WAV文件。
(2)音樂情感歸類結果人工標定。由20名具有本科學歷的音樂愛好者組成測評團隊,分悲傷、躁動、勵志、喜悅4個情緒狀態對音樂數據庫中的音樂進行歸類。鑒于個人主觀判斷的差異化,對于同一段音樂,其最終歸類結果按照選擇人數較多的類別確定。
(3)創建測試集和訓練集。將音樂數據庫中的WAV文件按7∶3的比例劃分為2個音樂集,占70%的部分作為訓練集,依據該集中音樂的特性設計歸類器,其余部分作為測試集,用以測評歸類器的功能可靠性。
(4)提取音樂特性。音樂信號的分析方式有很多種,最常用的是時域分析和頻域分析兩種。時域分析的優勢是計算量相對較少,提取過程簡單易行,但其魯棒性明顯較差。相比之下音樂信號功率譜對音樂所表達情感的感知更全面、更深入,因此本平臺設計過程中選取頻域分析作為音樂情感特性的提取對象,提取的內容是頻譜特性和梅爾倒譜特性。
(5)訓練歸類器的選擇。鑒于音樂情感分類是一種多分類行為,因此音樂情感歸類由邏輯回歸分類器執行。
(6)測試歸類器性能,分析歸類結果。由設計的歸類器對測試集中的音樂進行情感歸類,得到的結果與人工標定結果對比以評估歸類器性能。
基于頻域特性參數分別提取每一段音樂的頻譜特性和梅爾倒譜特性。通常情況下通過離散傅里葉變換來進行數字信號處理,因此本平臺基于快速傅里葉變換來計算每一段音樂的頻譜特性。
MFCC(梅爾頻率倒譜系數),能夠表達頻域中音頻信號的非線性特性,同時具有識別性高、抗干擾能力強的特征,與人耳聽覺特性接近。MFCC的參數提取過程如圖2所示。

圖2 MFCC的參數提取過程
(1)連續音樂信號集s(n)通過加重渲染、分幀、加窗處理后轉換為到一幀音樂信號集x(n)。
(2)通過快速傅里葉變換將x(n)轉換為線性頻域信號X(k),
(1)
其中,x(n)為輸入信號集,N為傅里葉變換中點的數量。
(3)將X(k)代入三角濾波器組Hm(k),設M為濾波器組的數量,0≤m≤M。對于三角濾波器組,其中心頻率f(m)在梅爾頻率域內具有相同間隔。在此基礎上相鄰三角帶通濾波器的中心頻率間距為ΔMel=f(max)/(k+1),則可計算出每個帶通濾波器組所傳遞的參數如式(2)。
(2)
(4)濾波器組處理后的Mel坐標系上的能量譜s(m)
(3)
(5)通過離散余弦反變換可計算出頻率域Mel頻率倒譜C(n)
(4)
其中,n=0,1,2,…,L,L為MFCC階數。
鑒于MCFF前端及末端取值對音頻識別性較強,因此本文取前12維MFCC系數及一階差分系數作為MFCC特性參數。
獲取了每一段音樂的頻譜特性和梅爾倒譜特性后,就可以分別基于這2種特性進行歸類器的訓練,再通過測試集中的音樂對歸類結果進行分析。
平臺設計過程中利用混淆矩陣對歸類結果進行可視化分析。混淆矩陣能夠以直觀的方式對分類結果的正確性進行可視化表達,矩陣中顯示了測試目標的預想位置與實際位置,以顏色的深淺度來表示兩者的重疊情況,進而表明分類結果的正確性。圖3中的混淆矩陣對比圖顯示了分別基于頻譜特性和梅爾倒譜特性設計的歸類器運行結果。圖中橫軸代表音樂的歸類器預測類別,縱軸代表人工標定判定類別。按照混淆矩陣的對比規則,主對角線上的方格顏色越深,橫軸與縱軸的一致性越高。由圖3可見,圖3(a)基于頻譜特性設計的歸類器喜悅、躁動兩項對應的方格顏色較深,勵志、悲傷兩項對應的方格顏色較淺,非對角區域大多為灰色方格,并未呈現預想的白色對角線,可見分類結果大多不準確,沒有達到理想狀態;圖3(b)基于梅爾倒譜特性設計的歸類器主對角線上的方格顏色普遍較深,尤其是躁動對應的方格,同時,非對角線區域方格顏色較淺且多是白色方格,說明分類錯誤的音樂數量較少,相對于左面的矩陣圖形在分類結果上具有明顯的優勢。相比之下基于梅爾倒譜特性設計的歸類器運行效果明顯更好,因此本平臺采用梅爾倒譜特性歸類器進行音樂情感歸類。

圖3 分別基于頻譜特性和梅爾倒譜特性設計的歸類器運行結果
通過歸類器對音樂情感進行歸類后,需要對用戶的實時情緒狀態進行識別,以實現兩者的匹配。
(1)情感信息的篩選和預處理。從新浪微博的7 500條熱門話題中篩選出2 500條信息內容色彩較濃的微博作為用戶情感文字信息集。
(2)文字信息情感歸類人工標定。由25名具有本科學歷的人員組成測評團隊,分悲傷、躁動、勵志、喜悅4個情緒狀態對上述微博中文字信息所透露的情緒進行歸類。
(3)創建測試語料庫和訓練語料庫。具體過程為:第一步,從2 500條微博的用戶情感文字信息集中篩選出中文詞句,利用分詞工具進行分詞,作為情感文本集,將“給力”“杯具”等表明情緒的網絡熱門詞匯合并到基本情感字典中,形成新的情感字典;第二步,基于新情感字典降維情感文本集矩陣,提取出其中用于明顯情感釋放的詞匯,判定其情感特性;第三步,計算情感特性權值,將降維的情感文本集矩陣按7∶3的比例劃分為兩個語料庫,占70%的部分作為訓練語料庫,通過它對歸類器進行訓練。用于本次研究的訓練集與測試集的測評團人工分類結果如表1所示。

表1 訓練集與測試集人工分類結果
(4)歸類器訓練。語料庫歸類器基于樸素貝葉斯設計,用戶的4個情緒狀態出現幾率計算方法為P(Ci)=si/s,不同特性對不同歸類的條件概率為P(X|Ci),通過這兩個值能夠生成情感歸類器。
(5)歸類測試及結果分析。通過訓練過的歸類器對測試語料庫進行情感歸類。具體流程:從訓練語料庫中提取出每條文本信息的向量矩陣d={w1,w2,…,wn},通過n維特性向量X={x1,x2,…,xn}來描述,其中xk為特性Ak的值,樣本按情感類別分成4類,即C={C1,C2,C3,C4},為4個類別分配一個無類別文本數據,僅在P(Ci|X)>P(Cj|X)的條件下,將其歸入到Ci類中。
本文基于精確率、召回率兩種評價方法對文本信息的情感歸類結果進行分析。精確率是指被正確判定為正確文檔的數量占比;召回率是指實際的正確文檔被判定為正確的數量占比。通過歸類器對測試語料庫中的文本信息進行情感歸類,由測評團對歸類器的分類結果進行人工鑒別,從而驗證本系統的音樂情感分類準確性。通過本系統所進行的音樂情感分類實驗結果如表2所示。

表2 本系統情感分析實驗結果
由表2中的數據可見,系統判定為喜悅情感的文本信息為144條,占測試數據集相應分類數量的85.03%,即系統判定精確率為85.03%,通過人工判定,選取的信息中有124條屬于喜悅類文本信息,占測試數據集相應分類數量的73.22%,即系統召回率為73.22%。同理計算可得勵志、悲傷、躁動情感的系統判定精確率及召回率分別為78.69%和70.24%、73.23%和69.37%、86.37%和75.03%,分類效果如圖4所示。

圖4 測試語料庫文本信息歸類結果
可見,貝葉斯分類器的文本信息情感歸類效果顯著。推薦平臺將音樂情感歸類結果與用戶文本信息情感歸類結果進行匹配,即可實現依據用戶實時情緒進行音樂推薦的功能。
(1)硬件環境
系統運行計算機硬件配置如表3所示。

表3 系統測試用計算機硬件配置
(2)軟件環境
計算機操作系統為Windows 10 64位專業版,安裝網絡爬蟲、SoX音頻處理、結巴中文分詞工具、WAV音樂播放器等軟件。
(3)測試結果及分析
在系統持續在線運行24 h的條件下,逐漸增加系統的同時訪問用戶數量,檢查相應狀態下的CPU占用率、內存使用率等參數變化情況。測試數據如圖5所示。在24 h運行時間內,系統一直保持穩定,未出現宕機現象,分類及推薦功能正常實現。

圖5 系統穩定性測試數據
本文在多數在線音樂平臺無法根據用戶心情的變化進行音樂推薦的背景下,提出并設計了一種基于雙向情感分析的音樂推薦平臺,它根據音樂的梅爾倒譜特征開發分類器進行情感音樂分類,通過捕捉用戶發布的網絡信息來分析用戶的實時情緒狀態,最終向其推薦可以響應其情感需求的音樂。通過實驗證明,本平臺能夠實現根據用戶實時情緒進行音樂推薦的功能,并以此提升了平臺用戶的使用體驗。