(ICACSIS 17)Contextual keyword spotting in lecture video with deep convolutional neural network

會議:ICACSIS 2017(高級計算機科學與信息系統國際會議)
論文:Contextual keyword spotting in lecture video with deep convolutional neural network
加入IEEE Xplore的日期: 2018年5月7日

Abstract

介紹了使用深度卷積神經網絡(CNN)架構的演講視頻關鍵字發現(KWS)系統。CNN體系結構使我們能夠將在各種條件下獲取的演講視頻語音數據用作訓練數據集而沒有任何特殊功能。我們還將語言模型和詞幹應用於生成的成績單,以自動糾正拼寫錯誤和錯誤。我們的模型產生的平均準確度爲69.01%,比基準模型提高了34.53%。我們還表明,訓練數據集的擴充可提高針對測試數據集的模型魯棒性。

Introduction

過去,對關鍵詞發現技術已經進行了廣泛的研究,但是仍然存在一些問題。使用傳統的隱馬爾可夫模型(HMM)和高斯混合模型(GMM)的KWS系統需要專門的參數和功能來適應這種情況。另一方面,深度神經網絡(DNN)提供了很大的靈活性,但數據集的錯誤選擇可能會導致在嘈雜的聲學條件下過度擬合和性能下降[3]。

在本文中,我們提出了使用深度卷積神經網絡(CNN)的關鍵字發現(KWS)模型。該模型使我們能夠調整訓練數據,以便KWS模型可以獲取更多的上下文知識。使用CNN還可以使模型瞭解語音部分之間的空間相關性,這有助於模型抵禦嘈雜的語音,因爲視頻講座並非總是在理想條件下錄製的。另外,爲了提高關鍵字檢測的準確性,我們還採用了基於KenLM語言模型估計的語言模型[4]。

通過在訓練模型中引入上下文指定的數據,可以改善對特定關鍵字的檢測。我們還顯示了使用多個數據集的模型性能的比較,以及與先前研究相比的模型性能。

Related Works

已經完成了一些從演講視頻中檢索信息的工作。Zhang和Nunamaker [5]提出了“ 按需學習”系統,該系統可以索引視頻的內容,但是該系統更着重於在系統上處理學生問題,而不是查找感興趣的關鍵字。Kanadje等。[6]提出了一種輔助工具,用於基於隱馬爾可夫模型(HMM)爲演講視頻建立索引,並使用動態時間規整(DTW)在音頻序列中找到最佳對齊方式。

在更一般的演講內容中。恢復。Lee等。[7]詳細描述了基於語音識別的內容檢索框架。結合聲學模型,語言模型和HMM語音識別,該系統能夠根據用戶給出的查詢檢索語音信號中的內容。已經提出的另一種方法是使用Patel等人的模板匹配技術。[8]在從語音信號中提取特徵之後。序列長度之間的距離是使用DTW計算的,以確定它是否是相似序列。

近年來,將深度神經網絡用於語音識別本身已變得很流行。隨着計算能力的提高,可以使用具有大量隱藏層和神經元的模型,從而可以優化預測模型併產生最新的性能。基於這一事實,Hannun等人[9]提出了“深度演講”。基於遞歸神經網絡(RNN)架構的端到端語音識別模型,即使在嘈雜的環境中也顯示出很高的準確性。後來,Amodei等。[10]改進了深度語音架構,以建模普通話中的語音識別。Zhang等人提出了另一種端到端語音識別架構。[11],而不是使用RNN。它使用CNN減少了RNN中向前和向後傳播引起的計算時間。Tyagi [12]使用結合DNN和HMM的體系結構,探索了DNN做KWS的更具體的用法。Chen等。[13]能夠在他提出的KWS系統中實現非凡的準確性,並且使用DNN僅能留下少量數據。

Keyword Spotting System

在我們提出的模型中,我們使用CNN架構,該架構採用擴張的卷積層作爲隱藏層。與模型使用RNN的[10]相比。CNN架構需要較少的計算時間,因爲沒有反向傳遞。CNN體系結構也曾在[11]和[13 ]中使用,但該體系結構僅限於單個關鍵字檢測,而我們的模型則旨在檢測感興趣的關鍵字列表。此外,由於CNN體系結構的靈活性,可以調整訓練數據集和語言模型,以使該模型可以用另一種語言使用,從而爲系統提供了良好的可伸縮性。
在這裏插入圖片描述
提出的模型可以分爲三個過程。首先是從講座中生成成績單。第二是使用語言模型給出分數並更正成績單。第三步是搜索成績單中感興趣的關鍵字。圖2展示了該模型的整體圖。

A.輸入功能
梅爾頻率倒譜系數(MFCC)用於輸入功能。MFCC被描述爲聲音的短期功率譜,已被廣泛用於語音識別系統中,並被證明有效地表達了人類聽覺如何感知聲音的頻率[14]。第一。從視頻文件中提取語音信號。然後針對整個信號計算MFCC,然後將其用作CNN中的輸入功能。

