朱星浩,胥 備
(1.南京郵電大學 計算機、軟件、網絡空間安全學院,江蘇 南京 210023;2.江蘇省大數據安全與智能處理重點實驗室(南京郵電大學),江蘇 南京 210023)
情感是人們所能表達的一種語義信息。音樂和文本是人們描述情感語義信息的兩種符號系統。人們常常需要建立這兩個符號系統之間的語義對應關系,來實現對兩種系統所描述情感語義信息的儲存、檢索、分析和創作,并由此提出了若干音樂-文本應用。
一種典型的音樂-文本應用是通過關鍵詞進行音樂檢索[1-3]。但是目前的音樂檢索系統缺乏針對音樂內容情感語義的檢索機制,無法滿足用戶的個性化需求。例如,當用戶輸入詞語“悲傷”時,用戶希望在音樂的旋律、節奏等情感要素上與檢索詞匹配,而不希望從類別名稱、音樂名稱或者歌詞等方面檢索。在缺乏預標注信息的前提下,當前的音樂系統因缺乏對音樂內容的分析而較難滿足上述需求。另一種音樂-文本應用是音樂自動標注[4]。音樂自動標注是一項從音頻信號[5]中預測音樂標簽的任務。現有工作主要集中在音樂中音頻特征的提取,將文本作為類別,忽略了音樂和文本在情感語義上的聯系。例如,在情感標注任務中,有的工作用光譜圖[6]來表示音頻信號,然后把光譜圖按類別進行分類和標注。其他的應用,例如音樂推薦[7-8],也主要基于協同過濾或基于深度學習使用音樂附帶文本分析,忽略了文本和音樂的內在語義關聯。
上述音樂-文本應用技術的缺陷在于沒有建立音樂內容和文本的情感匹配。另一方面,以情感為核心,挖掘音樂與文本之間的內在聯系,還可以進一步揭示情感語義的處理機制。因為音樂和文本屬于不同的符號體系,因此當下針對自然語言的語義匹配模型[9-12]較難直接用于音樂和文本的語義匹配任務。
文中提出了一種計算音樂片段和詞語的音樂-文本情感語義關聯度的匹配模型。音樂-文本情感語義關聯度和詞語相似度的不同之處有兩點。(1)詞語之間的相似度基于相同符號體系,而音樂和文本屬于兩種不同的符號體系。(2)詞語不僅包含情感語義,還包含指向實體的語義等。因此詞語相似度體現了多維度的語義匹配結果。而音樂-文本情感語義關聯度僅體現情感語義的匹配程度。另一方面,音樂-文本情感語義關聯度與音樂內容的直接匹配程度的不同在于:(1)后者僅關注旋律的一致性,而沒有反映音樂背后的情感語義。這使得音樂內容的直接匹配較適用于音樂的精確檢索,而無法支持基于情感的模糊檢索。(2)即使是同類型、同風格和同情感的音樂,音樂旋律的差異依然較大。因此,音樂內容的直接匹配方法較難應用于音樂推薦。
文中基于對音樂片段內容和詞語的語義分析,定量地描述了音樂和詞語在情感角度的語義關聯度。該關聯度可以用于面向音樂情感語義的檢索系統、音樂自動標注和音樂推薦等領域。實驗結果表明,該匹配模型在情感角度可以有效地匹配音樂和詞語。
文本語義匹配通過規則或訓練在不同粒度的文本單元之間建立語義關聯,以支持針對文本語義信息的應用,例如:信息檢索[13]、機器翻譯[14]、對話系統[15-16]等。常見的語義匹配模型有深度語義結構模型[17]、卷積深度語義結構模型[18]、卷積張量神經網絡[19]。深度語義結構模型主要針對查詢項和文檔的匹配度進行建模,相對于傳統文本匹配的模型,該方法有顯著的提升。深度語義結構模型是典型的siamese網絡結構,每個文本對象都是由5層的網絡單獨進行向量化的,最后計算兩個文本向量的余弦相似度來決定這兩段文本的相似程度。卷積深度語義結構模型相對于深度語義結構模型,將中間生成句子向量的全連接層換成了卷積神經網絡的卷積層,其他的結構和深度語義結構模型是一樣的。卷積張量神經網絡使用了基于排序的損失函數,旨在拉大正負樣本之間的匹配度數值的差距,而并不在意匹配度的絕對值的大小。上述的語義匹配模型主要應用在文本匹配上,而音樂和文本屬于兩種不同的符號體系,所以無法直接用在音樂和文本語義匹配的場景。
機器翻譯[20-22]是指通過計算機將源語言句子翻譯到與之語義等價的目標語言句子的過程。音樂和文本是兩種不同的符號體系。一種典型的音樂文本匹配思路為:先通過“翻譯”將一種符號轉化為另一種符號,然后在同一種符號下進行語義匹配。目前,主流的機器翻譯模型是基于深度學習的機器翻譯模型。包括循環神經網絡、編碼器-解碼器模型等。2017年,Vaswani等人提出了基于注意力機制的Transformer模型[23]。Transformer模型的提出在模型的訓練速度和翻譯質量上都取得了大幅提升。注意力機制的引入可以使得模型將“注意力”集中到源端的幾個相關的詞語上,并從中獲取有用的信息,從而獲得更好的翻譯表現。注意力機制使得翻譯模型能夠更好地處理長距離的依賴關系,解決了在循環神經網絡[24]中信息在長距離的傳輸中容易被丟失、遺忘的問題。但由于缺乏文本和音樂單元之間的語義相關度分析工具,限制了通過機器翻譯技術實現文本音樂匹配的效果。
目前,音樂檢索方法主要包含兩類。第一類方法使用文本處理技術分析和匹配音樂的文本描述性信息,包括:音樂類別、音樂名、歌詞、作者等。用戶通過輸入音樂名稱,歌詞信息,音樂作者等信息來檢索目標音樂。但是,用戶常常僅能回憶有關于音樂情感方面的特征,而無法指明音樂的文本描述性信息。第二類方法使用音樂內容的直接匹配,例如:百度音樂搜索通過用戶輸入的文本查找目標音樂。但這類方法對于用戶輸入要求較高。用戶常常無法獲取待檢索的音樂片段。
傳統的基于內容的音樂推薦將音樂內容特征提取與音樂推薦分為兩個獨立的過程,這樣的策略會導致性能不足。Wang等人[25]通過神經網絡和概率矩陣分解將兩個過程組合到一個統一的框架中,提升了音樂推薦的性能。具體地,首先學習用戶和音樂的隱表示,一種是利用概率矩陣分解學習到用戶和音樂的表示,第二種是采用神經網絡從音樂中提取的音樂特征表示以及由用戶偏好得到的用戶表示,然后利用兩種隱表示分別做內積,并組合兩種內積通過擬合用戶-音樂評分矩陣進行模型訓練,最后基于學習到的兩種表示對未知評分進行評測。總的來說,目前的研究能夠有效緩解用戶和音樂特征提取困難的問題,但是,缺少對音樂作品本身的語義分析與挖掘,所以并不能夠為用戶發現新的感興趣的資源。
文中使用小節作為音樂的基本單元。完整的音樂由若干小節構成。因此,一首音樂可以表示為:M={bar1,bar2,…,bari},其中bari表示第i個小節。一首音樂的情感往往是變化的,例如:單一的情感漸強和漸弱的變化。作曲家通常通過小節為單元來進行音樂創作。因此,一個小節可以較完整和準確地傳達一首音樂中的情感片段。文中使用小節作為音樂的基本單元,可以在情感粒度上使得音樂-文本情感語義匹配更加合理。另一方面,使用詞語作為文本的基本單元。相較于句子的敘述性語義,詞語語義更能體現情感片段。
音樂-文本情感語義關聯度體現了個人情感的情緒感情方面的關聯緊密程度。根據價值主體的不同類型,情感可分為個人情感、集體情感、社會情感。文中主要針對個人情感。根據價值的主導變量不同,個人情感可以分為欲望、情緒和感情。文中選擇的情感主題集中在情緒和感情。
DeepTransition(DT-GRU)模型由一個雙向深度轉換編碼器和一個深度轉換解碼器組成,編碼器和解碼器由多頭注意力連接,如圖1所示。

