語音技術——關鍵詞搜尋

Galois發表於2020-09-12

說明

此任務的目的是構建和研究最簡單形式的關鍵字搜尋(KWS)系統,該系統可在大量語音資料中查詢資訊。
下圖顯示了一個典型的 KWS 系統的示例,該系統由索引和搜尋模組組成。
HIAlN3fNUp.png!large
該索引提供語音資料的緊湊表示。給定一組關鍵字,搜尋模組查詢索引以檢索根據可能性排序的所有可能出現。評估 KWS 的質量取決於其可以準確檢索所有實際出現的關鍵字的準確性。已經提出並檢查了 KWS 的許多索引表示形式。最受歡迎的表示形式是從自動語音識別(ASR)系統的輸出中得出的。研究了各種形式的輸出。關於語音資料內容的保留資訊量有所不同,最簡單的形式是最可能的單詞序列或 1-best。還可以為每個單詞提供其他資訊,例如開始和結束時間以及識別置信度。給定 1-best 的集合,可以構建以下索引:

w_1\ (f_{1,1},s_{1,1},e_{1,1})\ \cdots\ (f_{1,n_1},s_{1,n_1},,e_{1,n_1})\\{}\\ w_2\ (f_{2,1},s_{2,1},e_{2,1})\ \cdots\ (f_{2,n_2},s_{2,n_2},e_{2,n_2})\\{}\\ \cdots\\{}\\ w_N\ (f_{N,1},s_{N,1},e_{N,1})\ \cdots\ (f_{N,n_N},s_{N,n_N},e_{N,n_N})\\{}\\

其中 wi 是一個詞,ni 是單詞 wi 出現的次數,fi,j 是單詞 wi 第 j 次出現的檔名,si,j 和 ei,j 是開始時間和結束時間。在這樣的索引中搜尋單個單詞的關鍵字可以很簡單,就像固定正確的行(例如 k)並返回所有可能的元組 (fk,1,sk,1,ek,1),…,(fk,nk,sk,nk,ek,nk)。
預計搜尋模組將檢索所有可能的關鍵字出現。如果 ASR 沒有出錯,那麼可以很簡單地建立這樣的模組。為了解決可能的檢索錯誤,搜尋模組為每個潛在的事件提供相關性得分。相關性分數反映了對給定事件相關性的置信度。關聯得分極低的事件可能會被淘汰。如果這些分數準確無誤則淘汰的發生將減少錯誤警報的數量。如果不是這樣,那麼錯過的次數將會增加。分數極低可能不是很容易確定。多個因素可能會影響相關性得分:置信度得分,持續時間,單詞混淆性,單詞上下文,關鍵字長度。因此,簡單的相關性分數(例如基於置信度分數的相關性分數)可能具有較大的動態範圍,並且在不同的關鍵字之間可能無法比擬。為了確保相關性得分在不同關鍵字之間具有可比性,需要對其進行「校準」。
一種簡單的校準方案稱為 sum-to-one(STO)歸一化,

\displaystyle \hat{r}_{i,j}=\frac{r_{i,j}^\gamma}{\sum_{k=1}^{n_i}r_{i,j}^\gamma}

其中 ri,j 是第 i 個關鍵字的第 j 次出現的原始相關性得分,γ 是可以使相關度得分的分佈變尖或變平的標度。更復雜的方案也已經過審查。給定一組具有相關性相關分數的事件,可以使用幾種選項來消除虛假事件。一種流行的方法是閾值化。給定全域性或關鍵字特定閾排除任何下限發生的情況。簡單的校準方案(例如 STO)要求在開發集上估算閾值並調整為不同的集合大小。諸如關鍵字特定閾值(KST)之類的更復雜的方法會在不同的關鍵字和集合大小之間產生一個固定的閾值。

