王 昊 劉淵晨 趙 萌 裘靖文
(1.南京大學(xué)信息管理學(xué)院,江蘇 南京 210023;2.江蘇省數(shù)據(jù)工程與知識服務(wù)重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210023)
隨著人民對精神文化需求的提升,網(wǎng)絡(luò)在線音樂已占據(jù)了國人日常娛樂生活的重要部分,截至2021年12月,我國網(wǎng)絡(luò)音樂用戶規(guī)模達(dá)7.29億,占網(wǎng)民整體的70.7%[1],移動互聯(lián)網(wǎng)的飛速發(fā)展也使得音樂傳播范圍更廣、速度更快,但產(chǎn)生便利的同時,數(shù)以萬計(jì)的音樂作品也對音樂檢索和組織管理帶來了巨大壓力。眾所周知,音樂是喚起和表達(dá)情感的重要載體之一,有研究認(rèn)為,音樂情感是檢索和組織音樂信息的重要因素[2-5],更有學(xué)者發(fā)現(xiàn),情感詞是描述和檢索音樂最常用的詞匯[6]。因此,利用音樂情感對數(shù)量龐大的音樂進(jìn)行分類,幫助組織與管理音樂并提升音樂檢索速度成為研究熱點(diǎn)之一。
目前主流的在線音樂平臺都將情感作為音樂的組織和檢索方式之一,且通過“歌單”將某些含有相同或相近情感的歌曲聚合在同一個列表中。大部分的歌單都是由用戶按照自己的喜好定制而成,用戶可對歌單的名稱、簡介、類別、所含歌曲等進(jìn)行編輯。平臺利用用戶對音樂作品進(jìn)行情感標(biāo)注的方式,雖然節(jié)省了平臺自身歌曲分類的工作量,但也會帶來新的問題——用戶對歌單、歌曲分類主觀性強(qiáng)、標(biāo)準(zhǔn)不統(tǒng)一等,導(dǎo)致分類準(zhǔn)確率低下。因此,歌單、歌曲的自動化識別,不僅能夠?qū)崿F(xiàn)歌單與歌曲間情感標(biāo)簽的自動匹配,減少平臺人工標(biāo)注的工作量,也能識別出與所屬歌單情感不一致的歌曲,幫助平臺把控用戶自定義歌單的質(zhì)量,提升音樂信息組織效果與檢索精度,助力完善個性化音樂推薦系統(tǒng)。
網(wǎng)易云音樂是國內(nèi)首個推出用戶定制歌單功能的音樂平臺[7],平臺設(shè)置了歌單的情感分類,且其歌單質(zhì)量較高,很多歌單的播放量能達(dá)到上千萬,甚至上億,同時,每種類別的歌單數(shù)量基本一致。因此,本文以網(wǎng)易云音樂平臺的歌單與歌曲作為研究對象,進(jìn)行針對不同對象的多種情感識別任務(wù):①對歌單而言,歌單的名稱與簡介等描述文本中通常包含情感詞匯,本文基于歌單的描述文本構(gòu)建情感詞典,融合情感詞典與機(jī)器學(xué)習(xí)進(jìn)行歌單情感分類任務(wù);②對歌曲而言,歌詞與曲調(diào)均蘊(yùn)含著豐富的情感信息[8],本文提取歌詞的文本特征與音頻的時頻域特征、梅爾聲譜圖等,基于深度學(xué)習(xí)進(jìn)行面向歌曲的單模態(tài)與多模態(tài)情感分類任務(wù),分析對比分類效果。
目前,國內(nèi)外針對音樂情感分類的研究工作可分為三大類:單獨(dú)基于音頻特征、單獨(dú)基于歌詞特征以及融合歌詞和音頻特征的多模態(tài)音樂情感分類。在最近幾年基于音頻特征的研究當(dāng)中,大多都是通過提取音樂的頻譜、音色、力度和節(jié)奏等特征,再利用機(jī)器學(xué)習(xí)或深度學(xué)習(xí)算法進(jìn)行情感分類,如貝葉斯、K-鄰近和支持向量機(jī)等機(jī)器學(xué)習(xí)算法[9-13],以及卷積神經(jīng)網(wǎng)絡(luò)和長短期記憶網(wǎng)絡(luò)等深度學(xué)習(xí)算法[14-16]。而很多音樂不止具有音頻,還帶有歌詞文本,且歌詞中所能體現(xiàn)的語義信息非常豐富,因此近年來,僅基于歌詞對音樂進(jìn)行情感分類的研究也相繼出現(xiàn)[17-19]?;诟柙~特征的音樂情感分類本質(zhì)上來說就是文本分類研究中的一個分支,因此文本情感分類采用的基于情感詞典、機(jī)器學(xué)習(xí)或深度學(xué)習(xí)的方法也都適用于音樂歌詞的情感分類。
音樂是很復(fù)雜的情感載體,音頻和歌詞并不是完全割裂的,而是相輔相成、相互呼應(yīng),因此,融合音頻和歌詞特征的多模態(tài)音樂情感分類研究也逐漸涌現(xiàn)。陶凱云[20]采用了基于音頻和歌詞特征的多模態(tài)音樂情感分類方法,并對傳統(tǒng)的子任務(wù)結(jié)合晚融合法進(jìn)行了改進(jìn),改進(jìn)后的分類準(zhǔn)確率達(dá)到了84.43%;陳煒亮[21]通過對音頻的MFCC和MIDI兩種特征進(jìn)行融合,再與歌詞文本特征進(jìn)行二次融合,首次特征融合的效果要好于單一特征,二次特征融合的分類準(zhǔn)確率又得到了進(jìn)一步提升。以上的多模態(tài)音樂情感分類研究都是將音頻特征和文本特征轉(zhuǎn)成了數(shù)值,部分學(xué)者也開始利用聲譜圖來表征音頻特征。朱貝貝[22]提出了一種基于音頻低層特征和卷積循環(huán)神經(jīng)網(wǎng)絡(luò)的音頻情感分類模型,該模型以聲譜圖和音頻低層特征作為輸入特征,與歌詞文本情感分類分別進(jìn)行決策融合和特征融合,不論哪種融合方式得到的情感分類準(zhǔn)確率均高于單一特征分類;譚致遠(yuǎn)[23]分別采用短時傅里葉聲譜圖和梅爾聲譜圖與歌詞文本進(jìn)行子任務(wù)結(jié)合晚融合,實(shí)驗(yàn)結(jié)果表明,梅爾聲譜圖與歌詞融合后的結(jié)果要好于短時傅里葉聲譜圖與歌詞融合的結(jié)果。
通過文獻(xiàn)調(diào)研發(fā)現(xiàn):①現(xiàn)有的研究基本都是針對單首歌曲的情感分類,缺少對歌曲集合——歌單的研究,而歌單作為當(dāng)下各個音樂平臺最流行的音樂組織方式和檢索單位,歌單的名稱、介紹等外部描述特征也在一定程度上體現(xiàn)出了歌單內(nèi)的歌曲情感。因此,本文首先對歌單進(jìn)行情感分類研究,彌補(bǔ)這部分的研究空白;②融合音頻特征和歌詞特征的多模態(tài)情感分類方法效果要好于基于單一特征的方法,但研究者們的側(cè)重點(diǎn)一般更偏向于音頻特征的處理與分析,對于歌詞文本的處理通常只采用一種分類方法,未能充分發(fā)揮文本情感分類已具有比較成熟的研究方法的優(yōu)勢。因此,本文對歌詞特征采用多種情感分類方法進(jìn)行分析并比較結(jié)果,選出最優(yōu)的方式再與后續(xù)音頻特征的分類結(jié)果進(jìn)行融合,以達(dá)到最佳的分類效果。
本文研究框架如圖1所示,主要包括基于描述的歌單情感分類、基于歌詞的歌曲情感分類和融合音頻的歌曲情感分類三大部分。主要步驟為:①采集網(wǎng)易云音樂歌單的名稱、介紹等外部描述信息,利用基于情感詞典的方法、基于機(jī)器學(xué)習(xí)的方法以及將情感詞典與機(jī)器學(xué)習(xí)方法結(jié)合起來3種方式進(jìn)行情感分類,分析實(shí)驗(yàn)結(jié)果;②挑選出歌單內(nèi)的歌曲,利用5種文本分類模型對歌詞文本進(jìn)行情感分類,選出最佳的分類結(jié)果,作為多模態(tài)融合的組成部分;③提取歌曲音頻特征,利用多層CNN模型對音頻進(jìn)行情感分類,采用決策級融合的方式,與歌詞文本分類中的最優(yōu)結(jié)果相融合,調(diào)節(jié)兩部分的權(quán)重值,確定最終歌曲屬于每類情感的概率,提升分類準(zhǔn)確率。
圖1 研究框架
網(wǎng)易云音樂平臺將音樂情感分為12個類別,類別設(shè)定的初衷是提升用戶體驗(yàn),所以其界限劃分并不明晰,不適合用于學(xué)術(shù)上的情感分類。針對這一問題,本文借鑒了Hevner音樂情感分類方式,Hevner模型[24]是出現(xiàn)最早、影響最為廣泛的模型,被廣泛應(yīng)用于計(jì)算機(jī)音樂情感識別領(lǐng)域。該模型將音樂情感歸為8大類,筆者從網(wǎng)易云音樂的情感分類中找到與Hevner模型相對應(yīng)的類別,如圖2所示,分別為安靜(quiet,Q)、快樂(happy,H)、傷感(sad,S)、興奮(excited,E)4種情感。
圖2 網(wǎng)易云音樂歌單情感與Hevner情感模型對應(yīng)關(guān)系
本文使用八爪魚采集器登錄網(wǎng)易云音樂網(wǎng)頁端(https://music.163.com/)爬取上述4類歌單的鏈接、標(biāo)簽(即歌單的情感分類)、創(chuàng)作者、名稱、介紹,以及歌單所包含的歌曲等數(shù)據(jù),爬取得到的主要字段信息如表1所示,其中加粗斜體部分為本文實(shí)驗(yàn)所用特征。針對歌單的情感分類中,所用到的字段為歌單標(biāo)簽、歌單名稱與介紹;針對音樂的情感分類中,所用到的字段為歌單標(biāo)簽、歌曲歌詞和音頻,其余字段用于數(shù)據(jù)的去重、篩選等。
表1 爬取的主要字段信息
對于歌單數(shù)據(jù),本文進(jìn)行了如下預(yù)處理:①根據(jù)歌單鏈接,對重復(fù)歌單予以刪除;②去除歌單名稱和介紹中的特殊字符、數(shù)字等,只保留中文文本,同時利用Langconv工具包將繁體中文轉(zhuǎn)化為簡體;③刪除名稱或簡介缺失的歌單;④刪除名稱和簡介中都沒有體現(xiàn)情感特點(diǎn)的歌單,提高數(shù)據(jù)質(zhì)量。經(jīng)過以上處理步驟,共保留了4 010條數(shù)據(jù),包含969條安靜歌單、990條快樂歌單、1 040條傷感歌單和1 011條興奮歌單,4類歌單的數(shù)據(jù)量相當(dāng),便于后續(xù)結(jié)果比較。
對于4類歌單下的歌曲數(shù)據(jù),本文的挑選方式為:①由平臺官方賬號創(chuàng)建的歌單中的歌曲:鑒于官方賬號權(quán)威性強(qiáng),且官方賬號創(chuàng)建的歌單數(shù)量及歌單包含的歌曲數(shù)量都非常少,對歌曲的情感分類標(biāo)準(zhǔn)較為嚴(yán)格,此類歌曲相當(dāng)于權(quán)威的專家標(biāo)注數(shù)據(jù);②被至少3名歌單創(chuàng)建者標(biāo)記為同一種情感類別的歌曲:由于一首歌曲可以出現(xiàn)在不同的歌單中,由不同用戶進(jìn)行情感標(biāo)注,因此選取多人標(biāo)注的歌曲可大大降低情感被錯誤分類的概率;③剔除缺少歌詞的純音樂。經(jīng)過上述篩選操作,本文在安靜、快樂、傷感、興奮這4個類別下分別挑選出1 000首歌曲,以保證數(shù)據(jù)的均衡性。
對于歌曲的歌詞數(shù)據(jù),本文的預(yù)處理方式為:①去除作詞、作曲等與歌詞本身無關(guān)的信息,去除非中文歌曲中的外語歌詞,僅保留翻譯后的中文文本,去除無意義的標(biāo)點(diǎn)符號、空格、換行符等,將繁體字轉(zhuǎn)化為簡體字;②去除同一首歌曲中的重復(fù)段落,減小分類模型壓力,保證歌詞字?jǐn)?shù)在500個字以內(nèi);③對歌詞數(shù)據(jù)添加索引和情感標(biāo)簽,索引為4位數(shù)字的序號,情感標(biāo)簽即安靜、快樂、傷感、興奮分別為Q、H、S、E,方便后續(xù)的研究工作。處理后的歌詞數(shù)據(jù)如表2所示。
表2 處理后的歌曲歌詞示例
對于歌曲的音頻數(shù)據(jù),本文的預(yù)處理方式為:①利用解碼ncm格式的軟件,將平臺加密后的ncm音樂格式轉(zhuǎn)化為mp3格式,便于音頻處理;②對音頻數(shù)據(jù)進(jìn)行重命名操作,按照上一章節(jié)中對歌曲添加的索引,更改音頻的名字為相應(yīng)的4位數(shù)字編號,方便后續(xù)與文本分類結(jié)果的融合;③利用Pychorus工具包截取30s的副歌片段,主要考慮有以下4點(diǎn):ⅰ.完整的音頻數(shù)據(jù)文件過大,完整音頻數(shù)據(jù)會對硬件基礎(chǔ)設(shè)施造成巨大壓力,延長實(shí)驗(yàn)時間;ⅱ.歌曲一般由前奏、主歌、副歌(又叫高潮)、過門音樂(或稱間奏)和結(jié)尾5部分組成,每部分的旋律、節(jié)奏等差距較大,例如前奏一般都很平緩,副歌部分情緒波動較大,使得每部分體現(xiàn)的情感也會有所不同,且主歌和副歌部分通常會重復(fù)多次[25],因此若采用整首歌曲進(jìn)行情感分類,會增加不必要的冗余信息,影響分類效果;ⅲ.副歌部分是音樂情感爆炸式噴涌的部分,能夠強(qiáng)烈觸發(fā)聽眾情感并引起共鳴[26];ⅳ.有研究表明,從語音中截取出片段進(jìn)行情感分類的準(zhǔn)確率要高于用整段語音的效果[27]?;谝陨?點(diǎn)原因,本文提出截取最能代表歌曲情感特征的副歌部分進(jìn)行情感分類的方法。
通常情況下,歌單的名稱和介紹都是對歌單內(nèi)容或風(fēng)格的概括性描述文本,文字中會出現(xiàn)較為明確的情感詞語,方便聽眾快速進(jìn)行選擇。針對這一特征,本文對歌單的情感分析方法如圖3所示:①根據(jù)歌單描述文本的特征構(gòu)建相應(yīng)的情感詞典,利用THULAC中文詞法分析工具包[28]對文本分詞,采用Gensim模塊的Word2vec對每個詞語進(jìn)行向量化表示,根據(jù)網(wǎng)上已訓(xùn)練好的大語料模型,計(jì)算歌單名稱和介紹中每個詞與各類情感詞語之間的相似度,加權(quán)求和后,得分最高的類別即為歌單情感所屬類別;②將歌單名稱和簡介拼接到一起,對分詞后的詞向量相加并求平均值,以此來表示歌單描述文本的語義向量,之后分別采用RF(Random Forest,隨機(jī)森林)、LightGBM、XGBoost 3種機(jī)器學(xué)習(xí)算法進(jìn)行情感分類,取十折交叉法的平均值作為最終結(jié)果;③將第①步中,每個歌單歸屬于不同情感的得分,與歌單描述向量一起,共同作為上述3種算法的輸入特征,再次利用十折交叉法進(jìn)行實(shí)驗(yàn),對比實(shí)驗(yàn)結(jié)果。
圖3 基于描述的歌單情感分類研究流程圖
對于歌單情感詞典的構(gòu)建,本文通過統(tǒng)計(jì)歌單文本詞頻,發(fā)現(xiàn)每類的情感詞典可以由近義詞、相關(guān)場景以及音樂風(fēng)格3部分構(gòu)成,如表3所示。其中,近義詞的選取參照了哈工大信息檢索研究中心同義詞詞林?jǐn)U展版[29];相關(guān)場景表示每類情感產(chǎn)生于何種場合或情境下;音樂風(fēng)格代表音樂的類型,不同的旋律、節(jié)奏等給聽眾帶來不同的情感認(rèn)知。最終得到的情感詞典共包含448個詞語,每類情感均包含112個詞語。
表3 情感詞典所含詞語示例
與歌單名稱、簡介等描述性文本不同,歌曲歌詞的內(nèi)容千變?nèi)f化、語義豐富,因此本文采用的研究方法如圖4所示:①采用Ngram2vec預(yù)訓(xùn)練模型[30]將歌詞文本轉(zhuǎn)化成300維的向量,該模型的訓(xùn)練語料包含百度百科、中文維基百科、人民日報(bào)、搜狗新聞、知乎問答、微博、文學(xué)作品等多個領(lǐng)域,可以全面覆蓋歌詞文本;②采用TextCNN、TextRNN、TextRNN+Attention、TextRCNN和FastText 5種經(jīng)典文本分類方法,對歌詞文本向量進(jìn)行分類,探究不同模型的情感分類效果;③選出歌詞情感分類效果最佳的模型結(jié)果,用于后續(xù)多模態(tài)結(jié)果融合研究當(dāng)中。
圖4 基于歌詞的歌曲情感分類研究流程圖
在歌詞文本表示中,Ngram2vec模型是由Zhao Z等[31]于2017年提出的語言模型,該模型是將Ngram模型納入各種基本的文本嵌入模型,如Word2vec、GloVe、PPMI和SVD等。Ngram是一種統(tǒng)計(jì)語言模型,它根據(jù)前n-1個詞來預(yù)測第n個詞,即用大小為n的滑動窗口對文本里面的內(nèi)容進(jìn)行操作,按照字節(jié)形成長度為n的字節(jié)片段序列,優(yōu)勢在于包含了前n-1個詞所攜帶的信息[32]。Qiu Y Y等[33]也發(fā)現(xiàn)引入Ngram能夠有效提升詞語相似性和詞語類比任務(wù)的模型性能,因此本文將其用于歌詞文本的表征。
根據(jù)孟鎮(zhèn)等[34]的研究,深度學(xué)習(xí)方法下的音頻分類效果優(yōu)于機(jī)器學(xué)習(xí)方法,且融合音頻的時域、頻域特征和梅爾聲譜圖的方法要好于基于單種特征的方法,因此本文融合音頻的情感分類方法如圖5所示:①抽取音頻的時域和頻域特征,包括:中心距、過零率、均方根能量值、節(jié)拍、梅爾倒譜系數(shù)、色度特征、頻譜質(zhì)心、譜對比度、頻譜衰減、頻譜帶寬等,計(jì)算上述特征的均值、方差、偏度、峰度等統(tǒng)計(jì)值,拼接成518維特征向量;②利用librosa工具包將音頻轉(zhuǎn)成梅爾聲譜圖,梅爾聲譜圖是將音頻信號經(jīng)過短時傅里葉變換后把頻率轉(zhuǎn)換為梅爾尺度,再經(jīng)過梅爾濾波器組把幅度值加權(quán)求和,將梅爾頻譜拼接起來所形成的聲譜圖。本文中梅爾聲譜圖的采樣高度為64,寬度為256,每個連續(xù)幀包含的樣本數(shù)為2 048。4類情感的梅爾聲譜圖示例如圖6所示,可看出不同情感下的梅爾聲譜圖間存在明顯差距,因此可以將音頻分類問題轉(zhuǎn)為圖像分類問題;③由于CNN模型在圖像分類問題上的優(yōu)秀表現(xiàn),所以本文構(gòu)建了多層CNN模型,如圖7所示,卷積核大小設(shè)為3,利用多層感知機(jī)將第①步提取的518維音頻低層特征向量轉(zhuǎn)化為128維向量,與64×256維的梅爾聲譜圖向量進(jìn)行拼接,輸入到多層感知機(jī)中計(jì)算得到4類情感的概率,概率最大的類別即為待分類歌曲所對應(yīng)的情感類別;④利用線性加權(quán)融合法,將基于音頻的情感分類結(jié)果與最優(yōu)的歌詞文本分類結(jié)果相結(jié)合,調(diào)節(jié)兩部分的權(quán)重值,確定最佳分類結(jié)果。
圖5 融合音頻的歌曲情感分類研究流程圖
圖6 4種情感歌曲的梅爾聲譜圖示例
本文所研究的情感分類問題本質(zhì)上是多分類問題,因此采取的評價指標(biāo)包含準(zhǔn)確率(Accuracy,見式(1))、精確率(Precision,見式(2))、宏平均精確率(Macro-P,見式(3))、召回率(Recall,見式(4))、宏平均召回率(Macro-R,見式(5))、F1值(見式(6))和宏平均F1值(Macro-F1,見式(7))7種。
(1)
(2)
(3)
(4)
(5)
(6)
(7)
其中TP為實(shí)際為真預(yù)測也為真的樣本數(shù),TN為實(shí)際為假預(yù)測也為假的樣本數(shù),F(xiàn)P為實(shí)際為假預(yù)測為真的樣本數(shù),F(xiàn)N為實(shí)際為真預(yù)測為假的樣本數(shù),class_num為總的類別數(shù)。Accuracy即為在所有樣本中分類正確的樣本比例,Macro-P、Macro-R和Macro-F1則分別為每類樣本的精確率、召回率、F1值的平均值。以上7個評價指標(biāo)的取值范圍均在0和1之間,越接近1表明分類效果越好。
1)基于情感詞典的方法
在將歌單描述文本與情感詞典進(jìn)行相似度計(jì)算時,本文對歌單的名稱與介紹分別賦予了不同的權(quán)重值a和1-a,計(jì)算方式如式(8)所示,S1為歌單名稱在不同情感下的得分,S2為歌單簡介在不同情感下的得分,最終S在哪一類情感下得分最高,該歌單則歸屬于相應(yīng)的情感類別。
S=a*S1+(1-a)*S2
(8)
根據(jù)以上方法進(jìn)行實(shí)驗(yàn),以0.05為歌單名稱權(quán)重a的調(diào)節(jié)單位,不同權(quán)重取值的實(shí)驗(yàn)結(jié)果如圖8所示,當(dāng)歌單名稱的得分權(quán)重a為0.6,歌單簡介的得分權(quán)重為0.4時,歌單情感分類的整體準(zhǔn)確率最高,為68.18%。
圖8 調(diào)節(jié)權(quán)重a歌單情感分類整體準(zhǔn)確率
在權(quán)重a設(shè)定為0.6的情況下統(tǒng)計(jì)每類歌單數(shù)據(jù)的精準(zhǔn)率、召回率和F1值,結(jié)果如圖9所示。
從圖9可以看出:①F1值的排序?yàn)椋篠>Q>H>E,且S的Precision、Recall和F1值都已經(jīng)接近80%,相較于其他類別的分類效果遙遙領(lǐng)先,表明用戶對于傷感類歌單的文本描述會較為明確,這可能與網(wǎng)易云平臺以“網(wǎng)抑云”著稱有關(guān),用戶偏愛在網(wǎng)易云平臺上宣泄負(fù)面情緒[35],所以對于傷感歌單名稱和簡介的描述也會帶有較為明顯的悲春傷秋色彩,與其他3類的區(qū)分度較高。②H的Precision最低,僅為54.29%,E的Recall最低,僅為42.73%,且二者的F1值均與S、Q有較大差距,E的F1甚至不足60%,探究原因主要為快樂和興奮兩個詞語本身的含義區(qū)分度不高,很多歌單創(chuàng)建者對興奮情感的描述與快樂過于接近,導(dǎo)致很大一部分興奮類型的歌單被識別成了快樂類型,使得E的召回率變低,H的精準(zhǔn)率相應(yīng)變低,從而也拉低了整體的分類效果。
圖9 權(quán)重a=0.6時各類歌單情感分類結(jié)果
2)基于機(jī)器學(xué)習(xí)的方法
本小節(jié)采用RF、LightGBM和XGBoost 3種性能優(yōu)秀的集成機(jī)器學(xué)習(xí)算法對歌單描述進(jìn)行情感分類,將預(yù)處理過的歌單名稱和簡介拼接到一起形成描述文檔,再采用Word2vec模型將每個歌單的描述文本轉(zhuǎn)換為100維的詞向量,作為該歌單的描述向量,輸入機(jī)器學(xué)習(xí)算法進(jìn)行分類實(shí)驗(yàn)。針對4 010條歌單數(shù)據(jù),采用十折交叉驗(yàn)證的方法劃分訓(xùn)練集和測試集,最終結(jié)果取10次實(shí)驗(yàn)結(jié)果的均值,從而減少數(shù)據(jù)選取的不平衡對實(shí)驗(yàn)結(jié)果造成的影響。實(shí)驗(yàn)結(jié)果如圖10所示。
圖10 RF、LightGBM、XGBoost與基于情感詞典的歌單情感分類結(jié)果
圖10中可以看出:①RF、LightGBM、XGBoost這3種方法對歌單情感分類的效果差別極小,RF算法稍微遜色,LightGBM與XGBoost結(jié)果幾乎一致,表明在歌單描述情感分類問題上,3種機(jī)器學(xué)習(xí)模型都能達(dá)到類似的效果;②3種算法和基于情感詞典的方法進(jìn)行比較,情感詞典的Macro-P稍高一些,但Macro-F1值稍低于XGBoost與LightGBM,整體來看基于機(jī)器學(xué)習(xí)的方法和基于情感詞典的方法效果基本一致,說明本文構(gòu)造的歌單情感詞典以及情感詞加權(quán)和特征加權(quán)的情感分類方式毫不遜色于基于機(jī)器學(xué)習(xí)的分類方法;③3種算法的分類結(jié)果并不是非常好,XGBoost的Macro-F1值最高,但也僅達(dá)67.97%,探究原因可能是歌單描述文本自身特征問題,主要有以下兩點(diǎn):ⅰ.雖然本文的歌單數(shù)據(jù)都選自網(wǎng)易云音樂平臺情感分類下的歌單,但多數(shù)歌單除包含情感標(biāo)簽外,還含有風(fēng)格、語種、場景、主題等其他類別的標(biāo)簽,這一因素使得部分歌單的文本描述與情感無關(guān),而和歌單風(fēng)格、語種等有關(guān),造成算法無法準(zhǔn)確識別;ⅱ.網(wǎng)易云音樂平臺以“網(wǎng)抑云”著稱,因?yàn)橛脩鬠GC內(nèi)容主要由負(fù)面情緒的發(fā)泄、網(wǎng)絡(luò)“段子”、心靈“雞湯”組成,不止用戶評論,用戶歌單的創(chuàng)建同樣也迎合這一特點(diǎn),此外,平臺對用戶撰寫的內(nèi)容并不會加以限制,造成部分歌單名稱和簡介內(nèi)容充斥著“無病呻吟”的語錄,這些句子含義復(fù)雜晦澀,對機(jī)器學(xué)習(xí)算法的情感分類形成了一定阻礙。因此,若能提升歌單描述文本的數(shù)據(jù)質(zhì)量,提高其中情感描述語句的比例,算法的分類準(zhǔn)確率能進(jìn)一步增加。
3)融合情感詞典與機(jī)器學(xué)習(xí)的方法
本小節(jié)將情感詞典和機(jī)器學(xué)習(xí)的方法融合到一起,具體方法為:在基于情感詞典的方法中,每條歌單在每類情感下都有不同的得分,本文將每條歌單的4個得分?jǐn)?shù)值與100維的描述向量組合在一起形成104維特征,再次輸入到RF、LightGBM、XGBoost 3種算法當(dāng)中,同樣采用十折交叉驗(yàn)證的方法劃分訓(xùn)練集和測試集,數(shù)據(jù)劃分的隨機(jī)數(shù)種子不變,使得數(shù)據(jù)集的劃分與前述機(jī)器學(xué)習(xí)實(shí)驗(yàn)保持一致,方便比對實(shí)驗(yàn)結(jié)果。融合情感詞典前后的實(shí)驗(yàn)結(jié)果對比如圖11所示。
圖11 融合情感詞典前后3種機(jī)器學(xué)習(xí)算法實(shí)驗(yàn)結(jié)果對比
從圖11可以看出:①在融合了情感詞典方法后,3種機(jī)器學(xué)習(xí)方法的情感分類效果均有較為明顯的提升,說明在歌單描述文本的處理上,加入人工預(yù)處理操作,能幫助機(jī)器學(xué)習(xí)算法更好地學(xué)習(xí)數(shù)據(jù)特征,進(jìn)一步提升分類準(zhǔn)確性;②RF和LightGBM的Macro-F1增加了約5個百分點(diǎn),XGBoost的Macro-F1上漲了約6個百分點(diǎn),XGBoost算法在融合情感詞典后不止分類性能表現(xiàn)最好,且效果提升也最為顯著,更適合應(yīng)用到歌單的情感分類問題研究之中。
本小節(jié)將歌詞文本數(shù)據(jù)集按照4∶1的比例隨機(jī)劃分為訓(xùn)練集和測試集,即訓(xùn)練集共3 200條數(shù)據(jù),測試集共800條數(shù)據(jù),4種類別的歌詞文本各占200條,利用TextCNN、TextRNN、TextRNN+Attention機(jī)制、TextRCNN和FastText這5種文本分類模型進(jìn)行情感分類,不同模型的整體分類Accuracy和Macro-F1如圖12所示??梢钥闯鯢astText模型的整體分類效果最佳,因此選用FastText模型的分類結(jié)果作為后續(xù)多模態(tài)融合的組成部分。
圖12 不同模型的歌詞情感分類結(jié)果
對4類情感的分類結(jié)果進(jìn)行分析,F(xiàn)astText模型的混淆矩陣如圖13所示,可以看出:①S的準(zhǔn)確率最高,達(dá)90%,而H的準(zhǔn)確率最低,不足80%,表明對于歌曲歌詞來說,傷感的歌詞情感表露會比較明顯,能較為準(zhǔn)確地被機(jī)器所識別,而快樂的歌曲里面存在很多說唱類型的歌曲,說唱的歌詞篇幅會普遍大于其他類型的歌曲,且說唱歌詞所包含的內(nèi)容比較寬泛,因此會對機(jī)器識別造成一定的困難,導(dǎo)致分類效果稍差于其他3種類別;②Q類歌曲中被錯誤歸為E類歌曲數(shù)量最多,且E類歌曲中被錯誤歸為Q類歌曲數(shù)量也最多,即安靜和興奮的歌曲歌詞混淆比較大,探究原因可能是安靜和興奮這兩類情感下的大部分歌曲都是外語歌曲,這就導(dǎo)致大部分聽眾在不看歌詞翻譯的情況下幾乎難以聽懂歌詞所表達(dá)的含義,而很多情況下聽眾只將歌曲當(dāng)作背景音樂,不會關(guān)注歌詞內(nèi)容,因此聽眾主要根據(jù)旋律而非歌詞對外語歌曲進(jìn)行情感分類,使得安靜和興奮歌曲中的部分歌詞內(nèi)容比較相近;③H與S、Q的歌詞混淆較大,而與E類歌詞混淆較小,對快樂中分類錯誤的歌曲進(jìn)行分析,發(fā)現(xiàn)分類錯誤的歌曲歌詞大部分都是描寫愛情的中文情歌,而傷感歌曲幾乎全是由中文情歌組成,安靜歌曲則是由不到一半的中文情歌組成,只有興奮歌曲幾乎全是外語歌曲,由于語言和文化差異,雖然興奮歌曲中的外語歌曲也包含很多的情歌,但翻譯成中文的歌詞與正宗的中文歌曲歌詞還是有較大的差異,因此導(dǎo)致快樂與興奮的歌詞混淆程度很小,反而與傷感、安靜的歌詞混淆程度較大。根據(jù)以上分析,單獨(dú)靠歌曲歌詞進(jìn)行情感分類存在一定的弊端,即歌詞的語言、題材等特征的相似程度會影響分類結(jié)果,且產(chǎn)生不符合人們常規(guī)認(rèn)知的結(jié)果,因此,音頻特征對歌曲的情感分類也是不可或缺的一部分。
圖13 FastText模型歌曲情感分類結(jié)果混淆矩陣
本小節(jié)采用了上一節(jié)中的訓(xùn)練集和測試集的歌曲音頻數(shù)據(jù),提取音頻低層特征與梅爾聲譜圖特征,拼接后輸入多層CNN架構(gòu)中進(jìn)行情感分類。在低層特征處理方面,本文選取音頻30s副歌片段的中心距、過零率等時頻域特征,計(jì)算各特征的多維統(tǒng)計(jì)值作為音頻低層特征;在音頻向聲譜圖的轉(zhuǎn)換處理上,本文對副歌片段進(jìn)行采樣,將其轉(zhuǎn)換為梅爾聲譜圖,采樣參數(shù)及說明如表4所示。在本文中,duration和sampling_rate的數(shù)值是固定的,另外3個參數(shù)則根據(jù)硬件設(shè)施配置及CNN處理能力,初步設(shè)定多個取值,并比較模型分類效果確定最優(yōu)取值組合,用于最終聲譜圖采樣及歌曲情感分類實(shí)驗(yàn)。
表4 梅爾聲譜圖最優(yōu)采樣參數(shù)及說明
多層CNN模型對歌曲音頻的情感分類結(jié)果如圖14所示。由圖可見:對于F1值來說,E>H>S>Q,即興奮這一情感整體的分類效果最好,達(dá)86%,而安靜整體的分類效果最差,不足74%,且安靜的Recall值在4類情感中最高,但是Precision最低,說明其他3種情感的歌曲很多被識別為安靜類型,探究原因可能是在提取歌曲的副歌片段時,本文是按照副歌一般情況下符合的規(guī)律進(jìn)行提取,而實(shí)際上歌曲的旋律、風(fēng)格等千變?nèi)f化,有些歌曲的副歌部分并不滿足一般規(guī)律,所以導(dǎo)致這些歌曲提取出來的并非副歌片段,而除了歌曲的副歌外,歌曲的前奏、主歌等部分的情感波動都比較小,旋律也較為緩和,與安靜情感的音頻片段更為相似,因此導(dǎo)致安靜的Precision最低,也拉低了F1值。
圖14 多層CNN模型的音頻情感分類結(jié)果
歌曲的歌詞與音頻并非完全割裂,而是相互呼應(yīng)、相輔相成的。融合兩種模態(tài)的特征進(jìn)行情感分類任務(wù),能夠彌補(bǔ)單種模態(tài)情感特征表達(dá)不足的問題,進(jìn)一步提升分類效果。此外,由于多數(shù)歌曲的詞曲作者并非同一人,詞曲的創(chuàng)作可能有時間差,且存在其他作者對歌曲的詞或曲進(jìn)行改編的情形,上述因素均會導(dǎo)致詞曲情感不完全匹配。因此,本文首先聯(lián)合分析單獨(dú)基于歌詞與單獨(dú)基于音頻的歌曲情感分類結(jié)果,探討詞曲情感不匹配的情況,再融合多模態(tài)特征以探討模態(tài)融合能否達(dá)到最優(yōu)分類效果。
本文將基于FastText模型的歌詞文本情感分類結(jié)果記為M1,將基于多層CNN模型的音頻情感分類結(jié)果記為M2。對M1和M2進(jìn)行聯(lián)合分析,結(jié)果如表5所示,可以看出:①兩種方法對于快樂類別分類不一致的歌曲總數(shù)最多,對于安靜類別分類不一致的歌曲總數(shù)最少,一定程度上表明安靜歌曲的詞曲情感較為匹配,而快樂歌曲的詞曲情感不匹配的情況較多;②4類情感都或多或少地存在一種方法分類正確而另一種方法分類錯誤的情況,因此,對單獨(dú)基于歌詞和單獨(dú)基于音頻的分類結(jié)果進(jìn)行融合,可以幫助糾正基于單一模態(tài)分類錯誤的結(jié)果,提升情感分類準(zhǔn)確率。
表5 M1和M2分類結(jié)果聯(lián)合分析
將M1對應(yīng)的每首歌曲歸屬于各類情感的概率向量記為R1,M2對應(yīng)的概率向量記為R2。對R1和R2分別賦予權(quán)重a和1-a,且0≤a≤1,加權(quán)相加后得到結(jié)果R,如式(9)所示。
R=a×R1+(1-a)×R2
(9)
結(jié)果R依舊為歌曲歸屬于4類情感下的概率值,概率值最大時所對應(yīng)的類別即為歌曲最后的情感分類,以0.05為單位調(diào)整權(quán)重a的實(shí)驗(yàn)結(jié)果如圖15所示。
圖15 權(quán)重值a不同取值下的分類結(jié)果
從圖15中可以看出,當(dāng)R1的權(quán)重值a=0.5時,情感分類的Accuracy和Macro-F1值均最大,達(dá)89%,此時R2的權(quán)重值同樣也為0.5;而當(dāng)權(quán)重值a從0.5逐漸減小或逐漸增大時,分類效果都在變差,所以針對本文的歌曲數(shù)據(jù),歌詞與音頻在情感表達(dá)方面所起到的作用同等重要。將單獨(dú)基于歌詞的最優(yōu)情感分類結(jié)果、單獨(dú)基于音頻的最優(yōu)情感分類結(jié)果、融合歌詞與音頻的最優(yōu)情感分類結(jié)果進(jìn)行對比,如圖16所示。
圖16 3種歌曲情感分類方法的結(jié)果對比
從圖16中可以看出:①不論Accuracy還是Macro-F1值,均為融合歌詞與音頻的方法>基于歌詞的方法>基于音頻的方法,且融合歌詞與音頻的結(jié)果將近90%,比單獨(dú)基于歌詞的方法高約5.5個百分點(diǎn),比單獨(dú)基于音頻的方法高約10.5個百分點(diǎn),說明融合兩類特征的情感分析方法能極大地豐富歌曲的情感信息,彌補(bǔ)了單類特征信息單一化的不足,幫助提升了歌曲情感分類效果;②基于音頻的歌曲情感分類效果最差,探究原因可能是音頻數(shù)據(jù)相對文本來說更為復(fù)雜,對于音頻深層語義特征的提取較為困難,處理和分析音頻數(shù)據(jù)的技術(shù)還有較大的提升空間。因此,采用多模態(tài)融合的歌曲情感分類方法仍將是今后的重點(diǎn)研究內(nèi)容。
本文以網(wǎng)易云音樂平臺上安靜、快樂、傷感、興奮這4類情感下的4 010條歌單數(shù)據(jù)及4 000首歌曲為例,首先,利用基于情感詞典的方法、基于機(jī)器學(xué)習(xí)的方法、融合情感詞典與機(jī)器學(xué)習(xí)的方法對歌單情感進(jìn)行分類;其次,采用TextCNN、TextRNN、TextRNN+Attention機(jī)制、TextRCNN和FastText 5種模型對歌詞文本進(jìn)行情感分類;最后,利用多層CNN模型對歌曲音頻進(jìn)行情感分類,并采用線性加權(quán)晚融合法,將音頻情感分類結(jié)果與歌詞分類效果最好的FastText模型實(shí)驗(yàn)結(jié)果進(jìn)行加權(quán)融合。實(shí)驗(yàn)結(jié)果表明:①對于歌單的情感分類,融合情感詞典與機(jī)器學(xué)習(xí)的方法要優(yōu)于單一方法,但由于歌單自身數(shù)據(jù)特征影響,歌單的文本描述與情感無關(guān),或是由難以辨明情感的“非主流”語句構(gòu)成,導(dǎo)致情感分類準(zhǔn)確率不能達(dá)到較高的水平;②對于歌曲的情感分類,多模態(tài)融合的情感分類準(zhǔn)確率比單獨(dú)基于歌詞的情感分類準(zhǔn)確率提升了約5.5個百分點(diǎn),比單獨(dú)基于音頻的情感分類準(zhǔn)確率提升了約10.5個百分點(diǎn),分類準(zhǔn)確率有顯著提升,說明融合兩類特征的情感分析方法能極大地豐富歌曲的情感信息,彌補(bǔ)了單類特征信息單一化的不足。因此,本文提出的多模態(tài)融合方法在音樂情感分類問題上能取得不錯的效果。
本研究依然存在可完善之處。其一,由于網(wǎng)易云音樂歌單除了文本描述特征外,還包含封面圖片特征,因此后續(xù)可以考慮將歌單文本和圖像特征結(jié)合到一起實(shí)現(xiàn)多模態(tài)融合情感分類;其二,由于網(wǎng)易云音樂平臺本身展現(xiàn)的歌單數(shù)量較少,以及受實(shí)驗(yàn)條件和平臺對歌曲的版權(quán)保護(hù)的限制,本文的歌單數(shù)據(jù)集和歌曲數(shù)據(jù)集規(guī)模都不是特別大,未能充分發(fā)揮深度學(xué)習(xí)模型對大規(guī)模數(shù)據(jù)的處理能力,后續(xù)應(yīng)考慮加入更多的數(shù)據(jù)。