AI与RTC中结合点有那四大技术应用方向的详细资料说明

 大到无人驾驶、智能物流,小到人们出国旅游手上拿着的翻译机,AI 早已从曾经的天马行空变得触手可及。AI 也成了很多公司未来的核心战略,并应用到了产品中。其实,在 RTC 领域亦是如此。

 
提到 RTC 中的 AI,你可能还会记得今年 RTC 领域中的热门话题超分辨率。前几天,据说某款手机已经将其应用于调节照片远景放大后的清晰度上。我们也曾有不止一位演讲人,曾在 RTC 2018 中分享过将超分辨率应用于实时音视频中的研究。不过,超分辨率只是 AI 在 RTC 中的一个应用而已。
 
概括来讲,目前 AI 与 RTC 的结合点有四个:
 
语音分析:使用机器学习分析,将实时音视频中的语音转录为文本、字幕。
 
语音机器人:在对话框中与用户交互的语音机器人,输入与输出皆通过语音,比如Siri、Alexa、Cortana等。
 
计算机视觉:处理视频,分析和理解视频中的内容。
 
RTC 优化:用于提高服务质量或性能的机器学习算法模型。
 
1
 
语音分析(Speech Analytics)
 
如果你对今年 Google I/O 有印象,你可能还会记得官方曾经做过一段演示,YouTube 可以根据视频的图像和声音,将视频内容翻译并以字幕形式显示出来。而且,Google 在语音识别、分析方面做了优化,即使视频中口音模糊,也能根据视频内容进行智能翻译,最终显示为字幕。应用于其中的一个重要技术方向就是语音分析。
 
在 RTC 中,语音分析主要的应用形式包括电话中心智能语音交互、语音转文本、翻译等等。语音分析是一个相对成熟的技术应用方向,也是一个多学科应用于实际的范例。它涉及了信号处理、模式识别、概率论和信息论、发声机理和听觉机理、深度学习等。就像 Google 所做的,我们可以将它应用于自己的视频会议、视频通话、直播连麦等一系列实时音视频场景中。如果想快速实现,市场上有很多 API 可以帮助到你;如果你的团队技术实力雄厚,那么也有几个比较著名,也比较老的开源工具可以使用。
 
业界有不少公司都能提供语音分析功能,例如国内的讯飞、百度、搜狗等,再例如 Google Speech API 和 Facebook 推出的 wav2letter 等。Agora 开发者也完全可以基于 SDK 的接口与这些语音识别、分析服务结合,实现创新场景。
 
AI与RTC中结合点有那四大技术应用方向的详细资料说明
 
如果自研,那么也有不少可以参考的算法模型。例如这4个“历史悠久”的语音识别相关的开源项目与非开源项目:HTK、CMU Sphinx、Julius、Kaldi。我们逐一简单介绍下。
 
1. HTK
 
首先 HTK 并不是开源项目,它是由剑桥大学工程学院(Cambridge University Engineering Department ,CUED)的机器智能实验室于1989年开发的,用于构建CUED的大词汇量的语音识别系统。HTK 主要包括语音特征提取和分析工具、模型训练工具、语音识别工具。1999年 HTK 被微软收购。2015年 HTK 发布了3.5 Beta 版本,也是目前最新的版本。
 
2. CMU-Sphinx
 
CMU-Sphinx 是卡内基-梅隆大学(CarnegieMellon University,CMU)开发的一款开源的语音识别系统。它包括了一系列语音识别器和声学模型训练工具,被称为第一个高性能的连续语音识别系统。Sphinx 的发展也很快,Sphinx4 已经用 Java 改写,所以适合嵌入到Android平台。
 
3. Julius
 
Julius 是日本京都大学和 Information-technology Promotion Agency 联合开发的一个实用高效双通道的大词汇连续语音识别引擎。Julius 通过结合语言模型和声学模型,可以很方便地建立一个语音识别系统。Julius 支持的语言模型包括:N-gram模型,以规则为基础的语法和针对孤立词识别的简单单词列表。它支持的声学模型必须是以分词为单位,且由HMM定义的。HMM 作为语音信号的一种统计模型,是语音识别技术的主流建模方法,正在语音处理各个领域中获得广泛的应用。Julius 由 C 语言开发,遵循GPL开源协议,能够运行在 Linux、Windows、Mac:OS X、Solaris 以及其他Unix平台。Julius 最新的版本采用模块化的设计思想,使得各功能模块可以通过参数配置。
 
4. Kaldi
 
Kaldi 是2009年由 JohnsHopkins University 开发的,刚开始项目代码是基于HTK进行的开发,现在是 C++ 作为主要语言。Kaldi的维护和更新非常及时,几乎每一、两天就有新的 commits,而且在跟进学术研究的新算法方面也更加快速。国内外很多公司和研究机构也都在用 Kaldi。
 
上述几种语音识别开源代码是基础的开源版本,基于这些版本诞生了不少衍生的版本,比如 Platypus、FreeSpeech、Vedics、NatI、Simon、Xvoice、Zanzibar、OpenIVR、Dragon Naturally Speaking等。
 
2
 
语音机器人
 
现在很多呼叫中心都引入了 IVR(互动式语音应答),顾客可在任何时间打电话获取他们希望得到的信息,当遇到无法解决的问题时才转入人工坐席。它可以提高服务质量、节省费用。
 
但它自身也存在着问题。你可能也遇到过,有时候打给一个客户中心,语音提供了多个选项让你选择,可当你听到第五个之后,就忘了之前的选项都有什么,以至于还要再听一遍。所以很多呼叫中心会把菜单设计成更少选项更多层级。但这会让用户的交互过程变得更长。
 
所以语音机器人开始成为呼叫中心的新选择(也可能有人管它叫智能客服或其它名字)。用户只需要说出想要什么,它就能根据关键信息筛选出用户想要的信息,就好像电话那头多了一个 Siri。
 
AI与RTC中结合点有那四大技术应用方向的详细资料说明
 
当然,Siri 也是是除了呼叫中心以外,语音机器人的另一种应用形式。目前已经有很多公司都推出了相应的产品或接口(如上图所示)。不过,要建立一个能与人自然交流的语音机器人,从架构、音频处理到算法模型的训练等,需要面对很多问题:
 
处理噪音
 
处理方言和自定义词汇表
 
语音验证
 
处理延迟
 
使用 SSML 进行更自然的语音合成
 
模型训练
 
3
 
计算机视觉
 
现在计算机视觉的应用应该已经很常见了,例如:
 
面部识别
 
物体检测
 
手势识别
 
情感分析
 
我们曾在年初的时候分享过两篇文章,讲述了如何结合 WebRTC 与 TensorFlow 实现物体识别,这是一位开发者的实验。大体过程是,每秒将视频图像经由 HTTP 传输到服务器端,然后通过服务器端的机器学习算法模型处理后得出检测结果,再反馈给本地,具体代码可以看我们之前的文章。
 
不过这个实验仍然存在很多的局限,如果图像质量过高,会需要更多传输、处理的时间,这会影响检测的实时性。所以,后来有人提出了可以在本地进行图像识别。
 
AI与RTC中结合点有那四大技术应用方向的详细资料说明