9.14. 语音

技能(skill),类似于APP,是指可以通过语音交互为用户提供一个或多个特定的功能和服务。

9.14.1. 语音交互

语音交互也是非常热门的方向之一,其实语音交互整个流程里包含语音识别、自然语言处理和语音合成。自然语言处理很多时候是作为单独的一个领域来研究的,自然语言处理见其他章节,所以此处只介绍语音识别和语音合成。[^8]

9.14.2. 为什么开发语音对话技能?

  1. 语音对话技能可以解放双手,在一些眼睛、双手被占用的场合,也能便捷获取服务。比如,在汽车驾驶、厨房等场景下,可以对着一台智能设备说“放首好听的歌”、“提醒我5分钟后把火调小点”,不干扰双手正在做的动作。

  2. 服务体验更直接、更高效。比如,在一个有屏设备上想听蔡健雅的歌曲,通过触屏交互方式需要打开音乐软件、打字输入歌手名、搜索、返回结果后选择播放等几个步骤,但在对话交互方式下,只需对着有屏设备说“我想听首蔡健雅的歌”即可,一步直达。

  3. 通过语音对话让视觉障碍者方便获取到更多的互联网服务。

  4. 语音对话交互新形式,作为一种行业热门和趋势,值得很多创新企业进行一定的投入和探索,避免未来在市场中的被动。 [^2]

../_images/Speech.png

Fig. 9.14.1 设计语音对话系统的5个要点[3]

9.14.3. ASR

9.14.3.1. 研究内容

语音识别的输入是声音,属于计算机无法直接处理的模拟信号,所以需要将声音转化成计算机能处理的文字信息。传统的识别方式需要通过编码将其转变为数字信号,并提取其中的特征进行处理。

传统方式的声学模型一般采用隐马尔可夫模型(HMM),处理流程是语音输入——编码(特征提取)——解码——输出。

还有一种“端到端”的识别方式,一般采用深度神经网络(DNN),这种方式的声学模型的输入通常可以使用更原始的信号特征(减少了编码阶段的工作),输出也不再必须经过音素等底层元素,可以直接是字母或者汉字。

在计算资源与模型的训练数据充足的情况下,“端到端”方式往往能达到更好的效果。目前的语音识别技术主要是通过DNN实现的。语音识别的效果一般用“识别率”,即识别文字与标准文字相匹配的字数与标准文字总字数的比例来衡量。目前中文通用语音连续识别的识别率最高可以达到97%。

9.14.3.2. 衍生研究内容

  • 麦克风阵列:在家庭、会议室、户外、商场等各种环境下,语音识别会有噪音、混响、人声干扰、回声等各种问题。在这种需求背景下可以采用麦克风阵列来解决。麦克风阵列由一定数目的声学传感器(一般是麦克风)组成,用来对声场的空间特性进行采样并处理的系统,可以实现语音增强、声源定位、去混响、声源信号提取/分离。麦克风阵列又分为:2麦克风阵列、4麦克风阵列、6麦克风阵列、6+1麦克风阵列。随着麦克风数量的增多,拾音的距离,噪声抑制,声源定位的角度,以及价格都会不同,所以要贴合实际应用场景来找到最佳方案。

  • 远场语音识别:解决远场语音识别需要结合前后端共同完成。前端使用麦克风阵列硬件,解决噪声、混响、回声等带来的问题,后端则利用近场远场的声学规律不同构建适合远场环境的声学模型,前后端共同解决远场识别的问题。

  • 语音唤醒:通过关键词唤醒语音设备,通常都是3个音节以上的关键词。例如:嘿Siri、和亚马逊echo的Alexa。语音唤醒基本是在本地进行的,必须在设备终端运行,不能切入云平台。因为一个7×24小时监听的设备要保护用户隐私,只能做本地处理,而不能将音频流联网进行云端处理。 语音唤醒对唤醒响应时间、功耗、唤醒效果都有要求。 语音激活检测:判断外界是否有有效语音,在低信噪比的远场尤为重要。

资料合集|语音识别该如何学习呢? - 深蓝学院的文章 - 知乎 https://zhuanlan.zhihu.com/p/396583057

https://github.com/flashlight/flashlight/tree/master/flashlight/app/asr

9.14.4. 语音合成(TTS)

9.14.4.1. 研究内容

是将文字转化为语音(朗读出来)的过程,目前有两种实现方法,分别是:拼接法和参数法。

拼接法是把事先录制的大量语音切碎成基本单元存储起来,再根据需要选取拼接而成。这种方法输出语音质量较高,但是数据库要求过大。 参数法是通过语音提取参数再转化为波形,从而输出语音。这种方法的数据库要求小,但是声音不可避免会有机械感。 DeepMind早前发布了一个机器学习语音生成模型WaveNet,直接生成原始音频波形,可以对任意声音建模,不依赖任何发音理论模型,能够在文本转语音和常规的音频生成上得到出色的结果。

9.14.4.2. 瓶颈

个性化TTS数据需求量大,在用户预期比较高的时候难满足。需要AI产品经理选择用户预期不苛刻的场景,或者在设计时管理好用户预期。[^8]

9.14.5. 提供相关方案的企业

9.14.6. 相关产业

  1. 虚拟个人助理产业:Siri、微软小娜、百度度秘、谷歌Assistant、助理来也等等;

  2. 智能音箱产业:Amazon Echo、Google Home、叮咚、小爱、小雅、天猫精灵等等;[^4]

  3. 声音克隆产业:LOVO Studio“克隆”出的声音带有情感特征,真实感更强[^10]

9.14.7. 一个好的语音产品需要:

  1. 准确率高的nlu,asr

  2. 意图匹配规则用 模糊匹配和完全匹配相结合

  3. 支持多语言、多口音

  4. 词典要完整、更新及时、标准化处理(同义词都指向词典里的一个词,也就是同义词合并)

  5. 声纹识别,可以精准定位正在使用的用户

  6. 多模态,就是视觉触觉语音等全部结合。简单一点来说,如果产品界面和语音打通的话,当用户说查一下哪吒。根据最上层的应用是音乐、视频、阅读来判定用户是想听歌还是想看电影还是想搜小说 ,因为一个用户指令是可以匹配到多个意图的,要动态的根据具体情况对意图进行排序选择

  7. 泛化能力,就是模糊匹配准确度高,可以标准化词典或者词槽,设置覆盖面广的语气词表等 [^5]

9.14.8. 通用智能语音助手产品设计难点?

  1. 海量的数据:搜索、闲聊、其他应用

  2. CPS( Conversations Per Session):CPS描述了人类与人工智能在一次对话中持续的平均轮数,从而反映了人工智能在这些对话中所体现的沟通能力。 从传统Q&A问答到多轮对话,从被动回答到主动对话。

  3. 人性化:形象设定(语料运营)、NLG(自然语言生成)、TTS(语音合成) 通用智能语音助手产品

  4. 投入产出比低:依赖技术突破(NLU)、用户习惯培养、持续优化(保持数据的时效性)[^7]

语音识别[^6]

9.14.9. 动态交互

在语音对话等场景下,产品的功能是需要在和用户的动态交互中被唤起的。

当然这里主要谈到的是语音对话等场景下,大部分用在搜索、推荐等传统界面内的AI交互还是和互联网界面一样。

而语音场景下和用户不断对话的情况,涉及到了场景剧本编写、多轮对话设计、词槽设计等方面,还有语音交互的规则以及经验。

比如地图应用的小助手使用场景多在开车用户开车时,用户会问些什么,怎样编写剧本,怎样进行词槽填充?[^9]