圖1 DT-GRU模型
模型包含三個轉化模塊:(1)將源序列轉化成分布式表示的編碼器轉化模塊;(2)用于處理源序列的查詢轉化模塊;(3)生成當前時間步解碼狀態的解碼器轉化模塊。
轉換塊在底部由一個線性變換增強型GRU(L-GRU)組成,然后從下到上由多個轉換GRU(T-GRU)組成。GRU是LSTM的一種變體,使用更新門和重置門來控制每個單元內的信息流。隱藏狀態的計算方式如下:
(1)

(2)
其中,xt為輸入,rt為重置門。更新門和重置門的計算方式如下:
rt=σ(Wxrxt+Whrht-1)
(3)
Zt=σ(Wxzxt+Whzht-1)
(4)
T-GRU是深度轉化模塊中重要的組成部分。對于當前時間步,T-GRU狀態的輸出被用作下一個時間步的狀態輸入。T-GRU的隱藏狀態計算方式如下:
(5)
(6)
重置門rt和更新門Zt的計算方式如下:
rt=σ(Whrht-1)
(7)
zt=σ(Whzht-1)
(8)
T-GRU是GRU的變種,T-GRU既進行非線性變換,又進行輸入的直接傳遞。這種架構將使模型的訓練更容易。
L-GRU是一種線性變換增強型GRU,隱藏狀態計算方式如下:
(9)


