当前位置:主页 > 课堂家居 >解决鸡尾酒会问题 >

解决鸡尾酒会问题

2020-08-05

解決雞尾酒會問題

要电脑听懂多人同时说的话,真的非常困难;不过情况可能就快改观了。


重点提要

电脑科技目前还没有办法解决「鸡尾酒会问题」──听懂两人以上同时说的话。
不过,有好几个研究团队正以多种方法解题,而且进展不错。


鸡尾酒会上,面前的老艾在谈论一个无聊的话题,而你对山姆跟派特讲的八卦更有兴趣,于是你把注意力从老艾转到山姆说的话上头。恭喜,你展现的正是人类解决「鸡尾酒会问题」的能力,亦即从两人以上的嘈杂说话声中,挑出一串语音。目前电脑还办不到。虽然自动化语音辨识越来越不稀奇,但遇上两人同时讲话就不管用了。电脑语音分离技术不只能改善语音辨识系统,也有助于多种讯号分离的任务,例如判读脑部扫描影像。

鸡尾酒会问题难如登天。然而近几年,电脑科学家已取得令人振奋的进展,甚至有研究团队的自动化知觉技术达到了非常罕见的成就──表现得比人类更好。

难在哪里?

分离两串说话声,比了解单人说话内容困难多了,因为可能的语音组合多如牛毛。运用辨识单人语音的一般技术,以暴力法一一检查多人语音里所有可能的原始组合,实在太耗时。所以,想要有效率地解决宴会问题,演算法得善加利用语音内的特徵。

解决鸡尾酒会问题无论是一人或多人说话的语音,都可分析成频谱,每个频率的强度都以百万分之一秒为时间单位在改变,以频谱图呈现变化情形。一般单人语音辨识是以音素为单位来分析资料,音素是组成单字的最小声音单位,例如「phonemes」就是由F-OH-N-EE-M-Z等音素组成。每个音素的语音,在频谱图会产生多变但可辨识的样式。

在所有语音辨识中,统计模型都扮演着要角,负责计算「OH音后面跟着N音」之类情况的期望机率。辨识引擎会寻找最可能的音素序列,设法组合出完整的字和有意义的句子。
两个人同时说话会让组合的可能性爆增。每一刻的频谱都可能由任两个音素组成,还要考虑各音素在每个人的单字发音中,有各种发音的方式。难度会随说话者数目呈指数上升。

可望解决的方法

不过,幸好语音里的声音分布往往是「稀疏」的,也就是说,频谱图里通常有许多小区域是某人的声音比另一人大声。在这些区域里,可以用一般语音辨识技术找出音量较大者的音素,大大简化了搜寻功夫。近年来电脑科学家就是利用了稀疏性,才能大有斩获、找出捷径、穿越语音分离的组合丛林,他们的做法主要有二。

其中一个方法是由下而上,检查频谱图中的基本特性,以分辨哪些区域是来自同一位说话者。例如两个不同的频率如果突然同时出现,就可能来自同一位说话者。

这种做法通常也会寻找音量不相上下的频谱图区域,然后演算法先不理会那些难解的区域,而设法找出能与清晰区域相对应的音素序列。英国雪菲尔大学的团队已用此法达到良好成效。有一篇在2010年发表的报告,以一组重叠语音标準测试样本,测试并比较10个不同演算法的表现,而雪菲尔团队的整体正确率名列第三高。

不过,大部份团队是用由上而下的「模型分析式」法,寻找有意义、又能组合成完整声音的音素序列。考虑每种可能的音素重叠组合实在太没效率,因此必须在不牺牲太多正确性的情况下,简化程序或只计算近似值。

芬兰坦派勒科技大学的维塔南(Tuomas Virtanen)以轮流锁定说话者的方式来简化搜寻:估算A目前的最佳语音,并以此寻找最能完整解释声音的B语音,然后交换两人角色,重複上述步骤。坦派勒的演算法比雪菲尔略胜一筹,正确率第二高,不过还是落后人类表现10个百分点以上。

第一个「超人类」自动语音分离技术,是美国IBM华生研究中心团队研发的新演算法,即使同时说话的超过两人也表现不俗,目前已能成功分离四人同时说话的语音串流。该演算法也进行常见的由上而下分析,针对所有说话者尝试并评估各种语音序列,并穿插利用目前可能性最高的语音概估结果,寻找其中一位音量足以盖过他人的频谱图区域。有趣的是,注意声音遮盖的情形,也让程式得以同步调整所有说话者的语音概估。

让电脑能毫不费力地在嘈杂的鸡尾酒会中偷听八卦之前,自动语音分离还有漫漫长路要走。然而这些最新成果告诉我们,虽然目前只闻楼梯响,但成功之日终将来到。

相关推荐