B.深度卷積神經網絡架構
我們的CNN架構主要基於Dieleman等人提出的WaveNet架構(?)。[15],輸入層由256個神經元組成。然後將其放入因果卷積層的堆棧中。選擇因果卷積層是因爲它可以表示語音各部分的空間相關性,這就是某個特定時間範圍內由語音信號表示的單詞與另一個時間範圍內的另一語音之間的空間關聯。輸入要素(MFCC)以二維矩陣表示。矩陣中的每一列代表在指定時間的語音的MFCCXñ。擴張確保了語音信號的因果性質。維持當前時間範圍內預測單詞的概率ñ 不能取決於未來的時間範圍,例如 P(xñ| X1… xñ) 獨立於 Xn + 1。這有助於模型捕獲語音中單詞的過渡並做出更好的預測。具體細節略~
在這裏插入圖片描述
C.語言模型整合
由於CNN的轉錄過程是在句子級別完成的,並且沒有任何語言指導,因此通常會有一些拼寫錯誤的單詞,其他情況是該單詞被認爲是與其發音相似的單詞。當說出的單詞之間只有短暫的中斷,以便將兩個分開的單詞檢測爲正弦單詞時,也可能會引起另一種混亂。

爲了最大程度地減少這種錯誤,我們可以使用語言模型爲轉錄的句子評分,並找到得分最高的替代句子。我們使用KenLM [4]來估計英語語言模型,因爲本研究中使用的數據集全部爲英語。KenLM使用當代美國英語語料庫(COCA)和美國曆史英語語料庫(COHA)樣本數據進行了訓練,樣本數據總共包含530萬個單詞。

D.抄寫單詞
成績單由語言模型處理後。Boyer-Moore-Horspool字符串搜索算法用於在筆錄中查找關鍵字。該算法的工作原理是將模式與最右邊的字母與目標字符串進行匹配,並進行相應的移動,直到在目標中找到匹配的字符串。

Evaluation and Results

對於測試,我們基於Kim和Park [17]的實現,使用python中的tensorflow庫實現了該模型,並進行了一些修改以適合諸如第二個均值池層的實現,卷積層的附加堆棧以及輸入語音。我們還將KenLM python庫用於語言模型估計。所有培訓和測試都是在我們的計算機上按照以下規格進行的:Intel Core i7-6850K CPU,2個Nvidia GTX1070和32GB RAM。

A.數據集
爲了訓練模型,我們使用了四個數據集,包括VCTK語料庫[18]Librispeech語料庫[19]TED-LIUM語料庫[20]。VCTK語料庫由400個句子組成,這些句子是從109位以英語爲母語並具有不同口音的報紙中選出的。儘管該語料庫的例子有限,但其中包含大量講英語的口音樣本,可以幫助模型更好地理解語音變異。Librispeech包含從有聲讀物獲得的英語語音。它包含所有語料庫中最多的句子,這些句子有助於模型的詞彙量。TED-LIUM語料庫由TED語音集合構成,總共包含92,793個句子。演講主要由不同的發言者在一個大廳中進行。所有語料庫都在相對乾淨的情況下記錄。

此外,我們還添加了從10個演講視頻中提取的原始語音數據集。其中5個來自MIT公開課,題爲“計算機科學和編程入門” [21],其餘的摘錄自哈佛在線學習叢書,題爲“ 計算機科學和編程入門” [22]。這些講座視頻的添加是爲了向模型介紹上下文情況。但是,此附加數據集不受控制,並且每個數據集都記錄在易於產生噪聲和其他干擾的不同環境中。

訓練數據集中的每個句子已被標記,並用作訓練中的基礎事實。對於演講,我們使用提供的轉錄或字幕並將其拆分以用作每個語音段的標籤。我們將這些標籤用作培訓過程的基礎。

B、訓練過程
我們每次使用不同的數據集訓練模型四次,訓練完成後,將模型保存以進行比較。通過這樣做,我們可以分析每個數據集對模型性能的影響。表I顯示了使用的數據集。數據集中句子的總數和訓練所花費的時間。
在這裏插入圖片描述
C.評估
對於建議的模型,我們進行了兩個測試以評估模型的性能。第一個測試是使用經過不同數據集訓練的模型,使用隨機生成的關鍵字進行關鍵字查找。然後,我們比較每個模型的結果。在第二個測試中,我們通過使用預定的關鍵字評估在訓練過程中使用所有組合數據集的模型,並將性能與以前的模型進行比較。

對於測試數據集,我們使用語音信號,該信號是從哈佛在線學習系列題爲“計算機科學入門”的兩個講座視頻中提取的,該視頻未在訓練集中使用。與另一個講座視頻類似,測試數據集並不是在噪聲很大的理想環境中拍攝的。

1)測試數據集影響
在此第一個測試中,我們通過爲測試數據集中的所有句子計算其單詞錯誤率(WER)來評估模型的總體性能。WER通過將預測單詞與實際事實中的實際單詞的比較距離進行比較,表明模型可以很好地預測成績單中的整個單詞。編輯距離是通過使兩個單詞相同的最小替換,插入或刪除次數來描述的。WER越小,表明模型在預測單詞時的性能越好。