(10)
其中,更新門和重置門的計算方式和GRU一樣。H(xt)=Wxxt是輸入xt的線性變換,lt是線性變換門,計算方式如下:
lt=σ(Wxlxt+Whlht-1)
(11)
與GRU相比,L-GRU同時進行非線性變換和線性變換,對輸入進行變換,包括嵌入輸入和狀態輸入。L-GRU和T-GRU可以緩解梯度消失問題。

(12)
(13)
其中,xj是詞嵌入,T-GRU的輸入只有狀態。
解碼器是由查詢轉換和解碼轉換兩個模塊組成。查詢轉換在多頭注意力機制之前執行,解碼轉換在多頭注意力機制之后執行。查詢轉換的深度計作Lq,解碼轉換的深度計作Ld,解碼器數學形式為:
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)
根據解碼器可得當前目標單詞的計算方式:
(19)
深度語義:根據目標單詞預測結果建立詞和預測值的哈希映射,哈希層連接隱藏層,得到主題向量,用余弦相似度計算匹配度。計算步驟如下:
(1)模型輸出的詞語,記作output。將音樂對應的預先標注的詞語記作A,然后計算output和A的相似度,記作simA。
(2)計算output和其他主題下每一個詞語的相似度,根據主題計算相似度的平均值,記作(sim1,sim2,sim3…),將simA和(sim1,sim2,sim3…)依次做比較得到最大值maxval。若maxval=simA,則匹配正確,統計正確匹配的數量。
(3)計算output和A所在主題下的其他詞語的相似度——同義詞的相似度,記作(simB,simC…),將(simB,simC…)分別和(sim1,sim2,sim3…)做比較取最大值(maxval1,maxval2,maxval3…),若最大值所對應的相似度是由生成的詞語和同義詞所得,則匹配正確。
筆者構造了一個數據集,包含內容如下:(1)800首MIDI類型的音樂。MIDI可以看作是一種使用音符的數字信號記錄音樂的文件形式。MIDI數據來自freemidi.org網站。把這些音樂分成10個不同的情感主題,分別是激情,傷感,暴躁,喧鬧,諷刺,愚蠢,和藹,清爽,愉快,自信。主題的選取參考了網易云音樂常見標簽以及音樂情感分類常用標簽,每個主題下的音樂情感是相近的。(2)800個帶有情感色彩的詞語。詞語的標注參考網易云音樂的標簽以及用戶的評論。詞語和MIDI音樂一一對應,分為同樣的10個主題,每個主題下的詞是同義詞。
文中設置了多組實驗將DT-GRU模型與transformer、VAE、DeepLAU在音樂小節-詞語情感語義匹配任務上進行對比。DT-GRU學習率遵循如下計算方式:
(20)
其中,t是當前時間步,n是訓練中并發的模型副本數,p是預熱步驟數,s是指數衰減的開始步驟,e是衰退的結束步驟。lr0設置為10-3,p設置為300,s設置為600,e設置為2 000。
根據對音樂-文本情感語義匹配度的定義,設計了以下幾組實驗來檢驗模型匹配效果:
(1)詞語和音樂的隨機小節片段匹配。隨機選擇的小節片段在情感的傳達上會出現強與弱的情況,檢驗模型在情感不明顯的片段的匹配情況。
(2)詞語和音樂高潮匹配。音樂的高潮是一首音樂情感表達最突出的部分,檢驗模型在情感表達最明顯的片段的匹配情況。
(3)詞語和音樂在傷感、喧鬧、清爽、諷刺這4個情感主題下隨機小節片段匹配。選擇的4個主題情感特點突出,主題間的情感差別大。
(4)詞語和整首音樂匹配。整首音樂的情感更加完整,包含最突出的高潮部分,也包括不明顯的其他小節。
文中采用準確率、精確率、召回率以及F1值作為測評指標。準確率是指正確匹配詞語的數量除以驗證數據的總數。精確率是指正確匹配主題的數量與模型判斷為該主題的數量之比。召回率是指正確匹配主題的數量與屬于該主題的數量之比。F1值是精確率和召回率的調和平均數。
實驗結果如表1~表4所示。

