• 沒有找到結果。

SVM 情緒辨識實驗結果與分析

第四章 KNN 與 SVM 於語音情緒辨識之實驗與分析

4.2 SVM 語音情緒辨識

4.2.2 SVM 情緒辨識實驗結果與分析



 

 

j

i i T

j j

jy x x y

b  (4.2.6)

基本上,SVM是一個二元的分類器(Binary classifier),只能處理 兩種類別的分類,而在現實應用上,常常是需要多元的分類,因此,

需要使用一些策略來使得,SVM 在多元的分類上也可以使用,SVM 在多元分類上的策略主要有兩種方式:

(1)、一對多(One-against-rest):當有 k個不同類別時,使用 k個SVM 分類器來將 k個類別分開,第 m個SVM分類器可以將第 m個類 別與其他類別分開,也就是使用分辨屬於特定類別的 SVM 分類 器。

(2)、一對一(One-against-one):針對任意兩個不同類別皆使用一個 SVM分類器,因此,使用一對一策略時,共需要k(k-1)/2個 SVM 分類器,最後,再藉由此 k(k-1)/2個SVM分類器將最可能發生 的類別判斷出來。

本文所使用之 SVM 分類器採用臺灣大學資訊系林智仁老師所開 發之 LIBSVM[8]為主要 SVM 分類辨識工具,論文所使用之 SVM Kernel function 為Radial Basis Function (RBF)。

4.2.2 SVM 情緒辨識實驗結果與分析

本論文使用 SVM 作為語音情緒辨識的主要流程如圖 4-5 所示,

與 KNN 辨識流程的不同之處,在於利用 SVM 做分類時,必須先由 特徵參數資料庫訓練出一組SVM Model,再由此 Model與測試資料 特徵作計算與分類,而 SVM 語音情緒辨識的其餘流程則與 KNN 流 程相同,當使用原始特徵參數進行辨識時,直接計算出原始特徵參 數,並與 SVM 原始特徵資料庫所訓練出來的 SVM Model 作比對與 分類,辨識出使用者的情緒,而若使用正規化特徵參數做語音情緒辨 識時,則流程與 KNN相同,必須加入正規化特徵參數運算(如圖中虛 線所示),先由使用者的一段中性語調語句中計算出正規化特徵參數 因子,接著,進入語音情緒辨識主要流程,在得到使用者一段情緒語 音訊號後,先計算出原始特徵參數,並經由正規化特徵參數因子對原 始特徵參數做正規化計算,最後,將正規化特徵參數與SVM正規化 特徵資料庫所訓練出來的正規化SVM Model 作比對與分類,辨識出 使用者的情緒。

SVM分類器是依據所給定的特徵參數資料庫,去找出一個最佳的 多維度分類函數,進而將資料有效分類,在事前訓練上,必須先將資 料庫透過訓練,產生此資料的最佳分類 Model,因此,在分類器使用 上,KNN 分類器只需將特徵參數資料庫建置好即可,而 SVM 分類 器,則需在特徵參數資料庫建置完後,再經由多維度分類函數的最佳

化,找出特徵參數資料庫的最佳分類模型,不同的特徵參數資料庫都 需要重新再訓練出一組新的分類函數;以下將針對SVM 分類器分別 在語者相關以及語者獨立的情況下進行實驗測試、分析與討論。

首先,與KNN特徵參數資料庫相同,先針對SVM分類器在語者 相關的情況下進行實驗測試,以德國語料所有資料當作訓練資料,悲 傷有 62筆、中性有 79 筆、快樂有71 筆、生氣有 127筆訓練資料,

並以訓練資料當作測試資料,對資料作Inside Test。表 4-5為使用正 規化特徵參數SVM Inside Test 鑑別矩陣,由辨識結果顯示,所有測 試資料皆完全辨識正確,整體之辨識正確率為 100%,顯示當測試資 料在訓練資料中時,SVM提供了極佳的分類效果。

接著,考慮語者獨立的情況,首先,將Person 1(P1)的語料當作測 試語料,並以Person 2 ~ Person 10語料當作訓練語料,產生一組訓練 後 SVM Model,並對 P1 語料進行 Outside Test,接著,以 Person 2 當測試資料,另外9人(P1以及 P3 ~ P10)當作訓練資料,再產生另一 組訓練後SVM Model,並對P2進行 Outside Test,以此類推,對P3 至 P10做 Outside Test,表 4-6 為 P1 ~ P10 使用原始特徵參數SVM Outside Test鑑別矩陣(P1 ~ P10各情緒之辨識正確率詳見附錄A),由 整體辨識結果顯示,悲傷 62筆測試資料中有 44筆資料辨識為悲傷,

辨識正確率為71%,中性79筆測試資料有79筆資料辨識為中性,辨

識正確率 100%,快樂71 筆測試資料有60 筆辨識為快樂,辨識正確 率 85%,生氣 127 筆測試資料有 119 筆辨識為生氣,辨識正確率 93.7%,整體之辨識正確率為 89.1%,除了一部分悲傷與快樂測試資 料容易被辨識為中性及生氣外,中性與生氣皆維持良好的分類效果。