接下來,我們通過生成100個隨機關鍵字來評估模型在關鍵字發現上的性能,並使用經過訓練的模型在測試數據集中搜索關鍵字。

然後,計算所有100個單詞的準確度平均值。
在這裏插入圖片描述
從上表中,我們可以看到,使用VCTK數據集訓練的模型在WER爲86.7%的lecture1測試數據集上表現最差。KWS準確度平均值低(12.61%)也反映了這一點。這是因爲VCTK語料庫不包含廣泛的詞彙,而用於測試的講座1的持續時間很長,並且包含各種單詞。另一方面,僅使用TED-LIUM數據集訓練的模型在第2課數據集上表現最差。這是因爲TED-LIUM語料庫記錄在大廳環境中,該環境與第2課中在小型教室中交付的情況相比具有不同的聲學特性。但是,TED-LIUM語料庫在第一堂課中表現良好,因爲其傳遞環境和演講風格相似。

與前兩個數據集相比,使用LibriSpeech數據集訓練的模型在兩個測試數據集上均顯示出更穩定的性能。這主要是因爲librispeech語料庫由最多的句子和大量的詞彙組成。通過組合數據集,我們得到了一個更健壯的模型,該模型在兩個測試數據集上均表現穩定。由於附加講義數據集的嘈雜條件,因此在準確性平均值中觀察到一些降級。但是,通過從講座視頻中引入數據集,我們可以將上下文信息引入模型,因此與LibriSpeech模型相比,我們發現關鍵字發現性能提高了約11%。

該結果表明,模型的性能取決於訓練數據集和測試數據集的上下文。當訓練數據和測試數據的上下文之間幾乎沒有相似性時,該模型的性能會更差。

2)通過預定關鍵字進行測試
對於下一個測試,我們使用預定的關鍵字來測試模型的性能。然後,我們將所提出的模型與[13]中提出的先前模型的準確性進行比較。選擇的關鍵字是代表演講中的上下文信息的關鍵字,例如“編程”和“二進制”,這些關鍵字出現在每個用於測試的視頻中。還選擇了其他一些通用關鍵字,例如“ that”,“ number”和“ idea”,以表明該模型在訓練中不會失去通用性,仍然可以檢測具有通用上下文的單詞。選擇的關鍵字顯示在表III中。
在這裏插入圖片描述
選定的關鍵字由一些通用詞和一些特定詞組成,這些詞通常僅在計算機科學領域中使用。選擇這些關鍵字是爲了使我們能夠看到模型如何響應通用關鍵字和特定於上下文的關鍵字以及它如何影響模型的性能。IV中顯示了在建議的模型和以前的模型上關鍵詞發現的結果。
在這裏插入圖片描述
先前的模型使用VCTK + LibriSpeech + TED-LIUM數據集進行了訓練,而提出的模型使用了VCTK + LibriSpeech + TED-LIUM +演講語音數據集。在先前的模型中也沒有使用語言模型估計和單詞詞幹。表IV的結果表明,對於以前的模型,可以很好地識別諸如“ That”和“ Number”之類的通用關鍵字。與所提出的方法相比,諸如“二進制”和“編程”之類的更具體的關鍵字並沒有得到很好的識別。

最大的區別可以在“Iteration”一詞中看到,其中以前的方法無法完全識別世界,而建議的方法卻可以識別所有事件。其他特定關鍵字(例如“ programming”和“ binary”)的改進也可以看到,其中檢測精度分別提高了50%和66.6%。在“science”一詞的情況下,兩個模型的表現相同。

總體結果顯示,與以前的模型相比,平均精度提高了34.48%。從與講課內容密切相關的上下文關鍵字可以清楚地看到個人的進步。這是因爲這些關鍵字可以在附加的演講視頻數據集中更好地捕獲。語言模型估計和單詞詞幹的使用也有助於整體檢測關鍵字。

Conclusion

在本文中,我們提出了一個KNN模型,該模型使用CNN作爲其架構來在演講視頻上執行關鍵字搜索。通過在模型中使用上下文數據集並集成語言模型,我們可以提高KWS模型的性能。我們還表明,用於訓練的數據集正在影響模型識別關鍵字的能力。

該研究的侷限性在於缺乏可用於訓練模型的公共語音數據集。儘管模型本身的整體性能不是最新水平,但我們的結果顯示了一個有希望的前提,即通過使用更定義和特定的上下文信息,我們可以提高特定用途中模型的準確性案件。另一個主要問題是,與在受控環境中記錄的語料庫中的數據集相比,演講視頻中的語音數據不一致,具有很多噪音和干擾。此數據集之間的較大差距可能會影響神經網絡的權重,從而導致語音信號分類錯誤。

未來改進這項工作的計劃是增加更多的演講視頻作爲訓練數據集,並規範演講視頻語音的條件,以便爲模型學習提供更好的基礎。我們還計劃改進單詞預測的算法,以解決語音記錄中出現的錯誤和拼寫錯誤。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章