• 沒有找到結果。

基於文本分析方法探討流行歌曲情緒辨識之研究 - 政大學術集成

N/A
N/A
Protected

Academic year: 2021

Share "基於文本分析方法探討流行歌曲情緒辨識之研究 - 政大學術集成"

Copied!
58
0
0

加載中.... (立即查看全文)

全文

(1)國立政治大學 商學院 統計系 碩士 學位論文. 基於文本分析方法探討流行歌曲 政 治 大 情緒辨識之研究 立. ‧ 國. 學. Song Mood Classification Based on. ‧. Textual Analysis Method. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 研究生:駱昱岑 撰 指導教授:翁久幸 博士 中華民國 108 年 6 月. DOI:10.6814/NCCU201900092.

(2) 致謝 時光飛逝,兩年在政大的求學階段即將結束,首先感謝指導教授 翁久幸老師 的指導,給我許多空間提出自己的想法,並且在研究實驗與論文撰寫的細節上 給予極大的幫助,也特別感謝老師在我焦慮時給予鼓勵支持。 感謝我在碩二期間的實習企業 KKBOX,與其中 RD 部門的各個前輩,除了提 供論文中的資料集之外,更重要的是讓我見識了許多利用機器學習方法的音樂 串流服務,給予我研究上的靈感,也特別感謝 RD 部門中各個前輩的提點與指 教。 最後感謝我的家人,在求學生活中總是不斷地給予支持,讓我無後顧之憂,. 政 治 大. 提供一個良好的環境讓我持續的學習。. 立. ‧. ‧ 國. 學 y. Nat. n. al. er. io. sit. 國立政治大學統計學系 June 2019. 駱昱岑. Ch. engchi. i n U. v. DOI:10.6814/NCCU201900092.

(3) 中文摘要 現今的音樂串流服務興起,除了提供音樂給使用者聆聽之外,也提供了許多 額外的服務,像是歌曲的推薦、整理各個主題的歌單等等。然而,每天有成千 上萬的音樂作品不斷推陳出新,我們無法單純依靠人力一首一首的標記與整 理,因此,讓機器代替我們將歌曲分門別類,是非常重要的課題。本研究的目 標為利用機器學習的方法,將歌曲依據情緒分類。 首先,我們從歌詞出發,比較分別由 Laurier 等人 [8] 與 Zaanen 等人 [1] 提 出的與 TF-IDF 相關的歌詞特徵擷取方法。其次,有鑒於流行歌曲中常有大量重 複詞,可能對 TF-IDF 造成過度影響,本文提出了刪除重複詞的 TF-IDF 做法來擷. 政 治 大 論文使用兩個資料集,分別為 593 首中文歌曲的 KKBOX-Song-Mood-Dataset 與 立 777 首英文歌曲的 NJU-Music-Mood V1.0-Dataset,實驗結果顯示,使用刪除重 取歌詞特徵。除此之外,我們也結合歌詞與音訊特徵來改進分類的正確率。本. ‧ 國. 學. 複詞的 TF-IDF 所得到的分類準確率相較於先前的方法,準確率皆有顯著的提. ‧. io. sit. y. Nat. n. al. er. 升。. Ch. engchi. i n U. v. DOI:10.6814/NCCU201900092.

(4) Abstract Nowadays, music streaming services is rising. In addition to providing music to the user, there are also many additional services available, such as recommendation of songs, organizing playlists for various topics and so on. However, thousands of songs are being introduced every day. We cannot rely on human beings checking every single song. Therefore, it is very important to let the machine replace doing such trivial work by us. The goal of this study is to use machine learning methods to classify songs into moods. This study mainly uses three lyric feature extraction methods related to TF-IDF.. 政 治 大 However, there is no previous study comparing the advantages and disadvantages of 立 the above two methods, so this study compares the differences between the two The first two methods were proposed by Lauier et al. [8] and Zaanen rt al. [1].. ‧ 國. 學. methods firstly. Moreover, we found that in popular songs, the repeated words have influences on the method of Zaanen et al. [1]. Then we proposed a new TF-IDF. ‧. related lyric feature extraction method. This study mainly uses KKBOX-Song-MoodDataset and NJU-Music-Mood V1.0-Dataset. The experiment result shows that the. y. Nat. sit. classification accuracy obtained by our proposed method is significantly higher than. n. al. er. io. that of the previous two methods.. Ch. engchi. i n U. v. DOI:10.6814/NCCU201900092.

(5) 目錄 致謝 ............................................................................................................................................. 中文摘要 ..................................................................................................................................... Abstract ....................................................................................................................................... 目錄 ............................................................................................................................................. 表目錄 ......................................................................................................................................... 圖目錄 .......................................................................................................................................... 政 治 大 第二章 文獻回顧 .................................................................................................................. 3 立 第一章 緒論 ........................................................................................................................... 1. 第三章 研究方法 .................................................................................................................. 5. ‧ 國. 學. 3.1 TF-IDF ............................................................................................................................ 5. ‧. 3.2 基於 TF-IDF 的歌詞特徵擷取方法 ................................................................................ 7 3.2.1 方法一 視一首歌的歌詞為一個文本 ................................................................... 7. y. Nat. er. io. sit. 3.2.2 方法二 視一種情緒標籤的所有歌詞為一個文本 ............................................... 7 3.2.3 方法三 處理重複詞問題 ....................................................................................... 9. n. al. Ch. i n U. v. 3.3 分類模型 ...................................................................................................................... 12. engchi. 3.3.1 最近鄰居法 ........................................................................................................... 12 3.3.2 支持向量機 ........................................................................................................... 13 3.3.3 隨機森林 ............................................................................................................... 14. 第四章 資料介紹 ................................................................................................................ 15 4.1 KKBOX 中文歌曲情緒標籤資料 .................................................................................. 15 4.1.1 情緒標籤 ............................................................................................................... 15 4.1.2 歌詞 ....................................................................................................................... 15 4.1.3 音訊特徵 ............................................................................................................... 17 4.2 NJU-Music-Mood V1.0 資料集 ..................................................................................... 18. DOI:10.6814/NCCU201900092.

(6) 4.2.1 情緒標籤 ............................................................................................................... 18 4.2.2 歌詞 ....................................................................................................................... 18 4.2.3 音訊特徵 ............................................................................................................... 18. 第五章 建模分析 ................................................................................................................ 19 5.1 歌詞前處理 .................................................................................................................. 22 5.2 悲傷與快樂二分類 ....................................................................................................... 22 5.3 悲傷、快樂與平靜三分類 .......................................................................................... 29 5.4 過濾歌詞中的重複詞問題 .......................................................................................... 30 5.5 探討方法三與方法二的優劣 ...................................................................................... 30. 政 治 大. 5.5.1 面向一 ................................................................................................................... 32. 立. 5.5.2 面向二 ................................................................................................................... 35. ‧ 國. 學. 5.6 模型輸出機率 ............................................................................................................ 38. 第六章 結論與建議 ............................................................................................................ 42. ‧. 附錄 ......................................................................................................................................... 44. y. Nat. n. al. er. io. sit. 參考文獻 ................................................................................................................................. 49. Ch. engchi. i n U. v. DOI:10.6814/NCCU201900092.

(7) 表目錄 表格 1 歌詞示意表 .............................................................................................................. 10 表格 2.A 方法二歌詞合併示意表 ....................................................................................... 10 表格 2.B 方法三歌詞合併示意表 ......................................................................................... 10 表格 3.A 方法二詞頻示意表 ............................................................................................... 11 表格 3.B 方法三詞頻示意表 ............................................................................................... 11 表格 4.A 方法二 TF-IDF 示意表 .......................................................................................... 11. 政 治 大. 表格 4.B 方法三 TF-IDF 示意表 .......................................................................................... 11. 立. 表格 5 每首歌的歌詞與旋律情緒的分布表 ...................................................................... 16. ‧ 國. 學. 表格 6 各個情緒標籤的判斷準則 ...................................................................................... 16. ‧. 表格 7 各個實驗組合的特徵個數 ...................................................................................... 19. sit. y. Nat. 表格 8.A 預測歌詞情緒標籤(二分類)的各個模型準確率 ........................................... 23. al. er. io. 表格 8.B 預測旋律情緒標籤(二分類)的各個模型準確率 ........................................... 23. n. v i n 測結果之精確度、召回率與CF1h分數........................................................................... 25 engchi U. 表格 9.A 以歌詞情緒標籤為預測目標,支持向量機放入歌詞與旋律特徵在二分類中預. 表格 9.B 以旋律情緒標籤為預測目標,支持向量機放入歌詞與旋律特徵在二分類中預 測結果之 精確度、召回率與 F1 分數 ......................................................................... 26 表格 10 使用方法二預測歌詞情緒標籤(三分類)的各個模型準確率 ........................ 29 表格 11.A 預測歌詞情緒標籤(二分類),方法二與方法三的準確率比較.................. 31 表格 11.B 預測旋律情緒標籤(二分類),方法二與方法三的準確率比較.................. 31 表格 12 NJU-MUSICMOOD-V1.0 資料集使用方法二與方法三的準確率比較 ................... 32 表格 13.A 方法二與方法三在 KKBOX-SONG-MOOD-DATASET 的各個前二十重要的情緒詞 彙 .................................................................................................................................... 36. DOI:10.6814/NCCU201900092.

(8) 表格 13.B 方法二與方法三在 NJU-MUSICMOOD-V1.0 資料集的各個前二十重要的情緒詞 彙 .................................................................................................................................... 36 表格 14.A 以歌詞情緒標籤為預測目標,模型預測錯誤的兩個面向情緒標籤的分布表 ........................................................................................................................................ 41 表格 14.B 以旋律情緒標籤為預測目標,模型預測錯誤的兩個面向情緒標籤的分布表 ........................................................................................................................................ 41. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. DOI:10.6814/NCCU201900092.

