让机器能够听懂人类的语言、理解和思考还有多远?首先需要解决的就是“听”的问题。
小时候,我们是否也曾对着门喊过“芝麻开门!”?
当然,门只会静静地站在那里,仿佛没有听见你的呼唤。尽管如此,孩子们还是乐此不疲地对着门喊几声,内心深处希望门能有所反应,比如打开。
为什么门不会响应我们的命令呢?因为门本身不具备接收和理解声音的能力。如果我们能够让门“听到”你的声音、你的命令,接下来就可以通过语义分析和控制系统来实现开关门的操作。
这引出了本次的重点技术——语音识别。本次干货分享由语音识别产品经理:焦糖玛奇朵提供,希望能为大家打开语音识别的大门。
语音识别是将人类的声音信号转换成文字的过程。本文将从产品的角度对业界的语音识别产品进行分类和说明。不同的产品类型具有不同的算法或接口特性,适用于不同的需求场景。
根据识别内容的范围,语音识别可以分为以下几类:
1、封闭域识别:
封闭域识别是指算法只能在预先设定的词汇表内进行识别。对于不在词汇表内的语音,系统会拒绝识别。因此,封闭域识别可以优化声学模型和语言模型,使得识别引擎的运算量更小。此外,该引擎可以嵌入到嵌入式芯片或本地SDK中,使识别过程完全脱离云端,不受网络影响,且不影响识别率。业界厂商提供的部署方式包括云端和本地化(如芯片、模块和纯软件SDK)。
产品类型包括: - 命令字/词识别 - 语音唤醒 - 语法识别
产品形态: - 流式传输-同步获取
典型应用场景: - 涉及简单指令交互的智能家居和电视盒子,例如“打开窗帘”、“打开中央台”。但若涉及未在词汇表中的命令,如“给小编这篇文章来个打赏”,系统将无法识别并返回相应的文字结果,也不会做出相应动作。
2、开放域识别:
开放域识别无需预先指定词汇表,算法将在整个语言范围内进行识别。为了适应这种场景,声学模型和语音模型通常较大,引擎运算量也较大。将其封装到嵌入式芯片或本地化SDK中,耗能较高且可能影响识别效果。业界厂商大多以云端形式提供服务,包括公有云和私有云。本地化形式只有具备服务器级别计算能力的嵌入式系统,如会议字幕系统。
产品类型按说话风格特点分为: - 语音听写 - 语音转写
语音听写: - 语音时长短(<1分钟),一般为一句话。 - 训练语料为朗读风格,语速均匀。 - 主要应用于人机对话场景,录音质量较好。
产品形态: - 流式上传-同步获取 - 已录制音频文件上传-同步获取
典型应用场景: - 应用较为成熟的输入场景,如输入法;以及与麦克风阵列和语义结合的人机交互场景,如智能音响,例如“叮咚叮咚,转发小编这篇文章。”
语音转写: - 语音时长长(五小时以上),句子较多。 - 训练语料为交谈风格,语速不均匀,吞字和连字现象较多。 - 录音多为远场或带噪的。
产品形态: - 音频流转写:流式上传-同步获取 - 非实时已录制音频转写:已录制音频文件上传-异步获取
典型应用场景: - 字幕配置,客服语音质检,UGC语音内容审查
概念厘清: 1、离线VS在线: 在讯飞开放平台的产品定义和多数客户认知中,离线和在线的区别在于识别过程是否需要通过云端请求,即识别引擎是在云端还是本地。云计算中的离线和在线产品引擎都在云端,区别在于计算过程中,客户端是否需要与云端进行实时数据交互。因此,不建议使用离线和在线的概念进行产品定义。
2、8K VS 16K采样率语音模型: 在众多语音云服务厂商中,根据音频采样率进行分类,训练出适合不同采样率的语音模型,最典型的是8K和16K模型。采样率越高,原始音频信息保留越多,识别率也会更高。
3、语音识别VS语义识别: 语音识别是语义识别的基础。语音识别将声音转化为文字,语义识别则提取文字中的相关信息和相应意图,通过执行模块进行问题回复或反馈动作。
结语(栗子结合了一小部分语义): 最后举一个例子:“叮咚叮咚,给小编这篇文章点个赞吧。”在没有后台配置的情况下,封闭域的语音识别系统会拒绝识别这段语音,而开放域的识别系统却能够识别这段语音并返回相应的文字结果。现阶段的开放域语义系统可能会回复得比较生硬,也不会自动识别出相应的意图并做出指令。按照现有方法,需要在后台预先配置相关答案,并根据预先配置的信息抽取意图,再根据意图类别和槽位信息执行相应动作,如调用微信的点赞接口(假设可以)进行点赞操作。
听起来是不是觉得手动点赞更简单?然而,现代人类所做的每一个自然且毫不费力的动作,都是经过亿万年的学习和进化才得以实现。人工智能技术也需要大量的数据训练和一定的时间才能成熟。目前,封闭域的产品化已经在语义识别等领域取得了突破,而语音识别已经从封闭域发展到了开放域,正在各个行业发挥着人工智能的力量!
撰稿:焦糖玛奇朵
编辑:1024君