主持人:
倪俊杰 浙江省桐乡市凤鸣高级中学
嘉 宾:
刘宗凡 广东省四会市四会中学
邱元阳 河南省安阳县职业中专
金 琦 浙江师范大学附属中学
杨 磊 天津市第五中学
黄钶涵 浙江省诸暨市开放双语学校
倪俊杰:在上一期的文章中,我们介绍了语音识别技术的发展历程、基本原理及主流算法和技术。在特定场合、特定使用场景下,语音识别技术已经有了十分优越的表现,虽然语音识别技术还存在很多“难题”,但并不影响我们对它的未来的发展的期待,相信读者们希望了解更多语音识别技术发展的前沿方向。同时,目前语音识别技术在相关应用领域的表现到底怎么样也是读者们关心的问题。本期我们延续上期话题,继续探讨有关语音识别技术的故事。
语音识别中的难题
倪俊杰:作为人工智能发展的一个分支,语音识别技术在智能设备上的使用已经非常普遍。例如,小爱同学月活用户已经突破1亿,在很多场景下,语音识别技术给我们带来了非常好的体验,但实际上,在人工智能的赛道上,语音识别技术基本还处于婴儿阶段,在很多方面还不够成熟,那么,都有哪些难题需要解决呢?
刘宗凡:我认为,首先,在语义理解的准确性上,还需要加强。我们经常能见到这样一个场景:在和语音识别工具交互的过程中,语音识别答非所问,令人啼笑皆非的对话层出不穷等。目前,人工智能最流行的研究方向是深度学习,基于深度学习模型学到的知识和人类的知识有很大的区别,人工智能只能“理解”一些词和词的关系,语音识别系统的对话,本质上是基于识别出来的关键词的互联网搜索,是程序员对这句话的理解。语义的理解是人工智能领域的难题,至少目前还看不到突破的希望。
其次,在语音识别过程中“背景噪音的影响”很难消除。信噪比直接影响数据收集模型,我们在训练语音识别的时候,都是将噪音从中去除,尽量保持干净的语音环境,从而提高语音识别的效果。目前业内普遍宣称的97%识别准确率,更多的是人工测评结果,只在安静室内的进场识别中才能实现。在嘈杂环境中必须有特殊的抗噪技术处理才能正常地使用语音识别,否则识别率很低,效果很差。但在实际生活中背景噪音无处不在,语音识别要能在复杂的环境下很好地应用,就要在各种情况下收集足够多的数据样本进行学习、分析。
邱元阳:语音识别技术在“上下文联系”方面也做得不够。语音的自动识别与人类对语音的解释之间的主要区别之一在于上下文的使用。人类在相互交谈时会依赖很多上下文信息。此上下文包括对话主题、过去所说的内容、噪音背景以及唇部运动和面部表情等视觉线索。语音识别通常是孤立的,不能与历史联系在一起,不能进行情感分析,不能和现实联系起来。例如,我们在导航时,说出一个地点,地图软件只能机械地进行搜索。如果能根据我们所在位置和出行轨迹,猜测出行目的地,则可以大大提高识别准确度。当引入这些辅助信号时,语音识别水平无疑会提高。但是,这是一个相当庞大的知识体系问题,如何选择有用的上下文类型并有效使用它们需要进一步深入研究。
杨磊:还有就是“词义消歧”。机器在切词、标注词性并识别完后,需要对各个词语进行理解。由于语言中往往一词多义,人在理解时会基于已有知识储备和上下文环境,但机器很难做到。虽然系统会对句子做句法分析,可以在一定程度上帮助机器理解词义和语义,但实际情况并不理想。目前,机器对句子的理解还只能做到语义角色标注层面,即标出句中的句子成分和主被动关系等,它属于比较成熟的浅层语义分析技术。未来要让机器更好地理解人类语言,并实现自然交互,还是需要依赖深度学习技术,通过大规模的数据训练,让机器不断学习。当然,在实际应用领域中,也可以通过产品设计来减少较为模糊的问答内容,以提升用户体验。
再有就是口音、方言的兼容性问题。很多人的发音同标准发音有很大的差距,这就需要进行口音和方言的处理。即使同一个人说的话,如果处在不同的环境中,或者在不一样的语境中,意思也可能不同。这些同样需要改进语音模型,让语音识别适应大多数人的声音特征。
语音识别的前沿研究方向
倪俊杰:既然语音识别技术还存在这么多难题,那么如何突破呢?最新的前沿研究方向有哪些?
金琦:目前语音识别的技术研究,已经从小词汇量阅读式识别转向难度较大的自由对话场景的语音识别,自然环境中的识别率逐渐提高,但是还无法达到无障碍地人机交流的程度。如果不限制对话环境,不在意语音标准化程度,在噪音和多人对话以及日常口语化的情形下,语音识别技术可能难以发挥正常的作用,甚至根本没有用武之地。因此语音识别的技术研究也开始面向非限定的环境,面向真实应用场景。在真实的语言交流活动中,不但没有人去戴着麦克风,而且会有多人同时说话,从专业角度来讲,研究的前沿方向就是从近场麦克风转向远场麦克风,从无注意力机制转向带注意力机制。
邱元阳:腾讯AI Lab西雅图研究室负责人、浙江大学兼职教授俞栋曾给出语音识别技术的四个前沿研究方向。
前沿研究方向一:语音序列到文字序列的直接转换模型
在上期的语音识别工作原理的内容中,我们可以看到,从语音信号序列到文字序列之间,会有多个中间过程,包括切割分帧、波形变换、声学特征提取、生成观察序列、状态识别、音素组合等,通过逐步转换,最后转换成词的序列。如果通过数据驱动让模型自己学习,就有可能找到一个更好的算法,使这个序列的转换更准确、有效、直接。
例如,CTC(Connectionist Temporal Classification)模型,這种时序分类算法可以在系统确定“听”到了某个字词时产生一个尖峰状态,相比传统的深度神经网络与混合模型来说大大减小了建模单元,但模型的训练难度较大。而Attention模型(Sequence-to-Sequence Transformation with Attention)则是带有注意力机制的序列到序列转换模型,其做法是首先把输入的语音信号序列转换成一个中间层序列表达,然后基于中间层序列表达提供足够的信息给一个基于递归神经网络的生成模型,每次生成一个字、一个词或者一个音符,这个方法在机器翻译中已经成为主流方案。
前沿研究方向二:非监督学习到有监督学习的转换
在非常嘈杂或者多人同时说话的环境中,我们是能够把注意力集中在某一个人的声音上的,即有效屏蔽掉其他人声和噪音的干扰,听清所关注的人的声音。但机器和语音识别系统却很难做到这一点。在远场情况下,信噪比下降得更厉害,这个问题就更突出也更难以解决,一般途径是从之前的非监督学习盲分类问题,转换到人为定制的监督信息的有监督学习问题。
有监督学习在多人说话时会遇到标签排列问题(Label Permutation Problem),可以通过深度聚类(Deep Clustering)或PIT(Permutation Invariant Training,置换不变性训练)方案解决。
前沿研究方向三:持续预测与适应的模型
CTC等模型虽然能够较快地做适应(Prediction)、持续地做预测(Adaptation),但是性能不足并且很难训练。现在需要模型能够非常快地做适应,发现一致的规律性并将其变为长远记忆,使得下一次识别时会变成稳定的状态,其他状态则变成需要适应的状态,当遇到新的声音样本时可以很快地适应。
前沿研究方向四:前端与后端联合优化
出于远场识别的需要,处理前端信号使用的是信号处理技术,一般只用到当前状态下的语音信号信息,而机器学习方法则用到很多训练器里的信息,并很少用到当前帧的信息,也不会对它进行数据建模。如何把这两种方法融合在一起,并且减少前端信号处理有可能出现的信息丢失,也是很多研究组织正在努力的一个方向。
语音识别的应用领域
倪俊杰:带着对未来语音识别技术的期待,在当下,我们可以在哪些应用领域使用语音识别?效果究竟如何?
金琦:在人工智能的加持下,目前语音识别虽然还有不少需要克服的困难,但是也已经取得了非常大的进步,在近场自由对话的情形下,机器已经能够达到甚至超過人的识别水准。在这样的水平下,语音识别的应用就可以扩展到非常多的场景和领域。
1.文字输入
文字录入是语音识别最基本的应用,一般通过语音输入法进行。这方面做得较好的有IBM、微软、科大讯飞等,很多输入法都用的是讯飞的语音识别引擎。如果发音标准,在高达95%的识别率下,对于大量文字的录入,效率还是比较高的,甚至对于一些OCR难度较大的材料,也可以采用人工语音输入来解决。
2.语音转换
把语音转换成文字,看起来似乎跟语音输入一样,在QQ和微信中,也可以把聊天中发送的语音直接转换成文字。但是在以前,如果想把一首MP3的朗诵文件转换成文本,还是要大费周章的。现在这个问题就很简单了,在语音识别引擎的支持下,很多软件都能实现语音文件转换。例如,利用搜狗输入法的MP3转文字功能,就可以把单田芳的评书MP3识别转换成文本文件。
3.会场速记
会议速记是对录入速度的极大考验,因为正常说话的速度是每分钟200多字,一般人的文字录入速度不太容易达到。但是如果会议发言的语音较标准,环境噪声小,就完全可以由机器对讲话进行语音识别记录,自动转换成文字。例如,在一些法庭的庭审现场,也会通过语音识别来分担书记员的工作。
4.录音整理
很多时候,记者在采访和访谈时都会录音,以便回去后复听,避免遗漏和错误。在整理这些录音时,就可以采用语音识别的方法快速地得到文字版的采访过程记录,提高工作效率。
5.语音检索
图书馆在查找资料时,常常会与检索打交道。检索方式从最初的卡片式检索变为后来的电子检索,很大程度地方便了借阅。但是如果支持语音检索的话,会更进一步地提高检索效率。
6.字幕转换
在手机上的视频剪辑软件中,有一个功能很受欢迎,就是语音转字幕。只要发音不是太难懂,视频中的语音都可以很方便地转换成字幕,并且保持与画面同步,如快影、剪映等都有这个功能,不仅实用,而且极大地节省了制作时间。但是在计算机上的传统视频编辑软件中,却很少具备这种智能化操作功能。
7.聊天机器人
机器人能够跟人聊天的前提,当然也是需要具备语音识别功能,能够“听”出人在说什么,并且还需要具备语义识别功能,即能够听“懂”人在说什么。微软的小冰、IBM的沃森助理等,都具有较高的智能化水平。当然,它们不仅仅需要语音识别,更重要的是要基于人工智能、自然语言处理和大数据,才能实现像人一样聊天。
8.智能音箱
智能音箱本质上也是一个聊天机器人,不过它从计算机和手机软件中独立出来,不再依赖于计算机和手机,适应性更好。常见的天猫精灵、小爱同学、百度小度等,都是具有一定智能和应用特色的产品。
9.智能声控
用语音发命令,让机器和设备去执行,这早已不是科幻场景,在智能家居、车载设备上都已充分应用。其前提也是先运用语音识别。
10.人机交互
如果说简单的声控是单向响应的话,那么人机语音交互则是双向沟通。最常见的车辆导航,可以接受驾驶人的语音指令,根据目的地启用地图和导航,然后再根据车辆定位的反馈向驾驶人发出指示。
以上仅仅是语音识别众多应用场景的一部分,相信随着语音识别技术的进步,还会出现更多的应用方向。
人工智能语音识别API应用
倪俊杰:既然语音识别技术已经相对成熟,那么我们能够利用该技术做一些什么事情呢?百度AI平台(https://ai.baidu.com/)是面向全球的AI开放平台,为用户提供了各类涉及推理预测、文字识别、图像识别、语音识别、人脸识别等领域的API。我们不妨用百度AI平台来做一些实验。
黄钶涵:是的,百度API能够实现语音识别、文本翻译等,要使用百度AI平台,首先要注册“百度”账号。语音识别API的示例代码如下页图1所示,其中AipSpeech为使用语音识别的开发人员提供了一系列的交互方法。
语音识别API对原始音频的格式有着严格的限制:原始PCM的录音参数必须符合16k、8k采样率,16bit位深,单声道,支持的格式有pcm(不压缩)、wav(不压缩,pcm编码)、amr(压缩格式)。因此,在编写程序时需要对音频进行重新采样。
scipy.io库提供了多种功能来解决不同格式的文件的输入和输出,定义compressMusic函数将原始音频的采样率改为16K,并在文件夹中创建一个名为“重采样”的新文件,如图2、图3所示。
第1步:读取文件(如图4)。
第2步:重新采样并输出识别结果(如图5、图6)。
在文本翻译方面,百度AI提供了一个专业的翻译开放平台(http://api.fanyi.baidu.com/),向开发者提供了更多丰富的能力。
当登录平台后,在上方导航栏中选择“产品服务”—“在线翻译”—“通用翻译API”,在填入相关信息开通服务后,可在“开发者信息”中查看对应的APPID和密钥。由于文本翻译API还没有对应的软件工具开发包,因此其调用方式会有所不同,示例代码如图7所示,实验结果如图8所示。
本文结束语
语音识别技术发展到今天,其识别精度越来越高。这些技术已经能够满足平常应用的要求。而且,伴随着大规模集成电路技术的发展,一些复杂的语音识别系统已经制成专用芯片,大量生产。可以相信,语音识别系统的应用将更加广泛,给人类的生产生活带来更大的便利,发挥更大的价值。至于语音识别技术的未来发展到底会怎么样,能否拥有与人类一样的“智慧”,目前还很难下定论,我们不妨拭目以待。