(9) 圖目錄 圖 1 分析流程圖 .................................................................................................................. 21 圖 2.A 以歌詞情緒標籤為預測目標,支持向量機放入歌詞與旋律特徵在二分類中預測 結果之混淆矩陣 ............................................................................................................ 25 圖 2.B 以旋律情緒標籤為預測目標,支持向量機放入歌詞與旋律特徵在二分類中預測 結果之混淆矩陣 ............................................................................................................ 26 圖 3.A 以歌詞情緒標籤為預測目標,將歌詞特徵以及旋律特徵映射到三維空間之散佈 圖 .................................................................................................................................... 28 圖 3.B. 政 治 大. 以旋律情緒為預測目標,將歌詞特徵以及旋律特徵映射到三維空間之散佈圖. 立. ........................................................................................................................................ 28. ‧ 國. 學. 圖 4 以歌詞情緒標籤為預測目標,支持向量機放入歌詞與旋律特徵在三分類結果的混 淆矩陣 ............................................................................................................................ 30. ‧. 圖 5 55 筆預測結果不同的資料中,各個歌詞特徵擷取方法正確的資料筆數 ............. 33. y. Nat. sit. 圖 6.A 以歌詞情緒標籤為預測目標,測試資料集中歌曲為悲傷機率的分布圖 ............. 39. n. al. er. io. 圖 6.B 以旋律情緒標籤為預測目標,測試資料集中歌曲為悲傷機率的分佈圖 ............. 39. Ch. i n U. v. 圖 7.A 以歌詞情緒為預測目標,模型預測錯誤歌曲中,歌曲為悲傷機率的分布圖 ..... 40. engchi. 圖 7.B 以旋律情緒為預測目標,模型預測錯誤歌曲中,歌曲為悲傷機率的分布圖 .... 40. DOI:10.6814/NCCU201900092.

(10) 第一章 緒論 音樂,是人類生活中不可或缺的娛樂之一,從古至今,人類聽音樂的方式與 時俱進,從先前去唱片專賣行買唱片,到現在網路發達,只要利用網路音樂串. 政 治 大 服務除了提供音樂給使用者之外,也提供了許多服務吸引消費者,像是為不同 立 消費者設計的推薦歌單、或是整理不同情境的歌單讓使用者選取等等。以上兩 流的服務,便可以輕鬆地使用手機播放自己喜好的音樂。然而,網路音樂串流. ‧ 國. 學. 個服務如果僅僅靠著人力產生,成本必定是非常大的,因此有許多人研究如何 利用機器學習的方法讓機器自動推薦音樂給使用者,或是使用機器學習的方法. ‧. 自動將歌曲分類,自動生成歌單給使用者。. 本論文主要研究如何利用機器學習方法自動生成情緒相關的歌單,其主題非. y. Nat. sit. 常重要,人因為時、地、物的不同,會有不同的心情,不同的心情使得人會想. al. er. io. 聆聽音樂的情緒類別有所不同,像是有的人在傷心的時候,會想聽悲傷的歌讓. n. 自己大哭一場;反觀有的人會想聽快樂的歌,緩和自己的情緒,因此讓機器能. Ch. i n U. v. 將音樂依照情緒分類,自動生成情緒相關的歌單讓使用者選取,是非常重要的 服務之一。. engchi. 在歌曲情緒分析中,常常會從兩個面向切入分析,分別為歌曲的「歌詞」與 「旋律」,本論文的做法是將「歌詞」與「旋律」轉換為數值型態的特徵,再 放入分類器中。關於如何從「歌詞」擷取出數值型態的特徵,首先是參考 Laurier 等人 [8] 與 Zaanen 等人 [1] 提出的兩個與 TF-IDF 相關的歌詞特徵擷 取方法,並且有鑑於先前文獻沒有比較這兩種方法的優劣,我們以實際資料, KKBOX-Song-Mood-Dataset,對兩者進行比較,實際結果發現 Zaanen 等人 [1] 的方法有較高之分類準確率。接著,我們將 Zaanen 等人 [1] 提出的歌詞特徵 擷取方法做了修改,主要的啟發是在流行歌曲中,發現作詞人常常會以反覆詞 彙的出現增加歌曲的傳唱度,因此我們對歌詞採取「重複詞只計算一次」的處. 1. DOI:10.6814/NCCU201900092.

(11) 理。在 KKBOX-Song-Mood-Dataset 與 NJU-Music-Mood V1.0-Dataset 中,「重複 詞只計算一次」的處理皆讓模型的準確率有所提升。 本論文分成以下流程:第一章緒論介紹研究動機與目的;第二章為文獻回 顧;第三章是研究方法的介紹,包括了三種 TF-IDF 相關的歌詞特徵擷取方法, 並且介紹了本研究使用的三個分類方法;第四章為資料說明;第五章為建模分 析,比較「Zaanen 等人 [1]」、「Laurier 等人 [8]」與我們提出歌詞特徵擷取 方法,在 KKBOX-Song-Mood-Dataset 上的優劣,以及探討放入「歌詞特徵」、 「旋律特徵」與「歌詞特徵加上旋律特徵」,三種不同特徵組合對於模型效果 好壞的比較。最後以第六章結論與建議做為結束。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 2. DOI:10.6814/NCCU201900092.

(12) 第二章 文獻回顧 無論是古典音樂,或是現今的流行歌曲,都是傳達情感的重要媒介,因此音 樂中的情緒一直是大家重視的研究課題。在早期,都是從歌曲的旋律(音訊) 角度做切入,像是 F. McKinney 等人 [7] 在 2003 年時,提出將一首歌曲的音 檔截成多段,分析音檔波形的浮動大小、頻率高低,或是在人聲辨識領域中常. 治 政 數,再使用機器學習的模型做預測。雖然預測的效果不錯,但是沒將歌詞的資 大 立 訊放入模型中,也無比較旋律特徵以及歌詞特徵對模型的影響,實為可惜。 使用的 Mel-Frequency Cepstral Coefficients (梅爾倒頻譜係數)等等做為變. ‧ 國. 學. 因此,隨著時代的演進,有許多人除了從音檔切入之外,亦從歌詞做切入, 像是 Laurier 等人 [8] 在 2008 年就同時使用音訊特徵以及歌詞特徵做切入, 使用的資料集為知名音樂網站 last.fm 上使用者對歌曲貼的標注,並且都為英. ‧. 文歌曲,音訊特徵方面採用的擷取方法與 F. McKinney 等人 [7] 的方法雷同,. y. Nat. 像是節奏、音準、Mel-Frequency Cepstral Coefficients(梅爾倒頻譜)等等特. sit. 徵;歌詞特徵擷取方面,則視一首歌為一個文本,使用 TF-IDF 方法擷取歌詞特. er. io. 徵。作者發現由於 TF-IDF 方法擷取的歌詞特徵維度過大,並且為稀疏的,因此. al. n. v i n C hSemantic AnalysisU的方法以及提出 Language 維度過高的問題,使用了 Latent engchi Model Differences 的方法,在模型的預測能力中有顯著的提升。最後作者同時 分類結果雖然比起隨機猜的準確率來的高,但還是有進步空間,作者為了解決. 加入歌詞特徵與旋律特徵,更加提升了模型的預測能力,因此也顯示同時加入 歌詞特徵和旋律特徵是對模型有顯著幫助的。 Yang 等人 [9] 則是在 2008 年利用 Probability Latent Semantic Analysis 對歌 詞抽取出潛在向量,並搭配一元(unigram)與二元語法(bigram)的 TF-IDF 做 為歌詞特徵,雖然分類效果不比使用旋律特徵,但是卻也發現再結合其他的特 徵的情況中,都提升了模型的準確度。 Zaanen 等人 [1] 在 2010 年時,除了使用歌詞的一些基本特徵,像是「字 數」、「句數」等等之外,提出了「視一個種類情緒中的所有歌詞為一個文 本」的 TF-IDF 擷取方法,並改進了「視一首歌為一個文本」的 TF-IDF 方法 中,歌詞特徵為稀疏且維度過大的問題,研究結果顯示歌詞的基本特徵對辨識 3. DOI:10.6814/NCCU201900092.

(13) 情緒的問題幫助不大,但是作者提出的「視一個種類情緒中的所有歌詞為一個 文本」的 TF-IDF 方法擷取出的歌詞特徵讓模型在四分類的分類準確率可以到七 成以上,也確立 TF-IDF 方法優於歌詞的基本特徵。 Wang 等人 [10] 在 2011 年時,使用 Zaanen 等人 [1] 在 2010 年時的 TFIDF 方法,並綜合了「詞性」的考量與「韻腳」的資訊,在該論文使用的資料 集中的表現有所提升,其中值得注意的是,[10] 研究中使用的資料為 500 首 中文流行歌,是在先前歌曲情緒研究中較少見的。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 4. DOI:10.6814/NCCU201900092.

(14) 第三章 研究方法 本章將分成三個小節,第一節先介紹 TF-IDF 的計算方法與概念,第二節會介 紹本研究中,三個基於 TF-IDF 擷取歌詞特徵的方法,三者都可以幫助我們從歌 詞中萃取出歌詞特徵,並放入分類器中分析。方法一視一首歌的歌詞為一個文 本,在歌詞情緒分析領域中,Laurier 等人 [8] 在 2008 年時使用此方法做歌詞. 治 政 法二視一種情緒標籤的所有歌詞為一個文本,為 Zaanen 大 等人 [1] 在 2010 年 立 時提出,方法三則為本文提出的方法,主要是為了避免歌詞中的重複詞影響了 特徵擷取,此方法最為直覺,和資料檢所中常常使用的 TF-IDF 的想法相似,方. ‧ 國. 學. 方法二的效果,我們對歌詞中的重複詞做處理,處理方式為將一首歌當中的重 複詞刪除並只計算一次,期望能提升方法二的表現。以上三個方法的細節都會. io. sit. y. Nat. 3.1 TF-IDF. ‧. 在下文做介紹,最後第三節則是會一一介紹我們使用的機器學習分類模型。. er. TF-IDF 為資料檢索中常使用到的工具,可以量化每個詞在該文本中的重要程. al. n. v i n Ch TF 為詞頻(Term Frequency),用來測量詞彙在文本中出現的頻率,其第 j engchi U. 度, TF-IDF 由兩的元素所組成,分別是 TF 與 IDF 。. 文本的第 i 個詞的詞頻為第 i 個詞在第 j 個文本中的次數除以第 j 個文本中 的總詞數,公式如(3.1.1),. tfi,j =. 𝑛𝑖,𝑗 ∑𝑘 𝑛𝑘,𝑗. (3.1.1). 然而詞頻有個缺點是一些常用詞的詞頻會非常的高,像是 「你」、「我」、 「他」 等等,這些詞彙通常不是代表文本的主要詞彙,因此需要 IDF(逆向檔 案頻率)來衡量一個詞在所有文本中的普遍性。 IDF 為逆向檔案頻率(Inverse Document Frequency),用來衡量詞在所有文 本中的普遍性,計算方式為第 i 個詞的逆向檔案頻率為 D(總文件數)除以 𝑡𝑖 5. DOI:10.6814/NCCU201900092.

