谷歌Recorder實現(xiàn)說話人自動標注,功能性與iOS語音備忘錄再度拉大
在今年的 Made By Google 大會上,谷歌公布了 Recorder 應用的自動說話人標注功能。該功能將實時地為語音識別的文本加上匿名的說話人標簽(例如 “說話人 1” 或“說話人 2”)。這項功能將極大地提升錄音文本的可讀性與實用性。
谷歌于 2019 年為其 Pixel 手機推出了安卓系統(tǒng)下的錄音軟件 Recorder,對標 iOS 下的語音備忘錄,并支持音頻文件的錄制、管理和編輯等。在此之后,谷歌陸續(xù)為 Recorder 加入了大量基于機器學習的功能,包括語音識別,音頻事件檢測,自動標題生成,以及智能瀏覽等。
不過當錄音文件較長并包含多個說話人的時候,一部分 Recorder 的用戶在使用過程中會感到不便。因為僅憑語音識別得到的文本,并不能判斷每句話分別是誰說的。在今年的 Made By Google 大會上,谷歌公布了 Recorder 應用的自動說話人標注功能。該功能將實時地為語音識別的文本加上匿名的說話人標簽(例如 “說話人 1” 或“說話人 2”)。這項功能將極大地提升錄音文本的可讀性與實用性。而這項功能背后的技術,被稱為聲紋分割聚類(speaker diarization)。谷歌在 2022 年的 ICASSP 會議上,首次介紹了其名為 Turn-to-Diarize 的聲紋分割聚類系統(tǒng)。
左圖:關閉了說話人標注的錄音文本。右圖:開啟了說話人標注的錄音文本。
系統(tǒng)架構
谷歌的 Turn-to-Diarize 系統(tǒng)包含了多個高度優(yōu)化的模型和算法,實現(xiàn)了在移動設備上,以極少的計算資源完成對長達數(shù)小時的音頻進行實時聲紋分割聚類處理。該系統(tǒng)主要包含三個組成部分:用以檢測說話人身份轉換的說話人轉換檢測模型,用以提取每個說話人聲音特征的聲紋編碼器模型,以及一個能夠高效完成說話人標注的多階段聚類算法。所有組成部分都完全運行在用戶的設備上,不依賴于任何服務器連接。
Turn-to-Diarize 系統(tǒng)的架構圖。
說話人轉換檢測
該系統(tǒng)的第一個組成部分是一個基于 Transformer Transducer(T-T)的說話人轉換檢測模型。該模型能夠?qū)⒙晫W特征序列轉換為包含了特殊字符 < st > 的文本序列。特殊字符 < st > 表示一個說話人轉換的事件。谷歌之前發(fā)表的論文曾經(jīng)用諸如 < doctor > 或 < patient > 的特殊字符來表示具體說話人的身份。而在最新的系統(tǒng)中,由于 < st > 字符不局限于特定的身份,因此其應用也更加廣泛。
對于大多數(shù)的應用,聲紋分割聚類系統(tǒng)的輸出一般不會直接呈現(xiàn)給用戶,而是與語音識別模型的輸出進行結合。由于語音識別模型在訓練過程中已經(jīng)針對詞錯率進行了優(yōu)化,因此說話人轉換檢測模型對于詞錯率較為寬容,但更加注重特殊字符 < st > 的準確率。在此基礎上,谷歌提出了一種新的基于字符的損失函數(shù),實現(xiàn)了只需較小的模型,就能準確地檢測出說話人轉換事件 < st>。
提取聲紋特征
當音頻信號被按照說話人轉換事件進行分割之后,系統(tǒng)通過聲紋編碼器模型對每一個說話人片段提取包含聲紋信息的嵌入碼,即 d-vector。谷歌在之前發(fā)表的論文中,一般都是從固定長度的音頻中提取聲紋嵌入碼。與之相比,這次的新系統(tǒng)有多項改進。首先,新系統(tǒng)避免了從包含多個說話人信息的片段中提取聲紋嵌入碼,從而提升了嵌入碼的整體質(zhì)量。其次,每一個聲紋嵌入碼對應的語音片段,其時長都比較長,因此包含了對應說話人較多的聲紋信息。最后,該方法得到的最終聲紋嵌入碼序列,其長度較短,使得后續(xù)的聚類算法計算代價較低。
多階段聚類
聲紋分割聚類的最后一步,便是對前面幾步得到的聲紋嵌入碼序列進行聚類。由于用戶使用 Recorder 應用生成的錄音可能只有幾秒鐘,也可能長達 18 小時,所以聚類算法面臨的關鍵挑戰(zhàn)便是能夠處理各種長度的聲紋嵌入碼序列。
為此,谷歌的多階段聚類策略巧妙地結合了幾種不同的聚類算法各自的優(yōu)勢。對于較短的序列,該策略采用聚合式分層聚類(AHC)。對于中等長度的序列,該方法采用譜聚類,并利用特征值的最大間隔法,來準確地估算說話人的數(shù)量。對于較長的序列,該方法先用聚合式分層聚類來對序列進行預處理,然后再調(diào)用譜聚類,從而降低了聚類這一步驟的計算代價。而在整個流式處理的過程當中,通過對之前的聚類結果進行動態(tài)緩存并重復利用,每一次聚類算法的調(diào)用,其時間復雜度以及空間復雜度,上限都可以被設置為一個常數(shù)。
多階段聚類策略是針對設備端應用的一項關鍵優(yōu)化。因為在設備端,CPU、內(nèi)存、電池等資源通常都較為稀缺。該策略即使在處理過長達數(shù)小時的音頻之后,依然能夠維持在一個低能耗的狀態(tài)下運行。而該策略的常數(shù)復雜度上限,通??梢愿鶕?jù)具體的設備型號進行調(diào)整,實現(xiàn)準確率和性能之間的平衡。
多階段聚類策略的示意圖。
實時校正以及用戶標注
因為 Turn-to-Diarize 是一個實時的流式處理系統(tǒng),所以當模型處理完更多的音頻之后,其預測得到的說話人標簽也會變得更加準確。為此,Recorder 應用會在用戶錄音的過程當中,持續(xù)地對之前預測的說話人標簽進行校正,保證用戶在當前屏幕上看到的說話人標簽始終是更為準確的標簽。
與此同時,Recorder 應用的用戶界面還允許用戶對每一段錄音中的說話人標簽進行重命名,例如將 “說話人 2” 重命名為“汽車經(jīng)銷商”,從而方便用戶閱讀和記憶。
Recorder 允許用戶對說話人標簽進行重命名,從而提升可讀性。
未來工作
谷歌在最新的數(shù)款 Pixel 手機上推出了自研芯片 Google Tensor。而當前的聲紋分割聚類系統(tǒng)主要便運行在 Google Tensor 的 CPU 模塊上。未來谷歌計劃將聲紋分割聚類系統(tǒng)運行到 Google Tensor 的 TPU 模塊上,從而進一步降低能耗。此外,谷歌還希望借助多語言的聲紋編碼器以及語音識別模型,將這一功能擴展到除英語之外的其他語言上。
原文鏈接:
https://ai.googleblog.com/2022/12/who-said-what-recorders-on-device.html
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。