苹果的一篇文章详细介绍了硬件、软件和互联网服务如何结合在一起,在最新的 iPhone 和 iPad Pro 上实现「嘿 Siri」的功能。
Siri 这个功能对于很多人来说并不陌生,一句简单的「嘿 Siri」就可以将其激活,让它为你查天气,查日程,甚至可以「调戏」它。但你却不知,简单的「嘿 Siri」背后其实一点也不简单,Siri 背后隐藏了非常多的努力与心思。
苹果今天在公司机器学习的博客上发布了一篇新文章,文章详细介绍了硬件、软件和互联网服务如何结合在一起,在最新的 iPhone 和 iPad Pro 上实现「嘿 Siri」的功能。文章专业性较强,极客公园进行了编译和删减,为大家介绍「嘿 Siri」的基本原理。
「分数」及格才能使用 Siri
苹果在运动协处理器中集成了非常小的语音识别装置,这个装置一直保持运行,并等待用户说出「嘿 Siri」。当该装置识别到这两个单词后,iPhone 或 Apple Watch 上的麦克风会以每秒 1.6 万次的速度将你的声音转化为一连串的瞬时波形样本。每次将大约 0.2 秒的音频输入到声学模型,神经网络会将这些声学模型转换为概率分布,并使用时间集成来计算「嘿 Siri」的信度分数。
苹果已经设定了信度分数的几个敏感阈值,如果分数足够高,Siri 就被激活,并开始处理用户的命令或查询。如果分数超过了最低阈值,但没有达到激活的阈值,比如「嘿 Siri」的发音并不是很清楚,这时设备会在几秒钟进入「敏感模式」,这样当用户再次重复「嘿 Siri」时,可以更好的激活,敏感模式的加入大大改善了 Siri 的可用性。当然如果信度分数连最低阈值都没有超过,Siri 根本就不会「搭理」你。
准确识别你的「嘿 Siri」
为了减少或者说意外激活 Siri,苹果在邀请用户进行初始化「嘿 Siri」的时候,会要求我们连续说五次「嘿 Siri」,在初始化完成后,我们的声音会转化成波形并送达到 Siri 的服务器里。与此同时,苹果还制定了一些与语音相关的规范,发音接近 Siri 的「Syria」(叙利亚) 和「serious」(严肃的) 等词语将被放在上下文中进行识别。
这一方式不仅提高了激活 Siri 的成功率,同时还有效的避免其他人误开 Siri。而在之后的使用过程中,苹果会记录不同环境中远近激活「嘿 Siri」的情况,比如在厨房里、车里、卧室里等等。
并不是一直等你「嘿 Siri」
iPhone 或 Apple Watch 激活 Siri 不仅要求快速准确,还要求不会对电池的寿命产生重大的影响以及尽可能少的占用内存和处理器。为了避免主处理器一直处于检测触发词的状态,iPhone 中的 AOP(一种小且低能耗的处理器)会使用其一小部分处理能力来运行一个探测器和一个小版本的声学模型。当信度分数超过最低阈值时,AOP 会「提醒」主处理器进行下一步操作。
而 Apple Watch 在整合 Siri 时遇到的困难更大一些,因为它的电池容量和处理能力都相对更小。为了避开这些问题,Apple Watch 的「嘿 Siri」检测器只有在手表启动时才会运行,它可以检测到手腕抬起的手势。只有用户做出这样的手势,手表才会打开屏幕,之后激活 Siri。
其实 Siri 诞生以来,每一次随着苹果系统的更新,Siri 同样也会获得更多的进步。就像这一次随着 iOS 11 系统的到来,我们也看到 Siri 获得了不少的改进。比如说获得了短语翻译的功能、可以化身成为个人 DJ 、用户界面的改进等等,而在这些改进的背后隐藏着很多的努力与心思。
图片来源:Apple 官网
编辑:双筒猎枪