(15) (第 i 個詞在所有文本中出現的文本數)取對數,當一個詞出現在越多個文本 中,逆向檔案頻率越小(當一個詞出現在每個文本中時,逆向檔案頻率則為 0),反之一個詞出現在越少文本中,逆向檔案頻率會越大,其公式如 (3.1.2):. idfi = log. 𝐷 |{𝑑𝑗 : 𝑡𝑖 ∈ 𝑑𝑗 }|. (3.1.2). TF-IDF 為 tfi,j 乘以 idfi ,如式子(3.1.3), (𝑡𝑓 ∗ 𝑖𝑑𝑓)𝑖,𝑗 = 𝑡𝑓𝑖,𝑗 × 𝑖𝑑𝑓𝑖. (3.1.3). 治 政 管多大, TF-IDF 亦為 0,在顧慮會有損失資訊的情形之下,可以使用平滑處 大 立 理的逆向檔案頻率(IDF),其公式如(3.1.4): idfi = log. 𝐷+1 |{𝑑𝑗 : 𝑡𝑖 ∈ 𝑑𝑗 }|. 學. ‧ 國. 然而,當一個詞出現在每個文本時,逆向檔案頻率則為 0,使得詞頻(TF)不. (3.1.4). ‧ sit. y. Nat. 綜合 TF(詞頻)以及 IDF(逆向檔案頻率)的特性,使得 TF-IDF 可以適當衡 量一個詞在該文本當中的重要性,假如文件集裡總共有 D 個文本,且所有文. io. n. al. er. 件中總共有 W 個詞,此 TF-IDF 矩陣將為一個 𝐷 × 𝑊 的矩陣。. Ch. engchi. i n U. v. 6. DOI:10.6814/NCCU201900092.

(16) 3.2 基於 TF-IDF 的歌詞特徵擷取方法 3.2.1 方法一 視一首歌的歌詞為一個文本 [1] 此方法視一首歌的歌詞為一個文本,計算出每一首歌的 TF-IDF 值來代表該首 歌的歌詞特徵,假如我們的資料中有 D 首歌,且在資料中所有的歌詞總共有 W 種詞彙,此 TF-IDF 矩陣將為一個 𝐷 × 𝑊 的矩陣,因此一首歌將以 W 個 元素的向量表示。 此方法的優點為較直觀,與資料檢索中常使用的 TF-IDF 方法思路相同,只是 將資料檢索中的文本,以一首歌的歌詞做替換而已;然而,此方法會有一些缺 點,像是一首歌的歌詞特徵將以 W 個元素的向量表示,通常 W 是一個非常. 治 政 一首歌的歌詞特徵將會以 7000 個元素表示,其維度是非常大的,除了維度爆 大 立 炸的問題之外,並且不是每個詞彙都對預測目標有幫助,要從 7000 個詞彙選 大的數值,在此研究中主要使用的資料集中,總共有大約 7000 個詞彙,因此. ‧ 國. 學. 出重要的詞彙並不容易。. ‧. 3.2.2 方法二 視一種情緒標籤的所有歌詞為一個文本 [7]. sit. y. Nat. 方法二與方法一不同,方法一是直接計算 TF-IDF 值做為每首歌的特徵,此方 法則是利用 TF-IDF 的方法計算出每個詞在各個情緒標籤中的代表性。. io. al. er. 在介紹此方法之前,先定義幾個數學符號,假如訓練資料集中有 D 首歌,. n. v i n Ch 此方法的步驟為先將訓練資料中同個情緒標籤(e e n g c h i Um)的歌詞集合起來成為一. 情緒標籤種類 M 個,出現的詞彙有 W 個。. 個文本(docm ),如此一來將會有一個新的文本集(C), C = {𝑑𝑜𝑐𝑚 | 𝑗 = 1 … 𝑀}. (3.2.2.1). 7. DOI:10.6814/NCCU201900092.

(17) 每個文本都對應一個情緒標籤,再利用新的文本集(C)計算出 TF-IDF 值,會 計算出一個. M × W 的矩陣,矩陣的列為情緒標籤,矩陣的行為字詞, TF-IDF. 值為該字在各個情緒標籤的代表程度。 使用 TF-IDF 的計算方法能適當的找出代表各個情緒標籤中的關鍵字,TF(詞 頻)能衡量一個詞出現在該情緒標籤的頻率,IDF(逆向檔案頻率)則能過濾掉 那些很常出現在不同情緒標籤中的詞彙,例如 「我們」、「大家」、「非常」 等等(當一個詞有出現在每個情緒標籤的歌詞中,IDF 值為 0),然而,由於 此方法的文本數量即為情緒標籤的種類數,因此通常文本數量是不多的(在本 文中,文本數量為二到三個),因此為了防止太多詞彙的 IDF 值為零,造成資 訊上的損失,我們採用平滑的 TF-IDF 來替代,其 IDF 計算方式如式子 (3.1.4)。. 治 政 會被表示為一個特徵向量(feature vectors): (f , …大 , f )。其特徵向量的每個元 立 素計算方式如式子(3.2.2.2),舉例來說,訓練資料中情緒標籤有快樂、悲傷 接著會利用此 TF-IDF 矩陣計算出每首歌的特徵。第 d 首歌的歌詞(𝑙𝑟𝑑 )將 1. M. ‧ 國. 學. 與平靜,一首歌的特徵向量則會以三個元素表示(分別為快樂特徵、悲傷特徵 與平靜特徵),快樂特徵的計算方式為該首歌的歌詞中所有的詞對應到 TF-IDF. ‧. 矩陣中快樂的那列,並加總起來,其他特徵的計算方式以此類推。計算測試資 料中的歌詞特徵時,假如遇到測試資料集的詞不在訓練資料集歌詞中,我們則. sit. n. al. ∑. er. io fm =. y. Nat. 視該字在各個情緒標籤的 TF-IDF 值為 0。. (𝑡𝑓 ∗ 𝑖𝑑𝑓)𝑤𝑘. Ch. {𝑘|𝑤𝑘 ∈𝑙𝑟𝑑 }. ,𝑚. engchi. v i(3.2.2.2) n U. 8. DOI:10.6814/NCCU201900092.

(18) 3.2.3 方法三 處理重複詞問題 方法三會先將每一首歌的歌詞當中,控制每個詞都只出現一次,例如一首歌 的歌詞為「今天」、「天氣」、「很」、「好」、「很」、「開心」,經過方 法三的處理後,會變成「今天」、「天氣」、「很」、「好」、「開心」, 「很」這個詞彙原本出現兩次,但經過處理後,會讓重複出現的詞「很」只出 現一次。處理完重複詞之後,接下來的做法與方法二相同,也就是將一種情緒 標籤的所有歌曲視為一個文本,再利用新的文本集(C)計算出 TF-IDF 矩陣, 最後再利用式子(3.2.3.4) 計算出每一首歌的歌詞特徵。會如此處理的原因主 要是發現在流行歌曲中,時常會利用反覆出現的重複詞,增加歌曲的傳唱度以 及讓歌曲的特色更為明顯,但是當重複詞與情緒無關時,方法二會錯誤給予該. 治 政 將「重複詞只計算一次」的過程中,主要會影響兩個部分,第一,在式子 大 立 (3.2.3.1)計算詞頻時,由於一首歌當中的重複詞都只計算一次,因此重複詞 詞彙過多的權重,因此我們選擇將重複詞只計算一次,避免以上錯誤發生。. ‧ 國. 學. 的詞頻會相對「沒對重複詞做處理」的還要小,非重複詞的詞頻會相對變大, 逆向檔案頻率在式子(3.2.3.2)則不會因為處理重複詞後而改變,因此在式子. ‧. (3.2.3.3)中,重複詞的 TF-IDF 會相對變小;第二,在式子(3.2.3.4)計算一 首歌的歌詞特徵時,「沒對重複詞做處理」的情形,重複詞的 TF-IDF 值是會被. sit. y. Nat. 重複加了許多次的,反觀經過重複詞只計算一次的處理之後,則不會有以上情 形發生。因此,便能避免當重複詞與情緒無關時,方法二錯誤給予重複詞過多. io. n. al. er. 權重的問題發生,處理重複詞對於模型影響的細節可以參考 5.5 小節。. tfi,j =. idfi = log. C𝑛h𝑖,𝑗. i n U. e n g c h i (3.2.3.1). ∑𝑘 𝑛𝑘,𝑗. 𝐷+1 |{𝑑𝑗 : 𝑡𝑖 ∈ 𝑑𝑗 }|. (3.2.3.2). (𝑡𝑓 ∗ 𝑖𝑑𝑓)𝑖,𝑗 = 𝑡𝑓𝑖,𝑗 × 𝑖𝑑𝑓𝑖 fm =. ∑. v. (𝑡𝑓 ∗ 𝑖𝑑𝑓)𝑤𝑘. (3.2.3.3). ,𝑚. (3.2.3.4). {𝑘|𝑤𝑘 ∈𝑙𝑟𝑑 }. 9. DOI:10.6814/NCCU201900092.

