毋亞男,劉德然,許小可
(大連民族大學,信息與通信工程學院,遼寧 大連 116605)
基于雙向情感分析的實時性音樂推薦系統(tǒng)設計
毋亞男,劉德然,許小可
(大連民族大學,信息與通信工程學院,遼寧 大連 116605)
目前的音樂推薦系統(tǒng),一般采用基于個體興趣的推薦方法,這種方式雖然能滿足大部分情景下的用戶需求,但無法感知到用戶實時性的心情變化??紤]到不同情緒狀態(tài)下用戶對于音樂的需求往往也會發(fā)生改變,提出一種基于雙向情感分析的算法并構(gòu)建了實際系統(tǒng),實時分析用戶的情感需求來進行音樂推薦。一方面基于音樂在頻域的梅爾倒譜系數(shù)構(gòu)建特征分類器完成歌曲的情感分類;另一方面通過獲取用戶在社交網(wǎng)絡中的實時文本信息,基于自然語言理解分析出用戶當前的情感需求,最終為用戶產(chǎn)生音樂推薦列表,實現(xiàn)基于情境感知的實時音樂推薦。實驗表明,使用該個性化推薦算法具有更高的準確性,用戶群體可以獲得更為滿意的用戶體驗。
情感分析;推薦系統(tǒng);貝葉斯分類器
隨著移動互聯(lián)網(wǎng)的高速發(fā)展,在線數(shù)字音樂已是人們上網(wǎng)消遣、日常休閑等場景中非常流行的娛樂方式,但海量的音樂資源往往使得用戶受信息過載的困擾,很難在眾多曲目中找到要聽的旋律。針對大規(guī)模的音樂數(shù)據(jù),個性化推薦系統(tǒng)應運而生[1-3]。目前常用的推薦方式有基于歌曲相似性的推薦,基于用戶相似性的推薦,人工推薦,朋友推薦等諸多方式,這些推薦方式雖然在一定程度上解決了音樂和用戶需求相匹配的問題,但沒有考慮到用戶時刻變化的心情以及身處的情景。
本文以用戶體驗滿意度為主要指標,一方面使用基于梅爾頻率倒譜系數(shù)對歌曲情感的傾向性[4-5]進行分類;另一方面實時爬取用戶在社交網(wǎng)絡和社交媒體上的留言信息,通過自然語言理解[6]的方法來感知用戶心情的實時變化;然后采用貝葉斯分類器將兩部分情感分析的結(jié)果進行整合和匹配,完成時刻契合用戶心情的音樂推薦。使用該個性化推薦算法的群體可以獲得更為滿意的用戶體驗。
實時音樂系統(tǒng)可以分為用戶音樂情感分類、用戶社交網(wǎng)絡情感分析與推薦系統(tǒng)界面三個模塊,如圖1。其中,音樂情感和用戶情感均分為四個維度,分別是喜悅、勵志、躁動和悲傷。具體過程:首先獲得用戶的音樂曲目列表,計算所有歌曲在頻域的梅爾倒譜系數(shù),完成曲目的情感分類。這部分的計算是離線的,非實時感知的。此外,還需要使用網(wǎng)絡爬蟲實時抓取用戶在社交網(wǎng)絡或社交媒體上的文本信息,使用自然語言處理模塊分析出用戶每時每刻的情感,要求此部分必須是在線的,實時感知的。將用戶的實時心情和對應的曲目相匹配,推薦出滿足當前心情的歌曲,再整合到推薦系統(tǒng)界面,最終進行可視化展示和音樂播放[7-8]。
圖1 總體設計圖
首先對每首歌曲的音樂數(shù)據(jù)進行預處理,分別使用歌曲的頻域特征和梅爾倒譜特征來設計分類器,測試和評估分類效果。在對基于不同音頻特征構(gòu)建的分類器結(jié)果進行比較后,選取梅爾頻率倒譜系數(shù)這一準確率較高的特征作為最終分類的依據(jù),完成音樂情感分類。
2.1 實現(xiàn)過程
(1)音樂數(shù)據(jù)預處理。由于目前在音樂情感識別領域未有公開的音樂數(shù)據(jù)庫,故本文用于測試和訓練的音樂數(shù)據(jù)庫為項目成員收集并通過多次篩選的1 600首中文歌曲,采用SoX音頻處理軟件將所有MP3類型歌曲統(tǒng)一轉(zhuǎn)化為單聲道,音軌為22 050 Hz的WAV文件。
(2)人工標定音樂情感分類。選取20位本科在讀學生作為測評人員,利用人工判讀的方式,針對處理后的音頻文件按照勵志、喜悅、悲傷、躁動四個情感維度對歌曲進行分類。由于音樂情感劃分受主觀性影響較大,故采用多人對同一音樂片段進行標定,取人數(shù)最多的方式完成歌曲的情感分類。
(3)劃分訓練集和測試集。將預處理后的WAV文件按照7:3分成兩個子集,前者作為訓練集,用于構(gòu)建分類器,后者作為測試集,用來評估分類器的性能。
(4)音樂特征提取。根據(jù)分析的角度不同,可以對音樂信號進行時域分析、頻域分析等。時域特征提取方法計算量較小,提取相對較容易,但不足之處是魯棒性差。時域特征參數(shù)包括音樂的短時能量,短時自相關函數(shù),短時過零率等。音樂信號的功率譜可從多方面反映音樂的情感特性,故本文主要從頻域提取音樂特征,分別提取出歌曲的頻譜特征和梅爾倒譜特征。
(5)訓練分類器??紤]到本項目是個多分類問題,采用邏輯回歸分類器進行音樂分類。
(6)測試并評估分類結(jié)果。將測試集作為輸入,運行分類器,得到最終的分類結(jié)果并進行評價。
2.2 音頻信號特征提取過程
從頻域特征參數(shù)的分析角度,分別提取每首歌曲的頻譜特征和梅爾倒譜特征[9]。對于音頻信號等數(shù)字信號的處理過程,離散傅里葉變換是常用的變換方法。使用快速傅里葉變換可分析信號的頻譜、計數(shù)濾波器的頻率響應,以及實現(xiàn)信號通過線性系統(tǒng)的卷積運算等,因而在信號的頻譜分析方面有廣泛的應用。本文采用快速傅里葉變換來計算每首歌曲的頻譜特征。
梅爾頻率倒譜系數(shù)(Mel-scale Frequency Cepstral Coefficients,簡稱MFCC)是標度頻率域提取出的倒譜參數(shù),描述了音頻信號在頻域上的非線性特性。原始的頻譜由兩部分組成:包絡和頻譜的細節(jié)。如果從低頻到高頻按臨界帶寬的大小依次設置一組帶通濾波器,對輸入信號進行濾波,再將每個帶通濾波器輸出的信號能量作為信號的基本特征,就可以提取出梅爾頻率倒譜系數(shù)。由于該特征不依賴于信號的性質(zhì),因此具有良好的識別性和抗噪能力,更符合人耳的聽覺特性。MFCC參數(shù)提取基本流程如下:
(1)將連續(xù)音樂信號s(n)經(jīng)過預加重,分幀及加窗得到一幀音樂信號x(n)。
(2)將x(n)信號進行快速傅里葉變換(FFT)得到頻域信號,即線性頻譜X(k),
(1)
式中,x(n)為輸入語音信號,N為傅里葉變換的點數(shù)。
(2)
(3)
(5)經(jīng)離散余弦反變換,得到頻率域上的Mel頻率倒譜C(n):
(4)
式中,L指MFCC系數(shù)的階數(shù)。由于前若干維及后若干維的MFCC系數(shù)對語音的區(qū)分性能較大, 所以本文采用前12維MFCC系數(shù)和前12維一階差分系數(shù)作為特征參數(shù)。
2.3 音樂情感分類結(jié)果的評估與比較
在得到每首歌曲的頻譜特征和梅爾倒譜特征以后,就可以分別使用這兩種特征來訓練分類器,使用測試集數(shù)據(jù)評估分類結(jié)果。為更直觀比較這兩種特征分類效果的優(yōu)劣,本文通過混淆矩陣對分類結(jié)果進行可視化?;煜仃囀怯糜诒容^分類結(jié)果準確性的一種可視化工具,通過比較每個實測單元與預測分類圖像的相應位置,對應單元模塊的顏色濃度直觀的顯示分類結(jié)果。本文中混淆矩陣中橫軸方向代表預測分類結(jié)果,縱軸方向代表實際類別結(jié)果。對于完美的分類器,從左上角到右下角都是深色的方格,而剩下的區(qū)域都是淺色,甚至無色。因此,可以通過觀察混淆矩陣中主對角線區(qū)域內(nèi)方格顏色的深淺,直觀快速地評估分類效果。
基于頻譜特征和梅爾倒譜特征構(gòu)建分類器的分類效果比較如圖2。圖中橫軸表示歌曲預測分類,縱軸代表經(jīng)主觀評定后歌曲的真實情感分類。左圖為基于頻譜特征構(gòu)建的分類器,從它的混淆矩陣中可看出關于喜悅、躁動的格子顏色較深,但勵志、悲傷的方格顏色較淺,而且非對角區(qū)域顏色并不都是如期望的均為白色,說明錯誤分類的數(shù)量較多,整體分類效果一般。相對于左圖,右圖中基于梅爾頻率倒譜系數(shù)構(gòu)建的混淆矩陣中對角線區(qū)域格子的顏色更深,其中關于躁動這一類別的分類優(yōu)勢更為明顯,非對角區(qū)域顏色較左圖更淺,表明誤分類情況出現(xiàn)較少,整體分類效果較左圖獲得了明顯提升。綜上所述,基于梅爾倒譜特征構(gòu)建的分類器在音樂情感分類中取得了更好的分類效果,本系統(tǒng)采取該方法對每首歌曲進行情感分類。
圖2 基于頻譜特征和梅爾倒譜特征構(gòu)建 分類器的分類效果比較
在對歌曲進行分類后,下一步就是要實時檢測出用戶的心情變化。本文首先對實現(xiàn)過程進行闡述,然后使用樸素貝葉斯分類器[10]對文本情感分類結(jié)果進行評估。
3.1 情感分析實現(xiàn)過程
(1)用戶情感文本數(shù)據(jù)的收集和預處理。本文利用新浪微博公開的API,采集熱門話題下的微博數(shù)據(jù)共計7 500條,篩選出具有情感色彩的2 500條微博。
(2)人工標定文本情感分類。選取25名本科在讀學生作為測評人員,與上述音樂分類情況相同,通過人工判讀的方式,對所收集的微博文本按照勵志、喜悅、悲傷、躁動四個情感維度的特征屬性對文本進行分類。
(3)構(gòu)建訓練和測試語料庫。首先,從2 500條微博文本信息中去除表情符號,保留中文部分并利用中文分詞工具(“結(jié)巴”分詞)進行分詞處理,構(gòu)成文本情感集。在基本情感字典基礎上加入“杯具”、“給力”等帶有感情色彩的網(wǎng)絡詞匯構(gòu)建適用于微博的情感詞典。其次,利用已構(gòu)建的情感字典,對分詞所得的稀疏矩陣進行降維,去掉停用詞,提取能顯著表征文本情感類別的詞匯,進行情感特征選擇。最后,進行情感特征權(quán)值的計算。情感文本集經(jīng)過處理后得到的向量矩陣,按照7:3劃分為訓練語料庫和測試語料庫,利用訓練語料庫進行分類器訓練。
3.2 文本情感分類結(jié)果的評估
通過對文本分析分類性能進行評估,常用的評價方法包括準確率、召回率、F1值等。本文采用前兩種方法進行評估。精確率(Precision)是指在所有被判斷為正確的文檔中,正確數(shù)量所占比例。而召回率(RecallRate)是指在所有事實上正確的文檔中,有多大比例被判為正確。將測試語料進行分類測試,實驗結(jié)果見表1。從分類結(jié)果可看出,貝葉斯分類器在文本情感分析中取得了較好的分類效果。最后,將歌曲情感分類和文本情感分類進行匹配,完成音樂的實時性推薦。
表1 基于樸素貝葉斯構(gòu)建的分類器分類結(jié)果
本文提出了一種雙向的情感分析算法并構(gòu)建了實際系統(tǒng),重點在于對音樂情感屬性劃分以及感知用戶的社交網(wǎng)絡情境。實驗結(jié)果表明,使用該個性化推薦算法的用戶群體可以獲得更為滿意的用戶體驗,推薦效果較好。今后將融合曲目的歌詞信息用于提高歌曲情感分析的準確性,采用Adaboost等集成分類器來提高實時情感分析的分類準確性,從整體上進一步提升推薦質(zhì)量。
[1] 陳雅茜. 音樂推薦系統(tǒng)及相關技術(shù)研究[J]. 計算機工程與應用,2012(18):9-16.
[2] 李瑞敏,閆俊,林鴻飛. 基于音樂基因組的個性化移動音樂推薦系統(tǒng)[J]. 計算機應用與軟件,2012(9):27-30.
[3] 譚學清,何珊. 音樂個性化推薦系統(tǒng)研究綜述[J]. 現(xiàn)代圖書情報技術(shù),2014(9):22-32.
[4] 李瑞敏,林鴻飛,閆俊. 基于用戶-標簽-項目語義挖掘的個性化音樂推薦[J]. 計算機研究與發(fā)展,2014(10):2270-2276.
[5] 牛濱,孔令志,羅森林,等. 基于MFCC和GMM的個性音樂推薦模型[J]. 北京理工大學學報,2009(4):351-355.
[6] 孫艷,周學廣,付偉. 基于主題情感混合模型的無監(jiān)督文本情感分析[J]. 北京大學學報(自然科學版),2013(1):102-108.
[7] 伯德, 克萊恩, 洛佩爾.Python自然語言處理[M]. 北京:人民郵電出版社, 2014:266-271.
[8] 查美麗. 基于情感的音樂分類系統(tǒng)的研究與實現(xiàn)[D].南京:南京郵電大學,2014.
[9] 里徹特, 柯埃略.機器學習系統(tǒng)設計[M]. 劉峰, 譯. 北京:人民郵電出版社, 2014:139-153.
[10] 楊鼎,陽愛民. 一種基于情感詞典和樸素貝葉斯的中文文本情感分類方法[J]. 計算機應用研究,2010(10):3737-3739.
(責任編輯 王楠楠)
Designing of Real-time Music Recommendation System Based on Two-Way Emotion Analysis
WU Ya-nan, LIU De-ran, XU Xiao-ke
(School of Information and Communication Engineering, Dalian Minzu University,Dalian Liaoning 116605, China)
The current music recommendation system generally adopts the recommendation method on the basis of individual interest. Such method can meet users’ needs under most situations, but it fails to perceive the real-time mood changes of users. In view of the users’ demands for music under different emotional state always changing, the paper puts forward a two-way emotion analysis algorithm and constructs a real system to recommend music through real-time analysis of users’ emotion needs. On the one hand, based on MEL cepstrum coefficient of the music in the frequency domain, a feature classifier is built to complete the music emotion classification. On the other hand, by capturing the users’ real-time text social information in social networks, the emotional needs of the users are analyzed all the time based on natural language understanding. Finally, a music recommendation list is produced to the user for a specific situation, achieving the real-time music recommendation based on situational awareness. The experiment results show that the user groups who adopt such personalized recommendation algorithm can obtain more satisfying user experience.
sentiment analysis; recommendation system; naive Bayes classification
2016-09-14;最后
2016-12-13
國家自然科學基金項目(61374170);中央高?;究蒲袠I(yè)務費專項資金資助項目 (DC201502060201)。
毋亞男(1990-),女,遼寧大連人,大連民族大學信息與通信工程學院碩士研究生,主要從事數(shù)據(jù)挖掘和社交網(wǎng)絡分析研究。
2096-1383(2017)01-0076-04
TP
A