第五章 應用:從新聞中切出氣象播報片段
5.2 流程與方法
Extracting MFCC
scaling
Weather-forecasting candidates segmenting
Result
The first-Pass
3-sec
unit-1
….
Extracting MFCC scaling The Second-Pass
圖 5-1 氣象播報偵測流程圖。
5.2 流程與方法
圖5-1為我們的偵測氣象播報片段的流程圖,我們依據聲音的特性來判斷氣 象播報的位置,首先我們會從錄好的新聞影片(聲音的取樣頻率為 44.1K)抽取出
其聲音檔,並且將其轉換成16K 取樣頻率及 8bps 的 wave 檔,以 frame size 為
的動作將這組數列做細微的修正,以符合一般語音表現的特性。何謂一般語音 表現的特性?一般來說,一段影片中聲音的表現與變化是平緩的,突然變化的 狀況是少見且不合理的,基本上拍攝與剪輯人員在處理多位語者的談話內容 時,不會在急短的時間內讓一段由單一語者的聲音的語音內容中突然的變換或 穿插另一語者的聲音(即使有,對我們來說也是無關緊要的),且不同語者之間的 轉換是平緩的,由前一語者慢慢的變換到另一語者。基於上述的特性,我們將 得到的數列依據下列原則來進行修正,
其中labelj-1, labelj, labelj+1表示在第j-1, j, j 個辨識單位的 labels,在 smoothing 的過程中,我們一次觀察三個單位,如果第j 個單位的label 與其前後單位的labels 不同時我們才會做調整,例如:1 – 3 – 1 Î 1 – 1 – 1 或 1 – 2 – 3 Î 1 – 1 – 3 。 然後依據修正後的數列來判斷可能的氣象播報片段。我們假設一段氣象報導的 時間至少在一分鐘以上,這也是相當合理的假設,因為一個完整且可以清楚表 達訊息的報導,如果沒有足夠長的時間往往沒辦法清楚交代。此外一個完整的 新聞節目出現的語者不計其數,對於不是我們訓練的10 個語者的聲音的辨識單 位,我們會給予一個假的label。為了要從這一串數列(label,可靠度)中找出可
( threshold )來把那些假的 label 的 if labelj ≠ labelj-1
if labelj-1 = labelj+1 labelj ← labelj-1
else if labelj ≠ labelj+1
labelj ← labelj-1
end
對象給捨棄掉。假若一個不屬於我們訓練的語者的待辨識單元,即使會被判定 成屬於某一個語者,但其相對應的可靠度肯定是比較低的。因此藉由門檻值的 選擇,我們可以把大部分假的目標淘汰掉。但是門檻值的選擇是一個困難但又 重要的一個決策,假如門檻值設定的太大,則我們可能會錯失目標物;
Prediction with 3-sec unit
Multi-class SVM models
Smoothing Rough
decision
The First-Pass
Weather-forecasting candidates
圖5-3 The First-Pass 流程圖。
binary SVM models Prediction with
3-sec unit
The Second-Pass
Final decision
Result
圖 5-4 The Second-Pass 流程圖。
如果門檻值設定的太小,則會有很多錯誤的判定。因此,為了讓門檻值的選擇 不影響到判定的結果,我們採用了2-pass 的方法。第一個 pass 如圖5-3,設定 一個較寬鬆的門檻值(本實驗採用的門檻值為 0.65 ),經由"rough decision"找出
可能的氣象播報片段,然後再經由第二個pass (圖5-4) 的處理將錯誤的對象過 濾掉,留下正確的氣象播報片段。"rough decision"的演算法如下:
我們依據"rough decision"演算法持續地去判斷可能的氣象播報片段,直到處理 完所有的labels。然後我們會得到可能的氣象播報片段,再利用一個 binary SVM model 對該聲音片段做重新的辨識,得到一組(label,可靠度)的數列,再對這組 數列做"final decision",其演算法如下:
做完"final decision"之後所得到的結果就是我們想要的氣象播報片段的開始與 結束時間。
binary SVM model 來說,我們將氣象主播的語料視為一類,其他聲音 假設氣象播報的聲音單位個數至少為 D 個且門檻值為 T
Step 1:根據 T 及氣象主播的類別尋找可能的氣象播報起始點。
Step 2:找到可能起始點後,再依據氣象主播類別繼續往下找可能的結束點。
Step 3:假設找到的可能氣象播報片段的聲音單位個數多於 D 個 則 將此段標記為可能的氣象播報片段,且繼續處理 Step 4 否則 回到 Step 1 。
Step 4 :根據氣象主播的類別將可能的起始點位置往前調整,然後回到 Step 1。
假設氣象播報的聲音單位個數至少為 K 個
Step 1:根據氣象主播的類別尋找氣象播報的起始點。
Step 2:找到起始點後,再根據氣象主播的類別繼續的往下找結束點。
Step 3:假設找到的氣象播報片段的聲音單位個數多於 K 個 則 將此段標記為氣象播報片段。
演算法 1 "rough decision"演算法。
演算法 2 "final decision"演算法
的語料視為另一個,其他聲音包含了廣告當中的聲音以及一些非氣象主播的人 聲。我們總共蒐集了4 分鐘左右的其他聲音的語料及 4 分鐘的氣象主播語料,
採用的資料篩選及SVM 的參數設定都與多類別的 SVM models 一樣。
表 5-1 華視新聞的氣象播報偵測結果( 5/11 ~ 7/5 )。除了沒有專屬氣象主播的新聞以及錄製失敗的新 聞( 6/14 午間新聞 )外,總共有 95 則的新聞節目,氣象播報的開始與結束時間 ± 3 秒是我們允許的誤差 範圍。
正確 錯誤 準確率( % ) 91 4 95.8