您当前的位置是:  首页 > 新闻 > 国内 >
 首页 > 新闻 > 国内 >

MRCP协议学习笔记-MRCP背景知识介绍

2018-04-23 13:35:01   作者:james.zhu    来源:Asterisk开源派   评论:0  点击:


  人工智能和很多人机对话的场景使用越来越广泛。根据IBM的数据统计:到2020年,大约85%的和客户互动的业务可能被不需要人来处理,这些工作会通过人工智能来处理。在实现语音和网络技术集成方面需要相对比较规范的协议来进行处理,否则各个厂家都和软件集成商很难进行标准的对接服务。MRCP协议是目前针对媒体资源和IP网络起草的目前使用的标准协议。它主要的目的是对基于网络的媒体处理资源(语音识别,语音合成)提供一个标准,一致的,并且灵活的接口。当然,现在的MRCP版本已经进行了升级,特别是MRCP v2以后,更多的是应用场景是使用在了基于IP的语音通信中。
  根据维基百科的定义:
  Media Resource Control Protocol (MRCP) is a communication protocol used by speech servers to provide various services (such as speech recognition and speech synthesis) to their clients. MRCP relies on another protocol, such as Real Time Streaming Protocol (RTSP) or Session Initiation Protocol (SIP) for establishing a control session and audio streams between the client and the server.
  所以,根据英文的定义,我们一般的MRCP的中文定义是:媒体资源控制协议。简单来说,就是借助其他协议(RTSP/SIP)创建一个控制会话来实现媒体资源服务器端和客户端之间的控制。
  因为和IP语音技术相关,因为工作和爱好的原因,所以花了一点时间对MRCP协议做了一点粗浅的研究。笔者希望通过以学习笔记的方式和大家一起分享关于MRCP协议的相关知识,也可以帮助用户,特别是智能客服开发的呼叫中心厂家技术人员提供一个快速上手的机会。在真正开始讲座之前,笔者首先有几点需要说明:
  • 此讲座的内容是从MRCP早期版本的内容开始介绍,结合了早期出版的一些学术资料来帮助大家理解MRCP的整个技术内容。因为技术的发展,可能以前的内容稍微相对比较过时,不一定是笔者自己的笔误,望理解。
  • 此讲座可能有时会配合最新的MRCP V2进行介绍,所以需要大家了解。
  • 此讲座可能结合UniMRCP 开源的MRCP项目来介绍,所以请提前获悉。
  • 笔者不是语音识别领域的专家,仅对相关MRCP协议的部分内容进行讨论,在某些细节比一定理解非常精确,所以一些涉及语音识别的底层算法技术不是重点我们讨论的范围。在一些章节中,我们仅对MRCP中的语音识别合成技术的使用加以介绍。
  在今天接下来的内容中,我们将要介绍几个关于MRCP的背景知识点和其使用的商业环境。
  1、这里,我们首先介绍一下MRCP的历史。MRCP协议经历了两个版本的发布。目前使用的是MRCP v2 版本。
  MRCP协议MRCP V1最初是有思科,在2001年,Nuance和SpeechWorks 联合起草通过IETF 作为一个网络草案发布,最后形成的是RFC4463 。实际上,此版本也没有真正发展成为一个实际的IETF协议标准版本。因为此版本当初发布时有几个方面的技术因素限制了其未来的可拓展性,兼容性。MRCP V1版本主要存在以下几个方面的问题:
  • MRCP V1 版本依赖于RTSP 协议来创建媒体流和数据传输传输。而当时,SIP协议已经是很多厂家推荐的媒体会话控制协议。
  • MRCP V1 版本存在兼容性的问题,对如何定义数据表示方式支持语音识别非常困难。很多语音识别的厂家要求支持的拓展也没有实现。
  • 缺乏对讲话者语音变化,识别引擎和讲话录音的支持。
  2002年,SpeechSC工作组重新讨论了MRCP V1 的问题,对MRCP V1 进行了修改,发布了MRCP V2版本,MRCP V2 版本事实上在V1版本基础上实现了优化,修改和拓展,正式成为了MRCP V1的标准版本。
  因为在MRCP V2版本中使用了SIP来负责创建独立的媒体和会话支持语音媒体资源,增加了对讲话者变化和讲话者的身份引擎的支持(speaker verification
  和 identification),同时增加了拓展性,保证了丰富的兼容性。从此,MRCP V2 版本一直使用到现在。
  2、前面,我们已经说到,IETF是MRCP协议起草的主要组织之一,负责了MRCP的技术架构和SIP协议的起草。另外一个国际组织也扮演了非常重要的角色-W3C。大家都知道W3C更多侧重于互联网技术的标准,例如我们大家知道的HTML。W3C 在1999 年创建了Voice Broswer Working Group(VBWG)。此小组研究的目的是让用户能够通过Web支持语音识别和DTMF的流程处理。VBWG发布了基于基于web的语音接口架构。此架构支持了描述性语言,用户可以通过此架构部署语音识别,语音合成等应用。VoiceXML是此架构的核心模块。用户可以快速掌握此语法。VoiceXML依赖于其辅助语言引擎,指定了语音识别和语音合成等执行流程。
  W3C的Speech Recognition Grammar Specification (SRGS) 是一种标准的,基于XML语言的一种处理方式,支持了语音语法的规则,可识别的短语。和SRGS比较接近的是W3C Semantic Interpretation for Speech Recognition (SISR)。它更多的是用来标记语义信息支持语音语法,构成了对自然语言理解的基本格式。
  W3C Speech Synthesis Markup Language (SSML)是基于XML描述语言的方式指定内容进行合成的方式,通过一种机制来控制语音的各种属性,包括音量大小,发音,语音间距,语速等方面的控制。
  SRGS和SSML来平衡和控制W3C的发音语法规则(英文全称:Pronunciation Lexicon Specification (PLS))。PLS可以使用标准的发音字母来指定单词和短语发音。
  经过多年的发展,VoiceXML是MRCP的“常见用户”,VoiceXML通过部署MRCP协议,它可以轻松支持多种第三方的语音识别和合成引擎,从而实现引擎和MRCP上游数据的交互。VBWG和SpeechSC 工作组在MRCP协议和语音识别合成接口架构集成方面紧密合作,双方共享很多技术标准,实现了跨平台的支持。从以上介绍我们可以看到,MRCP必须借助于VoiceXML才能真正实现和语音识别,合成引擎的支持,实现无缝集成。
  3、人工智能代替呼叫中心座席人员是非常实用的一个功能,很多优势我们这里不再做更多介绍。事实上,通过人工智能实现智能化的呼叫中心IVR互动是MRCP核心的价值所在。这也是技术发展的必然。语音通信和互联网结合是目前比较热门的技术。大家可以看到,从最早的按键输入(DTMF),简单的语音IVR系统,到基于IP的语音IVR,人工接入,到目前的全自动化人工智能方式。整个技术发展的过程逐渐被人工智能所替代。语音识别和语音合成则是IP技术的重要协同工具。很多基于SIP或IMS的通信可以越来越多地支持应用场景。因此,MRCP是目前非常核心的协议。
  目前MRCP使用在很多场景中。呼叫中心就是一个典型的案例。很多用户正在使用开源软交换平台来开发呼叫中心,MRCP支持了目前最热门的开源语音通信平台Asterisk和FreeSWITCH,并且提供了丰富的接口文档。
  4、在本学习笔记中,我们首先介绍了MRCP的定义,然后介绍了MRCP的版本演进和其历史背景。同时,笔者对两个版本的特点做了简单介绍,并且对W3C的标准的几个子细节做了描述,这些规则可以通过VoiceXML描述语言来集成语音识别和语音合成引擎。通过W3C的细节配合MRCP可以充分发挥IP语音通信和智能语音识别的威力,实现多种场景的智能IVR,智能机器人开发等呼叫中心的使用环境。
  在接下来的笔记分享中,笔者会进一步和大家分享关于基本的语音处理流程和其他相关基础知识。

 

 
  关注微信公众号:asterisk-cn,获得有价值的行业分享
  freepbx 技术论坛:www.ippbx.org.cn
  Asterisk, freepbx技术文档: www.freepbx.org.cn
  欧米(Omni)智能客服解决方案
  融合通信商业解决方案,协同解决方案首选产品:www.hiastar.com
  参考资料:
  https://www.ibm.com/blogs/watson/2017/10/10-reasons-ai-powered-automated-customer-service-future/
【免责声明】本文仅代表作者本人观点,与CTI论坛无关。CTI论坛对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

专题