(19) 舉例說明重複詞的影響,假如訓練資料集有悲傷與快樂的歌曲各兩首,分別 的歌詞如表格 1,我們會先將相同情緒標籤的歌詞合併成一個文本,無處理重 覆詞與有處理重覆詞的合併結果分別如表格 2.A 與表格 2.B,再利用此兩個文本 計算 TF-IDF 矩陣,表格 3.A 與表格 3.B 分別為有處理重複詞與無處理重複詞所 計算的詞頻表,其中可以發現「真的」這個詞彙的詞頻經過重複詞處理之後, 在「快樂」文本中的詞頻從 0.3 下降至 0.125,其結果是較合理的,因為「真 的」這個詞彙直觀上來看並不是代表快樂的情緒,只是剛好「真的」這個詞彙 重複出現在一首快樂的歌當中而已。 表格 1 歌詞示意表. 歌詞 歌曲 1(快樂). 我真的真的真的好開心. 歌曲 2(快樂). 治 政 今天心情很開心 今天被分手,晴天霹靂 大. 歌曲 3(悲傷). 立. 我今天心情沮喪. 學. ‧ 國. 歌曲 4(悲傷). 表格 2.A 方法二歌詞合併示意表. 天 x 1、心情 x 1、很 x 1. Nat. y. 我 x 1、今天 x 2、心情 x 1、被 x 1、分. io. sit. 悲傷歌詞. 我 x 1、真的 x 3、好 x 1、開心 x 2、今. ‧. 快樂歌詞. 詞彙. 手 x 1、晴天 x 1、霹靂 x 1、沮喪 x 1. al. er. 文本. n. 表格 2.B 方法三歌詞合併示意表. 文本 快樂歌詞. Ch. i n U. v. 詞彙 i e n g我cxh1、真的 x 1、好 x 1、開心 x 2、今 天 x 1、心情 x 1、很 x 1. 悲傷歌詞. 我 x 1、今天 x 2、心情 x 1、被 x 1、分 手 x 1、晴天 x 1、霹靂 x 1、沮喪 x 1. 10. DOI:10.6814/NCCU201900092.

(20) 表格 3.A 方法二詞頻示意表. 我. 真的. 好. 開心. 今天. 心情. 很. 被. 分手. 晴天. 霹靂. 沮喪. 快樂. 0.1. 0.3. 0.1. 0.2. 0.1. 0.1. 0.1. 0. 0. 0. 0. 0. 悲傷. 0.11. 0. 0. 0. 0.22. 0.11. 0. 0.11. 0.11. 0.11. 0.11. 0.11. 表格 3.B 方法三詞頻示意表 我. 真的. 好. 開心. 今天. 心情. 很. 被. 分手. 晴天. 霹靂. 沮喪. 快樂. 0.125. 0.125. 0.125. 0.25. 0.125. 0.125. 0.125. 0. 0. 0. 0. 0. 悲傷. 0.11. 0. 0. 0. 0.22. 0.11. 0. 0.11. 0.11. 0.11. 0.11. 0.11. 除了詞頻會受影響之外,在計算歌詞特徵時亦會受到重複詞的影響。無處理. 政 治 大 的歌詞「分手真的真的真的沮喪」要計算歌詞特徵時,假如無處理重複詞,此 立 重複詞與有處理重複詞的 TF-IDF 表如表格 4.A 與表格 4.B,當我們有一首悲傷. ‧ 國. 學. 歌曲便會在式子 3.2.3.4 中,因為「真的」被計算太多次,造成快樂歌詞特徵高 達 0.27,悲傷的歌詞特徵為 0.066,反觀將重複詞只計算一次之後,「真的」只 會在式子 3.2.3.4 中,被計算一次,因此其快樂歌詞特徵為 0.036,悲傷的歌詞. ‧. 特徵為 0.066,是比前者還要合理許多的。. 快樂. 0. 0.09. 悲傷. 0. 0. y. 好 0.03. n. al. 0. sit. 真的. io. 我. 開心. 今天. 心情. 很. 0.06. 0. 0. 0.03. C0 h. 被. er. Nat. 表格 4.A 方法二 TF-IDF 示意表. n U engchi 0. 0. 0. 0. i v 0.033. 分手. 晴天. 霹靂. 沮喪. 0. 0. 0. 0. 0.033 0.033 0.033. 0.033. 表格 4.B 方法三 TF-IDF 示意表 我. 真的. 好. 開心. 今天. 心情. 很. 被. 分手. 晴天. 霹靂. 沮喪. 快樂. 0. 0.036. 0.036. 0.072. 0. 0. 0.036. 0. 0. 0. 0. 0. 悲傷. 0. 0. 0. 0. 0. 0. 0. 0.033. 0.033. 0.033. 0.033. 0.033. 11. DOI:10.6814/NCCU201900092.

(21) 3.3 分類模型 3.3.1 最近鄰居法(k-Nearest-Neighbor) 最近鄰居法採用向量空間模型來分類,主要的想法為相同類別的資料點,彼 此的相似度高。訓練樣本通常是多維的空間向量,每個訓練樣本帶有一個類別 標籤,演算法的訓練過程會儲存訓練樣本的特徵向量與訓練樣本的標籤,並無 特別複雜的運算。在分類的階段中,k 是我們自行選定的常數,一個被我們預 測的資料點,將被最近鄰居法歸類為最接近該點的 k 個樣本點中,出現最頻繁 的那一類。其中我們最常使用歐式距離作為評斷相似度的準則,計算資料點與 資料點的歐式距離,距離越小代表相似度越高,距離越遠則代表相似度越低,. 政 治 大. 假設資料位於 n 維的向量空間中,一個資料點 x 如式子 3.3.1.1 表示. 立. a1 (𝑥), a2 (𝑥), … , a𝑛 (𝑥). (3.3.1.1). ‧ 國. 學. 其中 ar (x) 代表資料點 x 的第 r 個特徵,兩個資料點 xi 與 xj 的距離定義為. ‧. d(xi , xj ),如式子 3.3.1.2。. Nat. y. 𝑛. d(𝑥𝑖 , 𝑥𝑗 ) = √∑(𝑎𝑟 (𝑥𝑖 ) − 𝑎𝑟 (𝑥𝑗 ))2. n. al. Ch. sit er. io. 𝑟=1. (3.3.1.2). engchi. i n U. v. 假設資料中的標籤為集合 V, f 代表我們要擬合的目標函數,𝑓̂ 為我學習出來 的函數,一個要被預測的資料點 xp 的類別則由式子 3.3.1.3 計算出。. 𝑘. 𝑓̂(xp ) = 𝑎𝑟𝑔𝑚𝑎𝑥𝑣∈𝑉 ∑ 𝛿(𝑣, 𝑓(𝑥𝑖 )). (3.3.1.3). 𝑖=1. 12. DOI:10.6814/NCCU201900092.

(22) k 的選取上通常取決於訓練資料,一般的情況下,在分類時較小的 k 較容 易擬合訓練資料集,但是容易受到雜訊的影響,抗噪能力較低;反觀較大的 k 雖然能減少雜訊的影響,但是會使得類別之間的界線變得模糊,通常我們會使 用交叉驗證的方式選取一個較適當的 k,並且 k 通常為奇數,避免偶數的 k 會 有兩個不同的類別平票的問題發生。. 3.3.2 支持向量機(Support Vector Machine) 支持向量機,透過解出式子 3.3.2.1 的最佳化問題,找出在該空間中的決策分 界,其中 l 為訓練資料集的個數,w 為決策超平面的參數(可能為高維的),. 治 政 為資料標籤,∅ 為將 x 映射至更高維度空間的核心函 大 立. εi 為滿足 3.3.2.1 的鬆弛變數(slack variable),C 為懲罰鬆弛變數 εi 的比. 學. 𝑙. 𝑤,𝑏,𝜀. ‧. min. 1 𝑇 𝑤 𝑤 + 𝐶 ∑ 𝜀𝑖 2 𝑖=1. Nat. io. n. al. Ch. 𝜀𝑖 ≥ 0. engchi. (3.3.2.1). er. subject to yi (𝑤 𝑇 ∅(𝑥𝑖 ) + 𝑏) ≥ 1 − 𝜀𝑖. y. ‧ 國. 數,b 為位移值。. i. sit. 重,xi 為特徵值,yi. i n U. v. 支持向量機最大的特色為,利用了特殊的核心函數,將資料點投影到高維度 的空間中,想像上假如原本資料在低維度中並不是線性可分的,支持向量機便 利用核心函數將資料投影到高維度空間,並期望資料在高維度是線性可分的, 其中最著名的是,支持向量機可以使用高斯核心函數,不用花太大的計算成本 便可以將資料投影到無限高次方的維度空間中,並且利用了正規化的方式防止 過度擬合的問題,以上特點使得支持向量機在分類問題上表現非常好。在式子 3.3.2.1 中,C 通常為使用者自訂的常數,我們內文則使用了交叉驗證的方式選 取,並且核心函數我們選擇使用高斯核心函數。. 13. DOI:10.6814/NCCU201900092.

(23) 3.3.3 隨機森林(Random Forest) 隨機森林是一個代表性的引導聚集學習(Bootstrapping Aggregating,簡稱 Bagging)算法,簡單來說,就是使用多個弱學習器來做表決,以下我們簡單的 介紹引導聚集的算法概念。給定弱學習器數量為 M,弱學習器為 h,訓練資料 集為 D, Dbs 𝑡 為第 t 次拔靴法後的資料集,(𝐱 bst , ybst ) 為 Dbst 中對應的特 徵與標籤,我們同時訓練了所有弱學習器,如式子 3.3.3.1,. ht (𝐱) = 𝑎𝑟𝑔𝑚𝑖𝑛ℎ 𝐸𝑦𝑏𝑠𝑡. ,𝒙𝑏𝑠𝑡. ∀𝑡 = 1, … 𝑀. (𝐿 (𝑦𝑏𝑠𝑡 , ℎ(𝒙𝑏𝑠𝑡 ))) , (3.3.3.1). 政 治 大. 訓練完所有的弱學習器之後,再利用所有的弱學習器進行多數決的投票,假設 資料中的標籤為集合 V,𝑓̂ 為學習出來的函數,投票過程如式子 3.3.3.2。. 學. 𝑀. 𝑓̂(x) = 𝑎𝑟𝑔𝑚𝑎𝑥𝑣∈𝑉 ∑ 𝐼(ℎ𝑡 (𝒙) = 𝑣) 𝑡=1. (3.3.3.2). Nat. sit. y. ‧. ‧ 國. 立. 隨機森林為引導聚集學習中的一份子,顧名思義由許多決策樹組成,並且為. io. er. 了讓每個決策樹之間的變異變大,使用了許多方法讓每個決策樹有所不同,像. al. n. v i n Ch 徵為所有特徵中隨機抽出的子集等等,最後再將所有決策樹的預測結果做投 engchi U. 是利用拔靴法,讓每個決策樹的訓練資料有所差異,並且每個決策樹使用的特 票,票數最多的則為隨機森林的預測結果。隨機森林的特色為使用了許多隨機 的概念,讓每個決策樹之間的變異變大,如此一來,每個決策樹在投票的過程 中,達到去除雜訊的效果,並且在許多分類問題中,表現也非常的出色。. 14. DOI:10.6814/NCCU201900092.

