解决鸡尾酒会问题

计算机很难分辨同时说话的声音。这种情况可能很快就会改变

你在参加一个聚会,亚历克斯正在讲一个无聊的故事。你对萨姆向帕特讲述的八卦更感兴趣,所以你忽略了亚历克斯,专注于萨姆的话。恭喜你:你刚刚展示了人类解决“鸡尾酒会问题”的能力——从两个或更多人的喋喋不休中挑出一条语音线索。到目前为止,计算机还缺乏这种能力。

尽管自动语音识别正变得越来越普遍,但当面对两个人同时说话时,它就会失效。计算机语音分离不仅可以改进语音识别系统,还可以促进许多其他需要分离信号的领域,例如理解脑部扫描图像。

这个问题非常棘手。然而,在过去的几年里,计算机科学家们取得了令人兴奋的进展。一个研究小组甚至在自动感知方面取得了一项非常罕见的成就:超越人类。


支持科学新闻报道

如果您喜欢这篇文章,请考虑通过以下方式支持我们屡获殊荣的新闻报道 订阅。通过购买订阅,您正在帮助确保有关塑造我们当今世界的发现和想法的有影响力的故事的未来。


为何如此困难?
分离两个词语流比理解一个说话者的语音更具挑战性,因为可能的声音组合数量是天文数字。以蛮力方式应用普通(单人说话者)语音识别的常用技术,来探索多位说话者可能产生组合声音的所有替代方法,将非常耗时。因此,为了有效地解决鸡尾酒会问题,算法必须利用语音声音的特殊特征。

无论是一个人说话还是多人说话,声音都包含一个频率谱,并且每个频率的强度都在毫秒级的时间尺度上变化;频谱图显示了此类数据。标准的单人说话者语音识别在音素级别分析数据,音素是构成单词的单个声音单元——F-OH-N-EE-M-Z。每个口语音素都会在频谱图中产生可变但可识别的模式。

统计模型在所有语音识别中都起着重要作用,它指定了例如“oh”声音之后跟随“n”声音的预期概率。识别引擎寻找最有可能的音素序列,并尝试构建完整的单词和合理的句子。
当两个人同时说话时,可能性的数量会爆炸式增长。每个时刻的频谱可能来自任意两个音素,由每个人以他们可能在单词中使用的任何方式发音。每增加一个说话者,问题就会呈指数级恶化。

有希望的想法
不过,幸运的是,语音的声音往往是“稀疏的”:两个说话者的频谱图通常有很多小区域,其中一个说话者的声音比另一个说话者大得多。对于这些区域,普通的语音识别可以找到与主要说话者匹配的潜在音素,从而大大简化搜索。正是通过利用稀疏性等特征,计算机科学家最近在寻找通过语音分离的组合丛林的捷径方面取得了巨大进步。他们遵循两种主要方法。

一种方法是从下往上工作,检查频谱图中的基本特征,以辨别哪些区域来自同一个说话者。例如,在同一时刻,两个不同频率的声音突然出现,很可能来自一个说话者。

这种方法通常还寻找频谱图区域,其中任何一个说话者都不占主导地位。然后,算法会搁置这些损坏的区域,并尝试找到与干净区域匹配的音素序列。英国谢菲尔德大学的一个研究小组使用这些方法取得了良好的成果。在 2010 年发布的一份报告中,该报告比较了 10 种不同算法在收集的基准重叠语音样本上的表现,谢菲尔德小组获得了总体第三好的准确率。

然而,大多数研究小组采用自上而下或“基于模型”的方法。他们的算法寻找单独合理且组合起来产生总声音的音素序列。由于考虑每种可能的重叠音素组合效率太低,因此诀窍是在不牺牲太多准确性的情况下简化或近似该过程。

芬兰坦佩雷理工大学的图奥马斯·维尔塔宁通过交替关注两位说话者中的每一位来简化搜索。本质上:给定对说话者 A 语音的当前最佳估计,搜索最能解释总声音的说话者 B 的语音。然后每次角色反转时保持重复。坦佩雷算法在第二高的准确率方面略微超过了谢菲尔德小组,尽管它仍然比人类听众落后 10 个百分点以上。

IBM 托马斯·J·沃森研究中心(位于纽约州约克镇高地)的一个研究小组首次演示了“超人”自动语音分离。该团队最新的算法即使在多人说话时也能有效地工作——它已经分离了四个重叠说话者的语音流。在某种程度上,该算法执行通常的自上而下分析,评估所有说话者的试验音素序列。在这种搜索的迭代之间,程序使用其最有希望的语音估计来寻找频谱图区域,其中一个说话者的声音足够大,可以掩盖其他说话者。有趣的是,关注这种掩蔽使得同时改进所有说话者的语音估计成为可能。

自动语音分离在计算机能够例行公事地窃听嘈杂聚会上的八卦之前还有很长的路要走。然而,最近的结果表明,这种前景可能终于开始显现,即使尚未近在耳边。

© . All rights reserved.