表1 詞語與音樂的隨機小節匹配的實驗結果

表2 傷感、喧鬧、清爽、諷刺這4個情感主題下

表3 詞語與音樂高潮匹配的實驗結果

表4 詞語與整首音樂匹配的實驗結果
選擇隨機小節作為音樂單元進行實驗時,整體匹配效果相比其他組并不突出。因為,隨機小節對一首音樂的核心情感表達不充分,較難反映情感在音樂中的起伏變化。選擇的小節可能出現情感較弱的情況,使得片段之間情感區分度不高,進而導致模型對序列特征的提取只能達到較平均的效果。表2選擇傷感、喧鬧、清爽、諷刺這4個情感主題的原因是它們的情感區分度更高。其實驗結果相比沒有進行情感篩選的實驗結果有明顯提升,尤其是加入了多頭注意力機制的Transformer和DT-GRU,能更好地捕捉到序列中的有效信息。高潮部分的數據在實驗中的效果要明顯好于其他小節片段。這是因為高潮是一首音樂中最能代表音樂情感的片段。整首音樂的情感表達沒有高潮部分明顯,但是比其他小節片段更加完整。所以實驗結果介于兩者之間。綜合4組實驗來看,DT-GRU的轉換模塊以及注意力機制對于序列特征的提取是有效的,經過訓練可以有效地區分不同的情感,受情感強弱的影響較小。
使用DT-GRU模型完成了音樂-詞語的語義匹配任務,使用L-GRU和T-GRU改進了轉換模塊,充分利用了注意力機制能夠有效地提取序列特征的特點。實驗結果表明,提出的方法相比VAE、DeepLAU、Transformer在音樂-詞語的匹配效果上更好,可以滿足音樂-詞語的語義匹配任務。在接下來的工作中,需要標注并擴充更大規模的音樂-文字數據集,嘗試探索音樂和句子的語義匹配,考慮根據研究內容對模型進行更有針對性的改進。