(24) 第四章 資料介紹 在與歌曲相關的資料集中,相較有曲風標籤的資料,有標記情緒標籤的資料 少之又少,因此本實驗在取得有標記情緒標籤的歌曲資料集上非常不易。本論 文使用兩個資料集,分別為 KKBOX 提供的中文歌曲資料「 KKBOX-Song-MoodDataset」與南京大學所整理的 「 NJU-MusicMood-V1.0 」 資料集 [2],兩份. 政 治 大. 資料集的資料量都在千筆之內,並且分別為中文與英文的歌曲資料集。. 立. 4.1 KKBOX 中文歌曲情緒標籤資料. ‧ 國. 學. 此資料集中總共有 593 首中文歌,提供的資訊有情緒標籤、歌詞與 188 個. io. sit. y. Nat. 4.1.1 情緒標籤. ‧. 音訊的特徵。. er. 此標籤為 KKBOX Data Center 人工標注所產生,每一首歌的情緒分為兩個面. al. n. v i n Ch 緒,一首歌的兩種情緒是可以不同的。歌詞、旋律標記的情緒準則分別如表格 engchi U 向,一種為單以歌詞的資訊判斷的情緒,另一種為單以旋律的資訊判斷的情. 6,其可以發現有許多歌曲旋律的情緒標籤與歌詞的情緒標籤並不相同,旋律情 緒標籤與歌詞情緒標籤不同的情形中,旋律情緒為悲傷且歌詞情緒為平靜的歌 曲最多,旋律情緒與歌詞情緒的分佈情形如表格 5。 以歌詞標記的情緒標籤中,有 241 首為悲傷, 170 首為平靜, 164 首為快 樂, 18 首為憤怒(歌詞情緒標籤中並無標記成激昂的歌曲);以旋律標記的 情緒標籤中,則有 349 首為悲傷, 117 首為快樂, 64 首為平靜, 48 首為 激昂,15 首為憤怒。. 15. DOI:10.6814/NCCU201900092.

(25) 表格 5 每首歌的歌詞與旋律情緒的分布表. 歌詞快樂. 歌詞悲傷. 歌詞平靜. 歌詞憤怒. 旋律快樂. 79. 4. 31. 3. 旋律悲傷. 48. 211. 90. 0. 旋律平靜. 17. 10. 37. 0. 旋律憤怒. 3. 3. 2. 7. 旋律激昂. 17. 13. 10. 8. 表格 6 各個情緒標籤的判斷準則. 親人的消極,無處可轉移. 奏感不強的歌曲. 動感的歌或者輕快旋律的. 狀態/情緒,例如對各種感. 歌曲,不能只是不悲傷的. 情、物質/非物質需求之滿. 歌曲. n. er. io. sit. y. 歌詞能表現出愉悅的心理. 足的狀態. al. ‧. ‧ 國. 學. 的情緒. Nat. 平靜. 旋律. 政 治 大旋律要有悲傷難過的感 歌詞表達出經驗上的挫折 立與失敗,例如失去戀人、 覺,不能只是比較安靜節. 悲傷. 快樂. 歌詞. v i n Ch 相對於悲傷,歌詞並沒有 旋律比較安靜、起伏較 U i e h n gc 傳達出消極或負面情緒的 小、節奏感不強的歌曲 意圖,而是處於一種悠然 自得的感覺. 憤怒. 歌詞表達出對於目標對象. 旋律要有憤怒不滿的感. 有強烈而且負面情緒,或. 覺,不能只是吵雜的歌曲. 是對於現狀有所不滿. 激昂. 無(歌詞情緒標籤中並無. 旋律起伏較大,讓人有震. 標記成激昂的歌曲). 懾的感覺. 16. DOI:10.6814/NCCU201900092.

(26) 4.1.2 歌詞 每一首歌都有各個相應的歌詞,在做分析之前,我們對歌詞做了一些前處 理,像是刪除每句歌詞的時間標注,以及一些不應該在歌詞當中出現的詞彙, 例如:間奏、來賓請場聲鼓勵等等。. 4.1.3 音訊特徵 每一首歌都有各個對應的 188 個音訊特徵(audio features),分別代表歌曲 旋律中音訊特徵的多寡,為 KKBOX 內部的模型工具所產生,模型為參考 Jen-. 治 政 dance 、 techno 、 funky 、 disco 等等,在 188大 個音訊特徵當中,直觀上 立 有許多特徵是和音樂情緒無關的,像是 piano solo (鋼琴獨奏)、 no vocal Liu 等人所開發的 JYnet. [3],這 188 個音訊特徵有 sad 、 fast 、 rap 、. ‧ 國. 學. (無人聲)、 women (女人的聲音)、 bells (搖鈴聲)等等,因此我們從 188 個音訊特徵中,挑選直觀上較與情緒相關的特徵,主要是考量到我們使用. ‧. 的資料樣本數較少,如果將 188 個音訊特徵放到模型容易有過度配適(over fitting)的問題,因此我們從 188 個旋律特徵挑選直觀上與情緒相關的變數。. sit. y. Nat. 最後我們從這 188 個音訊特徵中,挑選了 9 個特徵,分別為 happy (快 樂)、 calm (平靜)、 sad (悲傷)、 fast (快速感)、 rap (饒舌)、. io. er. dance (跳舞)、 techno (高科技舞曲)、 funky (放克曲風)、 disco. al. n. v i n C h librosa [6],抽取了每一首歌的速度當作新 除此之外,我們使用了開源工具 engchi U. (迪斯可曲風)。. 的音訊特徵,以 BPM (beats per minute) 表示, BPM 值越大則代表歌曲的 節奏越快。加入此變數是因為,想像上在不同情緒標籤的歌曲之間, BPM 的 數值會有所差異,像是悲傷的歌節奏較慢,因此 BPM 較小;反觀快樂的歌節 奏較快,因此 BPM 較大。 最後 BPM 加上從 188 個音訊特徵中選出的 9 個音訊特徵,我們總共整理 出 10 個音訊特徵當作模型的輸入。. 17. DOI:10.6814/NCCU201900092.

(27) 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 歌詞. 政 治 大. ‧ 國. 學. 每首歌都有相應的歌詞,在分析之前,我們對歌詞做了一些前處理,像是去. ‧. 除一些特殊標點符號,並將所有字都轉成小寫的形式,前處理中並無過濾常見 的停止詞,主要的顧慮是往後的分析方法會自動過濾那些詞彙,因此在此並無. sit. n. al. er. io 4.2.3 音訊特徵. y. Nat. 對停止詞做刪除的處理。. Ch. engchi. i n U. v. 此資料集中的歌曲並無每一首歌的音檔 (audio files),因此在此資料集中 並無音訊特徵。. 18. DOI:10.6814/NCCU201900092.

(28) 第五章 建模分析 由於 KKBOX-Song-Mood-Dataset 內部歌曲情緒資料各個情緒標籤的數量非常 不平均,有某些情緒標籤的歌曲數量非常少,像是歌詞為憤怒的歌曲在此資料 集中只有 18 首,旋律為憤怒在此資料集中只有 15 首,因此我們先討論直覺 上較容易分類的情形,快樂與悲傷兩種情緒標籤的分類,並且在後半部試著加. 治 政 在 KKBOX-Song-Mood-Dataset 資料中,一首歌的情緒標籤有兩種,分別以歌 大 立 詞判斷的情緒以及以旋律判斷的情緒,因此會分別以不同的預測目標建出兩個 入平靜的標籤,看看三個分類結果的好壞。. ‧ 國. 學. 模型,分別使用歌詞的情緒標籤以及旋律的情緒標籤當作被預測目標,並且比 較三個不同特徵組合的模型效果,特徵組合共有三種,特徵組合分別為,「單. ‧. 用歌詞特徵」、「單用音訊特徵」、以及「混和歌詞與音訊特徵」。歌詞特徵 以及旋律特徵的個數整理如表格 7,其中 M 為訓練資料集中的情緒標籤種類. sit. y. Nat. 個數,本研究中為 2 或 3。. io 單用歌詞. 旋律 & 歌詞. 特徵個數. 方法二. M (情緒標籤種類數). 方法三. M. 方法一. 7194. 方法二. 10 + M. 方法三. 10 + M. a l無 v 10(旋律特徵) i n Ch 方法一 e n g c h i U 7184(詞袋數量). n. 單用旋律. 歌詞特徵擷取方法. er. 表格 7 各個實驗組合的特徵個數. 19. DOI:10.6814/NCCU201900092.

(29) 在 5.2 節中,方法一與方法二分別為在 2003 年與 2010 年時提出的方法,但 是至今都沒有人比較過兩個方法的優劣,因此我們先比較方法一與方法二在悲 傷與快樂二分類的結果與優劣,兩者最大的差異在於歌詞特徵的維度,方法一 的歌詞特徵維度為訓練資料集中出現的詞個數 W(在 KKBOX-Song-MoodDataset 中,訓練資料集大約有 7184 個詞彙);方法二的歌詞特徵維度則為 訓練資料集中的情緒標籤種類個數 M(假如為悲傷、快樂二分類的情形,維度 則為二)。 由於在 5.2 節中,模型在二分類中的預測能力是不錯的,並且發現模型使用 方法二的結果是明顯優於方法一的,因此在 5.3 節中我們使用方法二的歌詞特 徵擷取方法,嘗試解決悲傷、快樂與平靜的三分類的問題。 5.4 與 5.5 節中,會探討我們在若干流行歌的歌詞中發現的特性,因此衍生. 治 政 Dataset 中讓模型表現的更好,為了測試此方法的效果不是只對於此資料集有 大 立 幫助,因此另外使用了 NJU-Music-Mood V1.0 [2] 來測試。第四節中,我們會試 出我們方法三的構想,並發現方法三抽取的歌詞特徵能在 KKBOX-Song-Mood-. ‧ 國. 學. 著探討方法三中「將重複詞刪除並只計算一次」的前處理對歌詞特徵擷取的影 響與好處。在 5.6 節中,我們嘗試讓模型輸出機率的形式,除了在未來的應用. ‧. 上可以更方便之外,也能了解模型在預測測試資料上的情況與好壞。 以上在將特徵放入模型之前,我們均會對特徵做標準化的處理,讓每個特徵. sit. y. Nat. 的平均數為 0,標準差都為 1,固定每個特徵之間的尺度,使得模型預測的表 現能更好。我們使用三個模型來做比較,分別為隨機森林模型 (Random. io. er. Forest)、支持向量機模型(SVM)以及最近鄰居法模型(KNN),三個模型都. al. n. v i n Ch 20 折的交叉驗證,將 20 次的準確率取平均做為模型評估的方法。本研究的分 engchi U 是使用 Python scikit-learn 的套件實作。由於此資料量不是非常龐大,因此採用 析流程如 圖 1 所示。. 20. DOI:10.6814/NCCU201900092.

