• 沒有找到結果。

第四章 資料介紹

4.1 KKBOX 中文歌曲情緒標籤資料

4.1.3 音訊特徵

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

4.2 NJU-Music-Mood V1.0 資料集 [2]

在 NJU-Music-Mood V1.0 [2]中,總共有 777 首英文歌曲,提供的資訊有情緒 標籤與歌詞的資訊。

4.2.1 情緒標籤

此情緒標籤的來源為知名音樂網站 last.fm 上使用者對歌曲的標注 (tag),

該資料集作者蒐集在 last.fm 網站上與情緒相關的標註(tag)的歌,並且一首 歌以眾多使用者註記最多情緒相關的標註,做為該歌曲的情緒標籤。此情緒標 籤有四種,分別為 Sad 199 首、 Happy 206 首、 Relaxed 201 首、 Angry 171 首。

4.2.2 歌詞

每首歌都有相應的歌詞,在分析之前,我們對歌詞做了一些前處理,像是去 除一些特殊標點符號,並將所有字都轉成小寫的形式,前處理中並無過濾常見 的停止詞,主要的顧慮是往後的分析方法會自動過濾那些詞彙,因此在此並無 對停止詞做刪除的處理。

4.2.3 音訊特徵

此資料集中的歌曲並無每一首歌的音檔 (audio files),因此在此資料集中 並無音訊特徵。

由於 KKBOX-Song-Mood-Dataset 內部歌曲情緒資料各個情緒標籤的數量非常 不平均,有某些情緒標籤的歌曲數量非常少,像是歌詞為憤怒的歌曲在此資料

出我們方法三的構想,並發現方法三抽取的歌詞特徵能在 KKBOX-Song-Mood-Dataset 中讓模型表現的更好,為了測試此方法的效果不是只對於此資料集有 是使用 Python scikit-learn 的套件實作。由於此資料量不是非常龐大,因此採用 20 折的交叉驗證,將 20 次的準確率取平均做為模型評估的方法。本研究的分 析流程如 圖 1 所示。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

歌曲

歌詞

音訊

歌詞特徵

音訊特徵

分類模型 分類模型 分類模型

歌詞情緒標籤

旋律情緒標籤

歌詞情緒標籤

旋律情緒標籤

歌詞情緒標籤

旋律情緒標籤

圖 1 分析流程圖

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

表格 9.A 以歌詞情緒標籤為預測目標,支持向量機放入歌詞與旋律特徵在二分類中預測結果之精確度、召 回率與 F1 分數

精確度 召回率 F1分數

快樂 0.86 0.76 0.81

悲傷 0.85 0.92 0.88

圖 2.A 以歌詞情緒標籤為預測目標,支持向量機放入歌詞與旋律特徵在二分類 中預測結果之混淆矩陣

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

表格 9.B 以旋律情緒標籤為預測目標,支持向量機放入歌詞與旋律特徵在二分類中預測結果之 精確度、

召回率與F1分數

精確度 召回率 F1分數

快樂 0.82 0.77 0.79

悲傷 0.92 0.94 0.93

圖 2.B 以旋律情緒標籤為預測目標,支持向量機放入歌詞與旋律特徵在二分類 中預測結果之混淆矩陣

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

方法二中,在悲傷與快樂兩類別分類表現是非常不錯的,以歌詞情緒標籤為 預測目標中,準確率有將近八成三左右,以旋律情緒標籤為預測目標,準確率 有將近九成,因此我們預期,在歌詞特徵與旋律特徵的高維度空間中,悲傷與 快樂的歌曲是彼此分開的,並且悲傷的歌聚集在一起,快樂的歌亦有群聚現 象,由於無法畫出高維度空間的圖,因此我們使用主成分分析(PCA)的方法,

將原本十維的特徵空間壓縮至三維的空間,並且在以歌詞情緒標籤以及以旋律 情緒標籤為預測目標的各個三維空間中,都各自保有將近原本十維空間的百分 之八十左右的資訊(變異)。

