朱星浩,胥 備
(1.南京郵電大學(xué) 計算機、軟件、網(wǎng)絡(luò)空間安全學(xué)院,江蘇 南京 210023;2.江蘇省大數(shù)據(jù)安全與智能處理重點實驗室(南京郵電大學(xué)),江蘇 南京 210023)
情感是人們所能表達的一種語義信息。音樂和文本是人們描述情感語義信息的兩種符號系統(tǒng)。人們常常需要建立這兩個符號系統(tǒng)之間的語義對應(yīng)關(guān)系,來實現(xiàn)對兩種系統(tǒng)所描述情感語義信息的儲存、檢索、分析和創(chuàng)作,并由此提出了若干音樂-文本應(yīng)用。
一種典型的音樂-文本應(yīng)用是通過關(guān)鍵詞進行音樂檢索[1-3]。但是目前的音樂檢索系統(tǒng)缺乏針對音樂內(nèi)容情感語義的檢索機制,無法滿足用戶的個性化需求。例如,當用戶輸入詞語“悲傷”時,用戶希望在音樂的旋律、節(jié)奏等情感要素上與檢索詞匹配,而不希望從類別名稱、音樂名稱或者歌詞等方面檢索。在缺乏預(yù)標注信息的前提下,當前的音樂系統(tǒng)因缺乏對音樂內(nèi)容的分析而較難滿足上述需求。另一種音樂-文本應(yīng)用是音樂自動標注[4]。音樂自動標注是一項從音頻信號[5]中預(yù)測音樂標簽的任務(wù)?,F(xiàn)有工作主要集中在音樂中音頻特征的提取,將文本作為類別,忽略了音樂和文本在情感語義上的聯(lián)系。例如,在情感標注任務(wù)中,有的工作用光譜圖[6]來表示音頻信號,然后把光譜圖按類別進行分類和標注。其他的應(yīng)用,例如音樂推薦[7-8],也主要基于協(xié)同過濾或基于深度學(xué)習(xí)使用音樂附帶文本分析,忽略了文本和音樂的內(nèi)在語義關(guān)聯(lián)。
上述音樂-文本應(yīng)用技術(shù)的缺陷在于沒有建立音樂內(nèi)容和文本的情感匹配。另一方面,以情感為核心,挖掘音樂與文本之間的內(nèi)在聯(lián)系,還可以進一步揭示情感語義的處理機制。因為音樂和文本屬于不同的符號體系,因此當下針對自然語言的語義匹配模型[9-12]較難直接用于音樂和文本的語義匹配任務(wù)。
文中提出了一種計算音樂片段和詞語的音樂-文本情感語義關(guān)聯(lián)度的匹配模型。音樂-文本情感語義關(guān)聯(lián)度和詞語相似度的不同之處有兩點。(1)詞語之間的相似度基于相同符號體系,而音樂和文本屬于兩種不同的符號體系。(2)詞語不僅包含情感語義,還包含指向?qū)嶓w的語義等。因此詞語相似度體現(xiàn)了多維度的語義匹配結(jié)果。而音樂-文本情感語義關(guān)聯(lián)度僅體現(xiàn)情感語義的匹配程度。另一方面,音樂-文本情感語義關(guān)聯(lián)度與音樂內(nèi)容的直接匹配程度的不同在于:(1)后者僅關(guān)注旋律的一致性,而沒有反映音樂背后的情感語義。這使得音樂內(nèi)容的直接匹配較適用于音樂的精確檢索,而無法支持基于情感的模糊檢索。(2)即使是同類型、同風(fēng)格和同情感的音樂,音樂旋律的差異依然較大。因此,音樂內(nèi)容的直接匹配方法較難應(yīng)用于音樂推薦。
文中基于對音樂片段內(nèi)容和詞語的語義分析,定量地描述了音樂和詞語在情感角度的語義關(guān)聯(lián)度。該關(guān)聯(lián)度可以用于面向音樂情感語義的檢索系統(tǒng)、音樂自動標注和音樂推薦等領(lǐng)域。實驗結(jié)果表明,該匹配模型在情感角度可以有效地匹配音樂和詞語。
文本語義匹配通過規(guī)則或訓(xùn)練在不同粒度的文本單元之間建立語義關(guān)聯(lián),以支持針對文本語義信息的應(yīng)用,例如:信息檢索[13]、機器翻譯[14]、對話系統(tǒng)[15-16]等。常見的語義匹配模型有深度語義結(jié)構(gòu)模型[17]、卷積深度語義結(jié)構(gòu)模型[18]、卷積張量神經(jīng)網(wǎng)絡(luò)[19]。深度語義結(jié)構(gòu)模型主要針對查詢項和文檔的匹配度進行建模,相對于傳統(tǒng)文本匹配的模型,該方法有顯著的提升。深度語義結(jié)構(gòu)模型是典型的siamese網(wǎng)絡(luò)結(jié)構(gòu),每個文本對象都是由5層的網(wǎng)絡(luò)單獨進行向量化的,最后計算兩個文本向量的余弦相似度來決定這兩段文本的相似程度。卷積深度語義結(jié)構(gòu)模型相對于深度語義結(jié)構(gòu)模型,將中間生成句子向量的全連接層換成了卷積神經(jīng)網(wǎng)絡(luò)的卷積層,其他的結(jié)構(gòu)和深度語義結(jié)構(gòu)模型是一樣的。卷積張量神經(jīng)網(wǎng)絡(luò)使用了基于排序的損失函數(shù),旨在拉大正負樣本之間的匹配度數(shù)值的差距,而并不在意匹配度的絕對值的大小。上述的語義匹配模型主要應(yīng)用在文本匹配上,而音樂和文本屬于兩種不同的符號體系,所以無法直接用在音樂和文本語義匹配的場景。
機器翻譯[20-22]是指通過計算機將源語言句子翻譯到與之語義等價的目標語言句子的過程。音樂和文本是兩種不同的符號體系。一種典型的音樂文本匹配思路為:先通過“翻譯”將一種符號轉(zhuǎn)化為另一種符號,然后在同一種符號下進行語義匹配。目前,主流的機器翻譯模型是基于深度學(xué)習(xí)的機器翻譯模型。包括循環(huán)神經(jīng)網(wǎng)絡(luò)、編碼器-解碼器模型等。2017年,Vaswani等人提出了基于注意力機制的Transformer模型[23]。Transformer模型的提出在模型的訓(xùn)練速度和翻譯質(zhì)量上都取得了大幅提升。注意力機制的引入可以使得模型將“注意力”集中到源端的幾個相關(guān)的詞語上,并從中獲取有用的信息,從而獲得更好的翻譯表現(xiàn)。注意力機制使得翻譯模型能夠更好地處理長距離的依賴關(guān)系,解決了在循環(huán)神經(jīng)網(wǎng)絡(luò)[24]中信息在長距離的傳輸中容易被丟失、遺忘的問題。但由于缺乏文本和音樂單元之間的語義相關(guān)度分析工具,限制了通過機器翻譯技術(shù)實現(xiàn)文本音樂匹配的效果。
目前,音樂檢索方法主要包含兩類。第一類方法使用文本處理技術(shù)分析和匹配音樂的文本描述性信息,包括:音樂類別、音樂名、歌詞、作者等。用戶通過輸入音樂名稱,歌詞信息,音樂作者等信息來檢索目標音樂。但是,用戶常常僅能回憶有關(guān)于音樂情感方面的特征,而無法指明音樂的文本描述性信息。第二類方法使用音樂內(nèi)容的直接匹配,例如:百度音樂搜索通過用戶輸入的文本查找目標音樂。但這類方法對于用戶輸入要求較高。用戶常常無法獲取待檢索的音樂片段。
傳統(tǒng)的基于內(nèi)容的音樂推薦將音樂內(nèi)容特征提取與音樂推薦分為兩個獨立的過程,這樣的策略會導(dǎo)致性能不足。Wang等人[25]通過神經(jīng)網(wǎng)絡(luò)和概率矩陣分解將兩個過程組合到一個統(tǒng)一的框架中,提升了音樂推薦的性能。具體地,首先學(xué)習(xí)用戶和音樂的隱表示,一種是利用概率矩陣分解學(xué)習(xí)到用戶和音樂的表示,第二種是采用神經(jīng)網(wǎng)絡(luò)從音樂中提取的音樂特征表示以及由用戶偏好得到的用戶表示,然后利用兩種隱表示分別做內(nèi)積,并組合兩種內(nèi)積通過擬合用戶-音樂評分矩陣進行模型訓(xùn)練,最后基于學(xué)習(xí)到的兩種表示對未知評分進行評測??偟膩碚f,目前的研究能夠有效緩解用戶和音樂特征提取困難的問題,但是,缺少對音樂作品本身的語義分析與挖掘,所以并不能夠為用戶發(fā)現(xiàn)新的感興趣的資源。
文中使用小節(jié)作為音樂的基本單元。完整的音樂由若干小節(jié)構(gòu)成。因此,一首音樂可以表示為:M={bar1,bar2,…,bari},其中bari表示第i個小節(jié)。一首音樂的情感往往是變化的,例如:單一的情感漸強和漸弱的變化。作曲家通常通過小節(jié)為單元來進行音樂創(chuàng)作。因此,一個小節(jié)可以較完整和準確地傳達一首音樂中的情感片段。文中使用小節(jié)作為音樂的基本單元,可以在情感粒度上使得音樂-文本情感語義匹配更加合理。另一方面,使用詞語作為文本的基本單元。相較于句子的敘述性語義,詞語語義更能體現(xiàn)情感片段。
音樂-文本情感語義關(guān)聯(lián)度體現(xiàn)了個人情感的情緒感情方面的關(guān)聯(lián)緊密程度。根據(jù)價值主體的不同類型,情感可分為個人情感、集體情感、社會情感。文中主要針對個人情感。根據(jù)價值的主導(dǎo)變量不同,個人情感可以分為欲望、情緒和感情。文中選擇的情感主題集中在情緒和感情。
DeepTransition(DT-GRU)模型由一個雙向深度轉(zhuǎn)換編碼器和一個深度轉(zhuǎn)換解碼器組成,編碼器和解碼器由多頭注意力連接,如圖1所示。
圖1 DT-GRU模型
模型包含三個轉(zhuǎn)化模塊:(1)將源序列轉(zhuǎn)化成分布式表示的編碼器轉(zhuǎn)化模塊;(2)用于處理源序列的查詢轉(zhuǎn)化模塊;(3)生成當前時間步解碼狀態(tài)的解碼器轉(zhuǎn)化模塊。
轉(zhuǎn)換塊在底部由一個線性變換增強型GRU(L-GRU)組成,然后從下到上由多個轉(zhuǎn)換GRU(T-GRU)組成。GRU是LSTM的一種變體,使用更新門和重置門來控制每個單元內(nèi)的信息流。隱藏狀態(tài)的計算方式如下:
(1)
(2)
其中,xt為輸入,rt為重置門。更新門和重置門的計算方式如下:
rt=σ(Wxrxt+Whrht-1)
(3)
Zt=σ(Wxzxt+Whzht-1)
(4)
T-GRU是深度轉(zhuǎn)化模塊中重要的組成部分。對于當前時間步,T-GRU狀態(tài)的輸出被用作下一個時間步的狀態(tài)輸入。T-GRU的隱藏狀態(tài)計算方式如下:
(5)
(6)
重置門rt和更新門Zt的計算方式如下:
rt=σ(Whrht-1)
(7)
zt=σ(Whzht-1)
(8)
T-GRU是GRU的變種,T-GRU既進行非線性變換,又進行輸入的直接傳遞。這種架構(gòu)將使模型的訓(xùn)練更容易。
L-GRU是一種線性變換增強型GRU,隱藏狀態(tài)計算方式如下:
(9)
(10)
其中,更新門和重置門的計算方式和GRU一樣。H(xt)=Wxxt是輸入xt的線性變換,lt是線性變換門,計算方式如下:
lt=σ(Wxlxt+Whlht-1)
(11)
與GRU相比,L-GRU同時進行非線性變換和線性變換,對輸入進行變換,包括嵌入輸入和狀態(tài)輸入。L-GRU和T-GRU可以緩解梯度消失問題。
(12)
(13)
其中,xj是詞嵌入,T-GRU的輸入只有狀態(tài)。
解碼器是由查詢轉(zhuǎn)換和解碼轉(zhuǎn)換兩個模塊組成。查詢轉(zhuǎn)換在多頭注意力機制之前執(zhí)行,解碼轉(zhuǎn)換在多頭注意力機制之后執(zhí)行。查詢轉(zhuǎn)換的深度計作Lq,解碼轉(zhuǎn)換的深度計作Ld,解碼器數(shù)學(xué)形式為:
st,0=L-GRU(yt-1,st-1,Lq+Ld+1)
(14)
st,k=T-GRU(st,k-1),1≤k≤Lq
(15)
其中,yt-1是前一個目標詞的嵌入。上下文向量Ct由多頭注意力機制計算得出:
Ct=Multihead-Attention(C,st,Lq)
(16)
解碼器的計算更新為:
st,Lq+1=L-GRU(Ct,st,Lq)
(17)
st,Lq+p=T-GRU(st,Lq+p-1),2≤p≤Ld+1
(18)
根據(jù)解碼器可得當前目標單詞的計算方式:
(19)
深度語義:根據(jù)目標單詞預(yù)測結(jié)果建立詞和預(yù)測值的哈希映射,哈希層連接隱藏層,得到主題向量,用余弦相似度計算匹配度。計算步驟如下:
(1)模型輸出的詞語,記作output。將音樂對應(yīng)的預(yù)先標注的詞語記作A,然后計算output和A的相似度,記作simA。
(2)計算output和其他主題下每一個詞語的相似度,根據(jù)主題計算相似度的平均值,記作(sim1,sim2,sim3…),將simA和(sim1,sim2,sim3…)依次做比較得到最大值maxval。若maxval=simA,則匹配正確,統(tǒng)計正確匹配的數(shù)量。
(3)計算output和A所在主題下的其他詞語的相似度——同義詞的相似度,記作(simB,simC…),將(simB,simC…)分別和(sim1,sim2,sim3…)做比較取最大值(maxval1,maxval2,maxval3…),若最大值所對應(yīng)的相似度是由生成的詞語和同義詞所得,則匹配正確。
筆者構(gòu)造了一個數(shù)據(jù)集,包含內(nèi)容如下:(1)800首MIDI類型的音樂。MIDI可以看作是一種使用音符的數(shù)字信號記錄音樂的文件形式。MIDI數(shù)據(jù)來自freemidi.org網(wǎng)站。把這些音樂分成10個不同的情感主題,分別是激情,傷感,暴躁,喧鬧,諷刺,愚蠢,和藹,清爽,愉快,自信。主題的選取參考了網(wǎng)易云音樂常見標簽以及音樂情感分類常用標簽,每個主題下的音樂情感是相近的。(2)800個帶有情感色彩的詞語。詞語的標注參考網(wǎng)易云音樂的標簽以及用戶的評論。詞語和MIDI音樂一一對應(yīng),分為同樣的10個主題,每個主題下的詞是同義詞。
文中設(shè)置了多組實驗將DT-GRU模型與transformer、VAE、DeepLAU在音樂小節(jié)-詞語情感語義匹配任務(wù)上進行對比。DT-GRU學(xué)習(xí)率遵循如下計算方式:
(20)
其中,t是當前時間步,n是訓(xùn)練中并發(fā)的模型副本數(shù),p是預(yù)熱步驟數(shù),s是指數(shù)衰減的開始步驟,e是衰退的結(jié)束步驟。lr0設(shè)置為10-3,p設(shè)置為300,s設(shè)置為600,e設(shè)置為2 000。
根據(jù)對音樂-文本情感語義匹配度的定義,設(shè)計了以下幾組實驗來檢驗?zāi)P推ヅ湫Ч?/p>
(1)詞語和音樂的隨機小節(jié)片段匹配。隨機選擇的小節(jié)片段在情感的傳達上會出現(xiàn)強與弱的情況,檢驗?zāi)P驮谇楦胁幻黠@的片段的匹配情況。
(2)詞語和音樂高潮匹配。音樂的高潮是一首音樂情感表達最突出的部分,檢驗?zāi)P驮谇楦斜磉_最明顯的片段的匹配情況。
(3)詞語和音樂在傷感、喧鬧、清爽、諷刺這4個情感主題下隨機小節(jié)片段匹配。選擇的4個主題情感特點突出,主題間的情感差別大。
(4)詞語和整首音樂匹配。整首音樂的情感更加完整,包含最突出的高潮部分,也包括不明顯的其他小節(jié)。
文中采用準確率、精確率、召回率以及F1值作為測評指標。準確率是指正確匹配詞語的數(shù)量除以驗證數(shù)據(jù)的總數(shù)。精確率是指正確匹配主題的數(shù)量與模型判斷為該主題的數(shù)量之比。召回率是指正確匹配主題的數(shù)量與屬于該主題的數(shù)量之比。F1值是精確率和召回率的調(diào)和平均數(shù)。
實驗結(jié)果如表1~表4所示。
表1 詞語與音樂的隨機小節(jié)匹配的實驗結(jié)果
表2 傷感、喧鬧、清爽、諷刺這4個情感主題下
表3 詞語與音樂高潮匹配的實驗結(jié)果
表4 詞語與整首音樂匹配的實驗結(jié)果
選擇隨機小節(jié)作為音樂單元進行實驗時,整體匹配效果相比其他組并不突出。因為,隨機小節(jié)對一首音樂的核心情感表達不充分,較難反映情感在音樂中的起伏變化。選擇的小節(jié)可能出現(xiàn)情感較弱的情況,使得片段之間情感區(qū)分度不高,進而導(dǎo)致模型對序列特征的提取只能達到較平均的效果。表2選擇傷感、喧鬧、清爽、諷刺這4個情感主題的原因是它們的情感區(qū)分度更高。其實驗結(jié)果相比沒有進行情感篩選的實驗結(jié)果有明顯提升,尤其是加入了多頭注意力機制的Transformer和DT-GRU,能更好地捕捉到序列中的有效信息。高潮部分的數(shù)據(jù)在實驗中的效果要明顯好于其他小節(jié)片段。這是因為高潮是一首音樂中最能代表音樂情感的片段。整首音樂的情感表達沒有高潮部分明顯,但是比其他小節(jié)片段更加完整。所以實驗結(jié)果介于兩者之間。綜合4組實驗來看,DT-GRU的轉(zhuǎn)換模塊以及注意力機制對于序列特征的提取是有效的,經(jīng)過訓(xùn)練可以有效地區(qū)分不同的情感,受情感強弱的影響較小。
使用DT-GRU模型完成了音樂-詞語的語義匹配任務(wù),使用L-GRU和T-GRU改進了轉(zhuǎn)換模塊,充分利用了注意力機制能夠有效地提取序列特征的特點。實驗結(jié)果表明,提出的方法相比VAE、DeepLAU、Transformer在音樂-詞語的匹配效果上更好,可以滿足音樂-詞語的語義匹配任務(wù)。在接下來的工作中,需要標注并擴充更大規(guī)模的音樂-文字數(shù)據(jù)集,嘗試探索音樂和句子的語義匹配,考慮根據(jù)研究內(nèi)容對模型進行更有針對性的改進。