INTERSPEECH 2017系列
編者:今年的INTERSPEECH于8月20日至24日在瑞典的斯德哥爾摩順利召開,衆多的高校研究機構和著名的公司紛紛在本次會議上介紹了各自最新的技術、系統和相關産品,而阿裡巴巴集團作為鑽石贊助商也派出了強大的陣容前往現場。從10月25日開始,阿裡iDST語音團隊和雲栖社群将共同打造一系列語音技術分享會,旨在為大家分享INTERSPEECH2017會議上語音技術各個方面的進展。本期分享的主題是語音識别技術之關鍵詞檢索技術,以下是本次分享的主要内容:
語音關鍵詞檢索也叫spoken term detection, 或keyword spotting。有别于大家熟知的文本搜尋的最大特點是語音關鍵詞檢索是對語音檔案的搜尋。
給定關鍵詞表,其目标是在語音資料中找到所有相應關鍵詞。當在某些場景下需要對一些特定的詞語進行針對性識别時,使用者可以通過自定義關鍵詞及其置信度的方式來達到檢測語音中是否包含該關鍵字的目的。
語音關鍵詞檢索當下應用越來越普及,應用範圍也越來越廣。學術上,也有很多權威評測。影響力比較大的有OpenKWS, 它是語音關鍵詞搜尋領域的國際權威評測,由美國國家标準與技術研究院(NIST)主辦。目前舉辦了2013、2014、2015和2016年四屆。
語音關鍵詞檢索的應用場景目前主流的有以下四個應用,分别是語音質檢、音頻監控、音頻稽核、音頻檢索。
呼叫中心是一個促進企業營銷、市場開拓并為客戶提供良好的互動服務系統。為了提高客戶滿意度、完善客戶服務,同時對客服人員工作的考評,很多企業會對此采用質檢的方式來保證其服務品質。傳統的質檢方法需要質檢人員通過人工測聽的方式進行抽檢;人工抽檢方法工作量大且效率低,難以有效評價客服人員的服務品質。
随着人工智能技術的發展,語音和自然語音處理技術不斷取得突破,采用智能化的方法對電話語音中的内容進行深層次的分析,可以有效的節約人力成本并提高工作效率。語音質檢方案主要涉及語音關鍵詞檢索、音頻對比、情感識别等核心技術。語音關鍵詞檢索在語音質檢中起到關鍵作用,例如通過設定一個不禮貌用詞,能實時有效的檢測到客服人員的服務态度等。
在公檢法機構、機場、鐵路、銀行等一些領域,越來越多的安防工程急需清晰、逼真的影音同步監控系統,音頻監控領域已經成為安防行業的新亮點,連習大大都在全國政法委會上明确提到“智慧城市不能隻有圖像,而沒有聲音”。音頻監控已經成為安防行業的重要組成部分,尤其是近幾年平安城市建設的推進和反恐程序的加快,音頻監控在城市安防系統中應用的越來越多,以彌補視訊監控的不足。關鍵詞檢索的應用,是的分析、決策、預警所監聽環境下發生的異常行為能夠快速實時響應。
在一些是語音為主的直播節目中,比如談話聊天、脫口秀、線上廣播等。視訊檢測所使用到的圖像技術就很難在這些應用場景發揮作用,這個時候音頻檢測技術就顯得非常重要。又如微信微網誌上釋出語音視訊資訊等,平台背景都需要對這些資料進行快速稽核;還有如電信安全,主要是以關鍵詞檢索的手段來防止電信詐騙。
從大量語音檔案中檢索有用的語音,如檢索電台節目中談到某内容的片段,檢索讨論某個話題的一通電話等。基于識别關鍵詞進行檢索,識别或标記出長段錄音或音軌中反映使用者感興趣的事件,這些标記可用于檢索。
語音關鍵詞檢索,是指在連續語音流中檢測出一組給定的關鍵詞的過程。與大詞彙量連續語音識别相比,語音關鍵詞檢索不需要對非關鍵詞的精确識别,隻需要檢測出關鍵詞即可,有效降低了對語音識别系統的要求,拓展了系統的适用條件。
在講語音關鍵詞檢索之前,先普及下語音識别。
語音識别可以看成是如下問題:對于給定的聲學觀測(acoustic observation)序列,求出對應的字(word)序列。該過程稱為“解碼”過程,即根據預先訓練好的聲學模型和語言模型,在全體可能的字序列空間中搜尋出機率最大的序列。在實際的語音識别系統中,最優路徑不一定與實際字序列比對,我們一般希望能夠得到得分最靠前的多條候選路徑,即N-best。候選路徑的儲存需要緊湊,防止占用過多記憶體空間。通常采用詞格(Lattice)來儲存識别的候選序列。
INTERSPEECH 2017系列 |語音識别技術之關鍵詞檢索1. 語音關鍵詞檢索介紹2. INTERSPEECH 2017關鍵詞檢索論文介紹 如圖所示,左邊是詞格的一種通用表示,每條邊上儲存一個狀态對應的詞,從左至右一條路徑代表ASR nbest結果中的一條。
右邊是混淆網絡矩陣,同一時間片段内多個解碼候選詞處在相同的節點之間。這種表示通常更有利于快速查找到相同時間片段内的所有路徑。
基于以上簡單的ASR解碼介紹, 語音關鍵詞檢索要解決的問題就為:如何從解碼出的詞格中尋找到關鍵詞所在位置。
語音關鍵詞檢索中一個難點就是集外詞(Out-of-vocabulary,oov)的問題。解碼生成的詞格是根據預先準備好的詞典生成的,是以詞格中不會包含詞典中沒有的詞。對于語音識别來說,集外詞比例較低,對整體識别性能造成的影響不大,但在語音檢索任務中,集外詞檢索比例較高。在一篇文獻中有個英文LVCSR系統的統計,當整體文檔集外詞比例在1.5%時,使用者查詢集外詞比例高達12%,影響檢索性能較為嚴重。
接下來我們看一下關鍵詞檢索任務的常見流程圖。語音進來之後首先進行ASR識别,從裡面提取網格資訊建構索引網絡,然後對關鍵詞表中的詞,在索引網絡中查找,通常使用網絡中的後驗機率來表示關鍵詞比對的score, 并經過置信度評價,輸出score大于門檻值的比對結果。
INTERSPEECH 2017系列 |語音識别技術之關鍵詞檢索1. 語音關鍵詞檢索介紹2. INTERSPEECH 2017關鍵詞檢索論文介紹 通常詞格中含有每個字的拼音資訊,故在檢索時很多系統直接在拼音上建立索引,在查詢的時候也是通過關鍵詞表中詞的拼音去查找。最後在計算score或者置信度評價時再考慮詞資訊等。這樣處理有利于擴大召回。
接下來以interspeech2017裡的一篇具體文章,來給大家分享下語音關鍵詞技術的細節。
Interspeech2017裡共有4篇keyword相關的文章,感興趣的同學都可以去讀一下。這裡介紹的是其中一篇基于NN的rescoring政策的關鍵詞檢索方法。 A Rescoring Approach for Keyword Search Using Lattice Context Information。
前面對KWS系統已經做了一個簡單講解,典型的KWS system在ASR結果(通常為lattice)裡查找關鍵詞,并用lattice裡的後驗機率來給關鍵詞打分,當分值大于門檻值時輸出關鍵詞及score。在計算置信度時通常對AM, LM的score有很強的依賴。如若ASR語料不充分時,比如粵語、四川話等方言ASR系統,是很難得到一個高品質的後驗機率的。
過往研究者多數是采用rescoring / reranking 的方法,involving 更多的資訊 或者 針對特定任務在tuning set上訓練一個分類模型來提升關鍵詞檢索效果。
通常關鍵詞檢索方法分為TAR (test audio reuse) 和NTAR(no test audio reuse)。TAR 在得到候選關鍵詞後, 将候選關鍵詞重新送給ASR模型,ASR模型利用聲學資訊從新在結合了關鍵詞候選的LM模型裡解碼,進而挑選出最可能的關鍵詞。NTAR不同,不再走二遍ASR系統,通常采用機器學習算法,結合ASR結果及關鍵詞資訊,給關鍵詞候選打分。但通常需要做很多的特征工程, 這些特征工程也很耗費時間和人力。
該文提出的方法為NTAR,但使用NN方法來代替特征工程,實作automatic feature extraction。模型的輸入為關鍵詞表中的關鍵詞、其在原始utterrance中比對的片段,以及對應的後驗機率資訊等, 輸出為 0-1之間的nn-based score。如下圖所示。
INTERSPEECH 2017系列 |語音識别技術之關鍵詞檢索1. 語音關鍵詞檢索介紹2. INTERSPEECH 2017關鍵詞檢索論文介紹 該文其rescoring model的整體框圖如下圖所示。
INTERSPEECH 2017系列 |語音識别技術之關鍵詞檢索1. 語音關鍵詞檢索介紹2. INTERSPEECH 2017關鍵詞檢索論文介紹 首先是将context和Keyword做embedding,完成數字化表示,然後将它們的embedding 級聯起來,送入全連接配接層,最後送入一個sigmoid單元輸出,做簡單的二分類, 輸出0到1之間的NN-based score。
keyword以及words on lattice arcs是rescoring最關鍵的資訊,顯然,使用one-hot表示容易導緻資料稀疏問題。通常NLP任務裡常使用word embedding來表示,該文對詞采用distributed representation,并期望具有相近的發音的詞在embedding space上的距離也更近。
下圖描述的是該文使用的基于RNN(LSTM)的seq2seq auto-encoder來做keyword embedding。
INTERSPEECH 2017系列 |語音識别技術之關鍵詞檢索1. 語音關鍵詞檢索介紹2. INTERSPEECH 2017關鍵詞檢索論文介紹 首先,根據發音詞表将每個word轉成phonemes序列; 然後,在IV words詞典上訓練seq2seq的auto-encoder; 訓練之後,将encoder最後的狀态層抽取出來作為詞的表示。這裡值得注意的是OOV words也能通過他們的 pronunciations來做embedding。
對于每一個hit, 首先抽取時間片段(左右各增加0.5s)内的sub-lattice,并從中選擇N 條資訊含量最豐富的arcs,每條arc表示成 D 維的向量,包括詞發音的embedding vector、起始時間、結束時間和另外6個與邊相關的scores。該6個scores分别為邊的後驗得分、前一個狀态和後一個狀态的前向機率、LM得分、聲學模型分以及每幀的平均值。一個hit的context表示成D × N 的矩陣。
INTERSPEECH 2017系列 |語音識别技術之關鍵詞檢索1. 語音關鍵詞檢索介紹2. INTERSPEECH 2017關鍵詞檢索論文介紹 圖中CNN input層D=40, N=30。每一清單示sub-lattice中的一條路徑, 圖中feature maps大小分别為16, 16, 16, 16和32。最後一層max pooling的輸出為32維的向量表示,即lattice context的表示。
其中前一個狀态和後一個狀态的前向機率的計算:對于full lattice,每個state利用weight pushing方式使其後向機率之和為1,然後計算出每個state的前向機率。
其中邊的後驗得分的計算:抽取sub-lattcie中的每條路徑,并計算每條路徑的後驗score,同時合并具有相同的phonemes的arc,其score繼承cluster中的最大值。
最後選擇N條資訊含量最大的路徑。
首先将sub-lattice矩陣transform成一個向量,然後将這個向量和keyword embedding向量串聯成一個大向量,傳給後邊的全連接配接層,最終得到分類結果。Rescoring model使用的是Relu激活函數的CNN模型,接收 D × N 維矩陣輸入。
值得注意的是N條arcs的先後順序會影響到矩陣的表示,在訓練規模不足夠大的情況下,是非常困難覆寫到各種情況.值得慶幸的是CNN在圖檔、語音和NLP領域已經驗證了其有足夠的能力處理這類特征的shifts.
KWS中最流行的evaluation metric是term weighted value (TWV):
INTERSPEECH 2017系列 |語音識别技術之關鍵詞檢索1. 語音關鍵詞檢索介紹2. INTERSPEECH 2017關鍵詞檢索論文介紹 其中Q是keywords集,θ是decision threshold。TWV與recall rate正相關,與false alarm rate負相關。
該文中使用如下定義的term-weighted sigmoid cross entropy:
INTERSPEECH 2017系列 |語音識别技術之關鍵詞檢索1. 語音關鍵詞檢索介紹2. INTERSPEECH 2017關鍵詞檢索論文介紹 其中H(q) 為keyword q命中的邊, y是标簽,yˆ是模型輸出的結果。
實驗資料集為IARPA(Intelligence Advanced Research Projects Activity美國情報進階研究計劃局)Babel Program的Swahili語的電話語音資料。訓練集為3 hours的轉錄資料,用來訓練DNN聲學模型,和KN平滑的3-grams語言模型。除此之外,還有3 hours tuning set和10 hours的開發集。tuning set除用來訓練rescoring model外,還用來pronunciation auto-encoder超參的tune。
該文使用全部IV words (5130 in total)用來訓練pronunciation auto-encoder。表1為在tuning set上OOV的PER(phoneme error rate)和WER(word error rate)。
INTERSPEECH 2017系列 |語音識别技術之關鍵詞檢索1. 語音關鍵詞檢索介紹2. INTERSPEECH 2017關鍵詞檢索論文介紹 下表4結果為參數不同時的結果以及arc特征(times和scores)的對結果的影響。
INTERSPEECH 2017系列 |語音識别技術之關鍵詞檢索1. 語音關鍵詞檢索介紹2. INTERSPEECH 2017關鍵詞檢索論文介紹 從表4中看出pronunciation embedding size為32時獲得最優的OMTWV。time特征和score特征都能帶來效果的提升。另外增加一個隐層全連接配接層帶能來效果的進一步提升。