开源语音接口的挑战

语音交互正日益从科幻小说走向科学事实,而对于开源解决方案的隐私担忧也日益受到关注。
297 位读者喜欢这篇文章。
Chat

Opensource.com

如果您和许多开源爱好者一样,您可能从小就观看过像《霹雳游侠》、《星际迷航》或(我个人最喜欢的)《时空特警》这样的科幻节目。它们有什么共同点?在每部剧中,语音都是主角与计算机交互的关键媒介。《霹雳游侠》有基特,《星际迷航》有无处不在的计算机,甚至《时空特警》中不知疲倦的达里安·兰伯特也有可靠的助手塞尔玛(全息助手)。

随着机器学习、计算能力和神经网络的进步,语音交互正日益从科幻小说走向科学事实。

令人失望的是,该领域的早期领导者主要是商业和专有玩家——苹果的 Siri、亚马逊的 Alexa、微软的 Cortana、谷歌的 Home、三星的 Bixby。考虑到他们以盈利为目的的必然性,大型公司例行记录和存储语音数据,然后用于细分受众、分析人群并向他们投放广告,这也就不足为奇了。语音数据与其他大数据一样,现在也是一种货币。

鉴于自然语言理解作为用户界面的广泛采用,以及专有解决方案可能带来的隐私侵犯,开源语音的吸引力正在增长。

那么,开源语音堆栈中有什么呢?

Open source voice stack

语音交互始于一个唤醒词——也称为热词——它使语音助手准备好接收命令。然后,语音转文本引擎将来自语音的声音转录成书面语言,意图解析器确定用户想要执行什么类型的命令。然后,语音堆栈选择要运行的命令并执行它。最后,它使用文本转语音引擎将书面语言转换回语音。

在语音堆栈的每一层,都有几种开源解决方案可用。

唤醒词检测

最早的唤醒词引擎之一是 PocketSphinx。PocketSphinx 基于音素识别唤醒词——音素是区分一种语言中一个词与另一个词的最小声音单位。不同的语言有不同的音素——例如,在英语中很难近似印度尼西亚语的颤音“r”(这个音素是您“滚动”您的“r”音时发出的声音)。对于非母语人士来说,使用音素进行唤醒词检测可能是一个挑战,因为他们的发音可能与唤醒词的“标准”发音不同。

Snowboy 是另一种热词检测引擎;它在商业和开源许可下均可用。Snowboy 与 PocketSphinx 的不同之处在于,它不使用音素进行唤醒词检测;相反,它使用神经网络,该网络在真假示例上都经过训练,以区分什么是唤醒词,什么不是唤醒词。

Mycroft AI 的 Precise 唤醒词引擎的工作原理类似,通过训练循环神经网络来区分什么是唤醒词,什么不是唤醒词。

所有这些唤醒词检测器都“在设备上”工作,这意味着它们不需要将数据发送到云端,这有助于保护隐私。

语音转文本转换

准确的语音转文本转换是开源语音堆栈中最具挑战性的部分之一。 Kaldi 是最流行的语音转文本引擎之一,它有几个“模型”可供选择。在语音转文本领域,模型 是一个神经网络,它使用特定的算法在特定的数据集上进行过训练。Kaldi 具有英语、中文和一些其他语言的模型。Kaldi 最具吸引力的功能之一是它可以设备上运行。

Mozilla 的 DeepSpeech 实现——以及相关的 Common Voice 数据采集项目——旨在支持更广泛的语言。目前,DeepSpeech 的 计算需求意味着它只能用作云实现——它太“重”而无法在设备上运行。

语音转文本的最大挑战之一是训练模型。Mycroft AI 已与 Mozilla 合作,以帮助训练 DeepSpeech。Mycroft AI 将训练后的数据传递回 Mozilla,以帮助提高其模型的准确性。

意图解析

强大的语音堆栈还需要确保准确捕获用户的意图。有几种开源意图解析器可用。 Rasa 是开源的,并在语音助手和聊天机器人中得到广泛使用。

Mycroft AI 使用两个意图解析器。第一个是 Adapt,它使用关键字匹配方法来确定置信度分数,然后将控制权传递给置信度最高的技能或命令。Padatious 采用不同的方法,其中提供了实体的示例,以便它可以学习识别话语中的实体

意图冲突是意图解析器面临的挑战之一。想象一下这句话

“播放一些 The Whitlams 的歌曲”

根据可用的命令或技能,可能有多个可以处理该意图。意图解析器如何确定要传递给哪个?Mycroft AI 的 通用播放框架 为不同的实体分配不同的权重,从而产生更准确的整体意图置信度评分。

文本转语音转换

在语音交互生命周期的另一端是文本转语音 (TTS)。同样,有几种开源 TTS 选项可用。TTS 模型通常通过收集语言说话者的录音,使用结构化语料库或短语集进行训练。应用机器学习技术将录音合成为通用 TTS 模型,通常用于特定语言。

MaryTTS 是最流行的 TTS 之一,并支持多种欧洲语言。 ESpeak 具有适用于 20 多种语言的 TTS 模型,尽管合成质量在不同语言之间差异很大。

Mycroft AI 的 Mimic TTS 引擎基于 CMU Flite TTS 合成引擎,并为英语提供两种声音。更新的 Mimic 2 TTS 引擎 是基于 Tacotron 的实现,它具有不那么机械化、更自然的声音。Mimic 在设备上运行,而 Mimic 2 由于计算需求,在云端运行。此外,Mycroft AI 最近发布了 Mimic Recording Studio,这是一个开源的、基于 Docker 的应用程序,允许人们进行录音,然后可以使用 Mimic 2 将其训练成个人声音。

这解决了 TTS 的众多问题之一——拥有一系列性别、语言和方言的自然声音。

结束语

新兴的开源语音工具系列正在变得可用,每种工具都有其自身的优点和缺点。但可以肯定的是——推动更成熟的开源语音解决方案以保护隐私的动力将持续存在。 


Kathy Reid 将在 1 月 21 日至 25 日于新西兰基督城举行的 linux.conf.au 上介绍 海滩残骸点火:开源语音的挑战

Kathy Reid
目前在澳大利亚国立大学 @3AInstitute 研究开源语音。Kathy Reid 曾任 @LinuxAustralia 总裁和 @MycroftAI 的开发者关系总监,在开源系统和新兴技术及其对人和组织的影响方面拥有深厚的专业知识。

2 条评论

抱歉,但语音技术的早期领导者不是苹果的 Siri、亚马逊的 Alexa、微软的 Cortana、谷歌的 Home、三星的 Bixby,而是 Dragon Systems(当时的 Lernout&Hauspie,现在的 Nuance)的 DragonDictate、Dragon NaturallySpeaking 和 IBM 的 ViaVoice。我还记得在 1980 年代后期在我的 Commodore Amiga 计算机上安装了一个 TTS 程序。

没错,一些交互组件已经存在了几十年(stt 和 tts)。只是最近这些组件的质量才变得足够高,足以构建一个复合系统。本文是关于系统,而不是关于子组件存在的事实。

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.