(30) 歌詞情緒標籤 分類模型. 旋律情緒標籤. 歌詞特徵. 歌詞. 歌詞情緒標籤. 歌曲. 分類模型. 政 治 大. 音訊特徵. 音訊. 立. 旋律情緒標籤. ‧ 國. 學 ‧. 分類模型. 歌詞情緒標籤. n. al. 圖 1 分析流程圖. Ch. engchi. er. io. sit. y. Nat. 旋律情緒標籤. i n U. v. 21. DOI:10.6814/NCCU201900092.

(31) 5.1 歌詞前處理 在 KKBOX-Song-Mood-Dataset 中,首先對歌詞進行斷詞,我們採用結巴繁體 中文斷詞系統,其最大的優點是它為開源的,由許多優秀的開發者一起開發, 並且 API 的使用上非常的方便,斷詞的效果亦是不錯的。雖然中央研究院資訊 科學所詞庫小組中文斷詞系統. [4] [5] 的斷詞效果不錯,但其並非開源的,且. API 的使用上較結巴繁體中文斷詞系統不易,因此本研究中,斷詞的部分我們 使用結巴繁體中文斷詞系統。 斷完詞後我們先將單字的詞刪除,例如「該」、「在」、「的」等等詞彙, 其原因是在中文當中,大部分單字形式的詞和情緒相關的少之又少,並且如果 考慮到所有單字形式的詞,會讓詞袋中的詞彙數量多了許多,因此考慮到計算. 治 政 擷取歌詞特徵,並在往後的章節比較三個方法的優劣。 大 立. 效率的問題,我們決定過濾掉單字形式的詞,過濾之後再採用三個不同的方法. ‧ 國. 學. 5.2 悲傷與快樂二分類. ‧. 表格 8.A 為以歌詞情緒標籤為預測目標,使用歌詞特徵擷取方法一與方法二 的各個模型的準確率,表格 8.B 為以旋律情緒標籤為預測目標,使用歌詞特徵. sit. y. Nat. 擷取方法一與方法二的各個模型準確率,模型的參數選取為,在 20 折交叉驗 證,使得 20 折的平均準確率最高的參數為我們最後的模型參數。由於本研究有. io. er. 許多不同的特徵組合,每個模型的參數雖然不同,但是差異不大,因此我們提. al. n. v i n C 3,支持向量機我們使用高斯徑向基函數核, 個模型參數,最近鄰居法的 k 取h engchi U. 供「以歌詞情緒標籤為預測目標,使用歌詞特徵以及旋律特徵的方法二」的各 懲罰值取 2,伽瑪取 0.08,隨機森林使用吉尼的決策數,總共 150 顆樹,每顆 數使用 4 個特徵,並且樹的子節點小於三個樣本數即停止生長。. 22. DOI:10.6814/NCCU201900092.

(32) 表格 8.A 預測歌詞情緒標籤(二分類)的各個模型準確率. 支持向量機. 隨機森林. 最近鄰居法. 0.750. 0.748. 0.701. 方法一. 0.617. 0.774. 0.558. 方法二. 0.771. 0.760. 0.765. 方法一. 0.625. 0.827. 0.540. 方法二. 0.855. 0.797. 0.778. 單用旋律特徵 單用歌詞特徵. 歌詞與旋律特徵. 政 治 大. 表格 8.B 預測旋律情緒標籤(二分類)的各個模型準確率. 立. 0.882. 0.882. 方法一. 0.745. 0.774. 方法二. 0.767. 0.787. 方法一. 0.738. 0.803. 0.899. 0.882. io. al. n. 方法二. 0.765. y. Nat. 歌詞與旋律特徵. 0.880. 0.794. Ch. engchi U. sit. 單用歌詞特徵. er. 單用旋律特徵. 最近鄰居法. ‧. ‧ 國. 隨機森林. 學. 支持向量機. v ni. 0.267 0.891. 方法一中,隨機森林模型的表現在 表格 8.A 與 表格 8.B 的各個特徵組合中 的準確率都為最好的,最近鄰居法的表現相對較差,其原因推估為方法一會將 歌詞整理成大約 7184 個歌詞特徵(詞袋中詞的個數)。然而這 7184 個歌詞 特徵中並不是每個都與歌曲的情緒標籤有關。隨機森林本身較具有選取變數的 功能,SVM 與 KNN 較無,並且 KNN 在計算資料與資料之間的距離時都給予 每個變數相同的權重,因此在有用變數與無用變數混雜的情況之下,KNN 的表 現會相對較差。然而,在以歌詞情緒標籤為預測目標的分類結果(表格 8.A) 中,除了隨機森林模型之外,「單用旋律特徵」的結果較「單用歌詞特徵」與 「歌詞特徵加上旋律特徵」的表現還要好,此結果是不直觀的,照理來說,以 歌詞判斷的情緒標籤,用歌詞特徵的效果,應該要優於單用旋律特徵的效果。 因此我們推估在 7184 個歌詞特徵中,有大部分的特徵是對模型沒有幫助的, 23. DOI:10.6814/NCCU201900092.

(33) 如果將 7184 個歌詞特徵都放入某些模型中,很容易對某些模型造成反效果, 尤其是在資料樣本不大的情況之下。 上段中,發現方法一擷取出的歌詞特徵,在維度過大的情況之下,模型的分 類效果不佳。然而,方法二的歌詞特徵個數為情緒標籤種類個數,便無方法一 中,歌詞特徵維度過大的問題,從表 8.A 與 表 8.B 可以發現,無論預測目標 是歌詞情緒標籤,或是旋律情緒標籤,歌詞特徵擷取方法二模型的表現是很不 錯的,在三個不同的分類器中,以支持向量機與隨機森林表現得較為出色。除 此之外,當預測目標為歌詞標籤時,用歌詞特徵的結果會比用旋律特徵的結果 還要好;當預測目標為旋律標籤時,用旋律特徵的結果會比用歌詞特徵的結果 還要好,有此結果是直觀且可以預期的。 方法一與方法二結果比較,能發現無論是在歌詞情緒標籤的分類,或是旋律. 治 政 於使用方法一的準確率。原因可能在於方法二的歌詞特徵維度為 2,方法一的 大 立 歌詞特徵維度為 7184 ,並且方法二的歌詞特徵很直觀的都是和情緒標籤相關. 情緒標籤分類問題,支持向量機與最近鄰居模型在方法二的準確率都明顯的高. ‧ 國. 學. 的,但是方法一的歌詞特徵當中,大部分的特徵都與情緒標籤沒有太大關聯, 也因此特徵維度過高且大部分的特徵都與預測目標關聯較小的情形之下,使得. ‧. 模型的準確率較差。. 圖 2.A 為以歌詞情緒標籤為預測目標,支持向量機在放入歌詞特徵與旋律特. sit. y. Nat. 徵的預測結果混淆矩陣,可以發現此模型能預測悲傷歌曲的能力是非常棒的, 在預測快樂歌曲的能力雖然沒有像預測悲傷歌曲的能力好,但結果也是非常不. io. er. 錯;在 圖 2.B 以旋律情緒標籤為預測目標中,支持向量機在放入歌詞特徵與旋. al. n. v i n C h 圖 2.A 與 圖U2.B 計算出的準確率、召回 似,表格 9.A 與 表格 9.B 則分別為 engchi. 律特徵的預測結果混淆矩陣中,能發現情況與以歌詞情緒標籤為目標的結果相 率以及 F1 分數,可以發現無論是以歌詞情緒標籤或是旋律情緒標籤,「悲. 傷」的各個分數都是較「快樂」高的,推測可能是我們的訓練資料集中「悲 傷」的資料個數略比「快樂」多的有關。. 24. DOI:10.6814/NCCU201900092.

(34) 政 治 大. 學. ‧ 國. 立. 圖 2.A 以歌詞情緒標籤為預測目標,支持向量機放入歌詞與旋律特徵在二分類 中預測結果之混淆矩陣. ‧ 召回率. a0.86l. 0.76. 0.85. Ch. e n g0.92 chi. sit. 精確度. n. 悲傷. 回率與 F1 分數. F1 分數. er. io 快樂. y. Nat. 表格 9.A 以歌詞情緒標籤為預測目標,支持向量機放入歌詞與旋律特徵在二分類中預測結果之精確度、召. i n U. v0.81 0.88. 25. DOI:10.6814/NCCU201900092.

(35) 政 治 大. 立. ‧ 國. 學. 圖 2.B 以旋律情緒標籤為預測目標,支持向量機放入歌詞與旋律特徵在二分類 中預測結果之混淆矩陣. ‧. 表格 9.B 以旋律情緒標籤為預測目標,支持向量機放入歌詞與旋律特徵在二分類中預測結果之 精確度、. 召回率. 0.82. 0.77. n. a0.92l. Ch. y. sit. io. 悲傷. 精確度. F1 分數. er. Nat 快樂. 召回率與 F1 分數. n U engchi 0.94. 0.79. i v0.93. 26. DOI:10.6814/NCCU201900092.

