你在參加一個聚會,亞歷克斯正在講一個無聊的故事。你對薩姆向帕特講述的八卦更感興趣,所以你忽略了亞歷克斯,專注於薩姆的話。恭喜你:你剛剛展示了人類解決“雞尾酒會問題”的能力——從兩個或更多人的喋喋不休中挑出一條語音線索。到目前為止,計算機還缺乏這種能力。
儘管自動語音識別正變得越來越普遍,但當面對兩個人同時說話時,它就會失效。計算機語音分離不僅可以改進語音識別系統,還可以促進許多其他需要分離訊號的領域,例如理解腦部掃描影像。
這個問題非常棘手。然而,在過去的幾年裡,計算機科學家們取得了令人興奮的進展。一個研究小組甚至在自動感知方面取得了一項非常罕見的成就:超越人類。
支援科學新聞報道
如果您喜歡這篇文章,請考慮透過以下方式支援我們屢獲殊榮的新聞報道 訂閱。透過購買訂閱,您正在幫助確保有關塑造我們當今世界的發現和想法的有影響力的故事的未來。
為何如此困難?
分離兩個詞語流比理解一個說話者的語音更具挑戰性,因為可能的聲音組合數量是天文數字。以蠻力方式應用普通(單人說話者)語音識別的常用技術,來探索多位說話者可能產生組合聲音的所有替代方法,將非常耗時。因此,為了有效地解決雞尾酒會問題,演算法必須利用語音聲音的特殊特徵。
無論是一個人說話還是多人說話,聲音都包含一個頻率譜,並且每個頻率的強度都在毫秒級的時間尺度上變化;頻譜圖顯示了此類資料。標準的單人說話者語音識別在音素級別分析資料,音素是構成單詞的單個聲音單元——F-OH-N-EE-M-Z。每個口語音素都會在頻譜圖中產生可變但可識別的模式。
統計模型在所有語音識別中都起著重要作用,它指定了例如“oh”聲音之後跟隨“n”聲音的預期機率。識別引擎尋找最有可能的音素序列,並嘗試構建完整的單詞和合理的句子。
當兩個人同時說話時,可能性的數量會爆炸式增長。每個時刻的頻譜可能來自任意兩個音素,由每個人以他們可能在單詞中使用的任何方式發音。每增加一個說話者,問題就會呈指數級惡化。
有希望的想法
不過,幸運的是,語音的聲音往往是“稀疏的”:兩個說話者的頻譜圖通常有很多小區域,其中一個說話者的聲音比另一個說話者大得多。對於這些區域,普通的語音識別可以找到與主要說話者匹配的潛在音素,從而大大簡化搜尋。正是透過利用稀疏性等特徵,計算機科學家最近在尋找透過語音分離的組合叢林的捷徑方面取得了巨大進步。他們遵循兩種主要方法。
一種方法是從下往上工作,檢查頻譜圖中的基本特徵,以辨別哪些區域來自同一個說話者。例如,在同一時刻,兩個不同頻率的聲音突然出現,很可能來自一個說話者。
這種方法通常還尋找頻譜圖區域,其中任何一個說話者都不佔主導地位。然後,演算法會擱置這些損壞的區域,並嘗試找到與乾淨區域匹配的音素序列。英國謝菲爾德大學的一個研究小組使用這些方法取得了良好的成果。在 2010 年釋出的一份報告中,該報告比較了 10 種不同演算法在收集的基準重疊語音樣本上的表現,謝菲爾德小組獲得了總體第三好的準確率。
然而,大多數研究小組採用自上而下或“基於模型”的方法。他們的演算法尋找單獨合理且組合起來產生總聲音的音素序列。由於考慮每種可能的重疊音素組合效率太低,因此訣竅是在不犧牲太多準確性的情況下簡化或近似該過程。
芬蘭坦佩雷理工大學的圖奧馬斯·維爾塔寧透過交替關注兩位說話者中的每一位來簡化搜尋。本質上:給定對說話者 A 語音的當前最佳估計,搜尋最能解釋總聲音的說話者 B 的語音。然後每次角色反轉時保持重複。坦佩雷演算法在第二高的準確率方面略微超過了謝菲爾德小組,儘管它仍然比人類聽眾落後 10 個百分點以上。
IBM 托馬斯·J·沃森研究中心(位於紐約州約克鎮高地)的一個研究小組首次演示了“超人”自動語音分離。該團隊最新的演算法即使在多人說話時也能有效地工作——它已經分離了四個重疊說話者的語音流。在某種程度上,該演算法執行通常的自上而下分析,評估所有說話者的試驗音素序列。在這種搜尋的迭代之間,程式使用其最有希望的語音估計來尋找頻譜圖區域,其中一個說話者的聲音足夠大,可以掩蓋其他說話者。有趣的是,關注這種掩蔽使得同時改進所有說話者的語音估計成為可能。
自動語音分離在計算機能夠例行公事地竊聽嘈雜聚會上的八卦之前還有很長的路要走。然而,最近的結果表明,這種前景可能終於開始顯現,即使尚未近在耳邊。