其結果如 圖3.A 與 圖3.B,能發現兩個情形在三維空間中,悲傷的歌曲群聚 在圖中的一個區塊,但反觀快樂的歌,在 圖3.A 中,有一部分分散在圖中的各 處,有一部份雖然聚集,但大致上與悲傷的歌混雜在一起(也許在更高維度的 空間中是分開的,但此圖無從得知);在 圖3.B 中,有一部分的歌亦是分散在 圖中的四處,但是另一部分有群聚的現象,並且雖然與悲傷的歌距離較近,但 看的出來大致上是分開的。

從發現悲傷的歌曲有群聚的現象,並且快樂的歌分布較為分散,我們推估大 致上這十維特徵當中,能抓到悲傷歌曲的共同特性,但快樂的歌曲在我們現有 的特徵當中較無共同的特性。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 3.A 以歌詞情緒標籤為預測目標,將歌詞特徵以及旋律特徵映射到三維空間之散佈圖

圖 3.B 以旋律情緒為預測目標,將歌詞特徵以及旋律特徵映射到三維空間之散佈圖

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

5.3 悲傷、快樂與平靜三分類

歌詞擷取方法二中,在快樂與悲傷兩類別分類表現不錯的情況下,我們加入 平靜標籤的歌曲,觀察模型在三類別分類的表現能力,可惜的是,由於旋律標 籤的平靜歌曲資料過少,因此我們只做以歌詞情緒為預測目標,悲傷、快樂與 平靜的三分類問題。結果如表格10。在歌詞擷取方法二搭配支持向量機模型,

同時放入歌詞特徵與旋律特徵,準確率可以達到六成左右,在三分類問題的情 況之下,六成的準確率是差強人意的。值得注意的是,從 圖4 中可以發現,

雖然在歌詞擷取方法二搭配支持向量機模型,同時放入歌詞特徵與旋律特徵模 型的準確率有大約六成,模型除了容易將悲傷與平靜的歌混淆之外,亦容易將 快樂與平靜的歌混淆。直觀上來看,不管在歌詞層面上或是旋律層面上,確實 平靜與悲傷的歌有許多相似的地方,因此模型容易將平靜的歌和悲傷與快樂的 歌混淆也是在意料之中。

表格 10 使用方法二預測歌詞情緒標籤(三分類)的各個模型準確率

支持向量機 隨機森林 最近鄰居法

單用歌詞特徵 0.566 0.547 0.533

單用旋律特徵 0.518 0.506 0.496

歌詞特徵與旋律 特徵

0.603 0.568 0.554

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

5.4 過濾歌詞中的重複詞問題

在流行歌曲中,作詞人為了讓歌曲的傳唱度增加,並且讓歌曲更有記憶點,歌 詞中常常會不斷的重複少數的特定詞彙,但這些重複的詞彙,並不能保證真的 與該歌曲中的情緒有關,因此我們提出方法三,構想在歌詞特徵擷取方法二 中,每首歌的歌詞斷完詞後,將重複的詞彙只計算一次,避免高估一首歌當中 反覆出現的詞彙在各個情緒標籤的分數。

按照前面的實驗流程,一樣預測目標分成歌詞標籤與旋律標籤,並且以悲傷 與快樂,兩類別的分類做探討,結果如表 11.A 與 表 11.B。

圖 4 以歌詞情緒標籤為預測目標,支持向量機放入歌詞與旋律特徵在三分類結果 的混淆矩陣

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

表格11.A預測歌詞情緒標籤(二分類),方法二與方法三的準確率比較

支持向量機 隨機森林 最近鄰居法

單用歌詞特徵 方法二 0.771 0.760 0.765

方法三 0.817 0.796 0.813

歌詞特徵與旋律特徵 方法二 0.855 0.797 0.778

方法三 0.864 0.798 0.817

表格11.B預測旋律情緒標籤(二分類),方法二與方法三的準確率比較