(36) 方法二中,在悲傷與快樂兩類別分類表現是非常不錯的,以歌詞情緒標籤為 預測目標中,準確率有將近八成三左右,以旋律情緒標籤為預測目標,準確率 有將近九成,因此我們預期,在歌詞特徵與旋律特徵的高維度空間中,悲傷與 快樂的歌曲是彼此分開的,並且悲傷的歌聚集在一起,快樂的歌亦有群聚現 象,由於無法畫出高維度空間的圖,因此我們使用主成分分析(PCA)的方法, 將原本十維的特徵空間壓縮至三維的空間,並且在以歌詞情緒標籤以及以旋律 情緒標籤為預測目標的各個三維空間中,都各自保有將近原本十維空間的百分 之八十左右的資訊(變異)。 其結果如 圖 3.A 與 圖 3.B,能發現兩個情形在三維空間中,悲傷的歌曲群聚 在圖中的一個區塊,但反觀快樂的歌,在 圖 3.A 中,有一部分分散在圖中的各 處,有一部份雖然聚集,但大致上與悲傷的歌混雜在一起(也許在更高維度的. 治 政 圖中的四處,但是另一部分有群聚的現象,並且雖然與悲傷的歌距離較近,但 大 立 看的出來大致上是分開的。. 空間中是分開的,但此圖無從得知);在 圖 3.B 中,有一部分的歌亦是分散在. ‧ 國. 學. 從發現悲傷的歌曲有群聚的現象,並且快樂的歌分布較為分散,我們推估大 致上這十維特徵當中,能抓到悲傷歌曲的共同特性,但快樂的歌曲在我們現有. ‧. 的特徵當中較無共同的特性。. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 27. DOI:10.6814/NCCU201900092.

(37) 政 治 大. 圖 3.A 以歌詞情緒標籤為預測目標,將歌詞特徵以及旋律特徵映射到三維空間之散佈圖. 立. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 3.B 以旋律情緒為預測目標,將歌詞特徵以及旋律特徵映射到三維空間之散佈圖. 28. DOI:10.6814/NCCU201900092.

(38) 5.3 悲傷、快樂與平靜三分類 歌詞擷取方法二中,在快樂與悲傷兩類別分類表現不錯的情況下,我們加入 平靜標籤的歌曲,觀察模型在三類別分類的表現能力,可惜的是,由於旋律標 籤的平靜歌曲資料過少,因此我們只做以歌詞情緒為預測目標,悲傷、快樂與 平靜的三分類問題。結果如表格 10。在歌詞擷取方法二搭配支持向量機模型, 同時放入歌詞特徵與旋律特徵,準確率可以達到六成左右,在三分類問題的情 況之下,六成的準確率是差強人意的。值得注意的是,從 圖 4 中可以發現, 雖然在歌詞擷取方法二搭配支持向量機模型,同時放入歌詞特徵與旋律特徵模 型的準確率有大約六成,模型除了容易將悲傷與平靜的歌混淆之外,亦容易將 快樂與平靜的歌混淆。直觀上來看,不管在歌詞層面上或是旋律層面上,確實. 政 治 大. 平靜與悲傷的歌有許多相似的地方,因此模型容易將平靜的歌和悲傷與快樂的 歌混淆也是在意料之中。. 學. ‧ 國. 立. 表格 10 使用方法二預測歌詞情緒標籤(三分類)的各個模型準確率. 0.566. 0.547. al. 0.603. sit. 0.506. n. 特徵. 0.533. 0.496. er. 0.518. io. 歌詞特徵與旋律. 最近鄰居法. y. Nat. 單用旋律特徵. 隨機森林. ‧. 單用歌詞特徵. 支持向量機. Ch. 0.568. engchi. i n U. v. 0.554. 29. DOI:10.6814/NCCU201900092.

(39) 學. ‧ 國. 立. 政 治 大. 圖 4 以歌詞情緒標籤為預測目標,支持向量機放入歌詞與旋律特徵在三分類結果 的混淆矩陣. ‧. io. sit. y. Nat. 5.4 過濾歌詞中的重複詞問題. n. al. er. 在流行歌曲中,作詞人為了讓歌曲的傳唱度增加,並且讓歌曲更有記憶點,歌. i n U. v. 詞中常常會不斷的重複少數的特定詞彙,但這些重複的詞彙,並不能保證真的. Ch. engchi. 與該歌曲中的情緒有關,因此我們提出方法三,構想在歌詞特徵擷取方法二 中,每首歌的歌詞斷完詞後,將重複的詞彙只計算一次,避免高估一首歌當中 反覆出現的詞彙在各個情緒標籤的分數。 按照前面的實驗流程,一樣預測目標分成歌詞標籤與旋律標籤,並且以悲傷 與快樂,兩類別的分類做探討,結果如表 11.A 與 表 11.B。. 30. DOI:10.6814/NCCU201900092.

(40) 表格 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 預測旋律情緒標籤(二分類) ,方法二與方法三的準確率比較. 治 隨機森林 政支持向量機 大. 立. 歌詞特徵與旋律特徵. 方法二. 0.767. 0.787. 0.794. 方法三. 0.824. 0.809. 0.806. 方法二. 0.899. 0.882. 0.891. 方法三. 0.891. 0.871. 0.884. 學. Nat. y. ‧. ‧ 國. 單用歌詞特徵. 最近鄰居法. sit. 從 KKBOX-Song-Mood-Dataset 來看,除了使用歌詞特徵與旋律特徵預測旋律. er. io. 情緒標籤之外,方法三確實是能提升模型的預測能力。為了測試此效果並不是 只表現於 KKBOX-Song-Mood-Dataset 資料集,我們另外使用了南京大學所整理. n. al. Ch. i n U. v. 的 NJU-MusicMood-V1.0 資料集 [2],比較有無將重複歌詞刪除對分類結果的影. engchi. 響。此資料集有 777 首英文歌曲,有四種情緒標籤,分別為悲傷、快樂、平靜 與憤怒,每一首歌都有對應的歌詞,此資料集並無音訊的特徵,因此以下實驗 只利用歌詞做分析。. 31. DOI:10.6814/NCCU201900092.

(41) 從 表格 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 面向一. sit. y. Nat. 來探究處理重複詞對模型的影響為何,其過程如下:. n. al. Ch. er. io. 我們找出在使用方法二與方法三分類結果不同的歌曲中,有什麼共同特色,. i n U. v. 我們以預測目標為歌詞情緒標籤(快樂與悲傷二分類)且只使用歌詞特徵的. engchi. 支持向量機模型來探究「是否重複詞只計算一次」對預測結果的影響。模型評 估的方法為 20 折的交叉驗證,因此所有的資料都會在 20 折交叉驗證中當過 一次的測試資料,我們將 20 折交叉驗證中的每一筆測試資料的預測結果記錄 下來,並觀察使用方法二的模型預測結果,與方法三的模型預測結果不同的歌 曲,有什麼共同特徵。. 32. DOI:10.6814/NCCU201900092.

(42) 在總共 405 筆資料當中,總共有 55 筆資料是在方法二與方法三中預測不同 的,其中「方法三」分類正確,「方法二」分類錯誤的有 35 筆;「方法二」分 類正確,「方法二」分類錯誤的有 20 筆,如 圖 5 所示。因此我們可知,使用 「歌詞特徵擷取方法三」的模型是表現較好的,但也有「方法二」分類正確, 「方法三」反而分類錯誤的例子發生。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 5 55 筆預測結果不同的資料中,各個歌詞特徵擷取方法正確的資料筆數. 然而,在「方法三」分類正確,「方法二」分類錯誤的 35 筆當中,發現有些 許歌曲的歌詞有反覆出現相同詞彙的現象,例子如嚴爵的「一直給」、卓文萱 的「不要不要」、潘瑋柏的「打呼」,其歌詞提供在附錄章節。. 33. DOI:10.6814/NCCU201900092.

(43) 像是卓文萱的「不要不要」歌詞中,反覆出現的字有「不要」、「有時」等 等,以上詞彙直觀上來與情緒較無明顯關係,因此使用「方法二」,在計算歌 詞特徵向量(feature vectors)時,以上這些重複詞將會在式子(3.2.3)中重複 計算多次。因此當一首歌中重複出現的詞和情緒較無關係時,「方法二」的模 型較容易出錯。 在「方法二」分類正確,但是在「方法三」分類錯誤的 20 筆當中,亦有歌詞 當中,有許多重複歌詞出現的歌曲,例子如吳克群的「沒關係」,其歌詞提供 在附錄章節。在吳克群的「沒關係」歌詞當中,反覆出現的詞彙為「沒關 係」,直觀上此詞彙是與「悲傷」相關的,因此在「歌詞特徵擷取方法三」 中,「沒關係」只會被算到一次,也可能是造成「方法三」的模型分類錯誤, 「方法二」的模型分類正確的原因之一。. 治 政 歌,整首歌反覆出現「一直」這個詞彙,然而,假如沒有處理重複詞的問題 大 立 時,根據訓練資料集中計算出「一直」在「快樂」的 TF-IDF 值為 0.10,「悲. 在計算歌詞特徵的過程中,舉例來說,像是附錄裡,嚴爵的「一直給」這首. ‧ 國. 學. 傷」的 TF-IDF 值為 0.06,因此在「一直」被重複的計算之後,造成「一直給」 這首歌的歌詞快樂特徵為 3.56,歌詞悲傷特徵為 3.17,嚴重的被單個詞彙所影. ‧. 響;反觀當我們解決重複詞後,根據處理完重複詞的訓練處理資料集中,計算 出「一直」在「快樂」的 TF-IDF 值為 0.07,「悲傷」的 TF-IDF 值為 0.06,除此. sit. y. Nat. 之外,「一直」這個詞彙在計算歌詞快樂特徵與歌詞悲傷特徵時,只會被加到. io. 相較前者,處理完重複詞的特徵明顯是較合理的。. al. er. 一次,最後「一直給」這首歌的歌詞快樂特徵為 1.64,歌詞悲傷特徵為 1.86,. n. v i n Ch 是在「將重複詞只計算一次」的處理過程,能避免反覆出現的詞彙極端的影響 engchi U. 由以上的觀察可以發現,雖然重複詞可能與情緒標籤有關,亦可能無關,但. 其計算的歌詞特徵向量(feature vectors),使得歌詞特徵更能幫助模型分類分 得更準確。 除此之外,可以從附錄中,刪減過後的歌詞中,發現有些許歌經過我們的處 理之後,剩下的詞彙數量不多,可能會造成資訊量上的損失,因此使用歌詞特 徵擷取方法三是有錯誤刪除「重要詞彙」的可能性的。. 34. DOI:10.6814/NCCU201900092.