KWS 系統的準確性可以通過多種方式進行評估。標準方法包括精度(所有檢索到的事件中相關檢索到的事件所佔比例)和召回率(所有相關事件中的相關檢索到的事件所佔比例),平均平均精度和語音單元加權值。為不同閾值計算的精度和召回值的集合會產生精度召回(PR)曲線。PR 曲線下的面積(AUC)提供了獨立於閾值的彙總統計量,用於比較不同的檢索方法。這意味著平均精度(mAP)是另一種流行的,與閾值無關的基於精度的指標。考慮一個 KWS 系統,根據相關性得分返回3個正確和4個不正確的事件,如下所示:True, False, False, True, True, False, False,其中 True 代表正確的發生,False 代表錯誤的發生,每個等級(從 1 到 7)的平均精度為:\frac{1}{1},\frac{0}{2},\frac{0}{3},\frac{2}{4},\frac{4}{5},\frac{0}{6},\frac{0}{7}。這意味著這個關鍵詞的平均精度是 0.7。可以通過平均關鍵字特定的 mAPs 來計算集合級別的 mAP。一旦 KWS 系統在合理的 AUC 或 mAP 水平下執行,就有可能使用項加權值(TWV)來評估閾值的準確性。
TWV 定義:

\displaystyle \mathrm{TWV}(\mathcal{K},\theta)=1-\left(\frac{1}{|\mathcal{K}|}\sum_{k\in\mathcal{K}}P_{miss}(k,\theta)+\beta P_{fa}(k,\theta)\right)

其中 k∈K 是關鍵字,Pmiss 和 Pfa 是未命中和錯誤警報的概率,β 是分配給虛假警報的懲罰。

任務

給定一個集合 1-best,編寫程式碼以檢索所有可能出現的關鍵字列表。描述搜尋過程,包括索引格式,處理多字關鍵字,匹配標準,相關性分數校準和閾值設定方法。根據 β=20,根據 AUC,mAP 和 TWV 標準使用參考轉錄評估檢索效能。評論這些標準之間的差異,包括引數 β 的影響。假設事件的開始和結束時間必須在真實事件的 0.5 秒以內,才能進行匹配。

資源

該任務提供了三種資源:
1-best 在 NIST CTM 檔案格式的副本(dev.ctm,eval.ctm)。CTM檔案格式包括以下形式的多個記錄:

<F> <H> <T> <D> <W> <C>

其中 <F> 是音訊檔名稱,<H> 是頻道,<T> 是開始時間,以秒為單位,<D> 是持續時間,以秒為單位,<W>是詞,<C> 是置信度分數。每條記錄對應一個識別的單詞。任何空行或以 ;; 開頭的行被忽略。CTM 檔案的摘錄如下所示:

7654 A 11.34 0.2 YES 0.5
7654 A 12.00 0.34 YOU 0.7
7654 A 13.30 0.5 CAN 0.1

參考副本採用 NIST STM 檔案格式(dev.stm,eval.stm)。STM 檔案格式包含以下格式的多個記錄:

<F> <H> <S> <T> <E> <L> <W>...<W>

其中 <S> 是發言人,<E> 是結束時間,<L> 主題,<W> ... <W> 是單詞序列。每條記錄對應一個手動轉錄的音訊檔案片段。STM 檔案的摘錄如下所示:

2345 A 2345-a 0.10 2.03 <soap> uh huh yes i thought
2345 A 2345-b 2.10 3.04 <soap> dog walking is a very
2345 A 2345-a 3.50 4.59 <soap> yes but it’s worth it

請注意,每個單詞的確切開始和結束時間不可用。使用均勻分段作為近似值。

關鍵字列表關鍵字。每個關鍵字包含一個或多個單詞,如下所示:

PROUD OF YOURSELF
DON
TWENTY THOUSAND POUNDS
LIB DEM
LIABILITY

使用開發集檔案(dev.ctm 和 dev.stm)來開發方法。將評估集檔案(eval.ctm 和 eval.stm)僅用於評估。

閱讀清單

M. Saraclar, R. Sproat, ”Lattice-Based Search for Spoken Utterance Retrieval”, Proc. NAACL, 2004.

D. Can, M. Saraclar, ”Lattice Indexing for Spoken Term Detection”, IEEE Tran Audio, Speech and Language, 2011.

D. Karakos et al, ”Score normalization and system combination for improved keyword spotting”, Proc. ASRU, 2013.

本作品採用《CC 協議》,轉載必須註明作者和本文連結
不要試圖用百米衝刺的方法完成馬拉松比賽。

相關文章