從 KKBOX-Song-Mood-Dataset 來看,除了使用歌詞特徵與旋律特徵預測旋律 情緒標籤之外,方法三確實是能提升模型的預測能力。為了測試此效果並不是 只表現於 KKBOX-Song-Mood-Dataset 資料集,我們另外使用了南京大學所整理 的 NJU-MusicMood-V1.0 資料集 [2],比較有無將重複歌詞刪除對分類結果的影 響。此資料集有 777 首英文歌曲,有四種情緒標籤,分別為悲傷、快樂、平靜 與憤怒,每一首歌都有對應的歌詞,此資料集並無音訊的特徵,因此以下實驗 只利用歌詞做分析。

支持向量機 隨機森林 最近鄰居法

單用歌詞特徵 方法二 0.767 0.787 0.794

方法三 0.824 0.809 0.806

歌詞特徵與旋律特徵 方法二 0.899 0.882 0.891

方法三 0.891 0.871 0.884

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

從 表格 12 可以發現南京大學所整理的 NJU-MusicMood-V1.0 英文歌曲,方 法三的準確率明顯高於方法二,顯示將重複詞只計算一次的前處理過程,不是 單單只表現於 KKBOX-Song-Mood-Dataset 資料集。

表格 12 NJU-MusicMood-V1.0 資料集使用方法二與方法三的準確率比較

支持向量機 隨機森林 最近鄰居法

方法二 0.327 0.345 0.309

方法三 0.407 0.401 0.378

5.5 探討方法二與方法三的優劣

此節會探討在方法三中,將重複歌詞只算一次的前處理,對歌詞特徵擷取的 影響與幫助。會從兩個面向觀察,面向一從測試資料集中,兩種方法分類結果 不一致的歌曲中觀察;面向二則從方法二與方法三分別計算出來的 TF-IDF 矩陣 的差異著手,其細節如下。

5.5.1 面向一

我們找出在使用方法二與方法三分類結果不同的歌曲中,有什麼共同特色,

來探究處理重複詞對模型的影響為何,其過程如下:

我們以預測目標為歌詞情緒標籤(快樂與悲傷二分類)且只使用歌詞特徵的 支持向量機模型來探究「是否重複詞只計算一次」對預測結果的影響。模型評 估的方法為 20 折的交叉驗證,因此所有的資料都會在 20 折交叉驗證中當過 一次的測試資料,我們將 20 折交叉驗證中的每一筆測試資料的預測結果記錄 下來,並觀察使用方法二的模型預測結果,與方法三的模型預測結果不同的歌 曲,有什麼共同特徵。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

在總共 405 筆資料當中,總共有 55 筆資料是在方法二與方法三中預測不同 的,其中「方法三」分類正確,「方法二」分類錯誤的有 35 筆;「方法二」分 類正確,「方法二」分類錯誤的有 20 筆,如 圖 5 所示。因此我們可知,使用

「歌詞特徵擷取方法三」的模型是表現較好的,但也有「方法二」分類正確,

「方法三」反而分類錯誤的例子發生。

然而,在「方法三」分類正確,「方法二」分類錯誤的 35 筆當中,發現有些 許歌曲的歌詞有反覆出現相同詞彙的現象,例子如嚴爵的「一直給」、卓文萱 的「不要不要」、潘瑋柏的「打呼」,其歌詞提供在附錄章節。

圖 5 55 筆預測結果不同的資料中,各個歌詞特徵擷取方法正確的資料筆數

性,並比較二方法選出詞彙的合理度。KKBOX-Song-Mood-Dataset 與 NJU-MusicMood-V1.0 [2] 的前二十重要的詞彙如表格 13.A 與 表格 13.B。

表格 13.A 方法二與方法三在 KKBOX-Song-mood-dataset 的各個前二十重要的情緒詞彙

表格 13.B 方法二與方法三在 NJU-MusicMood-V1.0 資料集的各個前二十重要的情緒詞彙

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 6.A 以歌詞情緒標籤為預測目標,測試資料集中歌曲被預測為悲傷的機率 的分布圖

圖 6.B 以旋律情緒標籤為預測目標,測試資料集中歌曲被預測為悲傷的機率分

圖 6.B 以旋律情緒標籤為預測目標,測試資料集中歌曲被預測為悲傷的機率分

相關文件