(44) 5.5.2 面向二 在歌詞特徵擷取方法二與方法三中,計算出的 TF-IDF 矩陣的意義為每個詞在 不同歌曲情緒的比重分數,因此一個詞在不同情緒類別的分數差距越大,則代 表其為一個情感強烈,並且能區別不同情緒類別的重要詞彙。我們觀察在「方 法二」的前數名重要的詞彙,與「方法三」的前數名重要詞彙的差別,來觀察 兩方法的差異性。 我們以預測目標為歌詞情緒標籤(快樂與悲傷二分類),且只使用歌詞特徵 的支持向量機模型來探究「是否刪除重複詞並只計算一次」對 TF-IDF 矩陣的影 響。上節中,模型的評估方法為 20 折的交叉驗證,在此我們只用其中一折實 驗中的 TF-IDF 矩陣,並且計算每個詞在悲傷和快樂的 TF-ID F 值的差距,取前. 治 政 性,並比較二方法選出詞彙的合理度。KKBOX-Song-Mood-Dataset 與 NJU大 立 MusicMood-V1.0 [2] 的前二十重要的詞彙如表格 13.A 與 表格 13.B。. 二十差距大的詞出來,觀察「方法二」與「方法三」所選出來的詞彙的差異. ‧ 國. 學. 其可以發現在 表格 13.A 「方法二」的前二十重要的詞彙中,有些許特殊的 詞彙在其中,例如「喇舌」、「咚吱」、「怦怦」、「跳針」等等,以上詞彙. ‧. 會出現在前二十重要的詞彙中的原因可以歸咎在「重複詞」的問題上,像是 「喇舌」會出現的原因為,有一個歌唱團體「大嘴巴」的歌「喇舌」中,「喇. sit. y. Nat. 舌」這個詞彙在整首歌中不斷地反覆出現;「跳針」、「咚吱」則是出現在 「謝金燕」的「姐姐」中,因此如果沒處理重複詞的問題時,「喇舌」會在一. io. er. 首歌中被計算非常多次,使得「方法二」誤將「喇舌」視為重要的詞彙。反觀. al. n. v i n Ch 與方法二的情形比較,有多了許多明顯和情緒相關的詞彙出現,像是「分 engchi U. 表格 13.A 方法三的前二十重要的詞彙中,便沒有以上特殊的詞彙出現,並且 手」、「陽光」、「離開」等等……. 在 表格 13.B 「方法二」的前二十重要的詞彙中,亦有許多直觀上與情緒較 無相關的詞彙,像是「de」、「le」、「nah」等等……以上詞彙會出現在前二 十重要的詞彙也是歸咎於重複詞問題,以上詞彙都是反覆出現在少部分的歌當 中;反觀 表格 13.B 「方法三」的前二十重要的詞彙,除了沒有以上奇怪的詞 彙出現之外,多了許多直觀上與情緒相關的詞出現,像是「memory」、 「dare」、「silly」等等。. 35. DOI:10.6814/NCCU201900092.

(45) 表格 13.A 方法二與方法三在 KKBOX-Song-mood-dataset 的各個前二十重要的情緒詞彙. 排. 方法二前二十 快樂與悲傷. 方法三前二十. 快樂與悲傷 TF-IDF. 行. 重要詞彙. TF-IDF 值相減. 重要詞彙. 值相減. 1. 就是. +0.151. 回憶. -0.115. 2. 一起. +0.137. 只是. -0.100. 3. 沒有. -0.115. 就是. +0.092. 4. 只是. -0.115. 只要. +0.086. 5. 喜歡. +0.010. 寂寞. -0.079. 6. 回憶. -0.010. 一起. +0.075. 7. 寂寞. -0.096. 喜歡. +0.074. 8. 想要. +0.093. 9. 喇舌. +0.091. 10. 永遠. 11. 自己. 12. 那麼. 13. 咚吱. 14. 怦怦. 15. 怎麼. 16. 我們. 17. 因為. 18. 只要. +0.081. 19. 如果. -0.076. 20. 跳針. +0.074. -0.071 +0.068. 最後. -0.061. 學. -0.088. 當初. -0.055. +0.087. 存在. +0.053. +0.087. 沒有. -0.053. -0.085. 愛過. -0.053. +0.085. 離開. al. 那麼. n. +0.084. Ch. 陽光 U e n g 世界 chi 眼淚. +0.058. y. sit. io. 想要. -0.052. er. Nat. -0.089. ‧. ‧ 國. 立 +0.090. 分手 政 治 大 因為. v ni. -0.052 +0.052 +0.050 -0.049. 36. DOI:10.6814/NCCU201900092.

(46) 表格 13.B 方法二與方法三在 NJU-MusicMood-V1.0 資料集的各個前二十重要的情緒詞彙. 排. 方法二前二十 快樂與悲傷. 方法三前二十. 快樂與悲傷 TF-IDF. 行. 重要詞彙. TF-IDF 值相減. 重要詞彙. 值相減. 1. de. -0.020. sunshine. +0.014. 2. le. +0.020. carry. -0.013. 3. amnesia. +0.017. dying. -0.013. 4. iyiyi. +0.016. use. +0.012. 5. dying. -0.013. silly. +0.011. 6. sunshine. +0.013. lovers. -0.010. 7. clap. +0.012. 8. nah. +0.012. 9. barbnie. +0.012. 10. oo. 11. stacy. 12. quitte. 13. lollipop. 14. pas. 15. thang. 16. scenesters. 17. jagger. 18. bugui. 19. seibiunouva. 20. jebere. drown 治 政 holy 大. -0..010. prove. +0.009. +0.011. job. +0.009. +0.010. kids. +0.010. sky. +0.009. +0.010. piece. -0.009. +0.010. oo. +0.009. +0.010. island. +0.009. +0.085. weekend. +0.009. n. i n C -0.008 h e n g memory chi U +0.009. boots. +0.009. er. io. sit. y. ‧. Nat. al. 學. ‧ 國. 立. -0.010. v. +0.009 -0.008. -0.008. coz. +0.008. -0.008. dare. +0.008. 37. DOI:10.6814/NCCU201900092.

(47) 5.6 模型輸出機率 直觀上來看,一首歌曲的情緒並不是永遠只有一種,在一首歌曲中,可能會 包含許多不同的情緒,像是有些歌可能同時擁有悲傷與憤怒的元素,因此,為 了讓我們的模型能在運用上更靈活,我們讓模型輸出機率值 𝑝̂ (𝒚|𝑿),讓使用者 能夠更了解一首歌的情緒組成元素的比例。 除此之外,我們亦能藉由讓模型輸出機率值的形式,檢查模型在測試資料上 預測錯誤的歌曲的機率值,是不是其實是介於模糊的判斷區間,舉例來說,一 首悲傷的歌,我們模型預測本首歌為悲傷的機率為 0.4,快樂的機率為 0.6,此 情形則告訴我們模型並無錯誤的非常離譜;反觀我們模型預測此首歌為悲傷的 機率為 0.1,快樂的機率為 0.9,則我們能知道模型在判斷此首歌的情緒可能是. 治 政 由於本研究在情緒標籤的種類數量較少,因此要達到表達一首歌的情感元素 大 立 比例較為困難,因此我們著重在利用模型輸出的機率值,檢查模型在預測測試 錯的較離譜的。. ‧ 國. 學. 資料的預測情形。我們分別以歌詞情緒以及旋律情緒標籤為預測目標,使用歌 詞特徵與旋律特徵的支持向量機的模型,讓模型在測試資料集上以機率值的形. ‧. 式做預測,並觀察「預測正確」的資料的各類別的機率分布,以及「預測錯 誤」的各類別的預測機率分布,由於為悲傷與快樂歌曲的二分類的情形,我們. sit. y. Nat. 只需觀察其中一個類別的機率分布即可(兩個類別機率相加等於 1)。 圖 6.A 與 圖 6.B 分別為以歌詞、旋律情緒標籤為預測目標,不管預測正確. io. er. 或錯誤的資料中,機率為悲傷的分布圖,可以發現我們的模型預測悲傷的機率. al. n. v i n Ch 到 0.8 之間,也就是說,我們的模型在大部分的測試資料集上,不是認為該歌 engchi U 接近 1 或接近 0 的歌曲是非常多的,只有少部分的歌曲悲傷的機率介於 0.3. 曲為悲傷的機率非常高,就是該歌曲為快樂的歌曲非常高,很少歌曲是模型覺. 得模稜兩可的,其中 圖 6.B 可以看出,由於資料集的悲傷歌曲較多,因此模型 較偏向預測歌曲為悲傷。. 38. DOI:10.6814/NCCU201900092.

(48) 立. 政 治 大. ‧ 國. 學. 圖 6.A 以歌詞情緒標籤為預測目標,測試資料集中歌曲被預測為悲傷的機率 的分布圖. ‧. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 6.B 以旋律情緒標籤為預測目標,測試資料集中歌曲被預測為悲傷的機率分 佈圖. 39. DOI:10.6814/NCCU201900092.

參考文獻

相關文件

利用學習成果促進音樂科的學與教(新辦) 小學 有效的課堂器樂演奏學與教策略(新辦) 小學 小學音樂教師基礎教學知識課程(新辦)

「節日起源」的 篇章;音樂科 聆聽及演奏/演唱 以節日為題材的 樂曲,並創作 節奏頻現句

•比起單調地教授語音知識,不同的聽、説 活動更能激發學生學習的興趣,如把語音

△△聯合診所所提供之服務範圍計有門診醫療服務(一樓)及 復健治療服務(二樓)兩項,本研究係針對一樓「門診醫療服務流 程」進行研究。由於△△聯合診所之門診醫療服務不具設計及研發

根據研究背景與動機的說明,本研究主要是探討 Facebook

IP 電信得以擺脫傳統電信的束縛,其中有兩項重要的電信技術,一是能 提供整合語音與數據服務之 SIP(Session Initiation Protocol)標準,另一項則是 提供電話號碼與 IP

由於 DEMATEL 可以讓我們很有效的找出各準則構面之因果關係,因此國內外 有許多學者皆運用了 DEMATEL

  音樂是用兩個法國音樂家 ( 深色叢林樂團 ) 創作的糖果 搖籃曲。   音樂的特色是人聲部分是以所羅門島 ( 臨近新幾內亞 ) 的語言為樣本。旋律是