同樣的,使用正規化特徵參數進行SVM Outside Test,表 4-7為 P1 ~ P10使用正規化特徵參數SVM Outside Test鑑別矩陣(P1 ~ P10 各情緒之辨識正確率詳見附錄A),由鑑別矩陣結果顯示,悲傷62筆 測試資料中有 51 筆資料被辨識為悲傷,悲傷之辨識正確率為82%, 中性79 筆測試資料中有79筆資料被辨識為中性,中性之辨識正確率 100%,快樂 71 筆測試資料中有 57 筆被辨識為快樂,快樂之辨識正 確率80%,生氣127筆測試資料中有 124筆資料被辨識為生氣,生氣 之辨識正確率97.6%,整體之辨識正確率為 91.7%,比使用原始特徵 參數做SVM Outside Test 時,整體之辨識正確率約提升2.6%,由原 始與正規化特徵參數之SVM Outside Test 辨識結果可以看出,使用正 規化特徵參數可以有效增加各情緒之間的分類效果。

最後,與KNN相同,考慮SVM分類器在訓練語料與測試語料為 不同語系情況下進行辨識,同樣的,我們以德國語料庫所有資料當作 訓練資料,並以工業技術研究院所錄製之語料(表3-2)當作測試語料,

表 4-8 為 SVM 使用正規化特徵參數在訓練與測試為不同語系下之鑑

別矩陣,由辨識結果顯示,SVM 對於悲傷與中性之辨識效果類似,

悲 傷 與 中 性 皆 相 對 容 易 被 辨 識 為 中 性 , 辨 識 率 分 別 為 43.7%與 67.3%,而快樂則與生氣之辨識效果類似,快樂與生氣皆相對容易被 辨識為生氣,辨識率分別為71.0%與 70.3%,此結果表示中文語系悲 傷與中性之特徵參數與德國語料庫之中性特徵參數相近,而快樂與生 氣之特徵參數則與德國語料庫之生氣特徵參數相近,因此,若以德國 語料庫當作訓練資料時,中文語系之悲傷情緒容易被辨識為中性,而 快樂情緒則容易被辨識為生氣,整體之正確辨識率為46.9%,此結果 顯示,當SVM分類器在訓練語料與測試語料為不同語系時,SVM 分 類器同樣無法得到良好的分類效果。

4.3 小結

在本章節中,首先,先針對所使用之KNN及SVM分類器做簡單 的原理介紹,接著,根據上一章所提出之正規化特徵參數,分別以 KNN 與 SVM 分類器,對德國語料庫進行正規化特徵參數之 Inside Test,由辨識結果顯示,KNN在使用正規化特徵參數作 Inside Test情 況下,整體之辨識正確率為88.8%,而 SVM則為100%,此結果顯示,

SVM在測試資料在訓練資料中時,SVM提供了極佳的分類效果。

而在Outside Test情況下時,KNN 使用原始與正規化特徵參數之 整體辨識正確率分別為 78.2%與 82.6%,SVM 則分別為 89.1%與

91.7%,由辨識結果也可以發現,使用正規化特徵參數可以有效縮小 語者之間在特徵參數上的差異,增加各情緒之間的分類效果。與Inside Test做比較,當測試資料不在訓練資料中時,SVM與KNN之整體辨 識正確率皆約下降10%左右,而SVM 分類器之整體辨識效果仍優於 KNN分類器。

最後,針對KNN 及SVM分類器在訓練語料與測試語料為不同語 系之情況下進行辨識,以德國語料庫所有資料當作訓練資料,並以工 業技術研究院所錄製之語料當作測試語料,由辨識結果顯示,KNN 與SVM分類器在訓練語料與測試語料為不同語系時,兩者皆無法得 到良好的分類效果,而由各情緒之辨識結果可以發現,悲傷與中性皆 相對容易被辨識為中性,快樂與生氣皆相對容易被辨識為生氣與中 性,此辨識結果與台灣人個性較為內斂有關,在表達情緒時,各情緒 之特徵不若德國演員各情緒之呈現。

圖4-1 第K個最近鄰(KNN)

圖 4-2 KNN語音情緒辨識流程

圖4-3 KNN不同 K值之辨識率

圖4-4 二維支持向量機

圖 4-5 SVM語音情緒辨識流程

表4-1 使用正規化特徵參數 KNN Inside Test鑑別矩陣 (125/127)

98.4%

(125/127)

平均辨識率 88.8%

(301/339)

表4-2使用原始特徵參數KNN Outside Test 鑑別矩陣

(121/127)

95.3%

(121/127)

平均辨識率 78.2%

(265/339)

表4-3 使用正規化特徵參數KNN Outside Test鑑別矩陣

(121/127)

95.3%

(121/127)

平均辨識率 82.6%

(280/339)

表 4-4 KNN不同語系測試之鑑別矩陣(正規化特徵參數)

(575/600) 快樂(600) 3.7%

(135/600) 生氣(600) 4.7%

(821/2400)

表4-5 使用正規化特徵參數SVM Inside Test鑑別矩陣

(127/127)

100%

(127/127)

平均辨識率 100%

(339/339)

表4-6使用原始特徵參數SVM Outside Test 鑑別矩陣

(119/127)

93.7%

(119/127)

平均辨識率 89.1%

(302/339)

表4-7 使用正規化特徵參數SVM Outside Test鑑別矩陣

(124/127)

97.6%

(124/127)

平均辨識率 91.7%

(311/339)

表 4-8 SVM不同語系測試之鑑別矩陣(正規化特徵參數)

(197/600)

43.7%

(262/600)

3.7%

(22/600)

19.8%

(119/600)

32.8%

(197/600) 中性(600) 16.7%

(100/600)

67.3%

(404/600) 快樂(600) 6.0%

(426/600)

17.2%

(103/600) 生氣(600) 8.3%

(422/600)

70.3%

(422/600)

平均辨識率 46.92%

(1126/2400)

第五章 多層貝氏網路與多層共變異