Siri 是由苹果公司开发的智能语音助手。2011 年 10 月,Siri 以系统内置应用的方式随 iPhone 4s 一起发布,并被逐步集成到苹果的全线产品之中。Siri 支持自然语言的输入与输出,可以通过与用户的语言交互实现朗读短信、介绍餐厅、询问天气、设置闹钟等简单功能,它还能不断学习新的声音和语调,并提供对话式的应答。今天,我就结合苹果公司关于 Siri 的介绍简单谈谈人工智能中的语音处理。
Siri 的语音处理包括语音识别和语音合成两部分。语音识别(speech recognition)的作用是听懂用户的话,语音合成(speech synthesis)的作用则是生成 Siri 自己的回答。目前在苹果公司公开的技术博客 Apple Machine Learning Journal 上,主要给出的是语音合成的技术方案,但这些方案对语音识别也有启发。
在很多游戏和软件中,语音提示都是由声优提前录制而成,但以 Siri 为代表的实时语音助手们必须采用语音合成技术。业界主流的语音合成方法有两种:单元选择和参数合成。
当具备足够数量的高品质录音时,单元选择方法能够合成出自然的高质量语音。相比之下,参数合成方法得到的结果虽然更加流利且容易识别,其整体质量却有所不及,因而适用于语料库较小的情景。
将两者结合起来就得到了混合单元选择模式:其基本思路仍然是单元选择的思路,在预测需要选择的单元时则采用参数方法,Siri 正是采用了这种模式。
要实现高质量的语音合成,足够的录音语料是必备的基础。但这些语料不可能覆盖所有的表达,因而需要将其划分为音素和半音素等更微小的基本单元,再根据由输入语音转换成的文本将基本单元重组,合成全新的语音。
当然,这样的重组绝非易事:在自然语言中,每个音素的选择既依赖于相邻音素,也取决于整体语句的音韵。单元选择方法完成的正是基本单元重组的任务:既要与输入的文本对应,又要生成符合语句内容的音调与音韵,同时还不能出现明显的打喯儿与中断。
Siri 的语音合成系统包括文本分析、音韵生成、单元选择、波形串联四个模块,前两个环节对应前端的文本处理,后两个环节则对应后端的信号处理。